@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
JavaScript
;
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;