UNPKG

marko

Version:

Optimized runtime for Marko templates.

11 lines (10 loc) 796 B
import { types as t } from "@marko/compiler"; export declare const skip: unique symbol; type VisitValue = null | void | t.Node | t.Node[]; type VisitKeys<T> = (string | number) & (T extends T ? { [K in keyof T]: T[K] extends VisitValue ? K : never; }[keyof T] : never); export declare function traverseReplace<T, K extends VisitKeys<T>, S>(container: T, key: K, enter: (node: t.Node, state?: S) => t.Node | void, state?: S): void; export declare function traverseContains(node: undefined | null | t.Node | t.Node[], check: (node: t.Node) => void | boolean | typeof skip): boolean; export declare function traverse(visit: (node: t.Node, parent?: t.Node, grandParent?: t.Node) => void | typeof skip, node: undefined | t.Node | t.Node[], parent?: t.Node, grandParent?: t.Node): void; export {};