@vizhub/viz-utils
Version:
Utility functions for use across VizHub packages.
71 lines (70 loc) • 2.05 kB
JavaScript
const a = (e) => e.length !== 32 || !/^[0-9a-f]{32}$/i.test(e) ? !1 : e[12] === "4", c = (e) => !e || typeof e != "string" || e.trim() === "" ? !1 : /^.+\.(png|jpg|jpeg|gif|bmp|svg|webp)$/i.test(e), f = () => typeof globalThis.crypto < "u" ? globalThis.crypto : require("node:crypto").webcrypto, u = f(), g = () => {
const e = new Uint8Array(16);
return u.getRandomValues(e), e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, Array.from(e, (t) => t.toString(16).padStart(2, "0")).join(
""
);
}, s = () => g().substring(0, 8), d = s, o = (e, t) => {
if (e && e.files) {
for (const r of Object.keys(e.files))
if (e.files[r].name === t)
return r;
}
return null;
}, p = (e, t) => {
const r = o(e, t);
return r && e && e.files ? e.files[r].text : null;
}, b = (e, t, r) => {
if (e == null)
throw new Error("Content cannot be null or undefined");
if (typeof t != "string" || t.length === 0)
throw new Error("fileName must be a non-empty string");
if (typeof r != "string" || r.length === 0)
throw new Error("fileText must be a non-empty string");
const i = e.files || {}, n = o(e, t);
if (n)
return {
...e,
files: {
...i,
[n]: {
...i[n],
text: r
}
}
};
{
const l = s();
return {
...e,
files: {
...i,
[l]: {
name: t,
text: r
}
}
};
}
}, y = (e) => {
const t = {};
if (!e)
return t;
for (const r of Object.values(e))
t[r.name] = r.text;
return t;
}, m = (e) => Object.entries(e).reduce((t, [r, i]) => (t[s()] = { name: r, text: i }, t), {}), h = (e) => Math.floor(e.getTime() / 1e3), w = (e) => new Date(e * 1e3);
export {
h as dateToTimestamp,
m as fileCollectionToVizFiles,
d as generateRunId,
s as generateVizFileId,
g as generateVizId,
o as getFileId,
p as getFileText,
c as isImageFileName,
a as isVizId,
b as setFileText,
w as timestampToDate,
y as vizFilesToFileCollection
};
//# sourceMappingURL=index.js.map