New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@keg-hub/jsutils

Package Overview
Dependencies
Maintainers
3
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@keg-hub/jsutils - npm Package Compare versions

Comparing version 7.0.0 to 7.0.2

build/cjs/exists-304d7972.js

5

build/cjs/ext.js

@@ -16,3 +16,4 @@ 'use strict';

var typeOf = require('./typeOf-51fe5771.js');
var exists = require('./exists-1fbf0a55.js');
var isEmpty = require('./isEmpty-73a79cab.js');
var exists = require('./exists-304d7972.js');
var strToType = require('./strToType-37916710.js');

@@ -23,5 +24,5 @@

exports.typeOf = typeOf.typeOf;
exports.isEmpty = isEmpty.isEmpty;
exports.either = exists.either;
exports.exists = exists.exists;
exports.isEmpty = exists.isEmpty;
exports.isSame = exists.isSame;

@@ -28,0 +29,0 @@ exports.isValidDate = exists.isValidDate;

32

build/cjs/index.js

@@ -11,4 +11,4 @@ 'use strict';

var hasOwn = require('./hasOwn-7999ca65.js');
var uuid = require('./uuid-33e493f9.js');
var template = require('./template-9e390348.js');
var parseErrorMessage = require('./parseErrorMessage-c24ed52c.js');
var template = require('./template-0f9ab470.js');
var isStr = require('./isStr-8a57710e.js');

@@ -30,5 +30,6 @@ var toStr = require('./toStr-8e499966.js');

var deepFreeze = require('./deepFreeze-d73ccc57.js');
var isEmpty = require('./isEmpty-73a79cab.js');
var shallowEqual = require('./shallowEqual-152d2668.js');
var deepClone = require('./deepClone-2b548986.js');
var exists = require('./exists-1fbf0a55.js');
var exists = require('./exists-304d7972.js');
var strToType = require('./strToType-37916710.js');

@@ -65,12 +66,14 @@ var log = require('./log-37bbfac6.js');

exports.pipeline = hasOwn.pipeline;
exports.checkCall = uuid.checkCall;
exports.complement = uuid.complement;
exports.debounce = uuid.debounce;
exports.doIt = uuid.doIt;
exports.eitherFunc = uuid.eitherFunc;
exports.limbo = uuid.limbo;
exports.memorize = uuid.memorize;
exports.throttle = uuid.throttle;
exports.throttleLast = uuid.throttleLast;
exports.uuid = uuid.uuid;
exports.checkCall = parseErrorMessage.checkCall;
exports.complement = parseErrorMessage.complement;
exports.debounce = parseErrorMessage.debounce;
exports.doIt = parseErrorMessage.doIt;
exports.eitherFunc = parseErrorMessage.eitherFunc;
exports.hasDomAccess = parseErrorMessage.hasDomAccess;
exports.limbo = parseErrorMessage.limbo;
exports.memorize = parseErrorMessage.memorize;
exports.parseErrorMessage = parseErrorMessage.parseErrorMessage;
exports.throttle = parseErrorMessage.throttle;
exports.throttleLast = parseErrorMessage.throttleLast;
exports.uuid = parseErrorMessage.uuid;
exports.buildPath = template.buildPath;

@@ -96,2 +99,3 @@ exports.camelCase = template.camelCase;

exports.snakeCase = template.snakeCase;
exports.spaceJoin = template.spaceJoin;
exports.styleCase = template.styleCase;

@@ -134,2 +138,3 @@ exports.template = template.template;

exports.deepFreeze = deepFreeze.deepFreeze;
exports.isEmpty = isEmpty.isEmpty;
exports.cleanColl = shallowEqual.cleanColl;

@@ -148,3 +153,2 @@ exports.deepEqual = shallowEqual.deepEqual;

exports.exists = exists.exists;
exports.isEmpty = exists.isEmpty;
exports.isSame = exists.isSame;

@@ -151,0 +155,0 @@ exports.isValidDate = exists.isValidDate;

@@ -7,5 +7,6 @@ 'use strict';

require('./isArr-39234014.js');
require('./isObj-6b3aa807.js');
var isFunc = require('./isFunc-f93803cb.js');
var hasOwn = require('./hasOwn-7999ca65.js');
var uuid = require('./uuid-33e493f9.js');
var parseErrorMessage = require('./parseErrorMessage-c24ed52c.js');
require('./isStr-8a57710e.js');

@@ -20,2 +21,3 @@ require('./isColl-5757310a.js');

require('./deepFreeze-d73ccc57.js');
require('./isEmpty-73a79cab.js');

@@ -27,12 +29,14 @@

exports.pipeline = hasOwn.pipeline;
exports.checkCall = uuid.checkCall;
exports.complement = uuid.complement;
exports.debounce = uuid.debounce;
exports.doIt = uuid.doIt;
exports.eitherFunc = uuid.eitherFunc;
exports.limbo = uuid.limbo;
exports.memorize = uuid.memorize;
exports.throttle = uuid.throttle;
exports.throttleLast = uuid.throttleLast;
exports.uuid = uuid.uuid;
exports.checkCall = parseErrorMessage.checkCall;
exports.complement = parseErrorMessage.complement;
exports.debounce = parseErrorMessage.debounce;
exports.doIt = parseErrorMessage.doIt;
exports.eitherFunc = parseErrorMessage.eitherFunc;
exports.hasDomAccess = parseErrorMessage.hasDomAccess;
exports.limbo = parseErrorMessage.limbo;
exports.memorize = parseErrorMessage.memorize;
exports.parseErrorMessage = parseErrorMessage.parseErrorMessage;
exports.throttle = parseErrorMessage.throttle;
exports.throttleLast = parseErrorMessage.throttleLast;
exports.uuid = parseErrorMessage.uuid;
exports.compareTo = noOp.compareTo;

@@ -39,0 +43,0 @@ exports.identity = noOp.identity;

@@ -7,3 +7,3 @@ 'use strict';

require('./isFunc-f93803cb.js');
var template = require('./template-9e390348.js');
var template = require('./template-0f9ab470.js');
var isStr = require('./isStr-8a57710e.js');

@@ -37,2 +37,3 @@ var toStr$1 = require('./toStr-8e499966.js');

exports.snakeCase = template.snakeCase;
exports.spaceJoin = template.spaceJoin;
exports.styleCase = template.styleCase;

@@ -39,0 +40,0 @@ exports.template = template.template;

@@ -12,4 +12,5 @@ import './isArr-a4420764.js';

export { t as typeOf } from './typeOf-8c86a991.js';
export { e as either, c as exists, i as isEmpty, a as isSame, b as isValidDate } from './exists-7671178d.js';
export { i as isEmpty } from './isEmpty-324adee6.js';
export { e as either, b as exists, i as isSame, a as isValidDate } from './exists-047a2dc1.js';
export { s as strToType } from './strToType-81b5721e.js';
//# sourceMappingURL=ext.js.map

@@ -7,4 +7,4 @@ export { v as validate } from './validate-0eec5ac6.js';

export { a as applyToFunc, h as hasOwn, p as pipeline } from './hasOwn-deb5bbb8.js';
export { c as checkCall, a as complement, d as debounce, b as doIt, e as eitherFunc, l as limbo, m as memorize, t as throttle, f as throttleLast, u as uuid } from './uuid-848872d3.js';
export { b as buildPath, c as camelCase, f as camelCasePath, e as capitalize, a as cleanStr, g as containsStr, d as delimitString, h as eitherStr, i as isEmail, v as isLowerCase, j as isPhone, u as isUpperCase, k as isUrl, l as isUuid, m as mapString, p as parseJSON, n as plural, r as removeDot, o as singular, s as snakeCase, q as styleCase, x as template, t as trainCase, w as wordCaps } from './template-77f96b79.js';
export { c as checkCall, a as complement, d as debounce, b as doIt, e as eitherFunc, h as hasDomAccess, l as limbo, m as memorize, p as parseErrorMessage, t as throttle, f as throttleLast, u as uuid } from './parseErrorMessage-54936a66.js';
export { b as buildPath, c as camelCase, f as camelCasePath, e as capitalize, a as cleanStr, g as containsStr, d as delimitString, h as eitherStr, i as isEmail, v as isLowerCase, j as isPhone, u as isUpperCase, k as isUrl, l as isUuid, m as mapString, p as parseJSON, n as plural, r as removeDot, o as singular, s as snakeCase, x as spaceJoin, q as styleCase, y as template, t as trainCase, w as wordCaps } from './template-c868e5e9.js';
export { i as isStr } from './isStr-481ce69b.js';

