以下签名与说明从包的公开入口和 JSDoc 提取;中文说明与当前源码对账。Vue 组件接入见嵌入 Vue 工作台。
创建与读取
createTextDiagram
@quirekit/text-diagramMIT创建尚未保存的源码对象。id 为宿主标识;language 为初始语言;source 可选,省略时使用该语言的默认模板。返回 revision 为 0、preview 为 null 的规范对象。
createTextDiagramts
function createTextDiagram(id: string, language?: TextDiagramLanguage, source?: string): TextDiagramEmbedreadTextDiagram
@quirekit/text-diagramMIT校验不可信的持久化输入 input,返回脱离原引用、不可变的规范源码对象。
readTextDiagramts
function readTextDiagram(input: unknown): TextDiagramEmbedserializeTextDiagram
@quirekit/text-diagramMIT校验并序列化 value,返回可用于原子基线比较的稳定字符串。
serializeTextDiagramts
function serializeTextDiagram(value: TextDiagramEmbed): string保存与围栏
prepareTextDiagramSave
@quirekit/text-diagramMIT从 original 基线、与源码绑定的 PNG 快照 snapshot 和纯文本 title 创建一次保存提案;返回新的完整修订,标题默认沿用原对象。
prepareTextDiagramSavets
function prepareTextDiagramSave(original: TextDiagramEmbed, snapshot: TextDiagramRaster, title?: string): TextDiagramEmbedtextDiagramLanguage
@quirekit/text-diagramMIT解析代码围栏语言 input;返回支持的规范语言或 null,不按前缀猜测。
textDiagramLanguagets
function textDiagramLanguage(input: string): TextDiagramLanguage | nulltextDiagramMarkdown
@quirekit/text-diagramMIT接收规范语言 language 与精确源码 source;返回标准 Markdown 围栏,围栏长度确保不会被源码提前闭合。
textDiagramMarkdownts
function textDiagramMarkdown(language: TextDiagramLanguage, source: string): stringtextDiagramTemplates
@quirekit/text-diagramMIT根据 locale 返回所有编辑器共用的真实本地引擎模板。语言只决定新模板中的文字,不翻译已有源码。
textDiagramTemplatests
function textDiagramTemplates(locale?: string): readonly TextDiagramTemplate[]公共数据类型
TextDiagramLanguage
@quirekit/text-diagramMIT内置的本地绘图语言。
TextDiagramLanguagets
export type TextDiagramLanguage = "mermaid" | "plantuml" | "dot";TextDiagramSource
@quirekit/text-diagramMIT源码是唯一的可编辑权威;预览像素由源码派生。
TextDiagramSourcets
export interface TextDiagramSource {
readonly language: TextDiagramLanguage;
readonly source: string;
readonly revision: number;
}TextDiagramEmbed
@quirekit/text-diagramMIT结构化文档宿主持久化的带版本对象。
TextDiagramEmbedts
export interface TextDiagramEmbed {
readonly type: "quirekit-text-diagram";
readonly version: 1;
readonly id: string;
readonly title: string;
readonly document: TextDiagramSource;
readonly preview: TextDiagramPreview | null;
}TextDiagramPreview
@quirekit/text-diagramMIT可携带的静态图片,供文档正文和固定排版使用。
TextDiagramPreviewts
export interface TextDiagramPreview {
readonly dataUrl: string;
readonly width: number;
readonly height: number;
}TextDiagramSnapshot
@quirekit/text-diagramMIT与不可变源码快照绑定的 SVG。
TextDiagramSnapshotts
export interface TextDiagramSnapshot {
readonly language: TextDiagramLanguage;
readonly source: string;
readonly svg: string;
readonly width: number;
readonly height: number;
}TextDiagramRaster
@quirekit/text-diagramMIT冻结的源码及其栅格图;宿主必须将二者一起提交。
TextDiagramRasterts
export interface TextDiagramRaster extends TextDiagramPreview {
readonly language: TextDiagramLanguage;
readonly source: string;
}TextDiagramTemplate
@quirekit/text-diagramMIT以明确语法编写的真实可编辑模板。
TextDiagramTemplatets
export interface TextDiagramTemplate {
readonly id: string;
readonly label: string;
readonly language: TextDiagramLanguage;
readonly source: string;
}TextDiagramEditRequest
@quirekit/text-diagramMIT由宿主映射的编辑目标;界面不会直接写宿主文档。
TextDiagramEditRequestts
export interface TextDiagramEditRequest {
readonly document: TextDiagramEmbed;
readonly commit: (document: TextDiagramEmbed) => TextDiagramCommitResult;
readonly release: () => void;
}TextDiagramCommitResult
@quirekit/text-diagramMIT宿主对一次完整保存提案的原子接受结果。
TextDiagramCommitResultts
export type TextDiagramCommitResult = "saved" | "conflict" | "readonly" | "missing";