@epam/ai-dial-chat-shared 1.1.0-dev.472 → 1.1.0-dev.474
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/package.json +1 -1
- package/utils/latex.js +22 -22
package/package.json
CHANGED
package/utils/latex.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
//#region src/utils/latex.ts
|
|
2
|
-
var e = /\$\\ce\{/g, t = /\$\\pu\{/g, n = /\$\\\\ce\{[^}]*\}\$/g, r = /\$\\\\pu\{[^}]*\}\$/g, i = /\$\$([\s\S]*?)\$\$/g, a = /^[ \t]*\r?\n/, o = /\r?\n[ \t]*$/, s = /\d+(?:,\d{3})*(?:\.\d+)?(?:[KMBkmb])?/y, c = /\s|[^a-zA-Z\d]/y, l = /[\^_\\]/y, u = /(?:[<>]|\\(?:le|leq|ll|ge|geq|gg|ne|neq|approx|equiv|sim|simeq|cong|in|notin|subset|subseteq|supset|supseteq|to|rightarrow|leftarrow|mapsto|implies|iff)\b)/y, d = (i) => {
|
|
2
|
+
var e = /\$\\ce\{/g, t = /\$\\pu\{/g, n = /\$\\\\ce\{[^}]*\}\$/g, r = /\$\\\\pu\{[^}]*\}\$/g, i = /\$\$([\s\S]*?)\$\$/g, a = /^[ \t]*\r?\n/, o = /\r?\n[ \t]*$/, s = /\d+(?:,\d{3})*(?:\.\d+)?(?:[KMBkmb])?/y, c = /\s|[^a-zA-Z\d]/y, l = /[\^_\\]/y, u = /(?:[<>]|\\(?:le|leq|ll|ge|geq|gg|ne|neq|approx|equiv|sim|simeq|cong|in|notin|subset|subseteq|supset|supseteq|to|rightarrow|leftarrow|mapsto|implies|iff)\b)/y, d = /\\[a-zA-Z]|[\^_]/, f = (i) => {
|
|
3
3
|
let a = i.replace(e, "$\\\\ce{");
|
|
4
4
|
return a = a.replace(t, "$\\\\pu{"), a = a.replace(n, (e) => `$${e}$`), a = a.replace(r, (e) => `$${e}$`), a;
|
|
5
|
-
},
|
|
5
|
+
}, p = (e) => {
|
|
6
6
|
let t = [], n = -1, r = -1;
|
|
7
7
|
for (let i = 0; i < e.length; i++) {
|
|
8
8
|
let a = e[i];
|
|
9
9
|
a === "`" && i + 2 < e.length && e[i + 1] === "`" && e[i + 2] === "`" ? r === -1 ? (r = i, i += 2) : (t.push([r, i + 2]), r = -1, i += 2) : a === "`" && r === -1 && (n === -1 ? n = i : (t.push([n, i]), n = -1));
|
|
10
10
|
}
|
|
11
11
|
return t;
|
|
12
|
-
},
|
|
12
|
+
}, m = (e, t) => {
|
|
13
13
|
let n = 0, r = t.length - 1;
|
|
14
14
|
for (; n <= r;) {
|
|
15
15
|
let i = Math.floor((n + r) / 2), [a, o] = t[i];
|
|
@@ -17,26 +17,26 @@ var e = /\$\\ce\{/g, t = /\$\\pu\{/g, n = /\$\\\\ce\{[^}]*\}\$/g, r = /\$\\\\pu\
|
|
|
17
17
|
e < a ? r = i - 1 : n = i + 1;
|
|
18
18
|
}
|
|
19
19
|
return !1;
|
|
20
|
-
},
|
|
20
|
+
}, h = (e, t, n) => (e.lastIndex = n, e.exec(t)), g = /\s/, _ = (e, t) => {
|
|
21
21
|
let n = t;
|
|
22
|
-
for (; n < e.length &&
|
|
22
|
+
for (; n < e.length && g.test(e[n]);) n++;
|
|
23
23
|
return n;
|
|
24
|
-
},
|
|
24
|
+
}, v = (e) => {
|
|
25
25
|
if (!e.includes("$$")) return e;
|
|
26
|
-
let t =
|
|
26
|
+
let t = p(e), n = [], r = 0, s;
|
|
27
27
|
for (i.lastIndex = 0; (s = i.exec(e)) !== null;) {
|
|
28
28
|
let i = s.index, c = i + s[0].length, l = s[1];
|
|
29
|
-
if (!l.includes("\n") ||
|
|
29
|
+
if (!l.includes("\n") || m(i, t)) continue;
|
|
30
30
|
let u = e.lastIndexOf("\n", i - 1) + 1;
|
|
31
31
|
if (e.slice(u, i).trim() !== "") continue;
|
|
32
|
-
let d = l.replace(a, "").replace(o, ""), f = e.indexOf("\n", c),
|
|
33
|
-
n.push(e.slice(r, i)), n.push(`$$\n${d}\n$$${
|
|
32
|
+
let d = l.replace(a, "").replace(o, ""), f = e.indexOf("\n", c), p = e.slice(c, f === -1 ? e.length : f);
|
|
33
|
+
n.push(e.slice(r, i)), n.push(`$$\n${d}\n$$${p.trim() === "" ? "" : "\n"}`), r = c;
|
|
34
34
|
}
|
|
35
35
|
return n.push(e.substring(r)), n.join("");
|
|
36
|
-
},
|
|
37
|
-
let n =
|
|
36
|
+
}, y = (e, t) => {
|
|
37
|
+
let n = h(s, e, t + 1);
|
|
38
38
|
return n ? t + 1 + n[0].length : -1;
|
|
39
|
-
},
|
|
39
|
+
}, b = (e, t) => t >= e.length ? !0 : !(!h(c, e, t) || h(l, e, t) || h(u, e, _(e, t))), x = (e, t) => {
|
|
40
40
|
let n = [];
|
|
41
41
|
for (let r = 0; r < e.length; r++) {
|
|
42
42
|
if (e[r] !== "$") continue;
|
|
@@ -46,21 +46,21 @@ var e = /\$\\ce\{/g, t = /\$\\pu\{/g, n = /\$\\\\ce\{[^}]*\}\$/g, r = /\$\\\\pu\
|
|
|
46
46
|
r = i;
|
|
47
47
|
continue;
|
|
48
48
|
}
|
|
49
|
-
r > 0 && e[r - 1] === "\\" ||
|
|
49
|
+
r > 0 && e[r - 1] === "\\" || m(r, t) || n.push(r);
|
|
50
50
|
}
|
|
51
51
|
return n;
|
|
52
|
-
},
|
|
52
|
+
}, S = (e, t, n, r) => {
|
|
53
53
|
if (n <= t + 1 || e[n - 1] === "`") return !1;
|
|
54
54
|
for (let i = t + 1; i < n; i++) if (e[i] === "\n" || e[i] === "$" && !(e[i - 1] === "\\" || r.has(i))) return !1;
|
|
55
55
|
return !0;
|
|
56
|
-
}, S = (e) => {
|
|
56
|
+
}, C = (e, t, n, r) => n !== void 0 && S(e, t, n, r) && d.test(e.slice(t + 1, n)), w = (e) => {
|
|
57
57
|
if (!e.includes("$")) return e;
|
|
58
58
|
let t = e;
|
|
59
|
-
(e.includes("\\ce{") || e.includes("\\pu{")) && (t =
|
|
60
|
-
let n =
|
|
59
|
+
(e.includes("\\ce{") || e.includes("\\pu{")) && (t = f(e)), t = v(t);
|
|
60
|
+
let n = p(t), r = x(t, n), i = /* @__PURE__ */ new Map(), a = -1;
|
|
61
61
|
for (let e = 0; e < r.length; e++) {
|
|
62
|
-
let n = r[e], o =
|
|
63
|
-
if (o !== -1 &&
|
|
62
|
+
let n = r[e], o = y(t, n);
|
|
63
|
+
if (o !== -1 && b(t, o) && (a !== -1 || !C(t, n, r[e + 1], i))) {
|
|
64
64
|
i.set(n, "\\$"), a === -1 && r[e + 1] === o && (i.set(o, "\\$"), e++);
|
|
65
65
|
continue;
|
|
66
66
|
}
|
|
@@ -68,7 +68,7 @@ var e = /\$\\ce\{/g, t = /\$\\pu\{/g, n = /\$\\\\ce\{[^}]*\}\$/g, r = /\$\\\\pu\
|
|
|
68
68
|
a = n;
|
|
69
69
|
continue;
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
S(t, a, n, i) ? (i.set(a, "$$"), i.set(n, "$$"), a = -1) : a = n;
|
|
72
72
|
}
|
|
73
73
|
if (i.size === 0) return t;
|
|
74
74
|
let o = [], s = 0;
|
|
@@ -76,4 +76,4 @@ var e = /\$\\ce\{/g, t = /\$\\pu\{/g, n = /\$\\\\ce\{[^}]*\}\$/g, r = /\$\\\\pu\
|
|
|
76
76
|
return o.push(t.substring(s)), o.join("");
|
|
77
77
|
};
|
|
78
78
|
//#endregion
|
|
79
|
-
export {
|
|
79
|
+
export { w as preprocessLaTeX };
|