myna-parser-mnast
Version:
Myna parser with Unist compatibility
23 lines (21 loc) • 976 B
TypeScript
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>[];