@acrool/js-utils
Version:
Common javascript utils methods for project development
2 lines (1 loc) • 2.19 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function b(t){const n=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],e=function(r){return Number.isNaN(r)?"00":n[(r-r%16)/16]+n[r%16]},s=t.toLowerCase().match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(s!==null&&s.length>3)return["#",e(s[1])+e(s[2])+e(s[3])].join("")}function p(t,n=1){let e=t.replace("#","");const s=void 0;let r;if(/^[0-9A-F]{3}$|^[0-9A-F]{6}$/.test(e.toUpperCase())){if(e.length===3){if(r=e.match(/[0-9A-F]/g),!r)return s;e=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]}const a=parseInt(e.substr(0,2),16),o=parseInt(e.substr(2,2),16),l=parseInt(e.substr(4,2),16);if(n<1){const i=n.toString().replace("0.",".");return`rgba(${[a,o,l,i].join()})`}return`rgb(${[a,o,l].join()})`}return s}function y(t){return typeof t>"u"||["",0,null].includes(t)?null:t}function d(t,n=0){const e=Number(t);return isNaN(e)?n:e}function g(t,n=!0){return t==="true"||t===!0||t===1?!0:t==="false"||t===0||t===!1?!1:n?void 0:!1}function T(t){const n=new FileReader;return new Promise((e,s)=>{n.onload=r=>{var a;(a=r.target)!=null&&a.result&&e(r.target.result)},n.onerror=r=>s(r),n.readAsDataURL(t)})}function u(t,n){n=n||"";const e=atob(t),s=[];for(let a=0;a<e.length;a+=1024){const o=e.slice(a,a+1024),l=new Array(o.length);for(let c=0;c<o.length;c++)l[c]=o.charCodeAt(c);const i=new Uint8Array(l);s.push(i)}return new Blob(s,{type:n})}function m(t){const e=new RegExp(/data:(.+);base64,/).exec(t);if(e&&e[0]){const s=e[1],r=t.replace(e[0],"");return u(r,s)}return null}function h(t){const n=new FormData,e=(s,r="")=>{for(const[a,o]of Object.entries(s)){const l=r?`${r}[${a}]`:a;if(o instanceof File)n.append(l,o);else if(o instanceof Blob){const c=o.type.split("/")[1]||"bin",f=`${a}.${c}`;n.append(l,o,f)}else Array.isArray(o)?o.forEach((i,c)=>{typeof i=="object"&&i!==null?e(i,`${l}[${c}]`):n.append(`${l}[${c}]`,i)}):typeof o=="object"&&o!==null?e(o,l):o!=null&&n.append(l,o)}};return e(t),n}exports.anyToBoolean=g;exports.anyToNumber=d;exports.base64ToBlob=u;exports.base64ToBlobWithContentType=m;exports.emptyToNull=y;exports.fileToBase64=T;exports.hexToRGB=p;exports.objToFormData=h;exports.rgbToHex=b;