@@ -26,5 +26,6 @@ export { t as toStr } from './toStr-0e5fe94c.js';

export { d as deepFreeze } from './deepFreeze-0437aacd.js';
export { i as isEmpty } from './isEmpty-324adee6.js';
export { c as cleanColl, d as deepEqual, i as isEmptyColl, m as mapColl, r as reduceColl, a as repeat, s as shallowEqual, u as unset } from './shallowEqual-3485638f.js';
export { c as cloneObjWithPrototypeAndProperties, d as deepClone, s as set } from './deepClone-853aa91f.js';
export { e as either, c as exists, i as isEmpty, a as isSame, b as isValidDate } from './exists-7671178d.js';
export { e as either, b as exists, i as isSame, a as isValidDate } from './exists-047a2dc1.js';
export { s as strToType } from './strToType-81b5721e.js';

@@ -31,0 +32,0 @@ export { l as logData, r as resetLogs, s as setLogs } from './log-8543c007.js';

import './validate-0eec5ac6.js';
import './isArr-a4420764.js';
import './isObj-2a71d1af.js';
export { i as isFunc } from './isFunc-40ceeef8.js';
export { a as applyToFunc, p as pipeline } from './hasOwn-deb5bbb8.js';
export { c as checkCall, a as complement, d as debounce, b as doIt, e as eitherFunc, l as limbo, m as memorize, t as throttle, f as throttleLast, u as uuid } from './uuid-848872d3.js';
export { c as checkCall, a as complement, d as debounce, b as doIt, e as eitherFunc, h as hasDomAccess, l as limbo, m as memorize, p as parseErrorMessage, t as throttle, f as throttleLast, u as uuid } from './parseErrorMessage-54936a66.js';
import './isStr-481ce69b.js';

@@ -15,2 +16,3 @@ import './isColl-15a1452b.js';

import './deepFreeze-0437aacd.js';
import './isEmpty-324adee6.js';
//# sourceMappingURL=method.js.map
import './isArr-a4420764.js';
import './isFunc-40ceeef8.js';
export { b as buildPath, c as camelCase, f as camelCasePath, e as capitalize, a as cleanStr, g as containsStr, d as delimitString, h as eitherStr, i as isEmail, v as isLowerCase, j as isPhone, u as isUpperCase, k as isUrl, l as isUuid, m as mapString, p as parseJSON, n as plural, r as removeDot, o as singular, s as snakeCase, q as styleCase, x as template, t as trainCase, w as wordCaps } from './template-77f96b79.js';
export { b as buildPath, c as camelCase, f as camelCasePath, e as capitalize, a as cleanStr, g as containsStr, d as delimitString, h as eitherStr, i as isEmail, v as isLowerCase, j as isPhone, u as isUpperCase, k as isUrl, l as isUuid, m as mapString, p as parseJSON, n as plural, r as removeDot, o as singular, s as snakeCase, x as spaceJoin, q as styleCase, y as template, t as trainCase, w as wordCaps } from './template-c868e5e9.js';
export { i as isStr } from './isStr-481ce69b.js';

