UNPKG

@acrool/js-utils

Version:

Common javascript utils methods for project development

2 lines (1 loc) 2.05 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function f(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]},o=t.toLowerCase().match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(o!==null&&o.length>3)return["#",e(o[1])+e(o[2])+e(o[3])].join("")}function b(t,n=1){let e=t.replace("#","");const o=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 o;e=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]}const a=parseInt(e.substr(0,2),16),s=parseInt(e.substr(2,2),16),l=parseInt(e.substr(4,2),16);if(n<1){const u=n.toString().replace("0.",".");return`rgba(${[a,s,l,u].join()})`}return`rgb(${[a,s,l].join()})`}return o}function p(t){return typeof t>"u"||["",0,null].includes(t)?null:t}function y(t,n=0){const e=Number(t);return isNaN(e)?n:e}function d(t,n=!0){return t==="true"||t===!0||t===1?!0:t==="false"||t===0||t===!1?!1:n?void 0:!1}function g(t){const n=new FileReader;return new Promise((e,o)=>{n.onload=r=>{var a;(a=r.target)!=null&&a.result&&e(r.target.result)},n.onerror=r=>o(r),n.readAsDataURL(t)})}function i(t,n){n=n||"";const e=atob(t),o=[];for(let a=0;a<e.length;a+=1024){const s=e.slice(a,a+1024),l=new Array(s.length);for(let c=0;c<s.length;c++)l[c]=s.charCodeAt(c);const u=new Uint8Array(l);o.push(u)}return new Blob(o,{type:n})}function T(t){const e=new RegExp(/data:(.+);base64,/).exec(t);if(e&&e[0]){const o=e[1],r=t.replace(e[0],"");return i(r,o)}return null}function h(t){const n=new FormData,e=(o,r="")=>{for(const[a,s]of Object.entries(o)){const l=r?`${r}[${a}]`:a;Array.isArray(s)?s.forEach((u,c)=>{typeof u=="object"&&u!==null?e(u,`${l}[${c}]`):n.append(`${l}[${c}]`,u)}):typeof s=="object"&&s!==null?e(s,l):s!=null&&n.append(l,s)}};return e(t),n}exports.anyToBoolean=d;exports.anyToNumber=y;exports.base64ToBlob=i;exports.base64ToBlobWithContentType=T;exports.emptyToNull=p;exports.fileToBase64=g;exports.hexToRGB=b;exports.objToFormData=h;exports.rgbToHex=f;