1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- const { resolveScript } = require('./resolveScript')
- module.exports = function selectBlock(
- descriptor,
- scopeId,
- options,
- loaderContext,
- query,
- appendExtension
- ) {
- // template
- if (query.type === `template`) {
- if (appendExtension) {
- loaderContext.resourcePath += '.' + (descriptor.template.lang || 'html')
- }
- loaderContext.callback(
- null,
- descriptor.template.content,
- descriptor.template.map
- )
- return
- }
- // script
- if (query.type === `script`) {
- const script = resolveScript(descriptor, scopeId, options, loaderContext)
- if (appendExtension) {
- loaderContext.resourcePath += '.' + (script.lang || 'js')
- }
- loaderContext.callback(null, script.content, script.map)
- return
- }
- // styles
- if (query.type === `style` && query.index != null) {
- const style = descriptor.styles[query.index]
- if (appendExtension) {
- loaderContext.resourcePath += '.' + (style.lang || 'css')
- }
- loaderContext.callback(null, style.content, style.map)
- return
- }
- // custom
- if (query.type === 'custom' && query.index != null) {
- const block = descriptor.customBlocks[query.index]
- loaderContext.callback(null, block.content, block.map)
- return
- }
- }
|