highly
Version:
> TODO: create docs
2 lines (1 loc) • 7.67 kB
JavaScript
!function(n){"use strict";function t(n,t,r,e){if(!e)return[];t<0&&(t=-t>e?0:e+t),r<0?r+=e:r>e&&(r=e),e=t>r?0:r-t>>>0,t>>>=0;let i=-1;const o=new Array(e);for(;++i<e;)o[i]=n[i+t];return o}function r(n){return r=>{const{length:e}=r;let i=0;for(;i<e&&n(r[i],i,r);)i++;return t(r,i,e,e)}}const e=void 0,i=Math,o=i.ceil,u=i.floor,c=i.trunc;function s(n){return"function"==typeof n&&/native\scode/.test(`${n}`)}const f=s(c)?c:function(n){return n<0?o(n):u(n)};function a(n,t){return(n=f(n))<0?t+n:n}function l(n,t,r,e){for(;r<e;r++)if(t(n[r],r,n))return r;return-1}function h(n,t){return r=>{const{length:e}=r;return e>0?(t=t?a(+t,e):0,l(r,n,t>0?t:0,e)):-1}}function g(n,t){return r=>{const{length:i}=r;if(i>0)for(let o=(t=t===e?i-1:a(+t,i))>=i?i-1:t;o>=0;o--)if(n(r[o],o,r))return o;return-1}}function y(n){return t=>{const{length:r}=t;for(let e=0;e<r;e++)n(t[e],e,t);return t}}const p=Object,m=p.prototype,d=m.toString;function A(n){return d.call(n).slice(8,-1)}const w=null;function b(n){return t=>t!=w&&A(t)===n}const I=b("Array"),k=Array.isArray,E=s(k)?k:I,N=Number,S=N.isNaN,v=s(S)?S:n=>n!=n;function F(n){return v(n)?v:t=>t===n}function O(n){return()=>n}const U=O(!1);function x(n){return n.length>0?t=>function(n,t){return function(n,t,r=0){return l(n,F(t),r,n.length)}(n,t,0)>-1}(n,t):U}function L(n){return r=>{const{length:e}=r;let i=0;for(;i<e&&n(r[i],i,r);i++);return i>0?t(r,0,i,e):[]}}const P=Promise;function W(n){return new P((t=>setTimeout(t,n)))}const j=O(!0);function M(n){return!!n}function B(n,t){return r=>n(t(r))}function T(n,t){return(...r)=>!!n(...r)&&!!t(...r)}function R(n,t){return(...r)=>!!n(...r)||!!t(...r)}function D(n){return(...t)=>!n(...t)}const $=i.pow;function _(n){return t=>t>n}function z(n){return t=>t>=n}function C(n){return t=>t<n}function G(n){return t=>t<=n}const X=p.entries,Z=p.keys,q=s(X)?X:function(n){return Z(n).map((t=>[t,n[t]]))},H=p.hasOwn,J=m.hasOwnProperty,K=s(H)?H:function(n,t){return J.call(n,t)};function Q(n){return n==w}function V(n){return t=>{const r={};for(const e in t){const i=t[e];n(i,e,t)&&(r[e]=i)}return r}}function Y(n){return t=>typeof t===n}const nn=Y("string"),tn=p.values,rn=s(tn)?tn:function(n){return Z(n).map((t=>n[t]))},en=Y("boolean"),on=b("Date"),un=N.isFinite,cn=Y("number"),sn=s(un)?un:function(n){return cn(n)&&isFinite(n)},fn=Y("function"),an=N.isInteger,ln=s(an)?an:function(n){return sn(n)&&u(n)===n},hn=b("Map"),gn=b("WeakMap"),yn=F(w);function pn(n){return n!=w&&"object"==typeof n}const mn=p.getPrototypeOf,dn=p.toString(),An=b("Promise"),wn=b("RegExp"),bn=N.isSafeInteger,In=N.MAX_SAFE_INTEGER,kn=cn(In)?In:9007199254740991,En=i.abs,Nn=s(bn)?bn:function(n){return ln(n)&&En(n)<=kn},Sn=b("Set"),vn=b("WeakSet"),Fn=Y("symbol"),On=b("Uint8Array"),Un=b("Uint16Array"),xn=b("Uint32Array"),Ln=b("Int8Array"),Pn=b("Int16Array"),Wn=b("Int32Array"),jn=F(e);function Mn(n){return/^[\s\uFEFF\u00A0]$/.test(n)}function Bn(n,t){const r=nn(n)?n?t=>n.indexOf(t)>=0:null:wn(n)?t=>n.test(t):fn(n)?n:null;return!0===t?r||U:r?R(r,Mn):Mn}function Tn(n,t){const r=Bn(n,t);return n=>{const{length:t}=n;let e=t;for(;e>0&&r(n.charAt(e-1));)e--;return e>0?e<t?n.slice(0,e):n:""}}function Rn(n,t){const r=Bn(n,t);return n=>{const{length:t}=n;let e=0;for(;e<t&&r(n.charAt(e));)e++;return e>0?n.slice(e):n}}n.F=U,n.T=j,n.add=function(n,t){if(t){const t=+n;return n=>+n+t}return t=>t+n},n.always=O,n.and=T,n.between=function(n,t,r="[)"){switch(r){case"()":return T(_(n),C(t));case"(]":return T(_(n),G(t));case"[]":return T(z(n),G(t))}return T(z(n),C(t))},n.clamp=function(n,t){return r=>r<n?n:r>t?t:r},n.div=function(n){return t=>t/n},n.drop=function(n){if(n<0)throw new Error("`n` must be a nonnegative integer");return r(((t,r)=>r<n))},n.dropLast=function(n){if(n<0)throw new Error("`n` must be a nonnegative integer");return r=>{const{length:e}=r;return n<e?t(r,0,e-n,e):[]}},n.dropLastWhile=function(n){return r=>{const{length:e}=r;let i=e-1;for(;i>=0&&n(r[i],i,r);)i--;return t(r,i,e,e)}},n.dropWhile=r,n.entries=q,n.every=function(n){return t=>{let r=-1;const{length:e}=t;for(;++r<e;)if(!n(t[r],r,t))return!1;return!0}},n.filter=function(n){return t=>t.filter(n)},n.find=function(n,t){const r=h(n,t);return n=>{const t=r(n);return t>-1?n[t]:e}},n.findIndex=h,n.findLast=function(n,t){const r=g(n,t);return n=>{const t=r(n);return t>-1?n[t]:e}},n.findLastIndex=g,n.forEach=y,n.forEachRight=function(n){return t=>{let{length:r}=t;for(;r--;)n(t[r],r,t);return t}},n.forIn=function(n){return t=>{if(t!=w)for(const r in t)n(t[r],r,t);return t}},n.forOwn=function(n){return t=>{for(const r in t)K(t,r)&&n(t[r],r,t);return t}},n.fork=function(n){return t=>{const r=[],e=[],{length:i}=t;for(let o=0;o<i;o++){const i=t[o];n(i,o)?r.push(i):e.push(i)}return[r,e]}},n.groupBy=function(n){return t=>{const r={},{length:e}=t;for(let i=0;i<e;i++){const e=t[i],o=n(e,i,t),u=r[o];E(u)?u.push(e):r[o]=[e]}return r}},n.gt=_,n.gte=z,n.identity=function(n){return n},n.inArray=x,n.indexOf=function(n,t=0){return h(F(n),t)},n.is=F,n.isArray=E,n.isBoolean=en,n.isDate=on,n.isFalsy=function(n){return!n},n.isFinite=sn,n.isFunction=fn,n.isInt16Array=Pn,n.isInt32Array=Wn,n.isInt8Array=Ln,n.isInteger=ln,n.isMap=hn,n.isNaN=v,n.isNative=s,n.isNil=Q,n.isNull=yn,n.isNumber=cn,n.isNumeric=function(n){const t=typeof n;return"string"===t?!!/^[+-]?\.?\d/.test(n)&&n-n==0:"number"===t&&n-n==0},n.isObjectLike=pn,n.isPlainObject=function(n){if(!pn(n)||"Object"!==((t=n)===e?"Undefined":t===w?"Null":A(t)))return!1;var t;const r=mn(n);if(r===w)return!0;const i=K(r,"constructor")?r.constructor:w;return!!i&&fn(i)&&i.toString()===dn},n.isPrimitive=function(n){const t=typeof n;return"object"===t?n===w:"function"!==t},n.isPromise=An,n.isPromiseLike=function(n){return(pn(n)||fn(n))&&fn(n.then)},n.isRegExp=wn,n.isSafeInteger=Nn,n.isScalar=function(n){const t=typeof n;return"number"===t||"string"===t||"boolean"===t},n.isSet=Sn,n.isString=nn,n.isSymbol=Fn,n.isTruthy=M,n.isTypedArray=function(n){return n!=w&&/^(?:Uint|Int|Float|BigInt|BigUint)\d\d?[a-zA-Z]*Array/.test(A(n))},n.isUint16Array=Un,n.isUint32Array=xn,n.isUint8Array=On,n.isUndefined=jn,n.isWeakMap=gn,n.isWeakSet=vn,n.keys=function(n){return Q(n)?[]:Z(n)},n.lt=C,n.lte=G,n.map=function(n,t){return t?t=>t.map(n):t=>{const r=[],{length:e}=t;let i=0;for(;i<e;)r[i]=n(t[i],i,t),i++;return r}},n.mul=function(n){return t=>t*n},n.noop=function(){},n.not=D,n.o=B,n.omit=function(n){return V((n=E(n)?n:nn(n)?[n]:[]).length>0?D(x(n)):j)},n.omitBy=function(n){return V(D(n))},n.or=R,n.pick=function(n){return t=>{const r={};return t!=w&&(t=Object(t),y((n=>{n in t&&(r[n]=t[n])}))(n)),r}},n.pickBy=V,n.pow=function(n){return t=>$(t,n)},n.retry=function(n,t){const r=t.maxAttempts||0,e=+t.delayMs||0,i=t.canNext?t.canNext:j,o=t.canDone||M;return async function(...t){const u=new Error(`Could not complete function within ${r} attempts`);for(let c=0;c<r;++c){let r=null;try{const r=await n.apply(this,t);if(o.call(this,r,c))return r}catch(n){r=n}if(!i.call(this,r,c))throw r||u;e&&await W(e)}throw u}},n.sleep=W,n.some=function(n,t){return t?t=>t.some(n):t=>{const{length:r}=t;let e=0;for(;e<r;){if(n(t[e],e,t))return!0;e++}return!1}},n.sub=function(n){return t=>t-n},n.take=function(n){if(n<0)throw new Error("`n` must be a nonnegative integer");return L(((t,r)=>r<n))},n.takeLast=function(n){if(n<0)throw new Error("`n` must be a nonnegative integer");return r=>{const{length:e}=r;return t(r,n>=e?0:e-n,e,e)}},n.takeLastWhile=function(n){return r=>{const{length:e}=r;let i=r.length-1;for(;i>=0&&n(r[i],i,r);i--);return t(r,i+1,e,e)}},n.takeWhile=L,n.trim=function(n,t){const r=Bn(n,t),e=Rn(r,!0);return B(Tn(r,!0),e)},n.trimEnd=Tn,n.trimStart=Rn,n.values=rn}(this.highly=this.highly||{});