@vizhub/viz-utils
Version:
Utility functions for use across VizHub packages.
3 lines (2 loc) • 1.65 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=e=>e.length!==32||!/^[0-9a-f]{32}$/i.test(e)?!1:e[12]==="4",a=e=>!e||typeof e!="string"||e.trim()===""?!1:/^.+\.(png|jpg|jpeg|gif|bmp|svg|webp)$/i.test(e),g=()=>typeof globalThis.crypto<"u"?globalThis.crypto:require("node:crypto").webcrypto,d=g(),l=()=>{const e=new Uint8Array(16);return d.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("")},n=()=>l().substring(0,8),c=n,o=(e,t)=>{if(e&&e.files){for(const i of Object.keys(e.files))if(e.files[i].name===t)return i}return null},p=(e,t)=>{const i=o(e,t);return i&&e&&e.files?e.files[i].text:null},m=(e,t,i)=>{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 i!="string"||i.length===0)throw new Error("fileText must be a non-empty string");const r=e.files||{},s=o(e,t);if(s)return{...e,files:{...r,[s]:{...r[s],text:i}}};{const u=n();return{...e,files:{...r,[u]:{name:t,text:i}}}}},F=e=>{const t={};if(!e)return t;for(const i of Object.values(e))t[i.name]=i.text;return t},b=e=>Object.entries(e).reduce((t,[i,r])=>(t[n()]={name:i,text:r},t),{}),y=e=>Math.floor(e.getTime()/1e3),I=e=>new Date(e*1e3);exports.dateToTimestamp=y;exports.fileCollectionToVizFiles=b;exports.generateRunId=c;exports.generateVizFileId=n;exports.generateVizId=l;exports.getFileId=o;exports.getFileText=p;exports.isImageFileName=a;exports.isVizId=f;exports.setFileText=m;exports.timestampToDate=I;exports.vizFilesToFileCollection=F;
//# sourceMappingURL=index.cjs.map