stream-markdown-parser 0.0.56 → 0.0.57
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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +108 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -194,6 +194,8 @@ interface AdmonitionNode extends BaseNode {
|
|
|
194
194
|
interface VmrContainerNode extends BaseNode {
|
|
195
195
|
type: 'vmr_container';
|
|
196
196
|
name: string;
|
|
197
|
+
/** True while the opening `:::` has been seen but the closing `:::` hasn't (streaming mid-state). */
|
|
198
|
+
loading?: boolean;
|
|
197
199
|
attrs?: Record<string, string>;
|
|
198
200
|
children: ParsedNode[];
|
|
199
201
|
}
|
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":";;;UAYiB,cAAA,SAAuB;sBAClB;;EADL,gBAAA,CAAe,EAAA,OAAA;;;;ECVf,CAAA;EAaL;AAEZ;AAMA;AAOA;EAMiB,cAAW,CAAA,EAAA,SAEhB,MAAA,EAAA;AAIZ;;;UAxCiB,QAAA;;EDUA,GAAA,EAAA,MAAA;;;;ACVjB;AAaA;AAEA;AAMA;AAOA;AAMA;AAMiB,KA3BL,WAAA,GAAc,QAgCjB,GAhC4B,MA2BH,CAAA,MAAQ,EAAA,OAAA,CAAA;AAQzB,UAjCA,QAAA,SAAiB,QAmCtB,CAF0B;EAKrB,IAAA,EAAA,MAAA;EAiBA,OAAA,EAAA,MAAA;EAOA,MAAA,CAAA,EAAA,OAAA;AAYjB;AAYiB,UAhFA,WAAA,SAAoB,QAgFA,CAAA;EAK3B,IAAA,EAAA,SAAA;EACG,KAAA,EAAA,MAAA;EANgC,IAAA,EAAA,MAAA;EAAQ,QAAA,EA5EzC,UA4EyC,EAAA;AAUrD;AAKiB,UAxFA,aAAA,SAAsB,QAwFL,CAAQ;EAQzB,IAAA,EAAA,WAAU;EAOV,QAAA,EArGL,UAqGuB,EAAA;EAIlB,aAAA,CAAA,EAAA,OAAgB;AASjC;AASiB,UAvHA,UAAA,SAAmB,QAyHxB,CAF4B;EAKvB,IAAA,EAAA,QAAU;EAEjB,QAAA,EA5HE,UA4HF,EAAA;EACF,OAAA,CAAA,EAAA,MAAA;;AAHmC,UAtH1B,QAAA,SAAiB,QAsHS,CAAA;EAM1B,IAAA,EAAA,MAAA;EAKA,OAAA,EAAA,OAAc;EAOd,KAAA,CAAA,EAAA,MAAA;EAKA,KAAA,EAxIR,YAwIQ,EAAmB;;AAGtB,UAxIG,YAAA,SAAqB,QAwIxB,CAAA;EAH8B,IAAA,EAAA,WAAA;EAAQ,QAAA,EAnIxC,UAmIwC,EAAA;AAMpD;AAMiB,UA5IA,aAAA,SAAsB,QA4IQ,CAAA;EAK9B,IAAA,EAAA,YAAA;EAKA,QAAA,EAAA,MAAA;EAOA,IAAA,EAAA,MAAA;
|
|
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
|
@@ -6731,6 +6731,95 @@ function container_plugin(md, name, options) {
|
|
|
6731
6731
|
|
|
6732
6732
|
//#endregion
|
|
6733
6733
|
//#region src/plugins/containers.ts
|
|
6734
|
+
function parseLooseInlineAttrs(input) {
|
|
6735
|
+
const s = String(input ?? "").trim();
|
|
6736
|
+
if (!s.startsWith("{") || !s.endsWith("}")) return null;
|
|
6737
|
+
const inner = s.slice(1, -1).trim();
|
|
6738
|
+
if (!inner) return {};
|
|
6739
|
+
if (inner.includes("{") || inner.includes("[") || inner.includes("]")) return null;
|
|
6740
|
+
const parts = [];
|
|
6741
|
+
let buf = "";
|
|
6742
|
+
let inSingle = false;
|
|
6743
|
+
let inDouble = false;
|
|
6744
|
+
for (let i = 0; i < inner.length; i++) {
|
|
6745
|
+
const ch = inner[i];
|
|
6746
|
+
if (ch === "\\") {
|
|
6747
|
+
buf += ch;
|
|
6748
|
+
if (i + 1 < inner.length) {
|
|
6749
|
+
buf += inner[i + 1];
|
|
6750
|
+
i++;
|
|
6751
|
+
}
|
|
6752
|
+
continue;
|
|
6753
|
+
}
|
|
6754
|
+
if (!inDouble && ch === "'") {
|
|
6755
|
+
inSingle = !inSingle;
|
|
6756
|
+
buf += ch;
|
|
6757
|
+
continue;
|
|
6758
|
+
}
|
|
6759
|
+
if (!inSingle && ch === "\"") {
|
|
6760
|
+
inDouble = !inDouble;
|
|
6761
|
+
buf += ch;
|
|
6762
|
+
continue;
|
|
6763
|
+
}
|
|
6764
|
+
if (!inSingle && !inDouble && ch === ",") {
|
|
6765
|
+
parts.push(buf.trim());
|
|
6766
|
+
buf = "";
|
|
6767
|
+
continue;
|
|
6768
|
+
}
|
|
6769
|
+
buf += ch;
|
|
6770
|
+
}
|
|
6771
|
+
if (buf.trim()) parts.push(buf.trim());
|
|
6772
|
+
const out = {};
|
|
6773
|
+
for (const part of parts) {
|
|
6774
|
+
if (!part) continue;
|
|
6775
|
+
let inS = false;
|
|
6776
|
+
let inD = false;
|
|
6777
|
+
let split = -1;
|
|
6778
|
+
for (let i = 0; i < part.length; i++) {
|
|
6779
|
+
const ch = part[i];
|
|
6780
|
+
if (ch === "\\") {
|
|
6781
|
+
i++;
|
|
6782
|
+
continue;
|
|
6783
|
+
}
|
|
6784
|
+
if (!inD && ch === "'") {
|
|
6785
|
+
inS = !inS;
|
|
6786
|
+
continue;
|
|
6787
|
+
}
|
|
6788
|
+
if (!inS && ch === "\"") {
|
|
6789
|
+
inD = !inD;
|
|
6790
|
+
continue;
|
|
6791
|
+
}
|
|
6792
|
+
if (!inS && !inD && ch === ":") {
|
|
6793
|
+
split = i;
|
|
6794
|
+
break;
|
|
6795
|
+
}
|
|
6796
|
+
}
|
|
6797
|
+
if (split === -1) return null;
|
|
6798
|
+
const rawKey = part.slice(0, split).trim();
|
|
6799
|
+
const rawVal = part.slice(split + 1).trim();
|
|
6800
|
+
if (!rawKey) return null;
|
|
6801
|
+
let key = rawKey;
|
|
6802
|
+
if (key.startsWith("\"") && key.endsWith("\"") || key.startsWith("'") && key.endsWith("'")) try {
|
|
6803
|
+
key = JSON.parse(key.replace(/^'/, "\"").replace(/'$/, "\""));
|
|
6804
|
+
} catch {
|
|
6805
|
+
return null;
|
|
6806
|
+
}
|
|
6807
|
+
if (!/^[_$A-Z][\w$-]*$/i.test(key)) return null;
|
|
6808
|
+
let value;
|
|
6809
|
+
if (!rawVal) value = "";
|
|
6810
|
+
else if (rawVal.startsWith("\"") && rawVal.endsWith("\"") || rawVal.startsWith("'") && rawVal.endsWith("'")) try {
|
|
6811
|
+
value = JSON.parse(rawVal.replace(/^'/, "\"").replace(/'$/, "\""));
|
|
6812
|
+
} catch {
|
|
6813
|
+
value = rawVal;
|
|
6814
|
+
}
|
|
6815
|
+
else if (/^-?\d+(?:\.\d+)?$/.test(rawVal)) value = Number(rawVal);
|
|
6816
|
+
else if (rawVal === "true" || rawVal === "false") value = rawVal === "true";
|
|
6817
|
+
else if (rawVal === "null") value = null;
|
|
6818
|
+
else value = rawVal;
|
|
6819
|
+
out[key] = value;
|
|
6820
|
+
}
|
|
6821
|
+
return out;
|
|
6822
|
+
}
|
|
6734
6823
|
function applyContainers(md) {
|
|
6735
6824
|
[
|
|
6736
6825
|
"admonition",
|
|
@@ -6777,8 +6866,10 @@ function applyContainers(md) {
|
|
|
6777
6866
|
}
|
|
6778
6867
|
if (jsonEnd > 0) jsonStr = jsonCandidate.slice(0, jsonEnd);
|
|
6779
6868
|
}
|
|
6869
|
+
if (!jsonStr) argsStr = trimmedRest || void 0;
|
|
6780
6870
|
}
|
|
6781
6871
|
if (silent) return true;
|
|
6872
|
+
const envFinal = !!s.env?.__markstreamFinal;
|
|
6782
6873
|
let nextLine = startLine + 1;
|
|
6783
6874
|
let found = false;
|
|
6784
6875
|
while (nextLine <= endLine) {
|
|
@@ -6790,9 +6881,13 @@ function applyContainers(md) {
|
|
|
6790
6881
|
}
|
|
6791
6882
|
nextLine++;
|
|
6792
6883
|
}
|
|
6793
|
-
if (!found)
|
|
6884
|
+
if (!found) nextLine = endLine;
|
|
6794
6885
|
const tokenOpen = s.push("vmr_container_open", "div", 1);
|
|
6795
6886
|
tokenOpen.attrSet("class", `vmr-container vmr-container-${name}`);
|
|
6887
|
+
tokenOpen.meta = {
|
|
6888
|
+
...tokenOpen.meta,
|
|
6889
|
+
unclosed: !found && !envFinal
|
|
6890
|
+
};
|
|
6796
6891
|
if (argsStr) tokenOpen.attrSet("data-args", argsStr);
|
|
6797
6892
|
if (jsonStr) try {
|
|
6798
6893
|
const attrs = JSON.parse(jsonStr);
|
|
@@ -6801,7 +6896,12 @@ function applyContainers(md) {
|
|
|
6801
6896
|
tokenOpen.attrSet(`data-${key}`, isComplexValue ? JSON.stringify(value) : String(value));
|
|
6802
6897
|
}
|
|
6803
6898
|
} catch {
|
|
6804
|
-
|
|
6899
|
+
const loose = parseLooseInlineAttrs(jsonStr);
|
|
6900
|
+
if (loose) for (const [key, value] of Object.entries(loose)) {
|
|
6901
|
+
const isComplexValue = value != null && typeof value === "object";
|
|
6902
|
+
tokenOpen.attrSet(`data-${key}`, isComplexValue ? JSON.stringify(value) : String(value));
|
|
6903
|
+
}
|
|
6904
|
+
else tokenOpen.attrSet("data-attrs", jsonStr);
|
|
6805
6905
|
}
|
|
6806
6906
|
const contentLines = [];
|
|
6807
6907
|
for (let i = startLine + 1; i < nextLine; i++) {
|
|
@@ -6817,8 +6917,8 @@ function applyContainers(md) {
|
|
|
6817
6917
|
s.md.block.parse(innerSrc, s.md, s.env, innerTokens);
|
|
6818
6918
|
s.tokens.push(...innerTokens);
|
|
6819
6919
|
}
|
|
6820
|
-
s.push("vmr_container_close", "div", -1);
|
|
6821
|
-
s.line = nextLine + 1;
|
|
6920
|
+
if (found) s.push("vmr_container_close", "div", -1);
|
|
6921
|
+
s.line = found ? nextLine + 1 : nextLine;
|
|
6822
6922
|
return true;
|
|
6823
6923
|
}, { alt: [
|
|
6824
6924
|
"paragraph",
|
|
@@ -10854,6 +10954,8 @@ function parseVmrContainer(tokens, index, options) {
|
|
|
10854
10954
|
j = handled[1];
|
|
10855
10955
|
} else j++;
|
|
10856
10956
|
}
|
|
10957
|
+
const hasCloseToken = j < tokens.length && tokens[j].type === "vmr_container_close";
|
|
10958
|
+
const closed = hasCloseToken || !!options?.final;
|
|
10857
10959
|
let raw = `::: ${name}`;
|
|
10858
10960
|
if (Object.keys(containerAttrs).length > 0) raw += ` ${JSON.stringify(containerAttrs)}`;
|
|
10859
10961
|
raw += "\n";
|
|
@@ -10865,10 +10967,11 @@ function parseVmrContainer(tokens, index, options) {
|
|
|
10865
10967
|
return [{
|
|
10866
10968
|
type: "vmr_container",
|
|
10867
10969
|
name,
|
|
10970
|
+
loading: !closed,
|
|
10868
10971
|
attrs: Object.keys(containerAttrs).length > 0 ? containerAttrs : void 0,
|
|
10869
10972
|
children,
|
|
10870
10973
|
raw
|
|
10871
|
-
}, j + 1];
|
|
10974
|
+
}, hasCloseToken ? j + 1 : j];
|
|
10872
10975
|
}
|
|
10873
10976
|
function findTagCloseIndexOutsideQuotes(input) {
|
|
10874
10977
|
let inSingle = false;
|