ast-types
Version:
Esprima-compatible implementation of the Mozilla JS Parser API
26 lines (25 loc) • 847 B
TypeScript
import { Fork } from "../types";
import { ASTNode } from "./types";
export interface Path<V = any> {
value: V;
parentPath: any;
name: any;
__childCache: object | null;
getValueProperty(name: any): any;
get(...names: any[]): any;
each(callback: any, context: any): any;
map(callback: any, context: any): any;
filter(callback: any, context: any): any;
shift(): any;
unshift(...args: any[]): any;
push(...args: any[]): any;
pop(): any;
insertAt(index: number, ...args: any[]): any;
insertBefore(...args: any[]): any;
insertAfter(...args: any[]): any;
replace(replacement?: ASTNode, ...args: ASTNode[]): any;
}
export interface PathConstructor {
new <V = any>(value: any, parentPath?: any, name?: any): Path<V>;
}
export default function pathPlugin(fork: Fork): PathConstructor;