UNPKG

@nodesecure/js-x-ray

Version:
24 lines 885 B
import type { ESTree } from "meriyah"; export type NodeCounterFilterCallback<T extends ESTree.Node> = (node: T) => boolean; export type NodeCounterMatchCallback<T extends ESTree.Node> = (node: T, nc: NodeCounter<T>) => void; export interface NodeCounterOptions<T extends ESTree.Node> { name?: string; filter?: NodeCounterFilterCallback<T>; match?: NodeCounterMatchCallback<T>; } export declare class NodeCounter<T extends ESTree.Node = ESTree.Node> { #private; type: string; name: string; lookup: string | null; /** * @example * new NodeCounter("FunctionDeclaration"); * new NodeCounter("VariableDeclaration[kind]"); */ constructor(type: string, options?: NodeCounterOptions<T>); get count(): number; get properties(): Record<string, number>; walk(node: ESTree.Node): void; } //# sourceMappingURL=NodeCounter.d.ts.map