stream-markdown-parser 0.0.18 → 0.0.19

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.
@@ -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
@@ -602,37 +602,6 @@ function findMatchingClose(src, startIdx, open, close) {
602
602
  }
603
603
  var findMatchingClose_default = findMatchingClose;
604
604
 
605
- //#endregion
606
- //#region src/utils/lru.ts
607
- var LRUCache = class {
608
- constructor(max = 500) {
609
- this.max = max;
610
- this.map = /* @__PURE__ */ new Map();
611
- }
612
- get(key) {
613
- if (!this.map.has(key)) return void 0;
614
- const val = this.map.get(key);
615
- this.map.delete(key);
616
- this.map.set(key, val);
617
- return val;
618
- }
619
- set(key, value) {
620
- if (this.map.has(key)) this.map.delete(key);
621
- this.map.set(key, value);
622
- if (this.map.size > this.max) {
623
- const firstKey = this.map.keys().next().value;
624
- if (firstKey !== void 0) this.map.delete(firstKey);
625
- }
626
- }
627
- getOrCreate(key, factory$1) {
628
- const existing = this.get(key);
629
- if (existing !== void 0) return existing;
630
- const v = factory$1();
631
- this.set(key, v);
632
- return v;
633
- }
634
- };
635
-
636
605
  //#endregion
637
606
  //#region src/plugins/isMathLike.ts
