export default function match()

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;
}