stream-markdown-parser 0.0.45 → 0.0.46
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 +68 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
@@ -10958,9 +10958,77 @@ function parseParagraph(tokens, index, options) {
|
|
|
10958
10958
|
//#endregion
|
|
10959
10959
|
//#region src/parser/index.ts
|
|
10960
10960
|
function stripDanglingHtmlLikeTail(markdown) {
|
|
10961
|
+
const isInsideFencedCodeBlock = (src, pos) => {
|
|
10962
|
+
let inFence = false;
|
|
10963
|
+
let fenceChar = "";
|
|
10964
|
+
let fenceLen = 0;
|
|
10965
|
+
const isWs = (ch) => ch === " " || ch === " ";
|
|
10966
|
+
const parseFenceMarker = (line) => {
|
|
10967
|
+
let i = 0;
|
|
10968
|
+
while (i < line.length && isWs(line[i])) i++;
|
|
10969
|
+
const ch = line[i];
|
|
10970
|
+
if (ch !== "`" && ch !== "~") return null;
|
|
10971
|
+
let j = i;
|
|
10972
|
+
while (j < line.length && line[j] === ch) j++;
|
|
10973
|
+
const len = j - i;
|
|
10974
|
+
if (len < 3) return null;
|
|
10975
|
+
return {
|
|
10976
|
+
markerChar: ch,
|
|
10977
|
+
markerLen: len,
|
|
10978
|
+
rest: line.slice(j)
|
|
10979
|
+
};
|
|
10980
|
+
};
|
|
10981
|
+
const stripBlockquotePrefix = (line) => {
|
|
10982
|
+
let i = 0;
|
|
10983
|
+
while (i < line.length && isWs(line[i])) i++;
|
|
10984
|
+
let saw = false;
|
|
10985
|
+
while (i < line.length && line[i] === ">") {
|
|
10986
|
+
saw = true;
|
|
10987
|
+
i++;
|
|
10988
|
+
while (i < line.length && isWs(line[i])) i++;
|
|
10989
|
+
}
|
|
10990
|
+
return saw ? line.slice(i) : null;
|
|
10991
|
+
};
|
|
10992
|
+
const matchFence = (rawLine) => {
|
|
10993
|
+
const direct = parseFenceMarker(rawLine);
|
|
10994
|
+
if (direct) return direct;
|
|
10995
|
+
const afterQuote = stripBlockquotePrefix(rawLine);
|
|
10996
|
+
if (afterQuote == null) return null;
|
|
10997
|
+
return parseFenceMarker(afterQuote);
|
|
10998
|
+
};
|
|
10999
|
+
let offset = 0;
|
|
11000
|
+
const lines = src.split(/\r?\n/);
|
|
11001
|
+
for (const line of lines) {
|
|
11002
|
+
const lineStart = offset;
|
|
11003
|
+
const lineEnd = offset + line.length;
|
|
11004
|
+
if (pos < lineStart) break;
|
|
11005
|
+
const fenceMatch = matchFence(line);
|
|
11006
|
+
if (fenceMatch) {
|
|
11007
|
+
const markerChar = fenceMatch.markerChar;
|
|
11008
|
+
const markerLen = fenceMatch.markerLen;
|
|
11009
|
+
if (inFence) {
|
|
11010
|
+
if (markerChar === fenceChar && markerLen >= fenceLen) {
|
|
11011
|
+
if (/^\s*$/.test(fenceMatch.rest)) {
|
|
11012
|
+
inFence = false;
|
|
11013
|
+
fenceChar = "";
|
|
11014
|
+
fenceLen = 0;
|
|
11015
|
+
}
|
|
11016
|
+
}
|
|
11017
|
+
} else {
|
|
11018
|
+
inFence = true;
|
|
11019
|
+
fenceChar = markerChar;
|
|
11020
|
+
fenceLen = markerLen;
|
|
11021
|
+
}
|
|
11022
|
+
}
|
|
11023
|
+
if (pos <= lineEnd) break;
|
|
11024
|
+
offset = lineEnd + 1;
|
|
11025
|
+
}
|
|
11026
|
+
return inFence;
|
|
11027
|
+
};
|
|
10961
11028
|
const s = String(markdown ?? "");
|
|
10962
11029
|
const lastLt = s.lastIndexOf("<");
|
|
10963
11030
|
if (lastLt === -1) return s;
|
|
11031
|
+
if (isInsideFencedCodeBlock(s, lastLt)) return s;
|
|
10964
11032
|
const tail = s.slice(lastLt);
|
|
10965
11033
|
if (tail.includes(">")) return s;
|
|
10966
11034
|
if (!/^<\s*(?:\/\s*)?[A-Z!][\s\S]*$/i.test(tail)) return s;
|