fuse-box
Version:
Fuse-Box a bundler that does it right
26 lines (25 loc) • 865 B
TypeScript
import { ASTNode } from '../interfaces/AST';
import { ISchema } from './nodeSchema';
import { INodeScope } from './scopeTracker';
import { SharedContext, ISharedContextOverrides } from './sharedContext';
import { ITransformModuleProps } from './transformModule';
export interface INodeVisitorProps {
ast: ASTNode;
contextOverrides?: ISharedContextOverrides;
visitorProps: ITransformModuleProps;
fn: (schema: ISchema) => any;
programBodyFn?: (schema: ISchema) => any;
}
export interface IVisitNodeProps {
avoidReVisit?: boolean;
avoidScope?: boolean;
id?: number;
ignoreChildren?: boolean;
node?: ASTNode;
parent?: ASTNode;
property?: string;
scope?: INodeScope;
skipPreact?: boolean;
userFunc?: (schema: ISchema) => any;
}
export declare function nodeVisitor(rootProps: INodeVisitorProps): SharedContext;