UNPKG

@arcaelas/utils

Version:

A small box of tools, which are implemented in different factions of the library.

3 lines (2 loc) 5.04 kB
"use strict";var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var $=(e,n)=>{for(var o in n)l(e,o,{get:n[o],enumerable:!0})},R=(e,n,o,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of h(n))!k.call(e,t)&&t!==o&&l(e,t,{get:()=>n[t],enumerable:!(r=O(n,t))||r.enumerable});return e};var w=e=>R(l({},"__esModule",{value:!0}),e);var C={};$(C,{blank:()=>I,cookie:()=>f,copy:()=>d,empty:()=>x,get:()=>a,has:()=>m,keys:()=>E,merge:()=>p,mergeDiff:()=>j,promify:()=>A,query:()=>P,rand:()=>J,set:()=>N,setcookie:()=>Q,sleep:()=>K,source:()=>S,unset:()=>D,unsetcookie:()=>q});module.exports=w(C);function I(e){return e==null||Array.isArray(e)&&!e.length||typeof e=="string"&&e.trim().length==0||e&&typeof e=="object"&&!Object.keys(e).length}function d(e){return Array.isArray(e)?e.map(d):typeof(e??0)=="object"?p({},e):e}function x(e){return[void 0,null,!1,0].includes(e)||["object","string"].includes(typeof e)&&!Object.keys(e).length||Array.isArray(e)&&!e.length}function a(e,n="",o){try{return n.split(".").reduce((r,t)=>r[t],e)}catch{return o}}function m(e,n){try{return n.split(".").reduce((o,r)=>{if(typeof(o??0)=="object"){if(r in o)return o[r];throw new Error(`Object has no property ${r}`)}else throw new Error("Object is not an object")},e),!0}catch{return!1}}function E(e){function n(o,r=[],t=""){for(const s in o){const i=o[s],y=(t&&t+".")+s;typeof(i??0)=="object"?n(i,r,y):r.push(y)}return r}return n(e)}function p(e,...n){e=typeof(e??0)=="object"?e:{};for(const o of n)if(typeof(o??0)=="object")for(const r in o){const t=o[r];typeof(e[r]??0)=="object"&&typeof(t??0)=="object"?e[r]=p(e[r],t):e[r]=t}return e}function j(e,...n){for(e=typeof(e??0)=="object"?e:{};n.length;){const o=n.shift();if(typeof(o??0)=="object")for(const r in o){const t=o[r];r in e&&typeof(t??0)=="object"&&typeof(e[r]??0)=="object"?e[r]=j(e[r],t):e[r]=t}}return e}function A(){const e={reject:Date.now,resolve:Date.now},n=new Promise((o,r)=>Object.assign(e,{resolve:o,reject:r}));return n.status="pending",n.reject=o=>(e.reject(o),n.status="failed",n),n.resolve=o=>(e.resolve(o),n.status="filled",n),n}function J(e=-1/0,n=1/0){return Math.floor(Math.random()*(n-e+1)+e)}async function K(e=1/0){await new Promise(n=>setTimeout(n,e))}function N(e,n="",o){let r=n.split(".");for(;r.length;){let t=r.shift();Object.assign(e,{[t]:r.length?t in e?e[t]&&typeof e[t]=="object"?e[t]:r.length?{}:o:{}:o})}return e}function S(e,n={}){n={pattern:/\${([^${}]+)}/g,...n};function o(r,t){if(Array.isArray(r))return r.map(s=>o(s,t));if(typeof(r??0)=="object"){for(const s in r)r[s]=o(r[s],t);return r}else if(typeof r=="string")return r.replace(n.pattern,(s,i)=>a(t,i,""));return r}return r=>o(e,r)}function P(e){const n=Object.assign({},{$eq(t,s){return i=>a(i,t)===s},$exists(t,s){return i=>m(i,t)===s},$exp(t,s){if(!s.pattern)throw new ReferenceError(`ErrorType: RegExp with syntax ${s}`);return s=new RegExp(s.pattern,s.flags??""),i=>s.test(a(i,t,null))},$gt(t,s){return i=>a(i,t,0)>Number(s)},$gte(t,s){return i=>a(i,t,0)>=Number(s)},$in(t,s){return i=>s.includes(a(i,t))},$includes(t,s){return i=>{const y=a(i,t,[]);return Array.isArray(y)&&y.includes(s)}},$lt(t,s){return i=>a(i,t,0)<Number(s)},$lte(t,s){return i=>a(i,t,0)<=Number(s)},$not(t,s){return s=typeof(s??0)=="object"?r(s):typeof s=="function"?s:i=>a(i,t,null)===s,i=>!s(i)}},e);function o(t,s,i){let y=[];for(const c in t){let b=(s&&s+".")+c,u=t[c];if(u instanceof RegExp){const[,g,T]=String(u).match(/^\/(.*)?\/([a-z]+)?/)??[];if(!g)throw new ReferenceError(`RegExp with syntax: ${u}`);u={$exp:{pattern:g,flags:T??""}}}if(c in i){y.push(i[c](s,u));break}else typeof(u??!1)=="object"?y=y.concat(o(u,b,i)):y.push(i.$eq(b,u))}return y}function r(t){const s=o(t,"",n);return function(y){return s.every(c=>c(y))}}return r}function D(e,n=""){let o=e,r=n.split(".");for(;r.length;){const t=r.shift();if(!r.length)delete o[t];else if(typeof(o[t]??!1)=="object")o=o[t];else break}return e}function Q(e,...n){return n.length?f.set(e,...n):f.get(e)}function q(e){return f.remove(e)}const f={toSeconds:function(e=3,n=0){e=x(e)?0:e;let o=new Date().getTime();return e=isNaN(Number(e))?typeof e=="string"?new Date(e).getTime():new Date("2035").getTime():new Date().getTime()+e,n=e-o,n>0?n:0},set:function(e,n,o=1/0,r,t,s=!1){return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(n)+("; max-age="+this.toSeconds(o))+(r?"; path="+r:"")+(t?"; domain="+t:"")+(s?"; secure":""),n},get:function(e){return this.all[e]||void 0},remove:function(e,...n){return this.set(e,void 0,void 0,...n),!this.all[e]},has:function(e){return Object.keys(this.all).some(n=>n===e)},get all(){var e=[];return document.cookie.split(";").forEach(n=>{e[decodeURIComponent(n.substr(0,n.indexOf("="))).trim()]=decodeURIComponent(n.substr(n.indexOf("=")+1))}),e}};0&&(module.exports={blank,cookie,copy,empty,get,has,keys,merge,mergeDiff,promify,query,rand,set,setcookie,sleep,source,unset,unsetcookie}); //# sourceMappingURL=index.js.map