@vuux/editor
Version:
Vue Nuxt 富文本编辑器
65 lines (64 loc) • 1.5 kB
JavaScript
import { other as c } from "./rules.mjs";
const u = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'"
}, p = (t) => u[t], g = (t, r) => {
if (r) {
if (c.escapeTest.test(t))
return t.replace(c.escapeReplace, p);
} else if (c.escapeTestNoEncode.test(t))
return t.replace(c.escapeReplaceNoEncode, p);
return t;
}, d = (t) => {
try {
t = encodeURI(t).replace(c.percentDecode, "%");
} catch {
return null;
}
return t;
}, m = (t, r) => {
const n = t.replace(c.findPipe, (a, f, o) => {
let i = !1, s = f;
for (; --s >= 0 && o[s] === "\\"; ) i = !i;
return i ? "|" : " |";
}), e = n.split(c.splitPipe);
let l = 0;
if (e[0].trim() || e.shift(), e.length > 0 && !e.at(-1)?.trim() && e.pop(), r)
if (e.length > r)
e.splice(r);
else
for (; e.length < r; ) e.push("");
for (; l < e.length; l++)
e[l] = e[l].trim().replace(c.slashPipe, "|");
return e;
}, R = (t, r, n) => {
const e = t.length;
if (e === 0)
return "";
let l = 0;
for (; l < e && t.charAt(e - l - 1) === r; )
l++;
return t.slice(0, e - l);
}, w = (t, r) => {
if (t.indexOf(r[1]) === -1)
return -1;
let n = 0;
for (let e = 0; e < t.length; e++)
if (t[e] === "\\")
e++;
else if (t[e] === r[0])
n++;
else if (t[e] === r[1] && (n--, n < 0))
return e;
return n > 0 ? -2 : -1;
};
export {
d as cleanUrl,
g as escape,
w as findClosingBracket,
R as rtrim,
m as splitCells
};