stream-markdown-parser 0.0.61 → 0.0.62
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.map +1 -1
- package/dist/index.js +81 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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);
|
|
@@ -10393,7 +10459,17 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
|
|
|
10393
10459
|
}
|
|
10394
10460
|
function handleInlineCodeContent(content, _token) {
|
|
10395
10461
|
if (!content.includes("`")) return false;
|
|
10396
|
-
const
|
|
10462
|
+
const findFirstUnescapedBacktick = (src) => {
|
|
10463
|
+
for (let idx = 0; idx < src.length; idx++) {
|
|
10464
|
+
if (src[idx] !== "`") continue;
|
|
10465
|
+
let slashCount = 0;
|
|
10466
|
+
for (let j = idx - 1; j >= 0 && src[j] === "\\"; j--) slashCount++;
|
|
10467
|
+
if (slashCount % 2 === 0) return idx;
|
|
10468
|
+
}
|
|
10469
|
+
return -1;
|
|
10470
|
+
};
|
|
10471
|
+
const codeStart = findFirstUnescapedBacktick(content);
|
|
10472
|
+
if (codeStart === -1) return false;
|
|
10397
10473
|
let runLen = 1;
|
|
10398
10474
|
for (let k = codeStart + 1; k < content.length && content[k] === "`"; k++) runLen++;
|
|
10399
10475
|
const closingSeq = "`".repeat(runLen);
|
|
@@ -10718,7 +10794,7 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
|
|
|
10718
10794
|
i++;
|
|
10719
10795
|
return;
|
|
10720
10796
|
}
|
|
10721
|
-
if (handleInlineCodeContent(
|
|
10797
|
+
if (handleInlineCodeContent(rawContent, token)) return;
|
|
10722
10798
|
if (handleInlineImageContent(content, token)) return;
|
|
10723
10799
|
if (tokens[i + 1]?.type !== "link_open" && handleInlineLinkContent(content, token)) return;
|
|
10724
10800
|
if (handleEmphasisAndStrikethrough(content, token)) return;
|