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 } }