@studiohyperdrive/utils
Version:
A package containing common Javascript utils.
2 lines (1 loc) • 2.37 kB
JavaScript
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["js-utils"]={}))})(this,function(s){"use strict";const l=e=>!e||typeof e!="string"?"":e.split(/(?=[A-Z])/).map((r,t)=>t===0?r[0].toUpperCase()+r.slice(1).toLowerCase():r.toLowerCase()).join(" ").trim(),j=e=>typeof e!="string"?e:e.replaceAll(/[\s\u00A0]/gi," "),u=e=>e.normalize("NFD").replace(/([\u0300-\u036f])/g,""),O=(e,r,t=!0,n=!0)=>f(e,r,t,n,"some"),p=(e,r,t=!0,n=!0)=>f(e,r,t,n,"every"),f=(e,r,t=!0,n=!0,o)=>{if(!r.trim())return!0;if(!e)return!1;const c=r.split(" ").filter(a=>!!a),E=u(e),m=a=>{const b=t?E:e,g=t?u(a):a;return n?b.toLowerCase().includes(g.toLowerCase()):b.includes(g)};return o==="some"?c.some(m):c.every(m)},A=(e,r)=>{if(!e||Object.values(e).length===0)return;const t=Object.values(e).indexOf(r);return Object.keys(e)[t]};function S(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var F=e=>{if(Object.prototype.toString.call(e)!=="[object Object]")return!1;const r=Object.getPrototypeOf(e);return r===null||r===Object.prototype};const y=F,d=(e,r,t)=>{let n=e;return r.cleanArrays===!0&&(n=e.map(o=>i(o,r,t+1)).filter(Boolean)),t===0||r.preserveArrays===!0||n.length>0?n:null},i=(e,r,t)=>{const n={};if(!y(e))return Array.isArray(e)?d(e,r,t):e;for(const o of Object.keys(e))if(!(e[o]===null||e[o]===void 0))if(Array.isArray(e[o])){const c=d(e[o],r,t+1);c!==null&&(n[o]=c)}else if(y(e[o])){const c=i(e[o],r,t+1);c!==null&&Object.keys(c).length>0&&(n[o]=c)}else e[o]!==""&&(n[o]=e[o]);return t>0&&Object.keys(n).length===0?null:n};var C=(e,r)=>{const t={preserveArrays:!0,cleanArrays:!0,...r};return i(e,t,0)};const V=S(C),w=(e,...r)=>r.reduce((t,n)=>{const[o,c]=n;return c==null||typeof c=="object"&&Object.keys(V(c)).length===0?t:{...t,[o]:c}},e),h=(e,r)=>{let t;return e.forEach(n=>{t||(r(n)?t=n:t=h(n.children,r))}),t},k=(e,r)=>{try{const t=URL.createObjectURL(e),n=document.createElement("a");n.download=r,n.href=t,n.click()}catch{throw new Error("Failed to transform blob to file")}};s.camelCaseToSentence=l,s.getKeyByValue=A,s.merge=w,s.normalizeString=u,s.openFile=k,s.replaceHtmlWhitespace=j,s.searchRecursively=h,s.searchValueForEvery=p,s.searchValueForSome=O,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});