UNPKG

@literals/parser

Version:

Parse template literals from code

26 lines 927 B
import typescript from './strategies/typescript.js'; export function parseLiterals(source, options = {}) { const strategy = { ...typescript, ...(options.strategy || {}), }; const literals = []; const visitedTemplates = []; strategy.walkNodes(strategy.getRootNode(source, options.fileName), (node) => { if (strategy.isTaggedTemplate(node)) { const template = strategy.getTaggedTemplateTemplate(node); visitedTemplates.push(template); literals.push({ tag: strategy.getTagText(node), parts: strategy.getTemplateParts(template), }); } else if (strategy.isTemplate(node) && !visitedTemplates.includes(node)) { literals.push({ parts: strategy.getTemplateParts(node), }); } }); return literals; } //# sourceMappingURL=parseLiterals.js.map