UNPKG

@codeque/core

Version:

Multiline code search for every language. Structural code search for JavaScript, TypeScript, HTML and CSS

70 lines (57 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMatchContext = void 0; const createMatchContext = initialContext => { let identifierAliasesMap = initialContext ? { ...(initialContext.identifierAliasesMap ?? {}) } : {}; const addIdentifierAlias = wildcardAlias => { identifierAliasesMap[wildcardAlias.alias] = wildcardAlias; }; const getIdentifierAlias = alias => { return identifierAliasesMap[alias] ?? null; }; let stringAliasesMap = initialContext ? { ...(initialContext.stringAliasesMap ?? {}) } : {}; const addStringAlias = wildcardAlias => { stringAliasesMap[wildcardAlias.alias] = wildcardAlias; }; const getStringAlias = alias => { return stringAliasesMap[alias] ?? null; }; let nodesTreeAliasesMap = initialContext ? { ...(initialContext.nodesTreeAliasesMap ?? {}) } : {}; const addNodesTreeAlias = wildcardAlias => { nodesTreeAliasesMap[wildcardAlias.alias] = wildcardAlias; }; const getNodesTreeAlias = alias => { return nodesTreeAliasesMap[alias] ?? null; }; const merge = aliasesToMerge => { identifierAliasesMap = { ...identifierAliasesMap, ...aliasesToMerge.identifierAliasesMap }; stringAliasesMap = { ...stringAliasesMap, ...aliasesToMerge.stringAliasesMap }; nodesTreeAliasesMap = { ...nodesTreeAliasesMap, ...aliasesToMerge.nodesTreeAliasesMap }; }; return { addIdentifierAlias, getIdentifierAlias, addStringAlias, getStringAlias, addNodesTreeAlias, getNodesTreeAlias, getAllAliases: () => ({ identifierAliasesMap, stringAliasesMap, nodesTreeAliasesMap }), merge }; }; exports.createMatchContext = createMatchContext;