@@ -5,0 +5,0 @@ export { t as toStr } from './toStr-0e5fe94c.js';

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jsutils={})}(this,(function(e){"use strict";const t={SHOULD_LOG:!0,SHOULD_THROW:!1,LOG_PREFIX:null},r=(e,r={},{logs:s=t.SHOULD_LOG,throws:i=t.SHOULD_THROW,prefix:u=t.LOG_PREFIX}={})=>{const l=Object.entries(e),c=()=>!0,a=l.map(([e,t])=>n(e,t,r[e]||r.$default||c)),{success:f,cases:p}=a.reduce((e,t)=>o(e,t,{logs:s,throws:i,prefix:u}),{success:!0,cases:{}});return[f,p]};r.setOptions=({logs:e,throws:r,prefix:n})=>{void 0!==e&&(t.SHOULD_LOG=e),void 0!==r&&(t.SHOULD_THROW=r),void 0!==n&&(t.LOG_PREFIX=n)},r.resetOptions=()=>{t.SHOULD_LOG=!0,t.SHOULD_THROW=!1,t.LOG_PREFIX=null};const n=(e,t,r)=>{const n=r(t),o=!r.name||r.name===e||"$default"===r.name?r.toString():r.name;return{success:n,key:e,value:t,validator:r,reason:n?null:[`Argument "${e}" with value `,t,` failed validator: ${o}.`]}},o=(e,t,{logs:r,throws:n,prefix:o})=>(!t.success&&s(t,r,n,o),{success:e.success&&t.success,cases:{...e.cases,[t.key]:t}}),s=(e,t,r,n)=>{const o=n?[n,...e.reason]:e.reason;if(r)throw new Error(o.join());t&&console.error(...o)},i=e=>Array.isArray(e),u=e=>{const t=new Map;for(let n=0;n<e.length;n++){var r;const o=e[n],s=null!==(r=t.get(o))&&void 0!==r?r:0;t.set(o,s+1)}return t},l=(e,t)=>{if(e.size!==t.size)return!1;for(let[r,n]of e){if(t.get(r)!==n)return!1}return!0},c=e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,a=e=>"function"==typeof e,f=(e,t)=>{if(i(t)){const[r,...n]=t;return r(e,...n)}return a(t)?t(e):(console.error("Pipeline expected either a function or an array (for function expressions). Found "+typeof t),e)},p=(e,...t)=>t.reduce((e,t)=>f(e,t),e),d=e=>"string"==typeof e,m=(e,t)=>{if(!d(e))return e;if(!a(t))return e;let r="";for(const n of e)r+=t(n);return r},g=e=>e===e.toLowerCase(),y=e=>e===e.toUpperCase(),O=(e,t,r=["-","_"," "])=>{if(!d(e))return e;const n=e=>r.some(t=>t===e);let o="_";return m(e,e=>n(e)?(o=t,t):y(e)&&g(o)&&!n(o)?(o=e,t+e):(o=e,e))},h=(e,t=!0)=>{if(!d(e)||!e[0])return e;const r=t?e.slice(1).toLowerCase():e.slice(1);return`${e[0].toUpperCase()}${r}`},b=e=>{const t=0===e.indexOf(".")?e.slice(1):e;return t.indexOf(".")===t.length-1?t.slice(0,-1):t},j=e=>e&&b(e).replace(/[-_]/gm," ")||e,w=(e,t)=>e&&j(e).split(/[\s_-]/gm).reduce((e,r,n)=>r?e+=(n>0||t)&&h(r)||r.toLowerCase():e,"")||e,S=e=>null==e?"":d(e)?e:JSON.stringify(e),_=e=>d(e)&&e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")||e,A=e=>"object"==typeof e&&null!==e,C=(e,t,r,n)=>{const o=e;if(!A(e)||!e||!t)return"set"!==r&&n||void 0;const s=i(t)?Array.from(t):t.split("."),u=s.pop();let l,c;for(;l=s.shift();){const t=e[l];if(A(t)||a(t)?e=t:("set"===r?e[l]={}:c=!0,e=e[l]),c)return n}return"get"===r?u in e?e[u]:n:"unset"===r?delete e[u]:(e[u]=n)&&o||o},v=(e,t,r)=>C(e,t,"get",r),E=(e,t,r="")=>{t=A(t)&&t||{};const n=E.regex||/\${([^{]+[^}])}/g;return d(e)?e.replace(n,(e,n)=>{const o=(n||e.substr(2,e.length-3)).trim(),s=v(t,o,r);return a(s)?s(t,o,r):s}):console.error("template requires a string as the first argument")||e},$=e=>"boolean"==typeof e,F=e=>"false"===e||"true"===e,P=e=>$(e)?S(e):e&&"false"!==e&&"0"!==e?"true":"false",x=e=>Boolean(e||""===e||0===e),T=e=>F(e)?"true"===e:"true"===P(e),L=e=>"number"==typeof e&&e!=e,I=e=>"number"==typeof e&&!L(e),N=e=>I(e)&&e>=0,U=e=>S(e).replace(/([^.\d])/gm,""),R=e=>I(e)?e:e&&!L(e)&&Number(U(e))||0,k=e=>d(e)||I(e)||$(e),D=(e,t)=>{const[n]=r({x:e,y:t},{$default:k});return n?d(e)?e.localeCompare(t):e-t:null},z=e=>e,M=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),q=e=>e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,q),H=e=>{const t=function(...r){return e instanceof t||v(e.prototype,"constructor.name")?new e(...r):e.apply(e,r)};for(let r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return Object.defineProperty(t,"name",{value:e.name,configurable:!0}),t.toString=()=>e.toString(),t},J=e=>Object.prototype.toString.call(e).slice(8,-1),B=(e,...t)=>{if(!t.length)return null;for(let r of t){if(!i(r)){console.error("Matching case must be an entry (a 2-element array). Found: "+J(r),r);break}const[t,n]=r;if(a(t)&&t(e))return n;if(t===e)return n}return null};B.default=()=>!0;const G=e=>(Object.freeze(e),Object.getOwnPropertyNames(e).map(t=>{e.hasOwnProperty(t)&&null!==e[t]&&("object"==typeof e[t]||a(e[t]))&&!Object.isFrozen(e[t])&&G(e[t])}),e),W=Object.freeze({}),K=G({content:{}}),X=G([]),V=(e,t)=>{const[n]=r({arr:e,comparator:t},{arr:i,$default:a});return n&&e.length?e.reduce((e,r)=>t(e,r)>0?e:r):null},Q=e=>i(e)?e.filter((e,t,r)=>r.indexOf(e)==t):e,Z=(e,t=!0)=>A(e)?Object.keys(e).reduce((r,n)=>{const o=e[n];return null==o||(r[n]=t&&A(o)?Z(o):o),r},c(e)&&{}||[]):console.error("cleanColl requires a collection as the first argument")||e,Y=(e,t,r)=>C(e,t,"set",r),ee=Array.isArray,te=Object.keys,re=Object.prototype.hasOwnProperty,ne=(e,t)=>{if(e===t)return!0;if(!e||!t||"object"!=typeof e||"object"!=typeof t)return e!=e&&t!=t;const r=ee(e),n=ee(t);let o,s,i;if(r&&n){if(s=e.length,s!=t.length)return!1;for(o=s;0!=o--;)if(!ne(e[o],t[o]))return!1;return!0}if(r!=n)return!1;const u=e instanceof Date,l=t instanceof Date;if(u!=l)return!1;if(u&&l)return e.getTime()==t.getTime();const c=e instanceof RegExp,a=t instanceof RegExp;if(c!=a)return!1;if(c&&a)return e.toString()==t.toString();const f=te(e);if(s=f.length,s!==te(t).length)return!1;for(o=s;0!=o--;)if(!re.call(t,f[o]))return!1;for(o=s;0!=o--;)if(i=f[o],!ne(e[i],t[i]))return!1;return!0},oe=(e,t=new WeakMap)=>{if(Object(e)!==e)return e;if(e instanceof Set)return new Set(e);if(t.has(e))return t.get(e);if(i(e))return e.map(e=>oe(e));if(a(e))return H(e);const r=e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e.source,e.flags):e.constructor?null:Object.create(null);return null===r?se(e):(t.set(e,r),e instanceof Map?Array.from(e,([e,n])=>r.set(e,oe(n,t))):Object.assign(r,...Object.keys(e).map(r=>({[r]:oe(e[r],t)}))))},se=e=>{if(!e)return e;const t=Object.getPrototypeOf(e),r=Object.getOwnPropertyDescriptors(e);for(const[e,t]of Object.entries(r))t.value&&(r[e].value=oe(t.value));const n=Object.create(t,r);return Object.isFrozen(e)&&Object.freeze(n),Object.isSealed(e)&&Object.seal(n),n},ie=e=>e&&d(e)?F(e)?T(e):I(e)?R(e):(()=>{try{return JSON.parse(e)}catch(t){return e}})():e;let ue,le="dir",ce="type";const ae=["error","info","log","dir","warn"],fe=(...e)=>{if(!e.length)return;let t=1===e.length?le:e.pop();(ue||"error"===t)&&("string"==typeof e[0]&&("type"===ce?e[0]=`[ ${t.toUpperCase()} ] ${e[0]}`:ce&&(e[0]=`${ce} ${e[0]}`)),-1!==ae.indexOf(t)?console[t](...e):console[le](...e,t))},pe=(e,t)=>{e&&Object.entries(e).map(([r,n])=>{t&&-1!==t.indexOf(r)||("object"==typeof n&&pe(n),e[r]=void 0,delete e[r])})},de=(...e)=>e.reduce((e,t)=>{const r=oe(t);return i(r)?[...i(e)&&e||[],...r]:c(r)?Object.entries(r).reduce((e,[t,r])=>({...e,[t]:a(r)?H(r):A(r)&&t in e?de(e[t],r):oe(r)}),e):e},i(e[0])&&[]||{}),me=e=>i(e)&&2===e.length&&(I(e[0])||d(e[0])),ge=(e,t)=>{if(!i(e)&&!c(e))return console.error(e,"Expected array or object for obj. Found "+typeof e),e;if(!a(t))return console.error("Expected function for cb. Found "+typeof t),e;const r=Object.entries(e),n=i(e)?[]:{};return r.reduce((e,[r,n])=>{const o=t(r,n);return me(o)?Y(e,o[0],o[1]):(console.error(`Callback function must return entry. Found: ${o}. Using current entry instead.`),Y(e,r,n))},n)},ye=(e,t,r={})=>c(e)&&a(t)&&Object.entries(e).reduce((e,[r,n])=>t(r,n,e),r)||r,Oe=e=>{if(!a(e))throw"Argument must be a function";return(...t)=>new Promise((r,n)=>a(t[t.length-1])?(t.pop(),t.push((...e)=>e&&e[0]?n(...e):r(...e)),e(...t)):r(e(...t)))},he=Array.from(["caller","callee","arguments","apply","bind","call","toString","__proto__","__defineGetter__","__defineSetter__","hasOwnProperty","__lookupGetter__","__lookupSetter__","isPrototypeOf","propertyIsEnumerable","valueOf","toLocaleString"]).concat(Object.getOwnPropertyNames(Object.prototype)).reduce((e,t)=>(e[t]=!0,e),{}),be=e=>{if(!e.__IS_PROMISIFIED__){for(const t of Object.getOwnPropertyNames(e)){if(!(-1!==t.indexOf("Async")||e[t+"Async"])&&!he[t])if(a(e[t]))e[t+"Async"]=Oe(e[t]);else{const r=Object.getOwnPropertyDescriptor(e,t).get;a(r)&&(e[t+"Async"]=Oe(r))}}e.__IS_PROMISIFIED__=!0}return e},je=e=>{const t={},r=e.split("?"),n=r[r.length-1];if(!n)return t;const o=n.split("&");return o.length&&o.map(e=>{const r=e.split("=");if(r.length<=1)return t;const n=[r.shift(),r.join("=")];if(2===n.length){const e=decodeURIComponent(n[1]).split(",");if(e&&e.length>1)t[n[0]]=e;else if(n[0]in t){const e=t[n[0]];t[n[0]]=i(e)?e.push(decodeURIComponent(n[1])):[e,decodeURIComponent(n[1])]}else t[n[0]]=decodeURIComponent(n[1])}}),t};e.applyToCloneOf=(e,t)=>{let r;if(e||(r="object (Argument 1) in applyToCloneOf, must be defined!"),c(e)||(r="object (Argument 1) in applyToCloneOf, must be an object!"),t||(r="mutator (Argument 2) in applyToCloneOf, must be defined!"),a(t)||(r="mutator (Argument 2) arg in applyToCloneOf, must be a function!"),r)return console.warn(r)||e;const n=oe(e);return t(n),n},e.applyToFunc=f,e.areCountMapsEqual=l,e.areFrequencyEqual=(e,t)=>{const[n]=r({arr:e,otherArr:t},{$default:i});if(!n)return null;if(e===t)return!0;if(e.length!==t.length)return!1;const o=u(e),s=u(t);return l(o,s)},e.areSetEqual=(e,t)=>{const[n]=r({arr:e,otherArr:t},{$default:i});if(!n)return null;if(e===t)return!0;const[o,s]=e.length>t.length?[e,t]:[t,e],u=new Set(s);for(let e=0;e<o.length;e++){const t=o[e];if(!u.has(t))return!1}return!0},e.buildElementCountMap=u,e.buildPath=(...e)=>e.reduce((e,t)=>{let r=toStr(t);return`${e}${r&&"/"+r||""}`},"").replace(/([^:\/]|^)\/{2,}/g,"$1/"),e.camelCase=w,e.camelCasePath=e=>{const t=e.split(".").map((e,t)=>t>0?h(e,!1):e);return t.length>1?t.join(""):e},e.capitalize=h,e.checkCall=(e,...t)=>a(e)&&e(...t)||void 0,e.cleanColl=Z,e.cleanStr=j,e.clearObj=pe,e.cloneArr=e=>Array.from([...i(e)&&e||c(e)&&Object.entries(e)||[]]),e.cloneFunc=H,e.cloneJson=e=>{try{return JSON.parse(JSON.stringify(e))}catch(e){return fe(e.message,"error"),null}},e.cloneObjWithPrototypeAndProperties=se,e.compareTo=D,e.complement=e=>{const[t]=r({predicate:e},{predicate:a});return t?(...t)=>!e(...t):null},e.containsStr=(e,t,r)=>(e=!d(e)&&S(e)||e,t=!d(t)&&S(t)||t,-1!==e.indexOf(t,r)),e.convertToStrBool=P,e.debounce=(e,t=250,r=!1)=>{let n;return function(...o){if(!a(e))return null;const s=this,i=r&&!n;return clearTimeout(n),n=setTimeout(()=>{n=null,!r&&e.apply(s,o)},t),i?a(e)&&e.apply(s,o):void 0}},e.deepClone=oe,e.deepEqual=ne,e.deepFreeze=G,e.deepMerge=de,e.delimitString=O,e.doIt=(...e)=>{const t=e.slice(),r=t.shift(),n=t.shift(),o=t.pop();if(!I(r)||!a(o))return[];const s=new Array(r),i=[];for(let e=0;e<s.length;e++){const r=o.call(n,e,...t);if(!1===r)break;i.push(r)}return i},e.either=(e,t,r)=>a(r)?r(e,t)&&e||t:x(e)&&e||t,e.eitherArr=(e,t)=>i(e)?e:t,e.eitherFunc=(e,t)=>a(e)&&e||t,e.eitherObj=(e,t)=>c(e)&&e||t,e.eitherStr=(e,t)=>d(e)&&e||t,e.equalsNaN=L,e.everyEntry=(e,t)=>e?c(e)?a(t)?p(e,Object.entries,e=>e.every(([e,r])=>t(e,r))):(console.error("Argument 'predicate' passed into everyEntry must a function. Found: "+t),!1):(console.error(`Argument obj ${e} must be an object.`),!1):(console.error(`everyEntry expects argument obj [${e}] to be defined.`),!1),e.exists=e=>e==e&&null!=e,e.filterObj=(e,t)=>e?c(e)?a(t)?ye(e,(e,r,n)=>(t(e,r)&&(n[e]=r),n),{}):(console.error("Argument 'predicate' passed into filterObject must a function. Found: "+t),e):(console.error(`Object ${e} was not an object. It must be for filterObject`),e):e,e.findExtrema=V,e.findMax=(e=[],t=z)=>V(e,(e,r)=>D(t(e),t(r))),e.findMin=(e=[],t=z)=>V(e,(e,r)=>D(t(r),t(e))),e.flatMap=(e,t)=>{const[n]=r({arr:e,mapFn:t},{arr:i,mapFn:a});return n?e.reduce((e,r)=>{const n=t(r);return i(n)?n.map(t=>e.push(t)):e.push(n),e},[]):e},e.get=v,e.getNums=U,e.getURLParam=e=>{var t,n,o;const[s]=r({paramKey:e},{paramKey:d});if(!s)return null;const i="undefined"!=typeof document?document:null,u=null==i||null===(t=i.location)||void 0===t?void 0:t.search;return d(u)&&null!==(n=null===(o=je(u))||void 0===o?void 0:o[e])&&void 0!==n?n:null},e.hasOwn=M,e.identity=z,e.isArr=i,e.isArrMap=e=>{if(!c(e))return!1;const t=Object.values(e);return T(t.length&&t.every(i))},e.isBool=$,e.isColl=A,e.isEmail=e=>{if(!e||!d(e))return!1;return Boolean(/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(e))},e.isEmpty=e=>c(e)?0===Object.keys(e).length:i(e)?0===e.length:d(e)?0===e.trim().length:!!I(e)&&e<1,e.isEmptyColl=e=>i(e)?0===e.length:A(e)&&0===Object.getOwnPropertyNames(e).length,e.isEntry=me,e.isFloat=e=>I(e)&&e%1!=0,e.isFunc=a,e.isInt=e=>I(e)&&e%1==0,e.isLowerCase=g,e.isNegative=e=>I(e)&&e<0,e.isNonNegative=N,e.isNum=I,e.isObj=c,e.isOrderable=k,e.isPhone=e=>{if(!e||!d(e))return!1;return Boolean(/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im.test(e))&&e.replace(/\D/g,"").length<11},e.isPositive=e=>I(e)&&e>0,e.isSame=(e,t)=>e===t?0!==e||1/e==1/t:e!=e&&t!=t,e.isStr=d,e.isStrBool=F,e.isUpperCase=y,e.isUrl=e=>Boolean(/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(e)),e.isUuid=e=>{if(!e||!d(e))return!1;return Boolean(/^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i.test(e))},e.isValidDate=e=>!isNaN((e instanceof Date&&e||new Date(e)).getTime()),e.isValidUrl=e=>/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?/.test(e),e.jsonEqual=(e,t)=>{try{return JSON.stringify(e)===JSON.stringify(t)}catch(e){return!1}},e.keyMap=(e,t)=>i(e)&&e.reduce((e,r)=>{if(!d(r))return e;const n=t&&r.toUpperCase()||r;return e[n]=n,e},{})||{},e.limbo=e=>e&&a(e.then)?e.then(e=>[null,e]).catch(e=>[e,void 0]):[new Error("A promise or thenable is required as the first argument!"),null],e.logData=fe,e.mapColl=(e,t)=>a(t)&&A(e)?Object.keys(e).map(r=>t(r,e[r],e)):i(e)?[]:{},e.mapEntries=ge,e.mapKeys=(e,t)=>c(e)&&a(t)?ge(e,(e,r)=>[t(e),r]):e,e.mapObj=(e,t)=>c(e)&&a(t)&&Object.entries(e).map(([e,r])=>t(e,r))||e,e.mapString=m,e.match=B,e.memorize=(e,t,r=1)=>{if(!a(e)||t&&!a(t))return console.error("Error: Expected a function",e,t);let n=function(){const o=n.cache,s=t?t.apply(this,arguments):arguments[0];if(M(o,s))return o[s];const i=e.apply(this,arguments);return I(r)&&Object.keys(o).length<r?o[s]=i:n.cache={[s]:i},i};return n.cache={},n.destroy=()=>{t=void 0,n.cache=void 0,n.destroy=void 0,n=void 0},n},e.noOp=()=>{},e.noOpObj=W,e.noPropArr=X,e.noPropObj=K,e.nth=e=>{if(!I(e)){if(!(e=U(e)))return"";if(e=R(e),L(e))return""}const t=e%100;if(t>=10&&t<=20)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},e.objToQuery=e=>{let t;return ye(e,(e,r,n)=>{if(!r)return n;const o=d(r)||I(r)||$(r)?r:A(r)?i(r)?r.join(","):JSON.stringify(r):null;return o?(n=t?`${n}&${encodeURIComponent(e)}=${encodeURIComponent(o)}`:`?${encodeURIComponent(e)}=${encodeURIComponent(o)}`,t=!0,n):n},"")},e.omitKeys=(e={},t=[])=>c(e)&&ye(e,(r,n,o)=>(-1===t.indexOf(r)&&(o[r]=e[r]),o),{})||{},e.omitRange=(e,t,n)=>{const[o]=r({arr:e,startIndex:t,count:n},{arr:i,$default:N});if(!o)return e;const s=[...e];return s.splice(t,n),s},e.parseJSON=e=>{try{return JSON.parse(e)}catch(e){return console.error(e.message),null}},e.pickKeys=(e={},t=[])=>c(e)&&t.reduce((t,r)=>(r in e&&(t[r]=e[r]),t),{})||{},e.pipeline=p,e.plural=e=>e&&e.length&&"s"!==e[e.length-1]?e+"s":e,e.promisify=Oe,e.promisifyAll=e=>{if(!c(e))return e;be(e);const t=Object.getPrototypeOf(e);return t&&null!==Object.getPrototypeOf(t)&&be(t),e},e.queryToObj=je,e.randomArr=(e,t)=>{if(!i(e))return e;const r=t||1,n=[];for(let t=0;t<r;t++)n.push(e[Math.floor(Math.random()*e.length)]);return t?n:n[0]},e.randomizeArr=e=>!i(e)&&e||e.sort(()=>.5-Math.random()),e.reduceColl=(e,t,r)=>a(t)&&A(e)?Object.keys(e).reduce((r,n)=>t(n,e[n],e,r),r):i(e)?[]:{},e.reduceObj=ye,e.removeDot=b,e.repeat=(e,t,r=!1)=>{if(!t||t<=0)return[];if(!I(t))return console.error("Times argument must be a number"),[];const n=[];for(let o=0;o<t;o++){const t=a(e)?e():r?oe(e):e;n.push(t)}return n},e.resetLogs=()=>{ue=void 0,le="log",ce="type"},e.sanitize=_,e.sanitizeCopy=e=>JSON.parse(_(JSON.stringify(e))),e.set=Y,e.setLogs=(e,t,r)=>{ue=e,le=t||le||"log",ce=r||ce||"type"},e.shallowEqual=(e,t,r)=>{if(r&&(i(r)||d(r))&&(e=v(e,r),t=v(t,r)),e===t)return!0;if(!(e&&A(e)&&t&&A(t)))return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0},e.singular=e=>e&&e.length&&"s"===e[e.length-1]?e.slice(0,e.length-1):e,e.snakeCase=e=>O(e,"_").toLowerCase(),e.softFalsy=x,e.someEntry=(e,t)=>e?c(e)?a(t)?p(e,Object.entries,e=>e.some(([e,r])=>t(e,r))):(console.error("Argument 'predicate' passed into someEntry must a function. Found: "+t),!1):(console.error(`Argument obj ${e} must be an object.`),!1):(console.error(`someEntry expects argument obj [${e}] to be defined.`),!1),e.strToType=ie,e.styleCase=e=>{if(!d(e))return e;const t=w(e);return`${t[0].toLowerCase()}${t.slice(1)}`},e.template=E,e.throttle=(e,t=100)=>{let r=!1;return function(...n){if(!r)return r=!0,e.apply(this,n),setTimeout(()=>{r=!1},t)}},e.throttleLast=(e,t,r=100)=>{let n;return function(...o){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,o),clearTimeout(n)},r),"function"==typeof t&&t()}},e.toBool=T,e.toFloat=e=>e&&!L(e)&&parseFloat(I(e)&&e||U(e))||0,e.toInt=e=>e&&!L(e)&&parseInt(I(e)&&e||U(e))||0,e.toNum=R,e.toObj=(e,t,r)=>i(e)?Object.keys(e).reduce((t,r)=>(t[r]=e[r],t),{}):d(str)?(t=t||"=",r=r||"&",str.split(r).reduce((e,r)=>{const n=r.split(t);return e[n[0].trim()]=ie(n[1].trim()),e},{})):{},e.toStr=S,e.trainCase=e=>d(e)&&e.split(/(?=[A-Z])|[\s_-]/gm).join("-").toLowerCase()||e,e.trimStringFields=e=>Object.entries(e).reduce((e,[t,r])=>(e[t]=d(r)?r.trim():r,e),e),e.typeOf=J,e.uniqArr=(e,t)=>{if(!t)return Q(e);const{unique:r}=e.reduce((e,r)=>{const n=t(r);return!e.set.has(n)&&e.unique.push(r),e.set.add(n),e},{unique:[],set:new Set});return r},e.uniqArrByReference=Q,e.unset=(e,t)=>C(e,t,"unset"),e.uuid=q,e.validate=r,e.wait=e=>new Promise((t,r)=>setTimeout(()=>t(!0),e)),e.wordCaps=e=>{if(!d(e))return e;return j(e).split(" ").map(e=>e&&h(e)||"").join(" ")}}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jsutils={})}(this,(function(e){"use strict";const t={SHOULD_LOG:!0,SHOULD_THROW:!1,LOG_PREFIX:null},r=(e,r={},{logs:s=t.SHOULD_LOG,throws:i=t.SHOULD_THROW,prefix:u=t.LOG_PREFIX}={})=>{const c=Object.entries(e),l=()=>!0,a=c.map(([e,t])=>n(e,t,r[e]||r.$default||l)),{success:f,cases:p}=a.reduce((e,t)=>o(e,t,{logs:s,throws:i,prefix:u}),{success:!0,cases:{}});return[f,p]};r.setOptions=({logs:e,throws:r,prefix:n})=>{void 0!==e&&(t.SHOULD_LOG=e),void 0!==r&&(t.SHOULD_THROW=r),void 0!==n&&(t.LOG_PREFIX=n)},r.resetOptions=()=>{t.SHOULD_LOG=!0,t.SHOULD_THROW=!1,t.LOG_PREFIX=null};const n=(e,t,r)=>{const n=r(t),o=!r.name||r.name===e||"$default"===r.name?r.toString():r.name;return{success:n,key:e,value:t,validator:r,reason:n?null:[`Argument "${e}" with value `,t,` failed validator: ${o}.`]}},o=(e,t,{logs:r,throws:n,prefix:o})=>(!t.success&&s(t,r,n,o),{success:e.success&&t.success,cases:{...e.cases,[t.key]:t}}),s=(e,t,r,n)=>{const o=n?[n,...e.reason]:e.reason;if(r)throw new Error(o.join());t&&console.error(...o)},i=e=>Array.isArray(e),u=e=>{const t=new Map;for(let n=0;n<e.length;n++){var r;const o=e[n],s=null!==(r=t.get(o))&&void 0!==r?r:0;t.set(o,s+1)}return t},c=(e,t)=>{if(e.size!==t.size)return!1;for(let[r,n]of e){if(t.get(r)!==n)return!1}return!0},l=e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,a=e=>"function"==typeof e,f=(e,t)=>{if(i(t)){const[r,...n]=t;return r(e,...n)}return a(t)?t(e):(console.error("Pipeline expected either a function or an array (for function expressions). Found "+typeof t),e)},p=(e,...t)=>t.reduce((e,t)=>f(e,t),e),d=e=>"string"==typeof e,m=(e,t)=>{if(!d(e))return e;if(!a(t))return e;let r="";for(const n of e)r+=t(n);return r},g=e=>e===e.toLowerCase(),y=e=>e===e.toUpperCase(),O=(e,t,r=["-","_"," "])=>{if(!d(e))return e;const n=e=>r.some(t=>t===e);let o="_";return m(e,e=>n(e)?(o=t,t):y(e)&&g(o)&&!n(o)?(o=e,t+e):(o=e,e))},h=(e,t=!0)=>{if(!d(e)||!e[0])return e;const r=t?e.slice(1).toLowerCase():e.slice(1);return`${e[0].toUpperCase()}${r}`},b=e=>{const t=0===e.indexOf(".")?e.slice(1):e;return t.indexOf(".")===t.length-1?t.slice(0,-1):t},j=e=>e&&b(e).replace(/[-_]/gm," ")||e,w=(e,t)=>e&&j(e).split(/[\s_-]/gm).reduce((e,r,n)=>r?e+=(n>0||t)&&h(r)||r.toLowerCase():e,"")||e,S=e=>null==e?"":d(e)?e:JSON.stringify(e),A=e=>d(e)&&e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")||e,_=e=>"object"==typeof e&&null!==e,C=(e,t,r,n)=>{const o=e;if(!_(e)||!e||!t)return"set"!==r&&n||void 0;const s=i(t)?Array.from(t):t.split("."),u=s.pop();let c,l;for(;c=s.shift();){const t=e[c];if(_(t)||a(t)?e=t:("set"===r?e[c]={}:l=!0,e=e[c]),l)return n}return"get"===r?u in e?e[u]:n:"unset"===r?delete e[u]:(e[u]=n)&&o||o},v=(e,t,r)=>C(e,t,"get",r),E=(e,t,r="")=>{t=_(t)&&t||{};const n=E.regex||/\${([^{]+[^}])}/g;return d(e)?e.replace(n,(e,n)=>{const o=(n||e.substr(2,e.length-3)).trim(),s=v(t,o,r);return a(s)?s(t,o,r):s}):console.error("template requires a string as the first argument")||e},$=e=>"boolean"==typeof e,F=e=>"false"===e||"true"===e,P=e=>$(e)?S(e):e&&"false"!==e&&"0"!==e?"true":"false",x=e=>Boolean(e||""===e||0===e),T=e=>F(e)?"true"===e:"true"===P(e),L=e=>"number"==typeof e&&e!=e,I=e=>"number"==typeof e&&!L(e),N=e=>I(e)&&e>=0,U=e=>S(e).replace(/([^.\d])/gm,""),R=e=>I(e)?e:e&&!L(e)&&Number(U(e))||0,D=e=>d(e)||I(e)||$(e),k=(e,t)=>{const[n]=r({x:e,y:t},{$default:D});return n?d(e)?e.localeCompare(t):e-t:null},M=e=>e,z=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),q=e=>e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,q),J=e=>{const t=function(...r){return e instanceof t||v(e.prototype,"constructor.name")?new e(...r):e.apply(e,r)};for(let r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return Object.defineProperty(t,"name",{value:e.name,configurable:!0}),t.toString=()=>e.toString(),t},H=e=>Object.prototype.toString.call(e).slice(8,-1),B=(e,...t)=>{if(!t.length)return null;for(let r of t){if(!i(r)){console.error("Matching case must be an entry (a 2-element array). Found: "+H(r),r);break}const[t,n]=r;if(a(t)&&t(e))return n;if(t===e)return n}return null};B.default=()=>!0;const G=e=>(Object.freeze(e),Object.getOwnPropertyNames(e).map(t=>{e.hasOwnProperty(t)&&null!==e[t]&&("object"==typeof e[t]||a(e[t]))&&!Object.isFrozen(e[t])&&G(e[t])}),e),W=Object.freeze({}),K=G({content:{}}),X=G([]),V=e=>l(e)?0===Object.keys(e).length:i(e)?0===e.length:d(e)?0===e.trim().length:!!I(e)&&e<1,Q=(e,t)=>{const[n]=r({arr:e,comparator:t},{arr:i,$default:a});return n&&e.length?e.reduce((e,r)=>t(e,r)>0?e:r):null},Z=e=>i(e)?e.filter((e,t,r)=>r.indexOf(e)==t):e,Y=(e,t=!0)=>_(e)?Object.keys(e).reduce((r,n)=>{const o=e[n];return null==o||(r[n]=t&&_(o)?Y(o):o),r},l(e)&&{}||[]):console.error("cleanColl requires a collection as the first argument")||e,ee=(e,t,r)=>C(e,t,"set",r),te=Array.isArray,re=Object.keys,ne=Object.prototype.hasOwnProperty,oe=(e,t)=>{if(e===t)return!0;if(!e||!t||"object"!=typeof e||"object"!=typeof t)return e!=e&&t!=t;const r=te(e),n=te(t);let o,s,i;if(r&&n){if(s=e.length,s!=t.length)return!1;for(o=s;0!=o--;)if(!oe(e[o],t[o]))return!1;return!0}if(r!=n)return!1;const u=e instanceof Date,c=t instanceof Date;if(u!=c)return!1;if(u&&c)return e.getTime()==t.getTime();const l=e instanceof RegExp,a=t instanceof RegExp;if(l!=a)return!1;if(l&&a)return e.toString()==t.toString();const f=re(e);if(s=f.length,s!==re(t).length)return!1;for(o=s;0!=o--;)if(!ne.call(t,f[o]))return!1;for(o=s;0!=o--;)if(i=f[o],!oe(e[i],t[i]))return!1;return!0},se=(e,t=new WeakMap)=>{if(Object(e)!==e)return e;if(e instanceof Set)return new Set(e);if(t.has(e))return t.get(e);if(i(e))return e.map(e=>se(e));if(a(e))return J(e);const r=e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e.source,e.flags):e.constructor?null:Object.create(null);return null===r?ie(e):(t.set(e,r),e instanceof Map?Array.from(e,([e,n])=>r.set(e,se(n,t))):Object.assign(r,...Object.keys(e).map(r=>({[r]:se(e[r],t)}))))},ie=e=>{if(!e)return e;const t=Object.getPrototypeOf(e),r=Object.getOwnPropertyDescriptors(e);for(const[e,t]of Object.entries(r))t.value&&(r[e].value=se(t.value));const n=Object.create(t,r);return Object.isFrozen(e)&&Object.freeze(n),Object.isSealed(e)&&Object.seal(n),n},ue=e=>e&&d(e)?F(e)?T(e):I(e)?R(e):(()=>{try{return JSON.parse(e)}catch(t){return e}})():e;let ce,le="dir",ae="type";const fe=["error","info","log","dir","warn"],pe=(...e)=>{if(!e.length)return;let t=1===e.length?le:e.pop();(ce||"error"===t)&&("string"==typeof e[0]&&("type"===ae?e[0]=`[ ${t.toUpperCase()} ] ${e[0]}`:ae&&(e[0]=`${ae} ${e[0]}`)),-1!==fe.indexOf(t)?console[t](...e):console[le](...e,t))},de=(e,t)=>{e&&Object.entries(e).map(([r,n])=>{t&&-1!==t.indexOf(r)||("object"==typeof n&&de(n),e[r]=void 0,delete e[r])})},me=(...e)=>e.reduce((e,t)=>{const r=se(t);return i(r)?[...i(e)&&e||[],...r]:l(r)?Object.entries(r).reduce((e,[t,r])=>({...e,[t]:a(r)?J(r):_(r)&&t in e?me(e[t],r):se(r)}),e):e},i(e[0])&&[]||{}),ge=e=>i(e)&&2===e.length&&(I(e[0])||d(e[0])),ye=(e,t)=>{if(!i(e)&&!l(e))return console.error(e,"Expected array or object for obj. Found "+typeof e),e;if(!a(t))return console.error("Expected function for cb. Found "+typeof t),e;const r=Object.entries(e),n=i(e)?[]:{};return r.reduce((e,[r,n])=>{const o=t(r,n);return ge(o)?ee(e,o[0],o[1]):(console.error(`Callback function must return entry. Found: ${o}. Using current entry instead.`),ee(e,r,n))},n)},Oe=(e,t,r={})=>l(e)&&a(t)&&Object.entries(e).reduce((e,[r,n])=>t(r,n,e),r)||r,he=e=>{if(!a(e))throw"Argument must be a function";return(...t)=>new Promise((r,n)=>a(t[t.length-1])?(t.pop(),t.push((...e)=>e&&e[0]?n(...e):r(...e)),e(...t)):r(e(...t)))},be=Array.from(["caller","callee","arguments","apply","bind","call","toString","__proto__","__defineGetter__","__defineSetter__","hasOwnProperty","__lookupGetter__","__lookupSetter__","isPrototypeOf","propertyIsEnumerable","valueOf","toLocaleString"]).concat(Object.getOwnPropertyNames(Object.prototype)).reduce((e,t)=>(e[t]=!0,e),{}),je=e=>{if(!e.__IS_PROMISIFIED__){for(const t of Object.getOwnPropertyNames(e)){if(!(-1!==t.indexOf("Async")||e[t+"Async"])&&!be[t])if(a(e[t]))e[t+"Async"]=he(e[t]);else{const r=Object.getOwnPropertyDescriptor(e,t).get;a(r)&&(e[t+"Async"]=he(r))}}e.__IS_PROMISIFIED__=!0}return e},we=e=>{const t={},r=e.split("?"),n=r[r.length-1];if(!n)return t;const o=n.split("&");return o.length&&o.map(e=>{const r=e.split("=");if(r.length<=1)return t;const n=[r.shift(),r.join("=")];if(2===n.length){const e=decodeURIComponent(n[1]).split(",");if(e&&e.length>1)t[n[0]]=e;else if(n[0]in t){const e=t[n[0]];t[n[0]]=i(e)?e.push(decodeURIComponent(n[1])):[e,decodeURIComponent(n[1])]}else t[n[0]]=decodeURIComponent(n[1])}}),t};e.applyToCloneOf=(e,t)=>{let r;if(e||(r="object (Argument 1) in applyToCloneOf, must be defined!"),l(e)||(r="object (Argument 1) in applyToCloneOf, must be an object!"),t||(r="mutator (Argument 2) in applyToCloneOf, must be defined!"),a(t)||(r="mutator (Argument 2) arg in applyToCloneOf, must be a function!"),r)return console.warn(r)||e;const n=se(e);return t(n),n},e.applyToFunc=f,e.areCountMapsEqual=c,e.areFrequencyEqual=(e,t)=>{const[n]=r({arr:e,otherArr:t},{$default:i});if(!n)return null;if(e===t)return!0;if(e.length!==t.length)return!1;const o=u(e),s=u(t);return c(o,s)},e.areSetEqual=(e,t)=>{const[n]=r({arr:e,otherArr:t},{$default:i});if(!n)return null;if(e===t)return!0;const[o,s]=e.length>t.length?[e,t]:[t,e],u=new Set(s);for(let e=0;e<o.length;e++){const t=o[e];if(!u.has(t))return!1}return!0},e.buildElementCountMap=u,e.buildPath=(...e)=>e.reduce((e,t)=>{let r=toStr(t);return`${e}${r&&"/"+r||""}`},"").replace(/([^:\/]|^)\/{2,}/g,"$1/"),e.camelCase=w,e.camelCasePath=e=>{const t=e.split(".").map((e,t)=>t>0?h(e,!1):e);return t.length>1?t.join(""):e},e.capitalize=h,e.checkCall=(e,...t)=>a(e)&&e(...t)||void 0,e.cleanColl=Y,e.cleanStr=j,e.clearObj=de,e.cloneArr=e=>Array.from([...i(e)&&e||l(e)&&Object.entries(e)||[]]),e.cloneFunc=J,e.cloneJson=e=>{try{return JSON.parse(JSON.stringify(e))}catch(e){return pe(e.message,"error"),null}},e.cloneObjWithPrototypeAndProperties=ie,e.compareTo=k,e.complement=e=>{const[t]=r({predicate:e},{predicate:a});return t?(...t)=>!e(...t):null},e.containsStr=(e,t,r)=>(e=!d(e)&&S(e)||e,t=!d(t)&&S(t)||t,-1!==e.indexOf(t,r)),e.convertToStrBool=P,e.debounce=(e,t=250,r=!1)=>{let n;return function(...o){if(!a(e))return null;const s=this,i=r&&!n;return clearTimeout(n),n=setTimeout(()=>{n=null,!r&&e.apply(s,o)},t),i?a(e)&&e.apply(s,o):void 0}},e.deepClone=se,e.deepEqual=oe,e.deepFreeze=G,e.deepMerge=me,e.delimitString=O,e.doIt=(...e)=>{const t=e.slice(),r=t.shift(),n=t.shift(),o=t.pop();if(!I(r)||!a(o))return[];const s=new Array(r),i=[];for(let e=0;e<s.length;e++){const r=o.call(n,e,...t);if(!1===r)break;i.push(r)}return i},e.either=(e,t,r)=>a(r)?r(e,t)&&e||t:x(e)&&e||t,e.eitherArr=(e,t)=>i(e)?e:t,e.eitherFunc=(e,t)=>a(e)&&e||t,e.eitherObj=(e,t)=>l(e)&&e||t,e.eitherStr=(e,t)=>d(e)&&e||t,e.equalsNaN=L,e.everyEntry=(e,t)=>e?l(e)?a(t)?p(e,Object.entries,e=>e.every(([e,r])=>t(e,r))):(console.error("Argument 'predicate' passed into everyEntry must a function. Found: "+t),!1):(console.error(`Argument obj ${e} must be an object.`),!1):(console.error(`everyEntry expects argument obj [${e}] to be defined.`),!1),e.exists=e=>e==e&&null!=e,e.filterObj=(e,t)=>e?l(e)?a(t)?Oe(e,(e,r,n)=>(t(e,r)&&(n[e]=r),n),{}):(console.error("Argument 'predicate' passed into filterObject must a function. Found: "+t),e):(console.error(`Object ${e} was not an object. It must be for filterObject`),e):e,e.findExtrema=Q,e.findMax=(e=[],t=M)=>Q(e,(e,r)=>k(t(e),t(r))),e.findMin=(e=[],t=M)=>Q(e,(e,r)=>k(t(r),t(e))),e.flatMap=(e,t)=>{const[n]=r({arr:e,mapFn:t},{arr:i,mapFn:a});return n?e.reduce((e,r)=>{const n=t(r);return i(n)?n.map(t=>e.push(t)):e.push(n),e},[]):e},e.get=v,e.getNums=U,e.getURLParam=e=>{var t,n,o;const[s]=r({paramKey:e},{paramKey:d});if(!s)return null;const i="undefined"!=typeof document?document:null,u=null==i||null===(t=i.location)||void 0===t?void 0:t.search;return d(u)&&null!==(n=null===(o=we(u))||void 0===o?void 0:o[e])&&void 0!==n?n:null},e.hasDomAccess=()=>{try{return!("undefined"==typeof window||!window.document||!window.document.createElement)}catch(e){return!1}},e.hasOwn=z,e.identity=M,e.isArr=i,e.isArrMap=e=>{if(!l(e))return!1;const t=Object.values(e);return T(t.length&&t.every(i))},e.isBool=$,e.isColl=_,e.isEmail=e=>{if(!e||!d(e))return!1;return Boolean(/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(e))},e.isEmpty=V,e.isEmptyColl=e=>i(e)?0===e.length:_(e)&&0===Object.getOwnPropertyNames(e).length,e.isEntry=ge,e.isFloat=e=>I(e)&&e%1!=0,e.isFunc=a,e.isInt=e=>I(e)&&e%1==0,e.isLowerCase=g,e.isNegative=e=>I(e)&&e<0,e.isNonNegative=N,e.isNum=I,e.isObj=l,e.isOrderable=D,e.isPhone=e=>{if(!e||!d(e))return!1;return Boolean(/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im.test(e))&&e.replace(/\D/g,"").length<11},e.isPositive=e=>I(e)&&e>0,e.isSame=(e,t)=>e===t?0!==e||1/e==1/t:e!=e&&t!=t,e.isStr=d,e.isStrBool=F,e.isUpperCase=y,e.isUrl=e=>Boolean(/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(e)),e.isUuid=e=>{if(!e||!d(e))return!1;return Boolean(/^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i.test(e))},e.isValidDate=e=>!isNaN((e instanceof Date&&e||new Date(e)).getTime()),e.isValidUrl=e=>/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?/.test(e),e.jsonEqual=(e,t)=>{try{return JSON.stringify(e)===JSON.stringify(t)}catch(e){return!1}},e.keyMap=(e,t)=>i(e)&&e.reduce((e,r)=>{if(!d(r))return e;const n=t&&r.toUpperCase()||r;return e[n]=n,e},{})||{},e.limbo=e=>e&&a(e.then)?e.then(e=>[null,e]).catch(e=>[e,void 0]):[new Error("A promise or thenable is required as the first argument!"),null],e.logData=pe,e.mapColl=(e,t)=>a(t)&&_(e)?Object.keys(e).map(r=>t(r,e[r],e)):i(e)?[]:{},e.mapEntries=ye,e.mapKeys=(e,t)=>l(e)&&a(t)?ye(e,(e,r)=>[t(e),r]):e,e.mapObj=(e,t)=>l(e)&&a(t)&&Object.entries(e).map(([e,r])=>t(e,r))||e,e.mapString=m,e.match=B,e.memorize=(e,t,r=1)=>{if(!a(e)||t&&!a(t))return console.error("Error: Expected a function",e,t);let n=function(){const o=n.cache,s=t?t.apply(this,arguments):arguments[0];if(z(o,s))return o[s];const i=e.apply(this,arguments);return I(r)&&Object.keys(o).length<r?o[s]=i:n.cache={[s]:i},i};return n.cache={},n.destroy=()=>{t=void 0,n.cache=void 0,n.destroy=void 0,n=void 0},n},e.noOp=()=>{},e.noOpObj=W,e.noPropArr=X,e.noPropObj=K,e.nth=e=>{if(!I(e)){if(!(e=U(e)))return"";if(e=R(e),L(e))return""}const t=e%100;if(t>=10&&t<=20)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},e.objToQuery=e=>{let t;return Oe(e,(e,r,n)=>{if(!r)return n;const o=d(r)||I(r)||$(r)?r:_(r)?i(r)?r.join(","):JSON.stringify(r):null;return o?(n=t?`${n}&${encodeURIComponent(e)}=${encodeURIComponent(o)}`:`?${encodeURIComponent(e)}=${encodeURIComponent(o)}`,t=!0,n):n},"")},e.omitKeys=(e={},t=[])=>l(e)&&Oe(e,(r,n,o)=>(-1===t.indexOf(r)&&(o[r]=e[r]),o),{})||{},e.omitRange=(e,t,n)=>{const[o]=r({arr:e,startIndex:t,count:n},{arr:i,$default:N});if(!o)return e;const s=[...e];return s.splice(t,n),s},e.parseErrorMessage=e=>d(e)&&!V(e)?e:l(e)?e.message:null,e.parseJSON=e=>{try{return JSON.parse(e)}catch(e){return console.error(e.message),null}},e.pickKeys=(e={},t=[])=>l(e)&&t.reduce((t,r)=>(r in e&&(t[r]=e[r]),t),{})||{},e.pipeline=p,e.plural=e=>e&&e.length&&"s"!==e[e.length-1]?e+"s":e,e.promisify=he,e.promisifyAll=e=>{if(!l(e))return e;je(e);const t=Object.getPrototypeOf(e);return t&&null!==Object.getPrototypeOf(t)&&je(t),e},e.queryToObj=we,e.randomArr=(e,t)=>{if(!i(e))return e;const r=t||1,n=[];for(let t=0;t<r;t++)n.push(e[Math.floor(Math.random()*e.length)]);return t?n:n[0]},e.randomizeArr=e=>!i(e)&&e||e.sort(()=>.5-Math.random()),e.reduceColl=(e,t,r)=>a(t)&&_(e)?Object.keys(e).reduce((r,n)=>t(n,e[n],e,r),r):i(e)?[]:{},e.reduceObj=Oe,e.removeDot=b,e.repeat=(e,t,r=!1)=>{if(!t||t<=0)return[];if(!I(t))return console.error("Times argument must be a number"),[];const n=[];for(let o=0;o<t;o++){const t=a(e)?e():r?se(e):e;n.push(t)}return n},e.resetLogs=()=>{ce=void 0,le="log",ae="type"},e.sanitize=A,e.sanitizeCopy=e=>JSON.parse(A(JSON.stringify(e))),e.set=ee,e.setLogs=(e,t,r)=>{ce=e,le=t||le||"log",ae=r||ae||"type"},e.shallowEqual=(e,t,r)=>{if(r&&(i(r)||d(r))&&(e=v(e,r),t=v(t,r)),e===t)return!0;if(!(e&&_(e)&&t&&_(t)))return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0},e.singular=e=>e&&e.length&&"s"===e[e.length-1]?e.slice(0,e.length-1):e,e.snakeCase=e=>O(e,"_").toLowerCase(),e.softFalsy=x,e.someEntry=(e,t)=>e?l(e)?a(t)?p(e,Object.entries,e=>e.some(([e,r])=>t(e,r))):(console.error("Argument 'predicate' passed into someEntry must a function. Found: "+t),!1):(console.error(`Argument obj ${e} must be an object.`),!1):(console.error(`someEntry expects argument obj [${e}] to be defined.`),!1),e.spaceJoin=(e,t)=>(t=i(t)?t:[t]).reduce((e,t)=>d(t)?`${e?e+" ":""}${t}`.trim():e,d(e)?e:""),e.strToType=ue,e.styleCase=e=>{if(!d(e))return e;const t=w(e);return`${t[0].toLowerCase()}${t.slice(1)}`},e.template=E,e.throttle=(e,t=100)=>{let r=!1;return function(...n){if(!r)return r=!0,e.apply(this,n),setTimeout(()=>{r=!1},t)}},e.throttleLast=(e,t,r=100)=>{let n;return function(...o){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,o),clearTimeout(n)},r),"function"==typeof t&&t()}},e.toBool=T,e.toFloat=e=>e&&!L(e)&&parseFloat(I(e)&&e||U(e))||0,e.toInt=e=>e&&!L(e)&&parseInt(I(e)&&e||U(e))||0,e.toNum=R,e.toObj=(e,t,r)=>i(e)?Object.keys(e).reduce((t,r)=>(t[r]=e[r],t),{}):d(str)?(t=t||"=",r=r||"&",str.split(r).reduce((e,r)=>{const n=r.split(t);return e[n[0].trim()]=ue(n[1].trim()),e},{})):{},e.toStr=S,e.trainCase=e=>d(e)&&e.split(/(?=[A-Z])|[\s_-]/gm).join("-").toLowerCase()||e,e.trimStringFields=e=>Object.entries(e).reduce((e,[t,r])=>(e[t]=d(r)?r.trim():r,e),e),e.typeOf=H,e.uniqArr=(e,t)=>{if(!t)return Z(e);const{unique:r}=e.reduce((e,r)=>{const n=t(r);return!e.set.has(n)&&e.unique.push(r),e.set.add(n),e},{unique:[],set:new Set});return r},e.uniqArrByReference=Z,e.unset=(e,t)=>C(e,t,"unset"),e.uuid=q,e.validate=r,e.wait=e=>new Promise((t,r)=>setTimeout(()=>t(!0),e)),e.wordCaps=e=>{if(!d(e))return e;return j(e).split(" ").map(e=>e&&h(e)||"").join(" ")}}));
//# sourceMappingURL=index.js.map
{
"name": "@keg-hub/jsutils",
"version": "7.0.0",
"version": "7.0.2",
"description": "Keg common javascript utils",

@@ -5,0 +5,0 @@ "main": "build/umd/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc