UNPKG

@vulppi/toolbelt

Version:

A collection of tools and utilities.

2 lines (1 loc) 1.87 kB
function l(e){return new Promise(r=>setTimeout(r,e))}function i(e){return typeof structuredClone!="function"?JSON.parse(JSON.stringify(e)):structuredClone(e)}function s(e,...r){let n=i(e);for(let t of r)delete n[t];return n}function a(e,r){try{return e()}catch(n){return console.error(n),r&&r(n),null}}function u(e){if(typeof e!="object")return e;if(Array.isArray(e))return e.filter(n=>n!=null).map(u);let r={};for(let n in e){let t=e[n];t!=null&&(typeof t=="object"?Array.isArray(t)?r[n]=t.filter(o=>o!=null).map(u):r[n]=u(t):r[n]=t)}return r}function f(e){try{return[e(),null]}catch(r){return r instanceof Error?[null,r]:typeof r=="string"?[null,new Error(r)]:[null,new Error("Unknown error",{cause:r})]}}async function c(e){try{return[await e(),null]}catch(r){return r instanceof Error?[null,r]:typeof r=="string"?[null,new Error(r)]:[null,new Error("Unknown error",{cause:r})]}}async function y(e){try{return[await e,null]}catch(r){return r instanceof Error?[null,r]:typeof r=="string"?[null,new Error(r)]:[null,new Error("Unknown error",{cause:r})]}}function m(e){if(typeof e!="string")return e;let[,r,n]=e.match(/^(\d+)([kmgt]b?)$/i)||[];if(!r||!n)return 0;let t=parseInt(r);if(isNaN(t))return 0;switch(n.toLowerCase()){case"tb":return t*1024*1024*1024*1024;case"gb":return t*1024*1024*1024;case"mb":return t*1024*1024;case"kb":return t*1024;default:return t}}function x(e){let r=e?.trim().toLowerCase();if(!(r==null||r==="")){if(r==="null")return null;if(r!=="undefined")return r==="nan"?NaN:r==="infinity"?1/0:r==="-infinity"?-1/0:/^(no|n|false|f|off)$/i.test(r)?!1:/^(yes|y|true|t|on)$/i.test(r)?!0:isNaN(Number(r))?r:Number(r)}}export{i as clone,u as omitNullables,s as omitShallowProps,m as parseStringBytesToNumber,x as parseStringToAutoDetectPrimitiveValue,l as promiseDelay,f as tryCatch,c as tryCatchAsync,a as tryCatchCallback,y as tryCatchPromise};