UNPKG

tsc-template

Version:

Utility to build TypeScript AST from a string, similar to @babel/template

20 lines 636 B
import { forEachChild } from 'typescript'; import { extractCodePart } from './extractCodePart.js'; function isInjectedNode(node) { return node.pos < 0 || node.end < 0; } export function findBestNode(file) { const codePart = extractCodePart(file.getText()); let latest = file; const find = (node) => { if (!isInjectedNode(node) && node.getText(file) === codePart) { latest = node; } else if (latest !== file) { return latest; } return forEachChild(node, find); }; return forEachChild(file, find) ?? latest; } //# sourceMappingURL=findBestNode.js.map