UNPKG

vest-utils

Version:
3 lines (2 loc) 2.03 kB
"use strict";function n(n){return Boolean(Array.isArray(n))}function t(n){const t=String(n),r=Number(n),e=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(r);return Boolean(e)}function r(n,r){return function(n,r){return t(n)&&t(r)&&Number(n)===Number(r)}(n.length,r)}function e(n){return function(n){return null===n}(n)||function(n){return void 0===n}(n)}function o(n){return"object"==typeof n&&!e(n)}function u(n){return!n||(t=n,e="length",Object.prototype.hasOwnProperty.call(t,e)?r(n,0):!!o(n)&&r(Object.keys(n),0));var t,e}function c(n,t){t.set(n,(t.get(n)||0)+1)}function i(n,t,r){for(const e in n){const u=r(n[e],e);f(u)&&(Array.isArray(n)||c(e,t),o(u)?i(u,t,r):c(u,t))}}function f(n){return(!o(n)||!u(n))&&(!function(n){return e(n)||function(n){return"function"==typeof n}(n)||"symbol"==typeof n}(n)&&(!o(n)||!u(n)))}function s(n,t,r){const e=y(n);for(const u in n){const c=r(n[u],u);if(!f(c))continue;let i;i=o(c)?s(c,t,r):a(c,t),p(e,i,a(u,t))}return e}function a(n,t){var r;return null!==(r=t.get(n))&&void 0!==r?r:n}function l(n,t){var r,e;return e=n,String(e)===e&&null!==(r=t[n])&&void 0!==r?r:n}function p(t,r,e){n(t)?t.push(r):t[e]=r}function y(t){return n(t)?[]:{}}exports.expandObject=function n(t,r){const e=y(t);for(const u in t){let c;const i=t[u];c=o(i)?n(i,r):l(i,r);p(e,c,l(u,r))}return e},exports.minifyObject=function(n,t=(n=>n)){const r=new Map;i(n,r,t);const e=function(n){const t=[];for(const[r,e]of n)e>1&&t.push({value:r,count:e});const r=t.sort(((n,t)=>t.count-n.count)),e=function(){const n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*";let t=0;return function(){let r="",e=t;do{r+=n[e%70],e=Math.floor(e/70)}while(e>0);return t++,r}}();return r.reduce(((t,{value:r})=>{if(!function(n,t){return n.toString().length>=t}(r,t.keyLength))return t;let o;do{o=e()}while(n.has(o));return t.map.set(r,o),t.reverseMap[o]=r,t.keyLength=o.length,t}),{map:new Map,reverseMap:{},keyLength:1})}(r);return[s(n,e.map,t),e.reverseMap]}; //# sourceMappingURL=minifyObject.production.js.map