638
607
  const TEX_BRACE_COMMANDS = [
@@ -751,13 +720,6 @@ const CONTROL_MAP = {
751
720
  "\f": "f",
752
721
  "\v": "v"
753
722
  };
754
- const DEFAULT_STANDALONE_BACKSLASH_T_RE = new RegExp(`${CONTROL_CHARS_CLASS}|(?<!\\\\|\\w)(${ESCAPED_KATEX_COMMANDS})\\b`, "g");
755
- const DEFAULT_BRACE_CMD_RE = (() => {
756
- const combined = [ESCAPED_TEX_BRACE_COMMANDS, ESCAPED_KATEX_COMMANDS].filter(Boolean).join("|");
757
- return combined ? new RegExp(`(^|[^\\\\\\w])(${combined})\\s*\\{`, "g") : null;
758
- })();
759
- const commandsRegexCache = new LRUCache(500);
760
- const braceCmdRegexCache = new LRUCache(500);
761
723
  function countUnescapedStrong(s) {
762
724
  const re = /(^|[^\\])(__|\*\*)/g;
763
725
  let c = 0;
@@ -769,15 +731,11 @@ function normalizeStandaloneBackslashT(s, opts) {
769
731
  const escapeExclamation = opts?.escapeExclamation ?? true;
770
732
  const useDefault = opts?.commands == null;
771
733
  let re;
772
- if (useDefault) re = DEFAULT_STANDALONE_BACKSLASH_T_RE;
734
+ if (useDefault) re = new RegExp(`${CONTROL_CHARS_CLASS}|(?<!\\\\|\\w)(${ESCAPED_KATEX_COMMANDS})\\b`, "g");
773
735
  else {
774
- const key = commands.slice().sort((a, b) => b.length - a.length).join("|");
775
- re = commandsRegexCache.getOrCreate(key, () => {
776
- const commandPattern = `(?:${commands.slice().sort((a, b) => b.length - a.length).map((c) => c.replace(/[.*+?^${}()|[\\]\\"\\\]/g, "\\$&")).join("|")})`;
777
- return new RegExp(`${CONTROL_CHARS_CLASS}|(?<!\\\\|\\w)(${commandPattern})\\b`, "g");
778
- });
736
+ const commandPattern = `(?:${commands.slice().sort((a, b) => b.length - a.length).map((c) => c.replace(/[.*+?^${}()|[\\]\\"\]/g, "\\$&")).join("|")})`;
737
+ re = new RegExp(`${CONTROL_CHARS_CLASS}|(?<!\\\\|\\w)(${commandPattern})\\b`, "g");
779
738
  }
780
- if (re && "lastIndex" in re) re.lastIndex = 0;
781
739
  let out = s.replace(re, (m, cmd) => {
782
740
  if (CONTROL_MAP[m] !== void 0) return `\\${CONTROL_MAP[m]}`;
783
741
  if (cmd && commands.includes(cmd)) return `\\${cmd}`;
@@ -787,18 +745,8 @@ function normalizeStandaloneBackslashT(s, opts) {
787
745
  const braceEscaped = useDefault ? [ESCAPED_TEX_BRACE_COMMANDS, ESCAPED_KATEX_COMMANDS].filter(Boolean).join("|") : [commands.map((c) => c.replace(/[.*+?^${}()|[\\]\\\]/g, "\\$&")).join("|"), ESCAPED_TEX_BRACE_COMMANDS].filter(Boolean).join("|");
788
746
  let result = out;
789
747
  if (braceEscaped) {
790
- let braceCmdRe = null;
791
- if (useDefault && DEFAULT_BRACE_CMD_RE) braceCmdRe = DEFAULT_BRACE_CMD_RE;
792
- else {
793
- const key = commands.slice().sort((a, b) => b.length - a.length).join("|");
794
- const combined = [commands.map((c) => c.replace(/[.*+?^${}()|[\\]\\"\]/g, "\\$&")).join("|"), ESCAPED_TEX_BRACE_COMMANDS].filter(Boolean).join("|");
795
- if (combined) braceCmdRe = braceCmdRegexCache.getOrCreate(key, () => new RegExp(`(^|[^\\\\\\w])(${combined})\\s*\\{`, "g"));
796
- else braceCmdRe = null;
797
- }
798
- if (braceCmdRe) {
799
- if ("lastIndex" in braceCmdRe) braceCmdRe.lastIndex = 0;
800
- result = result.replace(braceCmdRe, (_m, p1, p2) => `${p1}\\${p2}{`);
801
- }
748
+ const braceCmdRe = new RegExp(`(^|[^\\\\\\w])(${braceEscaped})\\s*\\{`, "g");
749
+ result = result.replace(braceCmdRe, (_m, p1, p2) => `${p1}\\${p2}{`);
802
750
  }
803
751
  result = result.replace(/span\{([^}]+)\}/, "span\\{$1\\}").replace(/\\operatorname\{span\}\{((?:[^{}]|\{[^}]*\})+)\}/, "\\operatorname{span}\\{$1\\}");
804
752
  result = result.replace(/(^|[^\\])\\\r?\n/g, "$1\\\\\n");
@@ -1552,12 +1500,6 @@ function isLikelyUrl(href) {
1552
1500
  if (!href) return false;
1553
1501
  return AUTOLINK_PROTOCOL_RE.test(href) || AUTOLINK_GENERIC_RE.test(href);
1554
1502
  }
1555
- function escapeRegExp(str) {
1556
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1557
- }
1558
- const bracketRegexCache = new LRUCache(500);
1559
- const parenHrefRegexCache = new LRUCache(500);
1560
- const linkMatchRegexCache = new LRUCache(500);
1561
1503
  function parseInlineTokens(tokens, raw, pPreToken) {
1562
1504
  if (!tokens || tokens.length === 0) return [];
1563
1505
  const result = [];
@@ -1990,10 +1932,13 @@ function parseInlineTokens(tokens, raw, pPreToken) {
1990
1932
  function handleLinkOpen(token) {
1991
1933
  resetCurrentTextNode();
1992
1934
  const href = token.attrs?.find(([name]) => name === "href")?.[1];
1935
+ function escapeRegExp(str) {
1936
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1937
+ }
1993
1938
  if (raw && tokens[i + 1].type === "text") {
1994
1939
  const text = String(tokens[i + 1]?.content ?? "");
1995
1940
  const escText = escapeRegExp(text);
1996
- if (!bracketRegexCache.getOrCreate(escText, () => /* @__PURE__ */ new RegExp(`\\[${escText}\\s*\\]`)).test(raw)) {
1941
+ if (!(/* @__PURE__ */ new RegExp(`\\[${escText}\\s*\\]`)).test(raw)) {
1997
1942
  const hrefAttr$1 = token.attrs?.find(([name]) => name === "href")?.[1] ?? "";
1998
1943
  if (!raw.includes("[") && isLikelyUrl(String(hrefAttr$1))) {
1999
1944
  resetCurrentTextNode();
@@ -2018,11 +1963,7 @@ function parseInlineTokens(tokens, raw, pPreToken) {
2018
1963
  }
2019
1964
  }
2020
1965
  if (raw && href) {
2021
- const hrefStrLocal = String(href);
2022
- const loadingMath = parenHrefRegexCache.getOrCreate(hrefStrLocal, () => {
2023
- const escHref = escapeRegExp(hrefStrLocal);
2024
- return /* @__PURE__ */ new RegExp(`\\(\\s*${escHref}\\s*\\)`);
2025
- });
1966
+ const loadingMath = /* @__PURE__ */ new RegExp(`\\(\\s*${escapeRegExp(href)}\\s*\\)`);
2026
1967
  const pre = result.length > 0 ? result[result.length - 1] : void 0;
2027
1968
  const loading = !loadingMath.test(raw);
2028
1969
  if (loading && pre) {
@@ -2032,7 +1973,7 @@ function parseInlineTokens(tokens, raw, pPreToken) {
2032
1973
  else if (pre.type === "text") preText = String(pre.content ?? "");
2033
1974
  else if (pre.content && typeof pre.content === "string") preText = String(pre.content ?? "").slice(1, -1);
2034
1975
  }
2035
- if (linkMatchRegexCache.getOrCreate(preText, () => /* @__PURE__ */ new RegExp(`\\[${escapeRegExp(preText)}\\s*\\]\\(`)).test(raw)) {
1976
+ if ((/* @__PURE__ */ new RegExp(`\\[${escapeRegExp(preText)}\\s*\\]\\(`)).test(raw)) {
2036
1977
  const text = String(preText ?? "");
2037
1978
  resetCurrentTextNode();
2038
1979
  const node$1 = {
@@ -2570,7 +2511,6 @@ function parseAdmonition(tokens, index, match) {
2570
2511
 
2571
2512
  //#endregion
2572
2513
  //#region src/parser/node-parsers/container-parser.ts
2573
- const containerCloseTypeCache = new LRUCache(50);
2574
2514
  function parseContainer(tokens, index) {
2575
2515
  const openToken = tokens[index];
2576
2516
  let kind = "note";
@@ -2580,9 +2520,7 @@ function parseContainer(tokens, index) {
2580
2520
  kind = typeMatch[1];
2581
2521
  const info = String(openToken.info ?? "").trim();
2582
2522
  if (info && !info.startsWith(":::")) {
2583
- let maybe = info;
2584
- if (maybe.startsWith(kind)) maybe = maybe.slice(kind.length).trim();
2585
- maybe = maybe.trim();
2523
+ const maybe = info.replace(/* @__PURE__ */ new RegExp(`^${kind}`), "").trim();
2586
2524
  if (maybe) title = maybe;
2587
2525
  }
2588
2526
  } else {
@@ -2596,8 +2534,7 @@ function parseContainer(tokens, index) {
2596
2534
  if (!title) title = kind.charAt(0).toUpperCase() + kind.slice(1);
2597
2535
  const children = [];
2598
2536
  let j = index + 1;
2599
- const key = kind;
2600
- const closeType = containerCloseTypeCache.getOrCreate(key, () => /* @__PURE__ */ new RegExp(`^container_${kind}_close$`));
2537
+ const closeType = /* @__PURE__ */ new RegExp(`^container_${kind}_close$`);
2601
2538
  while (j < tokens.length && tokens[j].type !== "container_close" && !closeType.test(tokens[j].type)) if (tokens[j].type === "paragraph_open") {
2602
2539
  const contentToken = tokens[j + 1];
2603
2540
  if (contentToken) {
@@ -2643,7 +2580,6 @@ function parseHardBreak() {
2643
2580
 
2644
2581
  //#endregion
2645
2582
  //#region src/parser/node-parsers/html-block-parser.ts
2646
- const htmlCloseTagRegexCache = new LRUCache(200);
2647
2583
  function parseHtmlBlock(token) {
2648
2584
  const raw = String(token.content ?? "");
2649
2585
  if (/^\s*<!--/.test(raw) || /^\s*<!/.test(raw) || /^\s*<\?/.test(raw)) return {
@@ -2679,7 +2615,7 @@ function parseHtmlBlock(token) {
2679
2615
  ]);
2680
2616
  const selfClosing = /^\s*<[^>]*\/\s*>/.test(raw);
2681
2617
  const isVoid = VOID_TAGS.has(tag);
2682
- const hasClosing = htmlCloseTagRegexCache.getOrCreate(tag, () => new RegExp(`<\\/\\s*${tag}\\b`, "i")).test(raw);
2618
+ const hasClosing = new RegExp(`<\\/\\s*${tag}\\b`, "i").test(raw);
2683
2619
  const loading = !(isVoid || selfClosing || hasClosing);
2684
2620
  return {
2685
2621
  type: "html_block",