jc-marked
Version:
Markdown AST (Abstract syntax tree) parser based on finite-state machine (FSM).
40 lines (39 loc) • 1.15 kB
TypeScript
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 };