stream-markdown-parser 0.0.58-beta.9 → 0.0.58

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
@@ -44,6 +44,7 @@ interface HeadingNode extends BaseNode {
44
44
  type: 'heading';
45
45
  level: number;
46
46
  text: string;
47
+ attrs?: Record<string, string | boolean>;
47
48
  children: ParsedNode[];
48
49
  }
49
50
  interface ParagraphNode extends BaseNode {
@@ -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/findMatchingClose.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/findMatchingClose.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
@@ -10794,6 +10794,8 @@ function parseFootnote(tokens, index, options) {
10794
10794
  //#region src/parser/node-parsers/heading-parser.ts
10795
10795
  function parseHeading(tokens, index, options) {
10796
10796
  const token = tokens[index];
10797
+ const attrs = token?.attrs;
10798
+ 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;
10797
10799
  const levelStr = String(token.tag?.substring(1) ?? "1");
10798
10800
  const headingLevel = Number.parseInt(levelStr, 10);
10799
10801
  const headingContentToken = tokens[index + 1];
@@ -10802,6 +10804,7 @@ function parseHeading(tokens, index, options) {
10802
10804
  type: "heading",
10803
10805
  level: headingLevel,
10804
10806
  text: headingContent,
10807
+ ...attrsRecord ? { attrs: attrsRecord } : {},
10805
10808
  children: parseInlineTokens(headingContentToken.children || [], headingContent, void 0, {
10806
10809
  requireClosingStrong: options?.requireClosingStrong,
10807
10810
  customHtmlTags: options?.customHtmlTags
@@ -11481,6 +11484,207 @@ function normalizeCustomHtmlOpeningTagSameLine(markdown, tags) {
11481
11484
  }
11482
11485
  return out;
11483
11486
  }
11487
+ function ensureBlankLineBeforeCustomHtmlBlocks(markdown, tags) {
11488
+ if (!markdown || !tags.length) return markdown;
11489
+ const tagSet = new Set(tags.map((t) => String(t ?? "").toLowerCase()));
11490
+ if (!tagSet.size) return markdown;
11491
+ const isIndentWs = (ch) => ch === " " || ch === " ";
11492
+ const isIndentedCodeLine = (line) => {
11493
+ if (!line) return false;
11494
+ if (line[0] === " ") return true;
11495
+ let spaces = 0;
11496
+ for (let i = 0; i < line.length; i++) {
11497
+ const ch = line[i];
11498
+ if (ch === " ") {
11499
+ spaces++;
11500
+ if (spaces >= 4) return true;
11501
+ continue;
11502
+ }
11503
+ if (ch === " ") return true;
11504
+ break;
11505
+ }
11506
+ return false;
11507
+ };
11508
+ const isNameChar = (ch) => {
11509
+ const c = ch.charCodeAt(0);
11510
+ return c >= 65 && c <= 90 || c >= 97 && c <= 122 || c >= 48 && c <= 57 || ch === "_" || ch === "-" || ch === ":";
11511
+ };
11512
+ const trimStartIndentWs = (s) => {
11513
+ let i = 0;
11514
+ while (i < s.length && isIndentWs(s[i])) i++;
11515
+ return s.slice(i);
11516
+ };
11517
+ const parseBlockquotePrefix = (rawLine) => {
11518
+ let i = 0;
11519
+ let saw = false;
11520
+ let prefixEnd = 0;
11521
+ while (i < rawLine.length) {
11522
+ while (i < rawLine.length && isIndentWs(rawLine[i])) i++;
11523
+ if (i >= rawLine.length || rawLine[i] !== ">") break;
11524
+ saw = true;
11525
+ i++;
11526
+ while (i < rawLine.length && isIndentWs(rawLine[i])) i++;
11527
+ prefixEnd = i;
11528
+ }
11529
+ if (!saw) return null;
11530
+ const prefix = rawLine.slice(0, prefixEnd);
11531
+ return {
11532
+ prefix,
11533
+ key: prefix.replace(/[ \t]+$/, ""),
11534
+ content: rawLine.slice(prefixEnd)
11535
+ };
11536
+ };
11537
+ const previousLineLooksHtmlish = (line) => {
11538
+ return trimStartIndentWs(line).startsWith("<");
11539
+ };
11540
+ const lineIsBlank = (line) => {
11541
+ for (let i = 0; i < line.length; i++) {
11542
+ const ch = line[i];
11543
+ if (ch !== " " && ch !== " ") return false;
11544
+ }
11545
+ return true;
11546
+ };
11547
+ const parseOpeningCustomTagName = (line) => {
11548
+ if (isIndentedCodeLine(line)) return "";
11549
+ const trimmed = trimStartIndentWs(line);
11550
+ if (!trimmed.startsWith("<")) return "";
11551
+ let i = 1;
11552
+ while (i < trimmed.length && isIndentWs(trimmed[i])) i++;
11553
+ if (i >= trimmed.length) return "";
11554
+ if (trimmed[i] === "/" || trimmed[i] === "!" || trimmed[i] === "?") return "";
11555
+ const nameStart = i;
11556
+ while (i < trimmed.length && isNameChar(trimmed[i])) i++;
11557
+ if (i === nameStart) return "";
11558
+ const name = trimmed.slice(nameStart, i).toLowerCase();
11559
+ if (!tagSet.has(name)) return "";
11560
+ const next = trimmed[i];
11561
+ if (next && next !== " " && next !== " " && next !== ">" && next !== "/") return "";
11562
+ return name;
11563
+ };
11564
+ const parseLineStartCustomTag = (line) => {
11565
+ if (isIndentedCodeLine(line)) return null;
11566
+ const trimmed = trimStartIndentWs(line);
11567
+ if (!trimmed.startsWith("<")) return null;
11568
+ let i = 1;
11569
+ while (i < trimmed.length && isIndentWs(trimmed[i])) i++;
11570
+ if (i >= trimmed.length) return null;
11571
+ const isClose = trimmed[i] === "/";
11572
+ if (isClose) {
11573
+ i++;
11574
+ while (i < trimmed.length && isIndentWs(trimmed[i])) i++;
11575
+ }
11576
+ const next = trimmed[i];
11577
+ if (!next || next === "!" || next === "?") return null;
11578
+ const nameStart = i;
11579
+ while (i < trimmed.length && isNameChar(trimmed[i])) i++;
11580
+ if (i === nameStart) return null;
11581
+ const name = trimmed.slice(nameStart, i).toLowerCase();
11582
+ if (!tagSet.has(name)) return null;
11583
+ const boundary = trimmed[i];
11584
+ if (boundary && boundary !== " " && boundary !== " " && boundary !== ">" && boundary !== "/") return null;
11585
+ if (isClose) return {
11586
+ type: "close",
11587
+ name
11588
+ };
11589
+ if (/\/\s*>\s*$/.test(trimmed)) return {
11590
+ type: "open",
11591
+ name,
11592
+ complete: true
11593
+ };
11594
+ const gt = trimmed.indexOf(">", i);
11595
+ if (gt !== -1) {
11596
+ const after = trimmed.slice(gt + 1);
11597
+ if (new RegExp(`<\\s*\\/\\s*${name}\\s*>`, "i").test(after)) return {
11598
+ type: "open",
11599
+ name,
11600
+ complete: true
11601
+ };
11602
+ }
11603
+ return {
11604
+ type: "open",
11605
+ name,
11606
+ complete: false
11607
+ };
11608
+ };
11609
+ let inFence = false;
11610
+ let fenceChar = "";
11611
+ let fenceLen = 0;
11612
+ const parseFenceMarker = (line) => {
11613
+ let i = 0;
11614
+ while (i < line.length && isIndentWs(line[i])) i++;
11615
+ const ch = line[i];
11616
+ if (ch !== "`" && ch !== "~") return null;
11617
+ let j = i;
11618
+ while (j < line.length && line[j] === ch) j++;
11619
+ const len = j - i;
11620
+ if (len < 3) return null;
11621
+ return {
11622
+ markerChar: ch,
11623
+ markerLen: len,
11624
+ rest: line.slice(j)
11625
+ };
11626
+ };
11627
+ const fenceMatchLine = (rawLine) => parseFenceMarker(rawLine);
11628
+ let out = "";
11629
+ let idx = 0;
11630
+ let prevLineBlank = true;
11631
+ let prevLineHtmlish = false;
11632
+ let lastNewline = "\n";
11633
+ const customBlockStack = [];
11634
+ let prevQuoteKey = "";
11635
+ while (idx < markdown.length) {
11636
+ const nl = markdown.indexOf("\n", idx);
11637
+ const hasNl = nl !== -1;
11638
+ const isCrlf = hasNl && nl > idx && markdown[nl - 1] === "\r";
11639
+ const lineEnd = hasNl ? isCrlf ? nl - 1 : nl : markdown.length;
11640
+ const line = markdown.slice(idx, lineEnd);
11641
+ const newline$1 = hasNl ? isCrlf ? "\r\n" : "\n" : "";
11642
+ const blockquote$1 = parseBlockquotePrefix(line);
11643
+ const quoteKey = blockquote$1?.key ?? "";
11644
+ const contentLine = blockquote$1?.content ?? line;
11645
+ const fenceMatch = fenceMatchLine(contentLine);
11646
+ if (fenceMatch) if (inFence) {
11647
+ if (fenceMatch.markerChar === fenceChar && fenceMatch.markerLen >= fenceLen) {
11648
+ if (/^\s*$/.test(fenceMatch.rest)) {
11649
+ inFence = false;
11650
+ fenceChar = "";
11651
+ fenceLen = 0;
11652
+ }
11653
+ }
11654
+ } else {
11655
+ inFence = true;
11656
+ fenceChar = fenceMatch.markerChar;
11657
+ fenceLen = fenceMatch.markerLen;
11658
+ }
11659
+ const insideCustomBlock = customBlockStack.length > 0;
11660
+ if (!inFence && !insideCustomBlock) {
11661
+ if (parseOpeningCustomTagName(contentLine) && !prevLineBlank && !prevLineHtmlish) {
11662
+ if (quoteKey && prevQuoteKey && quoteKey === prevQuoteKey) out += `${quoteKey}${lastNewline}`;
11663
+ else if (!quoteKey) out += lastNewline;
11664
+ }
11665
+ }
11666
+ out += line;
11667
+ out += newline$1;
11668
+ if (newline$1) lastNewline = newline$1;
11669
+ if (!inFence) {
11670
+ const tag = parseLineStartCustomTag(contentLine);
11671
+ if (tag) {
11672
+ if (tag.type === "open") {
11673
+ if (!tag.complete) customBlockStack.push(tag.name);
11674
+ } else for (let j = customBlockStack.length - 1; j >= 0; j--) if (customBlockStack[j] === tag.name) {
11675
+ customBlockStack.length = j;
11676
+ break;
11677
+ }
11678
+ }
11679
+ }
11680
+ const blank = lineIsBlank(contentLine);
11681
+ prevLineBlank = blank;
11682
+ prevLineHtmlish = !blank && previousLineLooksHtmlish(contentLine);
11683
+ prevQuoteKey = quoteKey;
11684
+ idx = hasNl ? nl + 1 : markdown.length;
11685
+ }
11686
+ return out;
11687
+ }
11484
11688
  function parseMarkdownToStructure(markdown, md, options = {}) {
11485
11689
  const isFinal = !!options.final;
11486
11690
  let safeMarkdown = (markdown ?? "").toString().replace(/([^\\])\r(ight|ho)/g, "$1\\r$2").replace(/([^\\])\n(abla|eq|ot|exists)/g, "$1\\n$2");
@@ -11504,6 +11708,7 @@ function parseMarkdownToStructure(markdown, md, options = {}) {
11504
11708
  }).filter(Boolean);
11505
11709
  if (tags.length) {
11506
11710
  safeMarkdown = normalizeCustomHtmlOpeningTagSameLine(safeMarkdown, tags);
11711
+ safeMarkdown = ensureBlankLineBeforeCustomHtmlBlocks(safeMarkdown, tags);
11507
11712
  if (!safeMarkdown.includes("</")) {} else for (const tag of tags) {
11508
11713
  const re = new RegExp(String.raw`(^[\t ]*<\s*\/\s*${tag}\s*>[\t ]*)(\r?\n)(?![\t ]*\r?\n|$)`, "gim");
11509
11714
  safeMarkdown = safeMarkdown.replace(re, "$1$2$2");