Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

defineMarkdownChip

Defines a plugin-owned Markdown chip without exposing the host editor runtime.

Import

import { defineMarkdownChip } from "@dartwic/interface-sdk/markdown";

Declaration

export function defineMarkdownChip<Token = unknown>(definition: MarkdownChipDefinition<Token>): MarkdownChipDefinition<Token> {
    if (!definition || typeof definition !== "object") {
        throw new Error("defineMarkdownChip(...) requires a definition.");
    }
    if (!String(definition.id ?? "").trim()) {
        throw new Error("A Markdown chip id is required.");
    }
    if (typeof definition.parse !== "function" || typeof definition.serialize !== "function" || typeof definition.component !== "function") {
        throw new Error(`Markdown chip '${definition.id}' requires parse, serialize, and component functions.`);
    }
    return definition;
}