in src/utils/match.ts [10:28]
export default function match(node: ASTNode, pattern: Pattern): boolean {
if (!node) {
return false;
}
for (const prop in pattern) {
if (!node[prop]) {
return false;
}
if (pattern[prop] && typeof pattern[prop] === 'object') {
// @ts-ignore
if (!match(node[prop], pattern[prop])) {
return false;
}
} else if (node[prop] !== pattern[prop]) {
return false;
}
}
return true;
}