芝麻web文件管理V1.00
编辑当前文件:/home/rejoandoctor/medicine.joruridoctor.com/node_modules/yaml/dist/visit.d.ts
import type { Document } from './doc/Document'; import type { Alias } from './nodes/Alias'; import type { Node } from './nodes/Node'; import type { Pair } from './nodes/Pair'; import type { Scalar } from './nodes/Scalar'; import type { YAMLMap } from './nodes/YAMLMap'; import type { YAMLSeq } from './nodes/YAMLSeq'; export type visitorFn
= (key: number | 'key' | 'value' | null, node: T, path: readonly (Document | Node | Pair)[]) => void | symbol | number | Node | Pair; export type visitor = visitorFn
| { Alias?: visitorFn
; Collection?: visitorFn
; Map?: visitorFn
; Node?: visitorFn
; Pair?: visitorFn
; Scalar?: visitorFn
; Seq?: visitorFn
; Value?: visitorFn
; }; export type asyncVisitorFn
= (key: number | 'key' | 'value' | null, node: T, path: readonly (Document | Node | Pair)[]) => void | symbol | number | Node | Pair | Promise
; export type asyncVisitor = asyncVisitorFn
| { Alias?: asyncVisitorFn
; Collection?: asyncVisitorFn
; Map?: asyncVisitorFn
; Node?: asyncVisitorFn
; Pair?: asyncVisitorFn
; Scalar?: asyncVisitorFn
; Seq?: asyncVisitorFn
; Value?: asyncVisitorFn
; }; /** * Apply a visitor to an AST node or document. * * Walks through the tree (depth-first) starting from `node`, calling a * `visitor` function with three arguments: * - `key`: For sequence values and map `Pair`, the node's index in the * collection. Within a `Pair`, `'key'` or `'value'`, correspondingly. * `null` for the root node. * - `node`: The current node. * - `path`: The ancestry of the current node. * * The return value of the visitor may be used to control the traversal: * - `undefined` (default): Do nothing and continue * - `visit.SKIP`: Do not visit the children of this node, continue with next * sibling * - `visit.BREAK`: Terminate traversal completely * - `visit.REMOVE`: Remove the current node, then continue with the next one * - `Node`: Replace the current node, then continue by visiting it * - `number`: While iterating the items of a sequence or map, set the index * of the next step. This is useful especially if the index of the current * node has changed. * * If `visitor` is a single function, it will be called with all values * encountered in the tree, including e.g. `null` values. Alternatively, * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`, * `Alias` and `Scalar` node. To define the same visitor function for more than * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar) * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most * specific defined one will be used for each node. */ export declare function visit(node: Node | Document | null, visitor: visitor): void; export declare namespace visit { var BREAK: symbol; var SKIP: symbol; var REMOVE: symbol; } /** * Apply an async visitor to an AST node or document. * * Walks through the tree (depth-first) starting from `node`, calling a * `visitor` function with three arguments: * - `key`: For sequence values and map `Pair`, the node's index in the * collection. Within a `Pair`, `'key'` or `'value'`, correspondingly. * `null` for the root node. * - `node`: The current node. * - `path`: The ancestry of the current node. * * The return value of the visitor may be used to control the traversal: * - `Promise`: Must resolve to one of the following values * - `undefined` (default): Do nothing and continue * - `visit.SKIP`: Do not visit the children of this node, continue with next * sibling * - `visit.BREAK`: Terminate traversal completely * - `visit.REMOVE`: Remove the current node, then continue with the next one * - `Node`: Replace the current node, then continue by visiting it * - `number`: While iterating the items of a sequence or map, set the index * of the next step. This is useful especially if the index of the current * node has changed. * * If `visitor` is a single function, it will be called with all values * encountered in the tree, including e.g. `null` values. Alternatively, * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`, * `Alias` and `Scalar` node. To define the same visitor function for more than * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar) * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most * specific defined one will be used for each node. */ export declare function visitAsync(node: Node | Document | null, visitor: asyncVisitor): Promise
; export declare namespace visitAsync { var BREAK: symbol; var SKIP: symbol; var REMOVE: symbol; }