ast-types
Version:
Esprima-compatible implementation of the Mozilla JS Parser API
28 lines (27 loc) • 764 B
TypeScript
import { NodePath } from "./node-path";
import { Fork } from "./types";
export interface Scope {
path: NodePath;
node: any;
isGlobal: boolean;
depth: number;
parent: any;
bindings: any;
types: any;
didScan: boolean;
declares(name: any): any;
declaresType(name: any): any;
declareTemporary(prefix?: any): any;
injectTemporary(identifier: any, init: any): any;
scan(force?: any): any;
getBindings(): any;
getTypes(): any;
lookup(name: any): any;
lookupType(name: any): any;
getGlobalScope(): Scope;
}
export interface ScopeConstructor {
new (path: NodePath, parentScope: any): Scope;
isEstablishedBy(node: any): any;
}
export default function scopePlugin(fork: Fork): ScopeConstructor;