stream-markdown-parser 0.0.91 → 0.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { MarkdownIt, MarkdownIt as MarkdownIt$1, Token } from "markdown-it-ts";
1
+ import { MarkdownIt, MarkdownIt as MarkdownIt$1, MarkdownItPlugin, Token } from "markdown-it-ts";
2
2
 
3
3
  //#region src/factory.d.ts
4
4
  interface FactoryOptions extends Record<string, unknown> {
@@ -105,7 +105,7 @@ type CustomComponentAttrs = [string, string][] | Record<string, string | boolean
105
105
  * A generic node shape for custom HTML-like components.
106
106
  * When a tag name is included in `customHtmlTags`, the parser emits a node
107
107
  * whose `type` equals that tag name and carries the raw HTML `content`
108
- * plus any extracted `attrs` from user transforms.
108
+ * plus extracted `attrs` from user transforms.
109
109
  */
110
110
  interface CustomComponentNode extends BaseNode {
111
111
  /** The custom tag name (same as `tag`) */
@@ -265,13 +265,22 @@ interface ReferenceNode extends BaseNode {
265
265
  type: 'reference';
266
266
  id: string;
267
267
  }
268
+ type MarkdownTokenMeta = Record<string, unknown>;
269
+ type MarkdownTokenBase = Omit<Token, 'children' | 'meta'> & {
270
+ children?: MarkdownToken[] | null;
271
+ loading?: boolean;
272
+ mark?: string;
273
+ meta?: MarkdownTokenMeta | null;
274
+ raw?: string;
275
+ };
268
276
  interface MarkdownTokenLite {
269
277
  type: string;
270
278
  tag?: string;
271
279
  content?: string;
272
280
  info?: string;
281
+ mark?: string;
273
282
  markup?: string;
274
- meta?: unknown;
283
+ meta?: MarkdownTokenMeta | null;
275
284
  map?: [number, number] | number[] | null;
276
285
  block?: boolean;
277
286
  hidden?: boolean;
@@ -282,10 +291,7 @@ interface MarkdownTokenLite {
282
291
  loading?: boolean;
283
292
  raw?: string;
284
293
  }
285
- type MarkdownToken = (Token & {
286
- loading?: boolean;
287
- raw?: string;
288
- }) | MarkdownTokenLite;
294
+ type MarkdownToken = MarkdownTokenBase | MarkdownTokenLite;
289
295
  type ParsedNode = TextNode | HeadingNode | ParagraphNode | ListNode | ListItemNode | CodeBlockNode | InlineCodeNode | LinkNode | ImageNode | ThematicBreakNode | BlockquoteNode | TableNode | TableRowNode | TableCellNode | StrongNode | EmphasisNode | StrikethroughNode | HighlightNode | InsertNode | SubscriptNode | SuperscriptNode | CheckboxNode | CheckboxInputNode | EmojiNode | DefinitionListNode | DefinitionItemNode | FootnoteNode | FootnoteReferenceNode | AdmonitionNode | VmrContainerNode | HardBreakNode | MathInlineNode | MathBlockNode | ReferenceNode | HtmlBlockNode | HtmlInlineNode | CustomComponentNode | UnknownNode;
290
296
  interface CustomComponents {
291
297
  text: unknown;
@@ -348,6 +354,12 @@ interface ParseOptions {
348
354
  validateLink?: (url: string) => boolean;
349
355
  debug?: boolean;
350
356
  }
357
+ interface InternalParseOptions extends ParseOptions {
358
+ __customHtmlBlockCursor?: number;
359
+ __insideStrong?: boolean;
360
+ __markdownIt?: MarkdownIt$1;
361
+ __sourceMarkdown?: string;
362
+ }
351
363
  type PostTransformNodesHook = (nodes: ParsedNode[]) => ParsedNode[];
352
364
  //#endregion
353
365
  //#region src/parser/inline-parsers/index.d.ts
@@ -406,6 +418,7 @@ declare function findMatchingClose(src: string, startIdx: number, open: string,
406
418
  //#endregion
407
419
  //#region src/htmlRenderUtils.d.ts
408
420
  type HtmlPolicy = 'escape' | 'safe' | 'trusted';
421
+ type HtmlPropValue = string | number | boolean;
409
422
  interface HtmlToken {
410
423
  type: 'text' | 'tag_open' | 'tag_close' | 'self_closing';
411
424
  tagName?: string;
@@ -419,8 +432,8 @@ declare function isCustomHtmlComponentTag(tagName: string, customComponents: Rec
419
432
  declare function sanitizeHtmlAttrs(attrs: Record<string, string>, policy?: HtmlPolicy, tagName?: string): Record<string, string>;
420
433
  declare function tokenAttrsToRecord(attrs?: Array<[string, string | null]> | null): Record<string, string>;
421
434
  declare function sanitizeHtmlTokenAttrs(attrs?: Array<[string, string | null]> | null, policy?: HtmlPolicy, tagName?: string): [string, string][] | undefined;
422
- declare function convertHtmlPropValue(value: string, key: string): any;
423
- declare function convertHtmlAttrsToProps(attrs: Record<string, string>): Record<string, any>;
435
+ declare function convertHtmlPropValue(value: string, key: string): HtmlPropValue;
436
+ declare function convertHtmlAttrsToProps(attrs: Record<string, string>): Record<string, HtmlPropValue>;
424
437
  declare function tokenizeHtml(html: string): HtmlToken[];
425
438
  declare function hasCustomHtmlComponents(content: string, customComponents: Record<string, unknown>): boolean;
426
439
  declare function sanitizeHtmlContent(content: string, policy?: HtmlPolicy): string;
@@ -463,10 +476,11 @@ declare function normalizeStandaloneBackslashT(s: string, opts?: MathOptions): s
463
476
  declare function applyMath(md: MarkdownIt$1, mathOpts?: MathOptions): void;
464
477
  //#endregion
465
478
  //#region src/index.d.ts
466
- declare function registerMarkdownPlugin(plugin: unknown): void;
479
+ type MarkdownPluginRegistration = MarkdownItPlugin | readonly [MarkdownItPlugin, ...unknown[]];
480
+ declare function registerMarkdownPlugin(plugin: MarkdownPluginRegistration): void;
467
481
  declare function clearRegisteredMarkdownPlugins(): void;
468
482
  interface GetMarkdownOptions extends FactoryOptions {
469
- plugin?: Array<unknown>;
483
+ plugin?: MarkdownPluginRegistration[];
470
484
  apply?: Array<(md: MarkdownIt) => void>;
471
485
  /**
472
486
  * Custom translation function or translation map for UI texts
@@ -476,5 +490,5 @@ interface GetMarkdownOptions extends FactoryOptions {
476
490
  }
477
491
  declare function getMarkdown(msgId?: string, options?: GetMarkdownOptions): MarkdownIt;
478
492
  //#endregion
479
- export { AdmonitionNode, BLOCKED_HTML_TAGS, BLOCKED_HTML_TAG_NAMES, BLOCK_HTML_TAG_NAMES, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponentAttrs, CustomComponentNode, CustomComponents, DANGEROUS_HTML_ATTRS, DANGEROUS_HTML_ATTR_NAMES, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EXTENDED_STANDARD_HTML_TAGS, EXTENDED_STANDARD_HTML_TAG_NAMES, EmojiNode, EmphasisNode, FootnoteAnchorNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, HtmlBlockNode, HtmlInlineNode, HtmlPolicy, HtmlToken, INLINE_HTML_TAG_NAMES, ImageNode, InlineCodeNode, InlineNode, InsertNode, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, type MarkdownIt, MarkdownRender, MarkdownToken, MarkdownTokenLite, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, NON_STRUCTURING_HTML_TAGS, NON_STRUCTURING_HTML_TAG_NAMES, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, SAFE_ALLOWED_HTML_TAGS, STANDARD_BLOCK_HTML_TAGS, STANDARD_HTML_TAGS, SVG_HTML_TAG_NAMES, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, URL_HTML_ATTRS, URL_HTML_ATTR_NAMES, UnknownNode, VOID_HTML_TAGS, VOID_HTML_TAG_NAMES, VmrContainerNode, applyContainers, applyMath, clearRegisteredMarkdownPlugins, convertHtmlAttrsToProps, convertHtmlPropValue, findMatchingClose, getHtmlTagFromContent, getMarkdown, hasCompleteHtmlTagContent, hasCustomHtmlComponents, isCustomHtmlComponentTag, isHtmlLikeTagName, isHtmlTagBlocked, isHtmlTagHardBlocked, isMathLike, isUnsafeHtmlUrl, mergeCustomHtmlTags, normalizeCustomHtmlTagName, normalizeCustomHtmlTags, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, registerMarkdownPlugin, resolveCustomHtmlTags, sanitizeHtmlAttrs, sanitizeHtmlContent, sanitizeHtmlTokenAttrs, setDefaultMathOptions, shouldRenderUnknownHtmlTagAsText, stripCustomHtmlWrapper, stripHtmlControlAndWhitespace, tokenAttrsToRecord, tokenizeHtml };
493
+ export { AdmonitionNode, BLOCKED_HTML_TAGS, BLOCKED_HTML_TAG_NAMES, BLOCK_HTML_TAG_NAMES, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponentAttrs, CustomComponentNode, CustomComponents, DANGEROUS_HTML_ATTRS, DANGEROUS_HTML_ATTR_NAMES, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EXTENDED_STANDARD_HTML_TAGS, EXTENDED_STANDARD_HTML_TAG_NAMES, EmojiNode, EmphasisNode, FootnoteAnchorNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, HtmlBlockNode, HtmlInlineNode, HtmlPolicy, HtmlPropValue, HtmlToken, INLINE_HTML_TAG_NAMES, ImageNode, InlineCodeNode, InlineNode, InsertNode, InternalParseOptions, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, type MarkdownIt, MarkdownPluginRegistration, MarkdownRender, MarkdownToken, MarkdownTokenLite, MarkdownTokenMeta, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, NON_STRUCTURING_HTML_TAGS, NON_STRUCTURING_HTML_TAG_NAMES, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, SAFE_ALLOWED_HTML_TAGS, STANDARD_BLOCK_HTML_TAGS, STANDARD_HTML_TAGS, SVG_HTML_TAG_NAMES, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, URL_HTML_ATTRS, URL_HTML_ATTR_NAMES, UnknownNode, VOID_HTML_TAGS, VOID_HTML_TAG_NAMES, VmrContainerNode, applyContainers, applyMath, clearRegisteredMarkdownPlugins, convertHtmlAttrsToProps, convertHtmlPropValue, findMatchingClose, getHtmlTagFromContent, getMarkdown, hasCompleteHtmlTagContent, hasCustomHtmlComponents, isCustomHtmlComponentTag, isHtmlLikeTagName, isHtmlTagBlocked, isHtmlTagHardBlocked, isMathLike, isUnsafeHtmlUrl, mergeCustomHtmlTags, normalizeCustomHtmlTagName, normalizeCustomHtmlTags, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, registerMarkdownPlugin, resolveCustomHtmlTags, sanitizeHtmlAttrs, sanitizeHtmlContent, sanitizeHtmlTokenAttrs, setDefaultMathOptions, shouldRenderUnknownHtmlTagAsText, stripCustomHtmlWrapper, stripHtmlControlAndWhitespace, tokenAttrsToRecord, tokenizeHtml };
480
494
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/customHtmlTags.ts","../src/findMatchingClose.ts","../src/htmlRenderUtils.ts","../src/htmlTags.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/customHtmlTags.ts","../src/findMatchingClose.ts","../src/htmlRenderUtils.ts","../src/htmlTags.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9347,7 +9347,7 @@ function applyContainers(md) {
9347
9347
  if (!jsonStr) argsStr = trimmedRest || void 0;
9348
9348
  }
9349
9349
  if (silent) return true;
9350
- const envFinal = !!s.env?.__markstreamFinal;
9350
+ const envFinal = !!s.env.__markstreamFinal;
9351
9351
  let nextLine = startLine + 1;
9352
9352
  let found = false;
9353
9353
  while (nextLine <= endLine) {
@@ -9363,7 +9363,7 @@ function applyContainers(md) {
9363
9363
  const tokenOpen = s.push("vmr_container_open", "div", 1);
9364
9364
  tokenOpen.attrSet("class", `vmr-container vmr-container-${name}`);
9365
9365
  tokenOpen.meta = {
9366
- ...tokenOpen.meta,
9366
+ ...tokenOpen.meta ?? {},
9367
9367
  unclosed: !found && !envFinal
9368
9368
  };
9369
9369
  if (argsStr) tokenOpen.attrSet("data-args", argsStr);
@@ -10392,7 +10392,7 @@ function applyFixHtmlInlineTokens(md, options = {}) {
10392
10392
  type: "html_block",
10393
10393
  loading: true,
10394
10394
  tag,
10395
- content: t.children[0].content + t.children[1].content
10395
+ content: String(t.children[0]?.content ?? "") + String(t.children[1]?.content ?? "")
10396
10396
  }];
10397
10397
  continue;
10398
10398
  } else if (t.children.length === 3 && t.children[0].type === "html_inline" && t.children[2].type === "html_inline") {
@@ -10465,7 +10465,7 @@ function looksLikeCode(line) {
10465
10465
  function applyFixIndentedCodeBlock(md, options = {}) {
10466
10466
  if (options.enabled === false) return;
10467
10467
  md.core.ruler.after("inline", "fix_indented_code_block", (state) => {
10468
- const tokens = state.tokens;
10468
+ const tokens = state.tokens ?? [];
10469
10469
  for (let i = 0; i < tokens.length; i++) {
10470
10470
  const token = tokens[i];
10471
10471
  if (token.type !== "code_block") continue;
@@ -10474,28 +10474,30 @@ function applyFixIndentedCodeBlock(md, options = {}) {
10474
10474
  const lines = content.split(/\r?\n/).filter((line) => line.trim().length > 0);
10475
10475
  if (lines.length === 1 && !looksLikeCode(lines[0] ?? "")) {
10476
10476
  const textContent = lines[0] ?? "";
10477
+ const level = token.level ?? 0;
10477
10478
  tokens.splice(i, 1, {
10478
10479
  type: "paragraph_open",
10479
10480
  tag: "p",
10480
10481
  nesting: 1,
10481
- level: token.level
10482
+ level
10482
10483
  }, {
10483
10484
  type: "inline",
10484
10485
  tag: "",
10485
10486
  nesting: 0,
10486
- level: token.level,
10487
+ level,
10487
10488
  content: textContent,
10488
10489
  children: [{
10489
10490
  type: "text",
10490
10491
  content: textContent,
10491
- level: token.level + 1
10492
+ level: level + 1,
10493
+ raw: textContent
10492
10494
  }],
10493
10495
  block: true
10494
10496
  }, {
10495
10497
  type: "paragraph_close",
10496
10498
  tag: "p",
10497
10499
  nesting: -1,
10498
- level: token.level
10500
+ level
10499
10501
  });
10500
10502
  i += 2;
10501
10503
  }
@@ -10722,7 +10724,7 @@ function firstIndexOfAny(input, chars) {
10722
10724
  return first;
10723
10725
  }
10724
10726
  function getHrefFromLinkOpen(token) {
10725
- const href = token?.attrs?.find((attr) => attr?.[0] === "href")?.[1];
10727
+ const href = token.attrs?.find((attr) => attr?.[0] === "href")?.[1];
10726
10728
  return typeof href === "string" ? href : "";
10727
10729
  }
10728
10730
  function setHrefOnLinkOpen(token, href) {
@@ -10963,7 +10965,7 @@ function fixLinkToken(tokens) {
10963
10965
  count += 1;
10964
10966
  }
10965
10967
  }
10966
- replacerTokens.push({
10968
+ const linkToken = {
10967
10969
  type: "link",
10968
10970
  loading: false,
10969
10971
  href,
@@ -10975,7 +10977,8 @@ function fixLinkToken(tokens) {
10975
10977
  raw: text$1
10976
10978
  }],
10977
10979
  raw: String(`[${text$1}](${href})`)
10978
- });
10980
+ };
10981
+ replacerTokens.push(linkToken);
10979
10982
  if (emphasisMatch) {
10980
10983
  const type = emphasisMatch[1].length;
10981
10984
  pushEmClose(replacerTokens, type);
@@ -12179,7 +12182,7 @@ function applyMath(md, mathOpts) {
12179
12182
  }
12180
12183
  foundAny = true;
12181
12184
  if (!silent) {
12182
- const before = src.slice(s.pos - s.pending.length, index);
12185
+ const before = src.slice(s.pos - (s.pending ?? "").length, index);
12183
12186
  let toPushBefore = src.slice(0, searchPos) ? src.slice(preMathPos, index) : before;
12184
12187
  const isStrongPrefix = countUnescapedStrong(toPushBefore) % 2 === 1;
12185
12188
  if (index !== s.pos && isStrongPrefix) toPushBefore = s.pending + src.slice(s.pos, index);
@@ -12503,7 +12506,8 @@ function parseEmphasisToken(tokens, startIndex, options) {
12503
12506
  let i = startIndex + 1;
12504
12507
  const innerTokens = [];
12505
12508
  while (i < tokens.length && tokens[i].type !== "em_close") {
12506
- emText += String(tokens[i].content ?? tokens[i]?.text ?? "");
12509
+ const tokenText = tokens[i];
12510
+ emText += String(tokens[i].content ?? tokenText.text ?? "");
12507
12511
  innerTokens.push(tokens[i]);
12508
12512
  i++;
12509
12513
  }
@@ -12712,8 +12716,8 @@ function normalizeStandardHtmlChildren(children) {
12712
12716
  if (!text$1) return;
12713
12717
  const last = normalized[normalized.length - 1];
12714
12718
  if (last?.type === "text") {
12715
- last.content = String(last.content ?? "") + text$1;
12716
- last.raw = String(last.raw ?? "") + text$1;
12719
+ last.content = `${last.content}${text$1}`;
12720
+ last.raw = `${last.raw}${text$1}`;
12717
12721
  return;
12718
12722
  }
12719
12723
  normalized.push({
@@ -12728,10 +12732,10 @@ function normalizeStandardHtmlChildren(children) {
12728
12732
  pushText(String(child.raw ?? ""));
12729
12733
  continue;
12730
12734
  }
12731
- if (Array.isArray(child.children)) {
12735
+ if ("children" in child && Array.isArray(child.children)) {
12732
12736
  normalized.push({
12733
12737
  ...child,
12734
- children: normalizeStandardHtmlChildren(child.children ?? [])
12738
+ children: normalizeStandardHtmlChildren(child.children)
12735
12739
  });
12736
12740
  continue;
12737
12741
  }
@@ -12901,7 +12905,7 @@ function parseImageToken(token, loading = false) {
12901
12905
  let attrs = token.attrs ?? [];
12902
12906
  let childWithAttrs = null;
12903
12907
  if ((!attrs || attrs.length === 0) && Array.isArray(token.children)) for (const child of token.children) {
12904
- const childAttrs = child?.attrs;
12908
+ const childAttrs = child.attrs;
12905
12909
  if (Array.isArray(childAttrs) && childAttrs.length > 0) {
12906
12910
  attrs = childAttrs;
12907
12911
  childWithAttrs = child;
@@ -13104,10 +13108,11 @@ function parseStrongToken(tokens, startIndex, raw, options) {
13104
13108
  innerTokens.push(tokens[i]);
13105
13109
  i++;
13106
13110
  }
13107
- children.push(...parseInlineTokens(innerTokens, resolveInnerRaw(raw, strongText), void 0, {
13111
+ const innerOptions = {
13108
13112
  ...options,
13109
13113
  __insideStrong: true
13110
- }));
13114
+ };
13115
+ children.push(...parseInlineTokens(innerTokens, resolveInnerRaw(raw, strongText), void 0, innerOptions));
13111
13116
  return {
13112
13117
  node: {
13113
13118
  type: "strong",
@@ -13429,6 +13434,7 @@ function recoverTrailingMarkdownLinkLabel(raw, href) {
13429
13434
  }
13430
13435
  function parseInlineTokens(tokens, raw, pPreToken, options) {
13431
13436
  if (!tokens || tokens.length === 0) return [];
13437
+ const internalOptions = options;
13432
13438
  const result = [];
13433
13439
  let currentTextNode = null;
13434
13440
  let i = 0;
@@ -13864,7 +13870,7 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
13864
13870
  return true;
13865
13871
  }
13866
13872
  function tryReparseCollapsedInlineText(rawContent) {
13867
- const md = options?.__markdownIt;
13873
+ const md = internalOptions?.__markdownIt;
13868
13874
  if (!md) return null;
13869
13875
  if (tokens.length <= 1 || !tokens.some((token) => token?.type === "math_inline")) return null;
13870
13876
  if (!INLINE_REPARSE_MARKER_RE.test(rawContent)) return null;
@@ -14092,10 +14098,11 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
14092
14098
  pushText(String(token.content ?? ""), String(token.content ?? ""));
14093
14099
  i++;
14094
14100
  break;
14095
- default:
14096
- if (token.type === "link" && token.href != null && options?.validateLink && !options.validateLink(token.href)) {
14101
+ default: {
14102
+ const syntheticLink = token;
14103
+ if (token.type === "link" && syntheticLink.href != null && options?.validateLink && !options.validateLink(String(syntheticLink.href))) {
14097
14104
  resetCurrentTextNode();
14098
- const displayText = String(token.text ?? "");
14105
+ const displayText = String(syntheticLink.text ?? "");
14099
14106
  pushText(displayText, displayText);
14100
14107
  i++;
14101
14108
  } else if (recoverOuterImageLinkFromSyntheticLinkToken(token)) i++;
@@ -14106,6 +14113,7 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
14106
14113
  i++;
14107
14114
  }
14108
14115
  break;
14116
+ }
14109
14117
  }
14110
14118
  }
14111
14119
  function commitTextNode(content, token, preToken, nextToken) {
@@ -14381,7 +14389,8 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
14381
14389
  if (outerOpenToken?.type === "text" && String(outerOpenToken.content ?? "").endsWith("[") && hasEscapedMarkup(outerOpenToken, "\\[")) return false;
14382
14390
  const previous = result[result.length - 1];
14383
14391
  if (previous?.type !== "image" && previous?.type !== "link") return false;
14384
- const previousLink = previous?.type === "link" && Array.isArray(previous.children) && previous.children.length === 1 && previous.children[0]?.type === "image" ? result.pop() : null;
14392
+ const previousWithChildren = previous;
14393
+ const previousLink = previous?.type === "link" && Array.isArray(previousWithChildren.children) && previousWithChildren.children.length === 1 && previousWithChildren.children[0]?.type === "image" ? result.pop() : null;
14385
14394
  const imageNode = previousLink ? previousLink.children[0] : result.pop();
14386
14395
  if (!imageNode || imageNode.type !== "image") return false;
14387
14396
  const nextToken = tokens[i + 1];
@@ -14977,11 +14986,11 @@ function parseFootnote(tokens, index, options) {
14977
14986
  let j = index + 1;
14978
14987
  while (j < tokens.length && tokens[j].type !== "footnote_close") if (tokens[j].type === "paragraph_open") {
14979
14988
  const contentToken = tokens[j + 1];
14980
- const children = contentToken.children || [];
14989
+ const children = contentToken.children ? [...contentToken.children] : [];
14981
14990
  if (tokens[j + 2].type === "footnote_anchor") children.push(tokens[j + 2]);
14982
14991
  footnoteChildren.push({
14983
14992
  type: "paragraph",
14984
- children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, options),
14993
+ children: parseInlineTokens(children, String(contentToken.content ?? ""), void 0, options),
14985
14994
  raw: String(contentToken.content ?? "")
14986
14995
  });
14987
14996
  j += 3;
@@ -14998,7 +15007,7 @@ function parseFootnote(tokens, index, options) {
14998
15007
  //#region src/parser/node-parsers/heading-parser.ts
14999
15008
  function parseHeading(tokens, index, options) {
15000
15009
  const token = tokens[index];
15001
- const attrs = token?.attrs;
15010
+ const attrs = token.attrs;
15002
15011
  const attrsRecord = Array.isArray(attrs) && attrs.length ? Object.fromEntries(attrs.filter((pair) => Array.isArray(pair) && pair.length >= 1 && pair[0]).map(([name, value]) => [String(name), value == null || value === "" ? true : String(value)])) : void 0;
15003
15012
  const levelStr = String(token.tag?.substring(1) ?? "1");
15004
15013
  const headingLevel = Number.parseInt(levelStr, 10);
@@ -15393,7 +15402,7 @@ function parseBasicBlockToken(tokens, index, options) {
15393
15402
  const htmlBlockNode = parseHtmlBlock(token);
15394
15403
  const tagSets = htmlBlockNode.tag ? getHtmlTagSets(options?.customHtmlTags) : null;
15395
15404
  if (htmlBlockNode.tag && htmlBlockNode.loading && tagSets && !tagSets.allowedTagSet.has(htmlBlockNode.tag)) {
15396
- const content = String(token?.content ?? "").replace(/\n+$/, "");
15405
+ const content = String(token.content ?? "").replace(/\n+$/, "");
15397
15406
  return [{
15398
15407
  type: "paragraph",
15399
15408
  children: content ? [{
@@ -15410,7 +15419,7 @@ function parseBasicBlockToken(tokens, index, options) {
15410
15419
  const cursor = Number(options?.__customHtmlBlockCursor ?? 0);
15411
15420
  const mappedLineStart = Array.isArray(token.map) ? lineToIndex(source, Number(token.map?.[0] ?? 0)) : 0;
15412
15421
  const fromSource = findNextCustomHtmlBlockFromSource(source, tag, Math.max(clampNonNegative(cursor), clampNonNegative(mappedLineStart)));
15413
- if (fromSource) options.__customHtmlBlockCursor = fromSource.end;
15422
+ if (fromSource && options) options.__customHtmlBlockCursor = fromSource.end;
15414
15423
  const rawHtml = String(fromSource?.raw ?? htmlBlockNode.raw ?? "");
15415
15424
  const openEnd = findTagCloseIndexOutsideQuotes(rawHtml);
15416
15425
  const openTag = openEnd !== -1 ? rawHtml.slice(0, openEnd + 1) : rawHtml;
@@ -15507,6 +15516,9 @@ function parseParagraph(tokens, index, options) {
15507
15516
 
15508
15517
  //#endregion
15509
15518
  //#region src/parser/index.ts
15519
+ function getNodeFields(node) {
15520
+ return node;
15521
+ }
15510
15522
  function getCustomHtmlTagSet(options) {
15511
15523
  const custom = options?.customHtmlTags;
15512
15524
  if (!Array.isArray(custom) || custom.length === 0) return null;
@@ -15521,11 +15533,11 @@ function buildAllowedHtmlTagSet(options) {
15521
15533
  return set;
15522
15534
  }
15523
15535
  function stringifyInlineNodeRaw(node) {
15524
- const raw = node?.raw;
15536
+ const raw = node.raw;
15525
15537
  if (typeof raw === "string") return raw;
15526
- const content = node?.content;
15538
+ const content = getNodeFields(node).content;
15527
15539
  if (typeof content === "string") return content;
15528
- if (node?.type === "hardbreak") return "<br>";
15540
+ if (node.type === "hardbreak") return "<br>";
15529
15541
  return "";
15530
15542
  }
15531
15543
  function buildParagraphFromInlineChildren(children) {
@@ -15537,7 +15549,8 @@ function buildParagraphFromInlineChildren(children) {
15537
15549
  }
15538
15550
  function maybePromoteCustomNodeFromParagraph(node, options) {
15539
15551
  if (node.type !== "paragraph") return null;
15540
- const children = Array.isArray(node.children) ? node.children : [];
15552
+ const nodeChildren = getNodeFields(node).children;
15553
+ const children = Array.isArray(nodeChildren) ? nodeChildren : [];
15541
15554
  if (children.length === 0) return null;
15542
15555
  const customTagSet = getCustomHtmlTagSet(options);
15543
15556
  if (!customTagSet?.size) return null;
@@ -15546,7 +15559,7 @@ function maybePromoteCustomNodeFromParagraph(node, options) {
15546
15559
  const child = children[i];
15547
15560
  if (!customTagSet.has(String(child?.type ?? "").toLowerCase())) continue;
15548
15561
  const prefixChildren$1 = children.slice(0, i);
15549
- if (!String(child?.content ?? "").trim()) continue;
15562
+ if (!String(getNodeFields(child).content ?? "").trim()) continue;
15550
15563
  if (!prefixChildren$1.some((prefixChild) => prefixChild?.type === "hardbreak")) continue;
15551
15564
  customIndex = i;
15552
15565
  break;
@@ -15577,15 +15590,15 @@ function parseStandaloneHtmlDocument(markdown) {
15577
15590
  }];
15578
15591
  }
15579
15592
  function getMergeableNodeRaw(node) {
15580
- const raw = node?.raw;
15593
+ const raw = node.raw;
15581
15594
  if (typeof raw === "string") return raw;
15582
- const content = node?.content;
15595
+ const content = getNodeFields(node).content;
15583
15596
  if (typeof content === "string") return content;
15584
15597
  return "";
15585
15598
  }
15586
15599
  function isCloseOnlyHtmlBlockForTag(node, tag) {
15587
15600
  if (node.type !== "html_block" || !tag) return false;
15588
- const raw = String(node?.raw ?? node?.content ?? "");
15601
+ const raw = String(node.raw ?? node.content ?? "");
15589
15602
  return new RegExp(String.raw`^\s*<\s*\/\s*${escapeTagForRegExp(tag)}\s*>\s*$`, "i").test(raw);
15590
15603
  }
15591
15604
  function findNextHtmlBlockFromSource(source, tag, startIndex) {
@@ -15743,7 +15756,8 @@ function shouldStructureGenericHtmlBlockChildren(innerRaw, children) {
15743
15756
  if (children.some((child) => STRUCTURED_HTML_WRAPPER_BLOCK_TYPES.has(String(child?.type ?? "").toLowerCase()))) return true;
15744
15757
  if (children.some((child) => {
15745
15758
  if (child?.type !== "html_block") return false;
15746
- return Array.isArray(child?.children) && child.children.length > 0;
15759
+ const childFields = getNodeFields(child);
15760
+ return Array.isArray(childFields.children) && childFields.children.length > 0;
15747
15761
  })) return true;
15748
15762
  if (!hasStructuredHtmlWrapperMarkers(innerRaw)) return false;
15749
15763
  if (children.length > 1) return true;
@@ -15753,9 +15767,10 @@ function shouldStructureGenericHtmlBlockChildren(innerRaw, children) {
15753
15767
  function structureGenericHtmlBlockChildren(nodes, md, options, final) {
15754
15768
  return nodes.map((node) => {
15755
15769
  if (node?.type !== "html_block") return node;
15756
- const tag = String(node?.tag ?? "").toLowerCase();
15757
- if (!tag || tag === "details" || NON_STRUCTURING_HTML_TAGS.has(tag) || Array.isArray(node?.children)) return node;
15758
- const raw = String(node?.raw ?? node?.content ?? "");
15770
+ const fields = getNodeFields(node);
15771
+ const tag = String(fields.tag ?? "").toLowerCase();
15772
+ if (!tag || tag === "details" || NON_STRUCTURING_HTML_TAGS.has(tag) || Array.isArray(fields.children)) return node;
15773
+ const raw = String(node.raw ?? fields.content ?? "");
15759
15774
  if (!raw) return node;
15760
15775
  const openEnd = findTagCloseIndexOutsideQuotes(raw);
15761
15776
  if (openEnd === -1) return node;
@@ -15774,12 +15789,18 @@ function parseDetailsFragmentChildren(fragment, md, options) {
15774
15789
  if (!fragment.trim()) return [];
15775
15790
  return parseMarkdownToStructure(fragment, md, options);
15776
15791
  }
15792
+ function parseSummaryChildren(fragment, md, options) {
15793
+ const children = parseDetailsFragmentChildren(fragment, md, options);
15794
+ const onlyChild = children[0];
15795
+ if (children.length === 1 && onlyChild?.type === "paragraph" && Array.isArray(onlyChild.children)) return onlyChild.children;
15796
+ return children;
15797
+ }
15777
15798
  function buildStructuredSummaryNode(summaryRaw, md, options) {
15778
15799
  const summaryNode = parseHtmlBlock({ content: summaryRaw });
15779
15800
  const openEnd = findTagCloseIndexOutsideQuotes(summaryRaw);
15780
15801
  const closeStart = findLastClosingTagStart(summaryRaw, "summary");
15781
15802
  if (openEnd !== -1 && closeStart !== -1 && closeStart >= openEnd + 1) {
15782
- const children = parseDetailsFragmentChildren(summaryRaw.slice(openEnd + 1, closeStart), md, options);
15803
+ const children = parseSummaryChildren(summaryRaw.slice(openEnd + 1, closeStart), md, options);
15783
15804
  if (children.length > 0) summaryNode.children = children;
15784
15805
  }
15785
15806
  summaryNode.raw = summaryRaw;
@@ -15844,7 +15865,7 @@ function combineStructuredDetailsHtmlBlocks(nodes, source, md, options, final, s
15844
15865
  })() : openRaw;
15845
15866
  const [children] = combineStructuredDetailsHtmlBlocks(selfContained ? [] : closeIndex === -1 ? nodes.slice(i + 1) : nodes.slice(i + 1, closeIndex), source, md, options, final, openStart + openRaw.length);
15846
15867
  const prefixChildren = buildDetailsPrefixChildren(effectiveOpenRaw, md, buildDetailsChildParseOptions(options, final));
15847
- const closeRaw = closeIndex === -1 ? "</details>" : String(nodes[closeIndex]?.raw ?? getMergeableNodeRaw(nodes[closeIndex]) ?? "</details>");
15868
+ const closeRaw = closeIndex === -1 ? "</details>" : String(nodes[closeIndex].raw ?? getMergeableNodeRaw(nodes[closeIndex]) ?? "</details>");
15848
15869
  const explicitClose = selfContained || closeIndex !== -1 && exact?.closed === true;
15849
15870
  const trimmedCloseRaw = closeRaw.replace(/[\t\r\n ]+$/, "");
15850
15871
  const closeStart = explicitClose ? (() => {
@@ -15888,7 +15909,7 @@ function mergeSplitTopLevelHtmlBlocks(nodes, final, source) {
15888
15909
  if (nodePos !== -1) sourceHtmlCursor = nodePos + nodeRaw.length;
15889
15910
  continue;
15890
15911
  }
15891
- const tag = String(node?.tag ?? "").toLowerCase();
15912
+ const tag = String(node.tag ?? "").toLowerCase();
15892
15913
  if (!tag) continue;
15893
15914
  if (tag === "details") {
15894
15915
  if (nodePos !== -1) sourceHtmlCursor = nodePos + nodeRaw.length;
@@ -15897,11 +15918,11 @@ function mergeSplitTopLevelHtmlBlocks(nodes, final, source) {
15897
15918
  const exact = findNextHtmlBlockFromSource(source, tag, nodePos !== -1 ? nodePos : sourceHtmlCursor);
15898
15919
  if (!exact) continue;
15899
15920
  sourceHtmlCursor = exact.end;
15900
- const currentContent = String(node?.content ?? nodeRaw);
15901
- const currentRaw = String(node?.raw ?? currentContent);
15921
+ const currentContent = String(node.content ?? nodeRaw);
15922
+ const currentRaw = String(node.raw ?? currentContent);
15902
15923
  const nextContent = buildHtmlBlockContent(exact.raw, tag, exact.closed);
15903
15924
  const desiredLoading = !final && !exact.closed;
15904
- const needsExpansion = currentContent !== nextContent || currentRaw !== exact.raw || Boolean(node?.loading) !== desiredLoading;
15925
+ const needsExpansion = currentContent !== nextContent || currentRaw !== exact.raw || Boolean(node.loading) !== desiredLoading;
15905
15926
  const exactOpenEnd = findTagCloseIndexOutsideQuotes(exact.raw);
15906
15927
  const exactOpenTag = exactOpenEnd === -1 ? "" : exact.raw.slice(0, exactOpenEnd + 1);
15907
15928
  const exactAttrs = exactOpenTag ? parseTagAttrs(exactOpenTag) : [];
@@ -17353,9 +17374,8 @@ function getMarkdown(msgId = `editor-${Date.now()}`, options = {}) {
17353
17374
  if (Array.isArray(options.plugin)) for (const p of options.plugin) {
17354
17375
  const pluginItem = p;
17355
17376
  if (Array.isArray(pluginItem)) {
17356
- const fn = pluginItem[0];
17357
- const opts = pluginItem[1];
17358
- if (typeof fn === "function") md.use(fn, opts);
17377
+ const [fn, ...params] = pluginItem;
17378
+ if (typeof fn === "function") md.use(fn, ...params);
17359
17379
  } else if (typeof pluginItem === "function") md.use(pluginItem);
17360
17380
  }
17361
17381
  if (Array.isArray(options.apply)) for (const fn of options.apply) try {
@@ -17365,9 +17385,8 @@ function getMarkdown(msgId = `editor-${Date.now()}`, options = {}) {
17365
17385
  }
17366
17386
  if (_registeredMarkdownPlugins.length) {
17367
17387
  for (const p of _registeredMarkdownPlugins) if (Array.isArray(p)) {
17368
- const fn = p[0];
17369
- const opts = p[1];
17370
- if (typeof fn === "function") md.use(fn, opts);
17388
+ const [fn, ...params] = p;
17389
+ if (typeof fn === "function") md.use(fn, ...params);
17371
17390
  } else if (typeof p === "function") md.use(p);
17372
17391
  }
17373
17392
  md.use(sub_plugin);