synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
83 lines (82 loc) • 2.03 kB
JavaScript
import { SYNAPSE_ENTITY_ID_REGEX as i, parseSynId as s } from "./RegularExpressions.js";
function c(t, r, e = "…") {
return t.length <= r ? t : t.substring(0, r) + e;
}
function l(t) {
const r = t.toString();
let e = "";
for (let n = 0; n < r.length; n += 2)
e += String.fromCharCode(parseInt(r.substring(n, n + 2), 16));
return e;
}
function u(t) {
t == null && (t = "");
let r = 0;
for (let e = 0, n = t.length; e < n; e++) {
const a = t.charCodeAt(e);
r = (r << 5) - r + a, r |= 0;
}
return r;
}
function h(t) {
if (t == null)
return NaN;
if (typeof t == "number")
return t;
if (t.match(i)) {
const r = s(t).targetId;
return parseInt(r.substring(3));
} else
return parseInt(t);
}
function f(t) {
if (t.trim().length < 8)
return "A valid password must be at least 8 characters long";
if (!/[a-zA-Z]/.test(t))
return "A valid password must include letters";
if (!/\d/.test(t))
return "A valid password must include digits (0-9)";
if (!/[~!@#$%^&*_\-+=`|\\(){}[\]:;"'<>,.?/]/.test(
t
))
return "A valid password must include special characters ~!@#$%^&*_-+=`|\\(){}[]:;\"'<>,.?/";
}
function p(t) {
return new Promise((r, e) => {
setTimeout(() => {
navigator.clipboard.writeText(t).then(r).catch(e);
}, 0);
});
}
function m(t, r) {
const e = t.split(/[\\/]/);
return `${e[e.length - 1].replace(/\.[^/.]+$/, "")}.${r}`;
}
function g(t) {
let r;
if (Array.isArray(t))
r = t.map(String);
else
try {
const e = JSON.parse(t ?? "[]");
r = Array.isArray(e) ? e.map(String) : [String(e)];
} catch {
r = t ? [String(t)] : [];
}
return r;
}
function d(t, r = ",") {
return t?.split(r).map((e) => e.trim()) ?? [];
}
export {
p as copyStringToClipboard,
u as hashCode,
l as hex2ascii,
h as normalizeNumericId,
m as replaceFileExtension,
d as splitAndTrim,
g as stringListToArray,
c as truncateString,
f as validatePassword
};
//# sourceMappingURL=StringUtils.js.map