UNPKG

jc-marked

Version:

Markdown AST (Abstract syntax tree) parser based on finite-state machine (FSM).

40 lines (39 loc) 1.15 kB
import type { item } from ".."; /** * 接受一个字符串数组, */ declare class Loader extends Array<string> { private _currentState; private _nextState; private _nodes; private _newInput; private _endFlag; constructor(); get nodes(): item[]; /** * 监听状态机输入以做出相应状态改变 */ runClock(): void; /** * 状态机输入 */ push(line: string): number; /** --------------------------------------- --------------------------------------- */ /**【输出】:执行当前状态的操作 */ private _runActions; /**【条件】:描述状态转移规律条件 */ private _countNewState; /**【转移】调用以进入新的状态 */ private _enterState; /**记录块位置 */ private _recordingPosition; /** * 用于初始化使用起止标记的块 * * 如:code、info、math,这类块的特点是识别到块结束符如“```”后的状态不能立刻切换, * 因此先进行切换的是结束标记 */ private _initStateWithEndFlag; private _setEndFlag; } export { Loader };