UNPKG

myna-parser-mnast

Version:

Myna parser with Unist compatibility

23 lines (21 loc) 976 B
import { MnastNode, MnastConversionOptions, MnastNodeMap } from './types'; /** * Convert a Myna AST/CST node to a mnast node (generic) */ export declare function toMnast<T extends MnastNodeMap>(node: any, options?: MnastConversionOptions): MnastNode<T>; /** * Convert a mnast node back to a Myna AST/CST node (generic) */ export declare function fromMnast<T extends MnastNodeMap>(node: MnastNode<T>): any; /** * Visit all nodes in a mnast tree and apply a function */ export declare function visitMnast<T extends MnastNodeMap>(tree: MnastNode<T>, visitor: (node: MnastNode<T>) => void): void; /** * Check if a node matches a specific type */ export declare function isMnastNode<T extends MnastNodeMap>(node: any, type: Extract<keyof T, string> | string): node is MnastNode<T>; /** * Get all nodes of a specific type */ export declare function getMnastNodesByType<T extends MnastNodeMap>(tree: MnastNode<T>, type: Extract<keyof T, string> | string): MnastNode<T>[];