diff options
Diffstat (limited to 'alarm/node_modules/acorn-walk/dist/walk.d.ts')
-rw-r--r-- | alarm/node_modules/acorn-walk/dist/walk.d.ts | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/alarm/node_modules/acorn-walk/dist/walk.d.ts b/alarm/node_modules/acorn-walk/dist/walk.d.ts new file mode 100644 index 0000000..00cc005 --- /dev/null +++ b/alarm/node_modules/acorn-walk/dist/walk.d.ts @@ -0,0 +1,112 @@ +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; +} |