@codeque/core
Version:
Multiline code search for every language. Structural code search for JavaScript, TypeScript, HTML and CSS
35 lines (31 loc) • 958 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createPartialMatchTemplateLiteralNodesComparator = void 0;
/*
* Support for partial matching of template literals
* Q: `${val}text`; C: `${bar}blabla${val}text${baz}`
*/
const createPartialMatchTemplateLiteralNodesComparator = () => ({
queryNode,
fileNode,
searchSettings: {
mode
}
}, _, {
fileKeysToTraverseForOtherMatches
}) => {
const isExact = mode === 'exact';
if (queryNode && fileNode) {
if (!isExact && queryNode.type === 'TemplateElement' && fileNode.type === 'TemplateElement' && queryNode.value?.raw?.length === 0) {
return {
levelMatch: true,
queryKeysToTraverseForValidatingMatch: [],
fileKeysToTraverseForValidatingMatch: [],
fileKeysToTraverseForOtherMatches
};
}
}
};
exports.createPartialMatchTemplateLiteralNodesComparator = createPartialMatchTemplateLiteralNodesComparator;
;