UNPKG

@jsverse/transloco-keys-manager

Version:

Extract translatable keys from projects that uses Transloco

17 lines 859 B
import { tsquery } from '@phenomnomnominal/tsquery'; import { buildKeysFromASTNodes } from './build-keys-from-ast-nodes.js'; export function signalExtractor(ast) { // workaround from https://github.com/estools/esquery/issues/68 const [importNode] = tsquery(ast, `ImportDeclaration:has([text=/^@(jsverse|ngneat)\\x2Ftransloco/]):has(Identifier[name=translateSignal])`); if (!importNode) { return []; } const signalName = getSignalName(importNode); const fns = tsquery(ast, `CallExpression Identifier[text=${signalName}]`); return buildKeysFromASTNodes(fns, [signalName]); } function getSignalName(importNode) { const [defaultName, alias] = tsquery(importNode, 'ImportSpecifier:has(Identifier[name=translateSignal]) Identifier'); return (alias || defaultName).getText(); } //# sourceMappingURL=signal.extractor.js.map