@advjs/parser
Version:
A parser for advjs.
77 lines (70 loc) • 2.12 kB
text/typescript
import * as _advjs_types from '@advjs/types';
import { AdvConfig, AdvAst } from '@advjs/types';
export { c as convertMdToAdv, a as parseAst, p as parseChild } from './shared/parser.sTwjeLqA.mjs';
import * as Mdast from 'mdast';
import Mdast__default, { Root } from 'mdast';
declare function resolveConfig(frontmatter: any): AdvConfig<_advjs_types.AdvThemeConfig>;
declare function mdRender(content: string): Promise<string>;
/**
* md 语法树
* @param content
*/
declare function mdParse(content: string): Promise<Root>;
/**
* 序列化类
*/
declare class Serialize {
/**
* 解析
*/
parse(child: Mdast.Content): AdvAst.Item | undefined;
/**
* 处理标题
*/
heading(node: Mdast.Heading): AdvAst.Heading;
/**
* 处理引用块
*/
blockquote(node: Mdast.Blockquote): AdvAst.Narration;
/**
* 处理代码块
* @param node
*/
code(node: Mdast.Code): AdvAst.Code | undefined;
/**
* 处理段落
*/
paragraph(node: Mdast.Paragraph): AdvAst.SceneInfo | AdvAst.Narration | AdvAst.Dialog | AdvAst.Text | AdvAst.Unknown;
/**
* 处理文本
* 更多的扩展语法在此实现(从普通的段落文本中进行解析)
*/
text(node: Mdast.Text): AdvAst.SceneInfo | AdvAst.Narration | AdvAst.Dialog | AdvAst.Text;
/**
* handle list for choice
* - [x] xxx
*/
list(node: Mdast.List): AdvAst.Choices | undefined;
}
/**
* Parse AdvCode (js/ts)
*/
declare function parseAdvCode(): void;
declare const scriptSuffix: string[];
/**
* the script can be executed
* @param node
*/
declare function isScript(node?: AdvAst.Child): node is AdvAst.CodeFunction;
/**
* advnode suffix & parse
*/
declare const advNodeMap: {
suffix: string[];
parse(val: string): AdvAst.CodeOperation[];
}[];
/**
* 解析纯文本,实现扩展语法
*/
declare function parseText(node: Mdast__default.Text): AdvAst.SceneInfo | AdvAst.Narration | AdvAst.Dialog | AdvAst.Text;
export { Serialize, advNodeMap, isScript, mdParse, mdRender, parseAdvCode, parseText, resolveConfig, scriptSuffix };