Source model API
Generated public signatures, parameters, return values and data fields.
Signatures and descriptions are extracted from public exports and JSDoc. Chinese explanations are checked against current source. See Embed in Vue for the component integration.
Create and validate
createTextDiagram
@quirekit/text-diagramMIT@param id - Host identity. @param language - Initial grammar. @param source - Initial exact source. @returns An unsaved source-backed object.
function createTextDiagram(id: string, language?: TextDiagramLanguage, source?: string): TextDiagramEmbedreadTextDiagram
@quirekit/text-diagramMIT@param input - Untrusted persisted value. @returns Detached immutable canonical source.
function readTextDiagram(input: unknown): TextDiagramEmbedserializeTextDiagram
@quirekit/text-diagramMIT@param value - Portable object. @returns Stable source identity for atomic comparisons.
function serializeTextDiagram(value: TextDiagramEmbed): stringSave and Markdown
prepareTextDiagramSave
@quirekit/text-diagramMIT@param original - Captured host baseline. @param snapshot - Exact source-bound PNG. @param title - Plain accessible name. @returns One proposed revision.
function prepareTextDiagramSave(original: TextDiagramEmbed, snapshot: TextDiagramRaster, title?: string): TextDiagramEmbedtextDiagramLanguage
@quirekit/text-diagramMIT@param input - Code fence language. @returns Supported grammar or null; no prefix guessing.
function textDiagramLanguage(input: string): TextDiagramLanguage | nulltextDiagramMarkdown
@quirekit/text-diagramMIT@param language - Canonical grammar. @param source - Exact source. @returns A standard code fence that cannot be closed by its body.
function textDiagramMarkdown(language: TextDiagramLanguage, source: string): stringtextDiagramTemplates
@quirekit/text-diagramMIT@param locale - Language of newly created labels, never of existing source. @returns Real local-engine examples shared by every editor.
function textDiagramTemplates(locale?: string): readonly TextDiagramTemplate[]Public data types
TextDiagramLanguage
@quirekit/text-diagramMITBuilt-in local diagram languages.
export type TextDiagramLanguage = "mermaid" | "plantuml" | "dot";TextDiagramSource
@quirekit/text-diagramMITSource is the sole editable authority; preview pixels are derived.
export interface TextDiagramSource {
readonly language: TextDiagramLanguage;
readonly source: string;
readonly revision: number;
}TextDiagramEmbed
@quirekit/text-diagramMITVersioned object retained by structured document hosts.
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-diagramMITPortable inert image, suitable for document content and fixed layout.
export interface TextDiagramPreview {
readonly dataUrl: string;
readonly width: number;
readonly height: number;
}TextDiagramSnapshot
@quirekit/text-diagramMITSVG bound to an immutable source snapshot.
export interface TextDiagramSnapshot {
readonly language: TextDiagramLanguage;
readonly source: string;
readonly svg: string;
readonly width: number;
readonly height: number;
}TextDiagramRaster
@quirekit/text-diagramMITFrozen source and its raster; hosts commit both together.
export interface TextDiagramRaster extends TextDiagramPreview {
readonly language: TextDiagramLanguage;
readonly source: string;
}TextDiagramTemplate
@quirekit/text-diagramMITA real editable example in a named grammar.
export interface TextDiagramTemplate {
readonly id: string;
readonly label: string;
readonly language: TextDiagramLanguage;
readonly source: string;
}TextDiagramEditRequest
@quirekit/text-diagramMITA mapped host target; UI never writes the host directly.
export interface TextDiagramEditRequest {
readonly document: TextDiagramEmbed;
readonly commit: (document: TextDiagramEmbed) => TextDiagramCommitResult;
readonly release: () => void;
}TextDiagramCommitResult
@quirekit/text-diagramMITA host's atomic acceptance decision.
export type TextDiagramCommitResult = "saved" | "conflict" | "readonly" | "missing";