Spaces:
Running
Running
| import {Node} from 'acorn'; | |
| declare module "acorn-walk" { | |
| type FullWalkerCallback<TState> = ( | |
| node: Node, | |
| state: TState, | |
| type: string | |
| ) => void; | |
| type FullAncestorWalkerCallback<TState> = ( | |
| node: Node, | |
| state: TState | Node[], | |
| ancestors: Node[], | |
| type: string | |
| ) => void; | |
| type WalkerCallback<TState> = (node: Node, state: TState) => void; | |
| type SimpleWalkerFn<TState> = ( | |
| node: Node, | |
| state: TState | |
| ) => void; | |
| type AncestorWalkerFn<TState> = ( | |
| node: Node, | |
| state: TState| Node[], | |
| ancestors: Node[] | |
| ) => void; | |
| type RecursiveWalkerFn<TState> = ( | |
| node: Node, | |
| state: TState, | |
| callback: WalkerCallback<TState> | |
| ) => void; | |
| type SimpleVisitors<TState> = { | |
| [type: string]: SimpleWalkerFn<TState> | |
| }; | |
| type AncestorVisitors<TState> = { | |
| [type: string]: AncestorWalkerFn<TState> | |
| }; | |
| type RecursiveVisitors<TState> = { | |
| [type: string]: RecursiveWalkerFn<TState> | |
| }; | |
| type FindPredicate = (type: string, node: Node) => boolean; | |
| interface Found<TState> { | |
| node: Node, | |
| state: TState | |
| } | |
| export function simple<TState>( | |
| node: Node, | |
| visitors: SimpleVisitors<TState>, | |
| base?: RecursiveVisitors<TState>, | |
| state?: TState | |
| ): void; | |
| export function ancestor<TState>( | |
| node: Node, | |
| visitors: AncestorVisitors<TState>, | |
| base?: RecursiveVisitors<TState>, | |
| state?: TState | |
| ): void; | |
| export function recursive<TState>( | |
| node: Node, | |
| state: TState, | |
| functions: RecursiveVisitors<TState>, | |
| base?: RecursiveVisitors<TState> | |
| ): void; | |
| export function full<TState>( | |
| node: Node, | |
| callback: FullWalkerCallback<TState>, | |
| base?: RecursiveVisitors<TState>, | |
| state?: TState | |
| ): void; | |
| export function fullAncestor<TState>( | |
| node: Node, | |
| callback: FullAncestorWalkerCallback<TState>, | |
| base?: RecursiveVisitors<TState>, | |
| state?: TState | |
| ): void; | |
| export function make<TState>( | |
| functions: RecursiveVisitors<TState>, | |
| base?: RecursiveVisitors<TState> | |
| ): RecursiveVisitors<TState>; | |
| export function findNodeAt<TState>( | |
| node: Node, | |
| start: number | undefined, | |
| end?: number | undefined, | |
| type?: FindPredicate | string, | |
| base?: RecursiveVisitors<TState>, | |
| state?: TState | |
| ): Found<TState> | undefined; | |
| export function findNodeAround<TState>( | |
| node: Node, | |
| start: number | undefined, | |
| type?: FindPredicate | string, | |
| base?: RecursiveVisitors<TState>, | |
| state?: TState | |
| ): Found<TState> | undefined; | |
| export const findNodeAfter: typeof findNodeAround; | |
| } | |