stream-markdown-parser 0.0.61 → 0.0.63

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
@@ -124,6 +124,7 @@ interface LinkNode extends BaseNode {
124
124
  href: string;
125
125
  title: string | null;
126
126
  text: string;
127
+ attrs?: [string, string][];
127
128
  children: ParsedNode[];
128
129
  }
129
130
  interface ImageNode 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
@@ -8962,6 +8962,56 @@ function isPlainBracketMathLike(content) {
8962
8962
  if (!(/\\[a-z]+/i.test(stripped) || /[=+*/^<>]|\\times|\\pm|\\cdot|\\le|\\ge|\\neq/.test(stripped) || /[_^]/.test(stripped)) && /\s-\s/.test(stripped)) return false;
8963
8963
  return true;
8964
8964
  }
8965
+ function buildCodeSpanRanges(src) {
8966
+ const ranges = [];
8967
+ let i = 0;
8968
+ while (i < src.length) {
8969
+ if (src[i] !== "`") {
8970
+ i++;
8971
+ continue;
8972
+ }
8973
+ const openStart = i;
8974
+ let openLen = 1;
8975
+ while (openStart + openLen < src.length && src[openStart + openLen] === "`") openLen++;
8976
+ let j = openStart + openLen;
8977
+ let closeStart = -1;
8978
+ while (j < src.length) {
8979
+ if (src[j] !== "`") {
8980
+ j++;
8981
+ continue;
8982
+ }
8983
+ let runLen = 1;
8984
+ while (j + runLen < src.length && src[j + runLen] === "`") runLen++;
8985
+ if (runLen === openLen) {
8986
+ closeStart = j;
8987
+ break;
8988
+ }
8989
+ j += runLen;
8990
+ }
8991
+ if (closeStart !== -1) {
8992
+ ranges.push([openStart, closeStart + openLen]);
8993
+ i = closeStart + openLen;
8994
+ continue;
8995
+ }
8996
+ i = openStart + openLen;
8997
+ }
8998
+ return ranges;
8999
+ }
9000
+ function findCodeSpanRangeAt(ranges, index) {
9001
+ for (const range of ranges) if (index >= range[0] && index < range[1]) return range;
9002
+ return null;
9003
+ }
9004
+ function isLikelyCurrencyRangeDollar(content, nextChar) {
9005
+ const stripped = String(content ?? "").trim();
9006
+ if (!stripped) return false;
9007
+ if (!/^\d[\d,.]*(?:\s*[~~-]\s*)$/.test(stripped)) return false;
9008
+ return /\d/.test(String(nextChar ?? ""));
9009
+ }
9010
+ function isLikelyPlaceholderDollar(content) {
9011
+ const stripped = String(content ?? "").trim();
9012
+ if (!stripped) return false;
9013
+ return /^(?:\.{3,}|…+)$/.test(stripped);
9014
+ }
8965
9015
  function applyMath(md, mathOpts) {
8966
9016
  const mathInline = (state, silent) => {
8967
9017
  const s = state;
@@ -8978,6 +9028,7 @@ function applyMath(md, mathOpts) {
8978
9028
  const initialPos = s.pos;
8979
9029
  for (const [open, close] of delimiters) {
8980
9030
  const src = s.src;
9031
+ const codeSpanRanges = buildCodeSpanRanges(src);
8981
9032
  let foundAny = false;
8982
9033
  if (open === "$$" && searchPos !== initialPos) searchPos = initialPos;
8983
9034
  let lastIndex = -1;
@@ -9043,7 +9094,10 @@ function applyMath(md, mathOpts) {
9043
9094
  const content = text$1.slice(dollarIndex + 1, closingDollarIndex);
9044
9095
  const hasBacktick = content.includes("`");
9045
9096
  const isEmpty = !content || !content.trim();
9046
- if (!hasBacktick && !isEmpty) {
9097
+ const nextChar = text$1[closingDollarIndex + 1];
9098
+ const isCurrencyRange = isLikelyCurrencyRangeDollar(content, nextChar);
9099
+ const isPlaceholder = isLikelyPlaceholderDollar(content);
9100
+ if (!hasBacktick && !isEmpty && !isCurrencyRange && !isPlaceholder) {
9047
9101
  const token = s.push("math_inline", "math", 0);
9048
9102
  token.content = normalizeStandaloneBackslashT(content, mathOpts);
9049
9103
  token.markup = "$";
@@ -9107,6 +9161,11 @@ function applyMath(md, mathOpts) {
9107
9161
  if (searchPos >= src.length) break;
9108
9162
  const index = src.indexOf(open, searchPos);
9109
9163
  if (index === -1) break;
9164
+ const codeSpanAtIndex = findCodeSpanRangeAt(codeSpanRanges, index);
9165
+ if (codeSpanAtIndex) {
9166
+ searchPos = codeSpanAtIndex[1];
9167
+ continue;
9168
+ }
9110
9169
  if (index === lastIndex && searchPos === lastSearchPos) {
9111
9170
  stallCount++;
9112
9171
  if (stallCount > 2) {
@@ -9184,7 +9243,11 @@ function applyMath(md, mathOpts) {
9184
9243
  const content = src.slice(index + open.length, endIdx);
9185
9244
  const hasBacktick = content.includes("`");
9186
9245
  const isEmpty = !content || !content.trim();
9187
- if (strict ? hasBacktick || isEmpty : hasBacktick || isEmpty || !(open === "$") && !isMathLike(content)) {
9246
+ const isDollar = open === "$";
9247
+ const nextChar = src[endIdx + close.length];
9248
+ const isCurrencyRange = isDollar && isLikelyCurrencyRangeDollar(content, nextChar);
9249
+ const isPlaceholder = isDollar && isLikelyPlaceholderDollar(content);
9250
+ if (strict ? hasBacktick || isEmpty || isCurrencyRange || isPlaceholder : hasBacktick || isEmpty || isCurrencyRange || isPlaceholder || !isDollar && !isMathLike(content)) {
9188
9251
  searchPos = endIdx + close.length;
9189
9252
  const text$1 = src.slice(s.pos, searchPos);
9190
9253
  if (!s.pending) {
@@ -9266,7 +9329,10 @@ function applyMath(md, mathOpts) {
9266
9329
  const content = src.slice(dollarIndex + 1, closingDollarIndex);
9267
9330
  const hasBacktick = content.includes("`");
9268
9331
  const isEmpty = !content || !content.trim();
9269
- if (!hasBacktick && !isEmpty) {
9332
+ const nextChar = src[closingDollarIndex + 1];
9333
+ const isCurrencyRange = isLikelyCurrencyRangeDollar(content, nextChar);
9334
+ const isPlaceholder = isLikelyPlaceholderDollar(content);
9335
+ if (!hasBacktick && !isEmpty && !isCurrencyRange && !isPlaceholder) {
9270
9336
  const before = src.slice(searchPos, dollarIndex);
9271
9337
  if (before) pushText(before);
9272
9338
  const token = s.push("math_inline", "math", 0);
@@ -9701,6 +9767,31 @@ function tokenToRaw(token) {
9701
9767
  const raw = shape.raw ?? shape.content ?? shape.markup ?? "";
9702
9768
  return String(raw ?? "");
9703
9769
  }
9770
+ function parseTagAttrs(openTag) {
9771
+ const attrs = [];
9772
+ const attrRegex = /\s([\w:-]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g;
9773
+ let match;
9774
+ while ((match = attrRegex.exec(openTag)) !== null) {
9775
+ const attrName = match[1];
9776
+ if (!attrName) continue;
9777
+ const attrValue = match[2] || match[3] || match[4] || "";
9778
+ attrs.push([attrName, attrValue]);
9779
+ }
9780
+ return attrs;
9781
+ }
9782
+ function getAttrValue$1(attrs, name) {
9783
+ const lowerName = name.toLowerCase();
9784
+ for (let i = attrs.length - 1; i >= 0; i--) {
9785
+ const [key, value] = attrs[i];
9786
+ if (String(key).toLowerCase() === lowerName) return value;
9787
+ }
9788
+ }
9789
+ function normalizeLinkAttrs$1(attrs, href, title) {
9790
+ const normalized = attrs.slice();
9791
+ if (!getAttrValue$1(normalized, "href")) normalized.push(["href", href]);
9792
+ if (title != null && !getAttrValue$1(normalized, "title")) normalized.push(["title", title]);
9793
+ return normalized;
9794
+ }
9704
9795
  function stringifyTokens(tokens) {
9705
9796
  return tokens.map(tokenToRaw).join("");
9706
9797
  }
@@ -9782,9 +9873,12 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
9782
9873
  }, i + 1];
9783
9874
  if (tag === "a") {
9784
9875
  const fragment$1 = collectHtmlFragment(tokens, i, tag);
9876
+ const attrs$1 = parseTagAttrs(code$1);
9785
9877
  const innerTokens = fragment$1.innerTokens;
9786
- const hrefMatch = code$1.match(/href\s*=\s*"([^"]+)"|href\s*=\s*'([^']+)'|href\s*=\s*([^\s>]+)/i);
9787
- const href = hrefMatch ? hrefMatch[1] || hrefMatch[2] || hrefMatch[3] : "";
9878
+ const href = String(getAttrValue$1(attrs$1, "href") ?? "");
9879
+ const titleAttr = getAttrValue$1(attrs$1, "title");
9880
+ const title = titleAttr == null ? null : String(titleAttr);
9881
+ const normalizedAttrs = normalizeLinkAttrs$1(attrs$1, href, title);
9788
9882
  const children$1 = innerTokens.length ? parseInlineTokens$1(innerTokens, raw, pPreToken, options) : [];
9789
9883
  const textContent = innerTokens.length ? stringifyTokens(innerTokens) : href || "";
9790
9884
  if (!children$1.length && textContent) children$1.push({
@@ -9794,9 +9888,10 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
9794
9888
  });
9795
9889
  return [{
9796
9890
  type: "link",
9797
- href: String(href ?? ""),
9798
- title: null,
9891
+ href,
9892
+ title,
9799
9893
  text: textContent,
9894
+ attrs: normalizedAttrs,
9800
9895
  children: children$1,
9801
9896
  loading: !fragment$1.closed,
9802
9897
  raw: fragment$1.html || code$1
@@ -9929,11 +10024,36 @@ function parseInsertToken(tokens, startIndex, options) {
9929
10024
 
9930
10025
  //#endregion
9931
10026
  //#region src/parser/inline-parsers/link-parser.ts
10027
+ function toAttrsTuple(attrs) {
10028
+ const tuples = [];
10029
+ if (!Array.isArray(attrs)) return tuples;
10030
+ for (const attr of attrs) {
10031
+ const key = attr?.[0];
10032
+ if (!key) continue;
10033
+ tuples.push([String(key), String(attr?.[1] ?? "")]);
10034
+ }
10035
+ return tuples;
10036
+ }
10037
+ function getAttrValue(attrs, name) {
10038
+ const lowerName = name.toLowerCase();
10039
+ for (let i = attrs.length - 1; i >= 0; i--) {
10040
+ const [key, value] = attrs[i];
10041
+ if (String(key).toLowerCase() === lowerName) return value;
10042
+ }
10043
+ }
10044
+ function normalizeLinkAttrs(attrs, href, title) {
10045
+ const normalized = attrs.slice();
10046
+ if (!getAttrValue(normalized, "href")) normalized.push(["href", href]);
10047
+ if (title != null && !getAttrValue(normalized, "title")) normalized.push(["title", title]);
10048
+ return normalized;
10049
+ }
9932
10050
  function parseLinkToken(tokens, startIndex, options) {
9933
- const attrs = tokens[startIndex].attrs ?? [];
9934
- const href = String(attrs.find((attr) => attr[0] === "href")?.[1] ?? "");
9935
- const _title = attrs.find((attr) => attr[0] === "title")?.[1] ?? null;
9936
- const title = _title === null ? null : String(_title);
10051
+ const openToken = tokens[startIndex];
10052
+ const attrsTuple = toAttrsTuple(openToken.attrs);
10053
+ const href = String(getAttrValue(attrsTuple, "href") ?? "");
10054
+ const _title = getAttrValue(attrsTuple, "title");
10055
+ const title = _title == null ? null : String(_title);
10056
+ const normalizedAttrs = normalizeLinkAttrs(attrsTuple, href, title);
9937
10057
  let i = startIndex + 1;
9938
10058
  const linkTokens = [];
9939
10059
  let loading = true;
@@ -9959,7 +10079,8 @@ function parseLinkToken(tokens, startIndex, options) {
9959
10079
  text: linkText,
9960
10080
  children,
9961
10081
  raw: String(`[${linkText}](${href}${title ? ` "${title}"` : ""})`),
9962
- loading
10082
+ loading,
10083
+ attrs: normalizedAttrs
9963
10084
  },
9964
10085
  nextIndex: i < tokens.length ? i + 1 : tokens.length
9965
10086
  };
@@ -10393,7 +10514,17 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
10393
10514
  }
10394
10515
  function handleInlineCodeContent(content, _token) {
10395
10516
  if (!content.includes("`")) return false;
10396
- const codeStart = content.indexOf("`");
10517
+ const findFirstUnescapedBacktick = (src) => {
10518
+ for (let idx = 0; idx < src.length; idx++) {
10519
+ if (src[idx] !== "`") continue;
10520
+ let slashCount = 0;
10521
+ for (let j = idx - 1; j >= 0 && src[j] === "\\"; j--) slashCount++;
10522
+ if (slashCount % 2 === 0) return idx;
10523
+ }
10524
+ return -1;
10525
+ };
10526
+ const codeStart = findFirstUnescapedBacktick(content);
10527
+ if (codeStart === -1) return false;
10397
10528
  let runLen = 1;
10398
10529
  for (let k = codeStart + 1; k < content.length && content[k] === "`"; k++) runLen++;
10399
10530
  const closingSeq = "`".repeat(runLen);
@@ -10718,7 +10849,7 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
10718
10849
  i++;
10719
10850
  return;
10720
10851
  }
10721
- if (handleInlineCodeContent(content, token)) return;
10852
+ if (handleInlineCodeContent(rawContent, token)) return;
10722
10853
  if (handleInlineImageContent(content, token)) return;
10723
10854
  if (tokens[i + 1]?.type !== "link_open" && handleInlineLinkContent(content, token)) return;
10724
10855
  if (handleEmphasisAndStrikethrough(content, token)) return;