stream-markdown-parser 0.0.62 → 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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
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":";;;UAaiB,cAAA,SAAuB;sBAClB;;EADL,gBAAA,CAAe,EAAA,OAAA;;;;ECXf,CAAA;EAaL;AAEZ;AAMA;;EAKY,cAAA,CAAA,EAAA,SAAA,MAAA,EAAA;EALyB;;AAQrC;AAMA;EAMiB,0BAKR,CAAA,EAAA,OAAA;AAGT;;;UAjDiB,QAAA;;EDWA,GAAA,EAAA,MAAA;;;;ACXjB;AAaA;AAEA;AAMA;;;AAAqC,KARzB,WAAA,GAAc,QAQW,GARA,MAQA,CAAA,MAAA,EAAA,OAAA,CAAA;AAAQ,UAN5B,QAAA,SAAiB,QAMW,CAAA;EAQ5B,IAAA,EAAA,MAAA;EAMA,OAAA,EAAA,MAAW;EAMX,MAAA,CAAA,EAAA,OAAS;AAQ1B;AAKiB,UAjCA,WAAA,SAAoB,QAiCU,CAAA;EAiB9B,IAAA,EAAA,SAAA;EAOA,KAAA,EAAA,MAAA;EAYL,IAAA,EAAA,MAAA;EAYK,KAAA,CAAA,EA7EP,MA6EO,CAAA,MAAA,EAAoB,MAAA,GAAA,OAAA,CAAA;EAK3B,QAAA,EAjFE,UAiFF,EAAA;;AALmC,UAzE5B,aAAA,SAAsB,QAyEM,CAAA;EAAQ,IAAA,EAAA,WAAA;EAUpC,QAAA,EAjFL,UAiFoB,EAAA;EAKf,aAAS,CAAA,EAAA,
|
|
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
|
@@ -9767,6 +9767,31 @@ function tokenToRaw(token) {
|
|
|
9767
9767
|
const raw = shape.raw ?? shape.content ?? shape.markup ?? "";
|
|
9768
9768
|
return String(raw ?? "");
|
|
9769
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
|
+
}
|
|
9770
9795
|
function stringifyTokens(tokens) {
|
|
9771
9796
|
return tokens.map(tokenToRaw).join("");
|
|
9772
9797
|
}
|
|
@@ -9848,9 +9873,12 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
|
|
|
9848
9873
|
}, i + 1];
|
|
9849
9874
|
if (tag === "a") {
|
|
9850
9875
|
const fragment$1 = collectHtmlFragment(tokens, i, tag);
|
|
9876
|
+
const attrs$1 = parseTagAttrs(code$1);
|
|
9851
9877
|
const innerTokens = fragment$1.innerTokens;
|
|
9852
|
-
const
|
|
9853
|
-
const
|
|
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);
|
|
9854
9882
|
const children$1 = innerTokens.length ? parseInlineTokens$1(innerTokens, raw, pPreToken, options) : [];
|
|
9855
9883
|
const textContent = innerTokens.length ? stringifyTokens(innerTokens) : href || "";
|
|
9856
9884
|
if (!children$1.length && textContent) children$1.push({
|
|
@@ -9860,9 +9888,10 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
|
|
|
9860
9888
|
});
|
|
9861
9889
|
return [{
|
|
9862
9890
|
type: "link",
|
|
9863
|
-
href
|
|
9864
|
-
title
|
|
9891
|
+
href,
|
|
9892
|
+
title,
|
|
9865
9893
|
text: textContent,
|
|
9894
|
+
attrs: normalizedAttrs,
|
|
9866
9895
|
children: children$1,
|
|
9867
9896
|
loading: !fragment$1.closed,
|
|
9868
9897
|
raw: fragment$1.html || code$1
|
|
@@ -9995,11 +10024,36 @@ function parseInsertToken(tokens, startIndex, options) {
|
|
|
9995
10024
|
|
|
9996
10025
|
//#endregion
|
|
9997
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
|
+
}
|
|
9998
10050
|
function parseLinkToken(tokens, startIndex, options) {
|
|
9999
|
-
const
|
|
10000
|
-
const
|
|
10001
|
-
const
|
|
10002
|
-
const
|
|
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);
|
|
10003
10057
|
let i = startIndex + 1;
|
|
10004
10058
|
const linkTokens = [];
|
|
10005
10059
|
let loading = true;
|
|
@@ -10025,7 +10079,8 @@ function parseLinkToken(tokens, startIndex, options) {
|
|
|
10025
10079
|
text: linkText,
|
|
10026
10080
|
children,
|
|
10027
10081
|
raw: String(`[${linkText}](${href}${title ? ` "${title}"` : ""})`),
|
|
10028
|
-
loading
|
|
10082
|
+
loading,
|
|
10083
|
+
attrs: normalizedAttrs
|
|
10029
10084
|
},
|
|
10030
10085
|
nextIndex: i < tokens.length ? i + 1 : tokens.length
|
|
10031
10086
|
};
|