mystjs
Version:
Markdown parser for MyST markdown in JavaScript
20 lines (19 loc) • 964 B
TypeScript
import type { Text } from 'myst-spec';
import type { GenericNode, Spec, Token } from './types';
/** MarkdownParseState tracks the context of a running token stream.
*
* Loosly based on prosemirror-markdown
*/
export declare class MarkdownParseState {
stack: GenericNode[];
handlers: Record<string, TokenHandler>;
constructor(handlers: Record<string, Spec>);
top(): GenericNode<Record<string, any>>;
addNode(node?: GenericNode): GenericNode<Record<string, any>> | undefined;
addText(text: string, token: Token, type?: string, attrs?: Record<string, any>): GenericNode<Record<string, any>> | Text | undefined;
openNode(type: string, token: Token, attrs: Record<string, any>, isLeaf?: boolean): void;
closeNode(): GenericNode<Record<string, any>> | undefined;
parseTokens(tokens?: Token[] | null): void;
}
declare type TokenHandler = (state: MarkdownParseState, token: Token, tokens: Token[], index: number) => void;
export {};