js-simpler
Version:
一个轻量级且模块化的JavaScript实用工具库
2 lines (1 loc) • 24.6 kB
JavaScript
const e=e=>r(e)&&e.length>0,t=e=>r(e)&&0===e.length,r=e=>Array.isArray(e),n=(...e)=>{if(r(e[0])&&1===e.length)return e[0];try{return Array.from(...e)}catch{return[]}},i=(...e)=>{try{return Array.from(...e)}catch{return[]}};var o={isNonEmptyArray:e,isEmptyArray:t,isArray:r,toArray:n,newArray:i};const s=e=>c(e)&&e.size>0,a=e=>c(e)&&0===e.size,c=e=>"[object Map]"===Object.prototype.toString.call(e),u=e=>{if(m(e))return new Map(Object.entries(e));if(c(e))return e;if(b(e))return new Map(Array.from(e.values()).entries());try{return new Map(e)}catch{return new Map}},l=e=>{if(m(e))return new Map(Object.entries(e));if(c(e))return new Map(e.entries());if(b(e))return new Map(Array.from(e.values()).entries());try{return new Map(e)}catch{return new Map}};var g={isNonEmptyMap:s,isEmptyMap:a,isMap:c,toMap:u,newMap:l};const f=e=>m(e)&&Object.keys(e).length>0,p=e=>m(e)&&0===Object.keys(e).length,m=e=>"[object Object]"===Object.prototype.toString.call(e),h=e=>m(e)?e:r(e)||c(e)?Object.fromEntries(e.entries()):b(e)?Object.fromEntries(Array.from(e.values()).entries()):{},w=e=>m(e)?{...e}:r(e)||c(e)?Object.fromEntries(e.entries()):b(e)?Object.fromEntries(Array.from(e.values()).entries()):{};var d={isNonEmptyObject:f,isEmptyObject:p,isObject:m,toObject:h,newObject:w};const S=e=>b(e)&&e.size>0,y=e=>b(e)&&0===e.size,b=e=>"[object Set]"===Object.prototype.toString.call(e),M=e=>b(e)?e:m(e)?new Set(Object.entries(e)):r(e)?new Set(e):c(e)?new Set(e.entries()):new Set,E=e=>m(e)?new Set(Object.entries(e)):r(e)?new Set(e):c(e)?new Set(e.entries()):b(e)?new Set(e.values()):new Set;var O={isNonEmptySet:S,isEmptySet:y,isSet:b,toSet:M,newSet:E};const I=e=>"[object Null]"===Object.prototype.toString.call(e),j=e=>"[object Undefined]"===Object.prototype.toString.call(e),v=e=>I(e)||j(e);var A={isNull:I,isUndef:j,isNullable:v};const k=e=>Number.isNaN(e),x=e=>"[object Number]"===Object.prototype.toString.call(e),N=e=>x(e)&&Number.isSafeInteger(e),P=e=>x(e)&&Number.isFinite(e),D=e=>x(e)&&(e===1/0||e===-1/0),F=e=>x(e)&&Number.isFinite(e),R=(e,t=NaN)=>e===1/0?Number.MAX_SAFE_INTEGER:e===-1/0?-Number.MAX_SAFE_INTEGER:F(+e)?F(t)&&t>=0?+z(+e,t):+e:0,W=(e,t=NaN)=>e===1/0?Number.MAX_SAFE_INTEGER:e===-1/0?-Number.MAX_SAFE_INTEGER:F(+e)?F(t)&&t>=0?+z(+e,t):+e:0,$=(e,t)=>{if(e===1/0)return Number.MAX_SAFE_INTEGER;if(e===-1/0)return-Number.MAX_SAFE_INTEGER;try{return F(+e)&&parseInt(String(e))||0}catch{return 0}},q=(e,t=NaN)=>F(+e)&&F(t)&&t>=0?+z(+e,t):+e,z=(e,t=NaN)=>{if(e===-1/0)return"-Infinity";if(e===1/0)return"Infinity";if(e=F(e)?e:+e,t=(t=F(t)?t:NaN)>=0?t:NaN,F(e)){let r=0,n="",i=!1;return r=F(t)?Math.round(Math.pow(10,t)*+e)/Math.pow(10,t):+e,n=String(r),i=-1!==n.indexOf("."),i&&t>0?n.split(".")[0]+"."+n.split(".")[1].padEnd(t,"0"):!i&&t>0?n+"."+"".padEnd(t,"0"):n}return""};var _={isNaN:k,isNumber:x,isInteger:N,isDecimal:P,isInfinity:D,isFiniteNumber:F,toFiniteNumber:R,toDecimal:W,toInteger:$,toNumber:q,toFixed:z};const C=e=>H(e)&&!!e.trim(),T=e=>H(e)&&!e.trim(),H=e=>"[object String]"===Object.prototype.toString.call(e);var Y={isNonEmptyString:C,isEmptyString:T,isString:H};const U=e=>Z(e)&&F(+e),Z=e=>"[object Date]"===Object.prototype.toString.call(e),G=(...e)=>{if(!e.length)return new Date;if(Z(e[0]))return e[0];if(C(e[0])){let t=0,r="",n="",i="";const o=new Date,s=e[0].split(/[/,-]|\s+/);for(const[e,o]of s.entries()){if(0===e){if(!r&&/^\d{4}$/.test(o)){t=e+1,r=o;continue}/^\d{1,2}$/.test(o)&&(t=e+1,n=+o-1)}if(1===e){if(!n&&0!==n&&/^\d{1,2}$/.test(o)){t=e+1,n=+o-1;continue}/^\d{1,2}$/.test(o)&&(t=e+1,i=o)}if(2===e){!i&&/^\d{1,2}$/.test(o)&&(t=e+1,i=o);break}}s.splice(0,t),r||(r=o.getFullYear()),n||0===n||(n=o.getMonth()),i||(i=o.getDate());let a="00",c="00",u="00",l="000";const g=s.find((e=>/^\d{1,2}((:\d{1,2})?(:\d{1,2}([.:]\d{1,3})?)?)?$/.test(e))),f=g?.split(/[:.]/)||[];for(const[e,t]of f.entries())0===e&&(a=t),1===e&&(c=t),2===e&&(u=t),3===e&&(l=t);return new Date(+r,+n,+i,+a,+c,+u,+l)}return new Date(...e)},L=(...e)=>{if(!e.length)return new Date;if(Z(e[0]))return new Date(+e[0]);if(C(e[0])){let t=0,r="",n="",i="";const o=new Date,s=e[0].split(/[/,-]|\s+/);for(const[e,o]of s.entries()){if(0===e){if(!r&&/^\d{4}$/.test(o)){t=e+1,r=o;continue}/^\d{1,2}$/.test(o)&&(t=e+1,n=+o-1)}if(1===e){if(!n&&0!==n&&/^\d{1,2}$/.test(o)){t=e+1,n=+o-1;continue}/^\d{1,2}$/.test(o)&&(t=e+1,i=o)}if(2===e){!i&&/^\d{1,2}$/.test(o)&&(t=e+1,i=o);break}}s.splice(0,t),r||(r=o.getFullYear()),n||0===n||(n=o.getMonth()),i||(i=o.getDate());let a="00",c="00",u="00",l="000";const g=s.find((e=>/^\d{1,2}((:\d{1,2})?(:\d{1,2}([.:]\d{1,3})?)?)?$/.test(e))),f=g?.split(/[:.]/)||[];for(const[e,t]of f.entries())0===e&&(a=t),1===e&&(c=t),2===e&&(u=t),3===e&&(l=t);return new Date(+r,+n,+i,+a,+c,+u,+l)}return new Date(...e)},B=(e,t)=>{const r=Z(e)?e:G(e),n=v(t)?"YYYY-MM-DD HH:mm:ss":t;return C(n)&&U(r)?n.replace(/YYYY|MM?|DD?|HH?|mm?|ss?s?|ii?i?/gi,(e=>{switch(e){case"YYYY":case"yyyy":return String(r.getFullYear());case"MM":return String(r.getMonth()>=9?r.getMonth()+1:"0"+(r.getMonth()+1));case"M":return String(r.getMonth()+1);case"DD":case"dd":return String(r.getDate()>9?r.getDate():"0"+r.getMonth());case"D":case"d":return String(r.getDate());case"HH":case"hh":return String(r.getHours()>9?r.getHours():"0"+r.getHours());case"H":case"h":return String(r.getHours());case"mm":return String(r.getMinutes()>9?r.getMinutes():"0"+r.getMinutes());case"m":return String(r.getMinutes());case"ss":return String(r.getSeconds()>9?r.getSeconds():"0"+r.getSeconds());case"s":return String(r.getSeconds());case"sss":case"iii":return String(r.getMilliseconds()>99?r.getMilliseconds():r.getMilliseconds()>9?"0"+r.getMilliseconds():"00"+r.getMilliseconds());case"ii":return String(r.getMilliseconds()>9?r.getMilliseconds():"0"+r.getMilliseconds());case"i":return String(r.getMilliseconds())}return e})):""},X=()=>new Date(Date.now()-864e5),V=()=>new Date(Date.now()+864e5),J=()=>new Date;var K={isValidDate:U,isDate:Z,toDate:G,newDate:L,showDate:B,yesterday:X,tomorrow:V,today:J};const Q=e=>"[object Symbol]"===Object.prototype.toString.call(e),ee=e=>Q(e)?e:H(e)?Symbol(e):Symbol(),te=e=>H(e)?Symbol(e):Symbol(),re=e=>!Q(e)||j(Symbol.keyFor(e))?Symbol.for(H(e)?e:"undefined"):e,ne=e=>!Q(e)||j(Symbol.keyFor(e))?Symbol.for(H(e)?e:"undefined"):e;var ie={isSymbol:Q,toSymbol:ee,newSymbol:te,toSymbolFor:re,newSymbolFor:ne};class oe extends Error{constructor(e){if(super(m(e)&&H(e.message)?e.message:H(e)?e:void 0),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stack",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),m(e)){this.name=H(e.name)&&e.name.trim()||"CustomizeError",this.type=Q(e.type)?e.type:Symbol.for(this.name),this.stack=H(e.stack)?e.stack.trim():"",this.message=H(e.message)?e.message.trim():"";const t=["name","type","stack","message"],r=this.options={};for(const n in e)t.includes(n)||(r[n]=e[n])}H(e)&&(this.name="CustomizeError",this.type=Symbol.for(this.name),this.stack="",this.message=e.trim(),this.options={}),this.name="CustomizeError",this.type=Symbol.for(this.name),this.stack="",this.message="",this.options={}}}const se=e=>{try{return e instanceof Error}catch{return!1}},ae=e=>{try{return e instanceof URIError}catch{return!1}},ce=e=>{try{return e instanceof TypeError}catch{return!1}},ue=e=>{try{return e instanceof EvalError}catch{return!1}},le=e=>{try{return e instanceof RangeError}catch{return!1}},ge=e=>{try{return e instanceof SyntaxError}catch{return!1}},fe=e=>{try{return e instanceof ReferenceError}catch{return!1}},pe=e=>new Error(e),me=e=>new URIError(e),he=e=>new TypeError(e),we=e=>new EvalError(e),de=e=>new RangeError(e),Se=e=>new SyntaxError(e),ye=e=>new ReferenceError(e),be=(e,t)=>{try{return e instanceof oe&&(void 0===t||e.type===t)}catch{return!1}},Me=e=>new oe(e);var Ee={isError:se,isURIError:ae,isTypeError:ce,isEvalError:ue,isRangeError:le,isSyntaxError:ge,isReferenceError:fe,newError:pe,newURIError:me,newTypeError:he,newEvalError:we,newRangeError:de,newSyntaxError:Se,newReferenceError:ye,isCustomizeError:be,newCustomizeError:Me};const Oe=e=>!0===e,Ie=e=>!1===e,je=e=>!0===e||!1===e;var ve={isTrue:Oe,isFalse:Ie,isBoolean:je};const Ae=e=>"[object RegExp]"===Object.prototype.toString.call(e),ke=(...e)=>{if(Ae(e[0])&&1===e.length)return e[0];const t=Ae(e[0])?e[0]:H(e[0])||F(e[0])?RegExp(`${e[0]}`):/(?:)/,r=H(e[1])?e[1]:H(e[2])?e[2]:t.flags,n=je(e[1])?e[1]:!!je(e[2])&&e[2];return!Ae(e[0])&&n?new RegExp(t.source.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),r):new RegExp(t.source,r)},xe=(...e)=>{const t=Ae(e[0])?e[0]:H(e[0])||F(e[0])?RegExp(`${e[0]}`):/(?:)/,r=H(e[1])?e[1]:H(e[2])?e[2]:t.flags,n=je(e[1])?e[1]:!!je(e[2])&&e[2];return!Ae(e[0])&&n?new RegExp(t.source.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),r):new RegExp(t.source,r)};var Ne={isRegExp:Ae,toRegExp:ke,newRegExp:xe};const Pe=e=>"[object GeneratorFunction]"===Object.prototype.toString.call(e),De=e=>"[object Function]"===Object.prototype.toString.call(e),Fe=e=>"[object AsyncFunction]"===Object.prototype.toString.call(e),Re=e=>Fe(e)||De(e)||Pe(e),We=(...e)=>{if(Re(e[0]))return e[0];try{return new Function(...e)}catch{return()=>{}}};var $e={isGeneratorFunction:Pe,isGeneralFunction:De,isAsyncFunction:Fe,isFunction:Re,toFunction:We};const qe=e=>"[object Promise]"===Object.prototype.toString.call(e),ze=e=>qe(e)?e:Re(e)?Promise.resolve(e()):F(e)?new Promise(((t,r)=>{e>=0&&setTimeout(t,e),e<0&&setTimeout(r,-e)})):Promise.resolve(e),_e=()=>{const e={promise:null,resolve:null,reject:null};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e};var Ce={isPromise:qe,toPromise:ze,newPromise:_e};const Te=e=>"[object WeakSet]"===Object.prototype.toString.call(e),He=e=>Te(e)?e:m(e)?new WeakSet(Object.entries(e)):r(e)?new WeakSet(e.filter((e=>Re(e)||qe(e)||Ae(e)||m(e)||r(e)||Z(e)||c(e)||b(e)))):c(e)?new WeakSet(e.entries()):b(e)?new WeakSet(Array.from(e.values()).filter((e=>Re(e)||qe(e)||Ae(e)||m(e)||r(e)||Z(e)||c(e)||b(e)))):new WeakSet,Ye=e=>m(e)?new WeakSet(Object.entries(e)):r(e)?new WeakSet(e.filter((e=>Re(e)||qe(e)||Ae(e)||m(e)||r(e)||Z(e)||c(e)||b(e)))):c(e)?new WeakSet(e.entries()):b(e)?new WeakSet(Array.from(e.values()).filter((e=>Re(e)||qe(e)||Ae(e)||m(e)||r(e)||Z(e)||c(e)||b(e)))):new WeakSet;var Ue={isWeakSet:Te,toWeakSet:He,newWeakSet:Ye};const Ze=e=>"[object WeakMap]"===Object.prototype.toString.call(e),Ge=e=>Ze(e)?e:r(e)?new WeakMap(e.filter((e=>r(e)&&2===e.length)).filter((e=>Re(e[0])||qe(e[0])||Ae(e[0])||m(e[0])||r(e[0])||Z(e[0])||c(e[0])||b(e[0])))):c(e)?new WeakMap(Array.from(e.entries()).filter((e=>Re(e[0])||qe(e[0])||Ae(e[0])||m(e[0])||r(e[0])||Z(e[0])||c(e[0])||b(e[0])))):new WeakMap,Le=e=>r(e)?new WeakMap(e.filter((e=>r(e)&&2===e.length)).filter((e=>Re(e[0])||qe(e[0])||Ae(e[0])||m(e[0])||r(e[0])||Z(e[0])||c(e[0])||b(e[0])))):c(e)?new WeakMap(Array.from(e.entries()).filter((e=>Re(e[0])||qe(e[0])||Ae(e[0])||m(e[0])||r(e[0])||Z(e[0])||c(e[0])||b(e[0])))):new WeakMap;var Be={isWeakMap:Ze,toWeakMap:Ge,newWeakMap:Le};const Xe=function(e,t){if(!Re(e))throw new TypeError("#<fn> is not a function");const r=(e,t,n,i,o)=>(...s)=>{const a=i.slice(),c=o.slice();s.forEach((e=>{if(!o.length&&e===n)return a.push(e),void c.push(a.length-1);if(o.length||e===n){if(o.length&&e!==n){const t=o.shift();return c.splice(c.indexOf(t),1),void(a[t]=e)}o.shift()}else a.push(e)}));return a.length>=t&&a.slice(0,t).every((e=>e!==n))?e.apply(this,a):r(e,t,n,a,c)};return r(e,N(t)&&t>=0?t:e.length,Xe,[],[])};var Ve={curry:Xe};const Je=(e,t,n=!1)=>et(e,{omits:r(t)?t:j(t)?[]:[t],deep:n}),Ke=(e,t,n=!1)=>et(e,{picks:r(t)?t:j(t)?[]:[t],deep:n}),Qe=(e,t,n=!1)=>{if(e===t)return!0;if(Object.is(e,t))return!0;if(F(e)&&F(t))return Math.abs(e-t)<Number.EPSILON;if(Ae(e)&&Ae(t))return e.source===t.source&&e.flags===t.flags&&e.lastIndex===t.lastIndex;if(m(e)&&m(t)){const i=m(n)&&!j(n.deep)?n.deep:n,o=m(n)&&r(n.strict)?n.strict.filter((e=>Ae(e)||F(e)||H(e))):[],s=m(n)&&r(n.exclude)?n.exclude.filter((e=>Ae(e)||F(e)||H(e))):[],a=m(n)&&r(n.include)?n.include.filter((e=>Ae(e)||F(e)||H(e))):[/(?:)/],c=Object.keys(e).filter((e=>{const t=s.length>0&&s.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e))),r=0===a.length||a.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e)));return!t&&r})),u=Object.keys(t).filter((e=>{const t=s.length>0&&s.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e))),r=0===a.length||a.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e)));return!t&&r}));if(c.length!==u.length)return!1;for(const r of Object.keys(e)){const n=e[r],c=t[r],u=x(i)?i:!0===i?1/0:0,l=o.length>0&&o.some((e=>Ae(e)?e.test(String(r)):String(e)===String(r))),g=s.length>0&&s.some((e=>Ae(e)?e.test(String(r)):String(e)===String(r))),f=0===a.length||a.some((e=>Ae(e)?e.test(String(r)):String(e)===String(r)));if(g||!f)continue;if(n===c)continue;if(l)return!1;if(!(u>=1&&Qe(n,c,{strict:o,include:a,exclude:s,deep:u-1})))return!1}return!0}if(r(e)&&r(t)){const i=m(n)&&!j(n.deep)?n.deep:n,o=m(n)&&r(n.strict)?n.strict.filter((e=>Ae(e)||F(e)||H(e))):[],s=m(n)&&r(n.exclude)?n.exclude.filter((e=>Ae(e)||F(e)||H(e))):[],a=m(n)&&r(n.include)?n.include.filter((e=>Ae(e)||F(e)||H(e))):[/(?:)/],c=Object.keys(e).filter((e=>{const t=s.length>0&&s.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e))),r=0===a.length||a.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e)));return!t&&r})),u=Object.keys(t).filter((e=>{const t=s.length>0&&s.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e))),r=0===a.length||a.some((t=>Ae(t)?t.test(String(e)):String(t)===String(e)));return!t&&r}));if(c.length!==u.length)return!1;for(const r of e.keys()){const n=e[r],c=t[r],u=x(i)?i:!0===i?1/0:0,l=o.length>0&&o.some((e=>Ae(e)?e.test(String(r)):String(e)===String(r))),g=s.length>0&&s.some((e=>Ae(e)?e.test(String(r)):String(e)===String(r))),f=0===a.length||a.some((e=>Ae(e)?e.test(String(r)):String(e)===String(r)));if(g||!f)continue;if(n===c)continue;if(l)return!1;if(!(u>=1&&Qe(n,c,{strict:o,include:a,exclude:s,deep:u-1})))return!1}return!0}return Z(e)&&Z(t)?+e==+t:c(e)&&c(t)?e.size===t.size&&Qe([...e.entries()],[...t.entries()],n):!(!b(e)||!b(t))&&(e.size===t.size&&Qe([...e.values()],[...t.values()],n))},et=(e,t=!1)=>{const n=m(t)&&!j(t.deep)?t.deep:t,i=m(t)&&r(t.omits)?t.omits.filter((e=>Ae(e)||H(e)||F(e))):[],o=m(t)&&r(t.picks)?t.picks.filter((e=>Ae(e)||H(e)||F(e))):[],s=m(t)&&Ze(t.cache)?t.cache:new WeakMap,a=x(n)?n:!0===n?1/0:1,u=(e,t)=>{const n=r(e)?[]:{};for(const[a,u]of(e=>m(e)?Object.entries(e):e.entries())(e)){if(o.length>0&&!o.some((e=>Ae(e)?e.test(String(a)):String(e)===String(a))))continue;if(i.length>0&&i.some((e=>Ae(e)?e.test(String(a)):String(e)===String(a))))continue;let e=u;const l=b(u),g=c(u),f=Z(u),p=r(u),h=m(u),w=Ae(u);l||g||f||p||h||w?(t>1&&!s.has(u)&&s.set(u,et(u,{omits:i,picks:o,cache:s,deep:t-1})),t>1&&s.has(u)&&(e=s.get(u)),r(n)?n.push(e):n[a]=e):r(n)?n.push(e):n[a]=e}return n};if(k(a)||a<1)return e;if(Ae(e)){const t=e.flags,r=e.source,n=new RegExp(r,t);return n.lastIndex=e.lastIndex,n}if(m(e))return u(e,a);if(r(e))return u(e,a);if(Z(e))return new Date(+e);if(c(e)){const t=Array.from(e.entries());return new Map(u(t,a))}if(b(e)){const t=Array.from(e.values());return new Set(u(t,a))}return e},tt=(e,...t)=>{const n={},i=new WeakMap,o=t.slice(-1)[0],s=x(o)?o:!0===o?1/0:1,a=(e,t,o)=>{const s=c(e)?Array.from(e.entries()):b(e)?Array.from(e.values()):e,u=c(t)?Array.from(t.entries()):b(t)?Array.from(t.values()):t;for(const[e,t]of(e=>m(e)?Object.entries(e):e.entries())(u)){if(o<1){s[e]=t;continue}const l=b(t),g=c(t),f=Z(t),p=r(t),h=m(t),w=Ae(t),d=n.toString.call(s[e])!==n.toString.call(t);l||g||f||p||h||w?(i.has(t)||i.set(t,et(t,{deep:o,cache:i})),d?s[e]=i.get(t):a(s[e],u[e],o-1)):s[e]=t}if((c(e)||b(e))&&e.clear(),c(e))for(const[t,r]of s)e.set(t,r);if(b(e))for(const t of s)e.add(t)};if(m(e)||r(e)||c(e)||b(e))for(const r of t)n.toString.call(e)===n.toString.call(r)&&a(e,r,s-1);return e},rt=(e,...t)=>tt(e,...t,!0),nt=(e,t={})=>et(e,{...t,deep:!0}),it=(e,t,r={})=>Qe(e,t,{...r,deep:!0});var ot={omit:Je,pick:Ke,equal:Qe,clone:et,assign:tt,deepAssign:rt,deepClone:nt,deepEqual:it};const st=(e,t,r={})=>{let n,i,o,s,a=0,c=0;if(!Re(e))throw new TypeError("#<func> is not a function");m(r)||(r={}),t=Math.max(R(t),0);const u=!0===r.leading,l=!1!==r.trailing,g=t<20&&"function"==typeof window.requestAnimationFrame,f=F(r.maxWait)&&Math.max(r.maxWait,t);function p(){const e=Date.now();if(w(e))return d(e);i=g?window.requestAnimationFrame(p):setTimeout(p,h(e))}function h(e){const r=e-a,n=e-c,i=Math.max(t-r,0),o=Math.max(+f-n,0);return!1===f?i:Math.min(i,o)}function w(e){const r=e-a;return 0===a||r<0||r>=t||!1!==f&&e-c>=f}function d(e){return i=void 0,l&&o?S(e):(o=s=void 0,n)}function S(t){const r=o,i=s;return c=t,o=s=void 0,n=e.apply(i,r),n}function y(...e){const r=Date.now(),l=w(r);return s=this,o=e,a=r,l&&j(i)?function(e){return u?S(e):(c=e,i=g?window.requestAnimationFrame(p):setTimeout(p,t),n)}(a):l&&!1!==f?(g||clearTimeout(i),g&&window.cancelAnimationFrame(i),g&&(i=window.requestAnimationFrame(p)),g||(i=setTimeout(p,h(r))),S(a)):(j(i)&&(i=g?window.requestAnimationFrame(p):setTimeout(p,t)),n)}return y.cancel=function(){j(i)||(g?window.cancelAnimationFrame(i):clearTimeout(i)),o=s=i=void 0,a=c=0},y.flush=function(){return j(i)?n:d(Date.now())},y},at=(e,t,r={})=>{const n=!m(r)||!1!==r.leading,i=!m(r)||!1!==r.trailing;if(!Re(e))throw new TypeError("#<func> is not a function");return st(e,t,{maxWait:t,leading:n,trailing:i})};var ct={debounce:st,throttle:at};const ut=e=>C(e)?e.replace(/[A-Z]/g,(e=>e&&e.toLowerCase())):e,lt=e=>C(e)?e.replace(/[a-z]/g,(e=>e&&e.toUpperCase())):e,gt=(e,t=!1)=>!0===t?C(e)?e.replace(/(^|[_-])([a-z])/g,((e,t,r)=>r&&r.toUpperCase())):e:C(e)?e.replace(/[_-]([a-z])/g,((e,t)=>t&&t.toUpperCase())):e,ft=(e,t=!1)=>!0===t?C(e)?e.replace(/([A-Z])/g,"_$1").replace(/([_-])([a-zA-Z])/g,"_$2").toLowerCase().replace(/^[_-]+/,""):e:C(e)?e.replace(/([A-Z])/g,"_$1").replace(/([_-])([a-zA-Z])/g,"_$2").toLowerCase():e,pt=(e,t=!1)=>!0===t?C(e)?e.replace(/([A-Z])/g,"-$1").replace(/([_-])([a-zA-Z])/g,"-$2").toLowerCase().replace(/^[_-]+/,""):e:C(e)?e.replace(/([A-Z])/g,"-$1").replace(/([_-])([a-zA-Z])/g,"-$2").toLowerCase():e;var mt={lowerCase:ut,upperCase:lt,camelCase:gt,underCase:ft,hyphenCase:pt};const ht=new Set([""]),wt=(e={})=>{const t=!0===e.onlyUpdate,n=r(e.usedUniques)||b(e.usedUniques)?e.usedUniques:[],i=!1!==e.reduplicateExit||!Re(e.reduplicateHandler),o=Re(e.listenCacherHandler)?e.listenCacherHandler:e=>{},s=Re(e.reduplicateHandler)?e.reduplicateHandler:void 0,a=void 0!==e.radix?e.radix:16,c=void 0!==e.random?e.random:"?",u=void 0!==e.format?e.format:"????????-????-[1-5]???-[8-b]???-????????????".replace(/\?/g,c);if(![2,8,10,16,26,36].includes(a))throw new Error("#<Options.radix> is not in [2, 8, 10, 16, 26, 36]");if(!["?","*","#"].includes(c))throw new Error('#<Options.random> is not in ["?", "*", "#"]');if(String(u)!==u)throw new Error("#<Options.format> is not string");if(n instanceof Array&&(n.forEach((e=>"string"==typeof e&&ht.add(e.trim()))),o(new Set(ht))),n instanceof Set&&(n.forEach((e=>"string"==typeof e&&ht.add(e.trim()))),o(new Set(ht))),!0===t)return"";let l="",g=10,f=!0;const p=26===a?10:0,m=Array.from({length:36},((e,t)=>t.toString(36))),h=ht.add.bind(ht),w=e=>{const t=e.min,r=e.max;return e.bytes[Math.random()*(r-t+1)+t|0]};for(;f&&g-- >0;){const e=u.replace(/\[([^\]]+?)\]/g,((e,t)=>{const r=new Set,n=r.add.bind(r),i=t.toLowerCase().split(/\s*,\s*/g).filter((e=>/^[a-zA-Z0-9\s/|\-*?#=:;]+$/iu.test(e))),o=e=>/^\s*[a-zA-Z0-9]\s*-\s*[a-zA-Z0-9]\s*$/.test(e),s=i.reduce(((e,t)=>{if(o(t.trim())){const e=t.trim().split(/\s*-\s*/)[0],r=t.trim().split(/\s*-\s*/)[1],i=m.indexOf(e.trim()),o=m.indexOf(r.trim()),s=Math.min(i,o),a=Math.max(i,o)+1;m.slice(s,a).forEach(n)}return o(t.trim())||n(t.trim()),e}),r),a=Array.from(s).filter((e=>!!e));return w({bytes:a,max:a.length-1,min:0})})),t=0,r=a-1,n=m.slice(p);l=[...e.toLowerCase()].filter((e=>/^[a-zA-Z0-9\s/|\-*?#=:;]+$/iu.test(e))).map((e=>e===c?w({bytes:n,max:r,min:t}):e)).join("").trim(),ht.has(l)||(f=!1,h(l),o(new Set(ht)))}if(f&&i)throw new Error("[Uniquer generate unique] is Reduplicated");if(f&&!i){const t=s(e),r={reduplicateExit:!0};return wt({...e,...t,...r})}return l};const dt={getPowIn:e=>t=>Math.pow(t,e),getPowOut:e=>t=>1-Math.pow(1-t,e),getPowInOut:e=>t=>(t*=2)<1?.5*Math.pow(t,e):1-.5*Math.abs(Math.pow(2-t,e)),getBackIn:e=>t=>t*t*((e+1)*t-e),getBackOut:e=>t=>(t-=1)*t*((e+1)*t+e)+1,getBackInOut:e=>t=>(t*=2)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2),getElasticIn:(e,t)=>r=>{if(0===r||1===r)return r;const n=t/(2*Math.PI)*Math.asin(1/e);return-e*Math.pow(2,10*(r-=1))*Math.sin((r-n)*(2*Math.PI)/t)},getElasticOut:(e,t)=>r=>{if(0===r||1===r)return r;const n=t/(2*Math.PI)*Math.asin(1/e);return e*Math.pow(2,-10*r)*Math.sin((r-n)*(2*Math.PI)/t)+1},getElasticInOut:(e,t)=>r=>{if((r*=2)<1){const n=t/(2*Math.PI)*Math.asin(1/e);return e*Math.pow(2,10*(r-=1))*Math.sin((r-n)*(2*Math.PI)/t)*-.5}const n=t/(2*Math.PI)*Math.asin(1/e);return e*Math.pow(2,-10*(r-=1))*Math.sin((r-n)*(2*Math.PI)/t)*.5+1}},St={linear:e=>e,quadIn:e=>dt.getPowIn(2)(e),quadOut:e=>dt.getPowOut(2)(e),quadInOut:e=>dt.getPowInOut(2)(e),cubicIn:e=>dt.getPowIn(3)(e),cubicOut:e=>dt.getPowOut(3)(e),cubicInOut:e=>dt.getPowInOut(3)(e),quartIn:e=>dt.getPowIn(4)(e),quartOut:e=>dt.getPowOut(4)(e),quartInOut:e=>dt.getPowInOut(4)(e),quintIn:e=>dt.getPowIn(5)(e),quintOut:e=>dt.getPowOut(5)(e),quintInOut:e=>dt.getPowInOut(5)(e),sineIn:e=>1-Math.cos(e*Math.PI/2),sineOut:e=>Math.sin(e*Math.PI/2),sineInOut:e=>-.5*(Math.cos(Math.PI*e)-1),circIn:e=>-(Math.sqrt(1-e*e)-1),circOut:e=>Math.sqrt(1-(e-=1)*e),circInOut:e=>(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),backIn:e=>dt.getBackIn(1.7)(e),backOut:e=>dt.getBackOut(1.7)(e),backInOut:e=>dt.getBackInOut(1.7)(e),expoIn:e=>0===e?0:Math.pow(2,10*(e-1)),expoOut:e=>1===e?1:1-Math.pow(2,-10*e),expoInOut:e=>0===e?0:1===e?1:(e*=2)<1?Math.pow(2,10*(e-1))/2:(e*=2)>=1?(2-Math.pow(2,-10*--e))/2:void 0,elasticIn:e=>dt.getElasticIn(1,.3)(e),elasticOut:e=>dt.getElasticOut(1,.3)(e),elasticInOut:e=>dt.getElasticInOut(1,.3*1.5)(e),bounceIn:e=>e>1-1/2.75?1-7.5625*(1-e)*(1-e):e>1-2/2.75?1-(7.5625*(1-(e+=1.5/2.75))*(1-e)+.75):e>1-2.5/2.75?1-(7.5625*(1-(e+=2.25/2.75))*(1-e)+.9375):1-(7.5625*(1-(e+=2.625/2.75))*(1-e)+.984375),bounceOut:e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,bounceInOut:e=>e<.5?.5*St.bounceIn(2*e):.5*St.bounceOut(2*e-1)+.5};var yt={Tween:St,...O,...g,...K,...Ee,...o,..._,...d,...Ne,...ie,...Y,...ve,...Ce,...Ue,...Be,...$e,...A,...Ve,...ot,...ct,...mt,...{uniquer:wt}};export{St as Tween,tt as assign,gt as camelCase,et as clone,Xe as curry,st as debounce,rt as deepAssign,nt as deepClone,it as deepEqual,yt as default,Qe as equal,pt as hyphenCase,r as isArray,Fe as isAsyncFunction,je as isBoolean,be as isCustomizeError,Z as isDate,P as isDecimal,t as isEmptyArray,a as isEmptyMap,p as isEmptyObject,y as isEmptySet,T as isEmptyString,se as isError,ue as isEvalError,Ie as isFalse,F as isFiniteNumber,Re as isFunction,De as isGeneralFunction,Pe as isGeneratorFunction,D as isInfinity,N as isInteger,c as isMap,k as isNaN,e as isNonEmptyArray,s as isNonEmptyMap,f as isNonEmptyObject,S as isNonEmptySet,C as isNonEmptyString,I as isNull,v as isNullable,x as isNumber,m as isObject,qe as isPromise,le as isRangeError,fe as isReferenceError,Ae as isRegExp,b as isSet,H as isString,Q as isSymbol,ge as isSyntaxError,Oe as isTrue,ce as isTypeError,ae as isURIError,j as isUndef,U as isValidDate,Ze as isWeakMap,Te as isWeakSet,ut as lowerCase,i as newArray,Me as newCustomizeError,L as newDate,pe as newError,we as newEvalError,l as newMap,w as newObject,_e as newPromise,de as newRangeError,ye as newReferenceError,xe as newRegExp,E as newSet,te as newSymbol,ne as newSymbolFor,Se as newSyntaxError,he as newTypeError,me as newURIError,Le as newWeakMap,Ye as newWeakSet,Je as omit,Ke as pick,B as showDate,at as throttle,n as toArray,G as toDate,W as toDecimal,R as toFiniteNumber,z as toFixed,We as toFunction,$ as toInteger,u as toMap,q as toNumber,h as toObject,ze as toPromise,ke as toRegExp,M as toSet,ee as toSymbol,re as toSymbolFor,Ge as toWeakMap,He as toWeakSet,J as today,V as tomorrow,ft as underCase,wt as uniquer,lt as upperCase,X as yesterday};