pepka 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=Symbol("Placeholder"),r=r=>{let t=0;for(const s of r)s!==e&&t++;return t},t=(r,t)=>{const s=r.length,o=r.slice(),p=t.length;let n=p,x=0;for(;n&&x<s;x++)o[x]===e&&(o[x]=t[p-n],n--);for(x=s;n;x++,n--)o[x]=t[p-n];return o},s=(e,o,p)=>{const n=e.length-o.length-r(p);if(n<1)return e(...t(o,p));{const r=(...r)=>s(e,t(o,p),r);return r.$args_left=n,r}},o=e=>(...t)=>e.length>r(t)?s(e,[],t):e(...t),p=r=>function(t){return t===e?r:r(t)};function n(r){return function(t,s){const o=t===e,n=arguments.length;if(1===n&&o)throw new Error("Senseless placeholder usage.");return arguments.length>1?o?p((e=>r(e,s))):r(t,s):e=>r(t,e)}}function x(e){return o(e)}const c=void 0,a=1/0,l=e=>typeof e,i=e=>null===e,u=e=>"number"==l(e),f=e=>Array.isArray(e),h=e=>"function"===l(e),m=e=>!i(e)&&"object"===l(e),d={u:"U",b:"B",n:"N",s:"S",f:"F"},y=e=>{const r=l(e);return"object"===r?i(e)?"Null":e.constructor.name:d[r[0]]+r.slice(1)},g=n(((e,r)=>y(r)===e)),b=e=>(...r)=>r[e],w=n(((e,r)=>e===r)),q=n(((e,r)=>e==r)),j=n(((e,r)=>{const t=y(e);if(w(t,y(r))&&(w(t,"Object")||w(t,"Array"))){if(i(e)||i(r))return w(e,r);if(w(e,r))return!0;for(const t of[e,r])for(const s in t)if(!(w(t,r)&&s in e||w(t,e)&&s in r&&j(e[s],r[s])))return!1;return!0}return w(e,r)})),O=o(((e,r,t,s)=>e(s)?r(s):t(s))),A=x(((e,r,t)=>O(e,r,M,t))),S=(...r)=>(...t)=>{let s,o=!0;for(let p=H(r)-1;p>-1;p--)o?(o=!1,s=r[p](...t)):s=s===e?r[p]():r[p](s);return s},E=n(((e,r)=>e.bind(r))),k=n(((e,r)=>r[e])),z=n(((e,r)=>{if((e=>"string"===l(e))(r))return r.includes(e);for(const t of r)if(j(t,e))return!0;return!1})),P=x(((e,r,t)=>t.slice(e,u(r)?r:a))),v=e=>n(((r,t)=>e(t,r))),D=k(0),N=P(1,a),B=n(((e,r)=>e+r)),T=n(((e,r)=>r-e)),_=n(((e,r)=>e*r)),C=n(((e,r)=>e>r)),F=n(((e,r)=>e<r)),I=n(((e,r)=>r>=e)),U=n(((e,r)=>r<=e)),$=n(((e,r)=>r.sort(e))),K=n(((e,r)=>r.find(e))),L=n(((e,r)=>r.findIndex(e))),W=n(((e,r)=>L(j(e),r))),X=n(((e,r)=>e/r)),G=e=>i(e)||(e=>e===c)(e),H=e=>e.length,J=e=>()=>e,M=e=>e,Q=e=>!e,R=n(((e,r)=>e.test(r))),V=n(((e,r)=>(e(r),r))),Y=n(((e,r)=>[...r,e])),Z=n(((e,r)=>[...r,e])),ee=n(((e,r)=>r.flat(e))),re=n(((e,r)=>r.split(e))),te=J(!0),se=J(!1),oe=n(((e,r)=>r(...e))),pe=o(((e,r,t)=>t[r](...e))),ne=e=>(...r)=>{const t=e(...r),s=h(t);return!s||s&&t.$args_left<=0?Q(t):ne(t)},xe=n(((e,r)=>ae(B(e),r-e))),ce=n(((e,r)=>e.filter(v(z)(r)))),ae=n(((e,r)=>[...Array(r)].map(((r,t)=>e(t))))),le=n(((e,r)=>{for(const[t,s]of e)if(t(r))return s(r)})),ie=x(((e,r,t)=>({...t,[e]:r}))),ue=x(((e,r,t)=>S((s=>ie(s,H(e)<2?r:ue(P(1,a,e),r,m(t[s])?t[s]:{}),t)),D)(e))),fe=n(((e,r)=>r.every(e))),he=n(((e,r)=>r.some(e))),me=n(((e,r)=>e.every((e=>e(r))))),de=n(((e,r)=>e.some((e=>e(r))))),ye=n(((e,r)=>r[e])),ge=x(((e,r,t)=>j(t[e],r))),be=x(((e,r,t)=>j(r[e],t[e]))),we=x(((e,r,t)=>O(H,(()=>G(t)?e:S(O(G,J(e),(t=>we(e,P(1,a,r),t))),v(ye)(t),D)(r)),J(t),r))),qe=we(c),je=x(((e,r,t)=>j(qe(e,t),r))),Oe=x(((e,r,t)=>j(qe(e,r),qe(e,t)))),Ae=/^(.*?)(8|16|32|64)(Clamped)?Array$/,Se=(e,r=!1)=>{const t=y(e);switch(t){case"Null":case"String":case"Number":case"Boolean":case"Symbol":return e;case"Array":return r?[...e]:Ne(S(Se,b(0)),e);case"Object":if(r)return{...e};const s={};for(let r in e)s[r]=Se(e[r]);return s;default:return Ae.test(t)?e.constructor.from(e):e}},Ee=x(((e,r,t)=>or(e,Se(r),t))),ke=n(((e,r)=>Ce(e,r))),ze=n(((e,r)=>{const t={};for(const s of e)s in r&&(t[s]=r[s]);return t})),Pe=n(((e,r)=>Ce(((r,t)=>!z(t,e)),r))),ve=n(((e,r)=>r.concat(e))),De=n(((e,r)=>r.join(e))),Ne=n(((e,r)=>r.map(e))),Be=n(((e,r)=>r.forEach(e))),Te=x(((e,r,t)=>r(t)&&e(t))),_e=x(((e,r,t)=>t.replace(e,r))),Ce=n(((e,r)=>f(r)?r.filter(e):ur(e,{...r}))),Fe=n(((e,r)=>Object.assign({},e,r))),Ie=n(((e,r)=>nr(Se(e),Se(r)))),Ue=n(((e,r)=>xr(Se(e),Se(r)))),$e=n(((e,r)=>cr(Se(e),Se(r)))),Ke=x(((e,r,t)=>ie(e,r(t[e]),t))),Le=n(((e,r)=>lr(e,Object.assign({},r)))),We=n(((e,r)=>Ne(((e,t)=>[e,r[t]]),e))),Xe=n(((e,r)=>Ee(((e,t,s)=>ie(t,r[s],e)),{},e))),Ge=x(((e,r,t)=>Ne(((r,s)=>e(r,t[s])),r))),He=(()=>{const e=async(r,t,s)=>{s<t.length&&(await r(t[s]),await e(r,t,++s))};return n(((r,t)=>e(r,t,0)))})(),Je=n((async(e,r)=>(await e(r),r))),Me=n(((e,r)=>Promise.all(r.map(e)))),Qe=(()=>{const e=async(r,t,s)=>~s?await e(r,[await r[s](...t)],--s):D(t);return(...r)=>(...t)=>e(r,t,r.length-1)})(),Re=M,Ve=M,Ye=M,Ze=ne,er=Y,rr=he,tr=n(((e,r)=>(r.push(e),r))),sr=x(((e,r,t)=>(t[e]=r,t))),or=x(((e,r,t)=>t.reduce(e,r))),pr=x(((e,r,t)=>{for(let s in t)switch(y(t[s])){case"Array":if(e>1&&"Array"===y(r[s]))switch(e){case 2:const o=r[s],p=t[s];for(const r in p)o[r]?pr(e,o[r],p[r]):o[r]=p[r];break;case 3:r[s].push(...t[s])}else r[s]=t[s];break;case"Object":if("Object"===y(r[s])){pr(e,r[s],t[s]);break}default:r[s]=t[s]}return r})),nr=pr(1),xr=pr(2),cr=pr(3),ar=n(((e,r)=>Object.assign(e,r))),lr=n(((e,r)=>{let t,s,o,p;for(t in e)t in r&&(s=e[t],[o,p]=h(s)?s(r[t],t,r):[s,r[t]],r[G(o)?t:o]=p,t!==o&&delete r[t]);return r})),ir=n(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),ur=n(((e,r)=>{const t=f(r);let s,o;t&&(s=0,o=[]);for(let s in r)e(r[s],s)||(t?o.push(+s):delete r[s]);if(t)for(const e of o)r.splice(e-s++,1);return r})),fr=e=>{let r;for(const t in e)r=e[t],m(r)&&fr(r);return Object.freeze(e)},hr=e=>Object.freeze(e),mr=n(((e,r)=>r.unshift(e))),dr=x(((e,r,t)=>{const s=e[0];return sr(s,e.length<2?r:dr(e.slice(1),r,m(t[s])?t[s]:{}),t)}));exports.F=se,exports.T=te,exports.__=e,exports.add=B,exports.all=fe,exports.allPass=me,exports.always=J,exports.any=he,exports.anyPass=de,exports.append=Y,exports.assoc=ie,exports.assocPath=ue,exports.bind=E,exports.both=Te,exports.callFrom=pe,exports.callWith=oe,exports.clone=Se,exports.cloneShallow=e=>Se(e,!0),exports.complement=ne,exports.compose=S,exports.composeAsync=Qe,exports.concat=ve,exports.cond=le,exports.curry=o,exports.curry2=n,exports.curry3=x,exports.divide=X,exports.echo=Ye,exports.empty=e=>{switch(y(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return c}},exports.eq=w,exports.equals=j,exports.explore=(e,r="log")=>V((t=>console[r](e,t))),exports.filter=Ce,exports.find=K,exports.findIndex=L,exports.flat=e=>e.flat(a),exports.flatShallow=e=>e.flat(),exports.flatTo=ee,exports.flip=v,exports.forEach=Be,exports.forEachAsync=Me,exports.forEachSerial=He,exports.freeze=e=>fr(Se(e)),exports.freezeShallow=e=>hr(Se(e)),exports.fromPairs=e=>Object.fromEntries(e),exports.genBy=ae,exports.getTmpl=e=>{const r=[],t=[],s=e.length;let o,p,n,x=0,c=0,a=!1,l=D(e),i=!1;for(x=0;x<s;x++)switch(o=e[x],o){case"{":if(!l){a=!0,c=x;break}case"}":if(!l){a=!1,r.push(""),t.push(e.slice(c+1,x));break}default:n=e[x+1],i="\\"===o,a||i&&("{"===n||"}"===n)||(p=r.length-1,p<0&&(r.push(""),p++),r[p]+=o),l=i}return e=>{const s=[],o=r.length-1;for(const p in r)x=+p,s.push(r[x]),x!==o&&s.push(qe(t[x].split("."),e));return s.join("")}},exports.gt=C,exports.gte=I,exports.head=D,exports.identity=M,exports.ifElse=O,exports.includes=z,exports.indexOf=W,exports.intersection=ce,exports.isEmpty=e=>{switch(y(e)){case"String":case"Array":return 0==H(e);case"Object":for(const r in e)return!1;return!0;default:return null}},exports.isNil=G,exports.join=De,exports.keys=e=>Object.keys(e),exports.last=e=>e[H(e)-1],exports.length=H,exports.lt=F,exports.lte=U,exports.map=Ne,exports.mapKeys=Le,exports.memoize=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},exports.mergeDeep=Ie,exports.mergeDeepAdd=$e,exports.mergeDeepX=Ue,exports.mergeShallow=Fe,exports.mirror=Re,exports.multiply=_,exports.noop=()=>{},exports.not=Q,exports.notf=Ze,exports.nth=k,exports.omit=Pe,exports.once=e=>{let r,t=!1;return(...s)=>t?r:(t=!0,r=e(...s))},exports.overProp=Ke,exports.path=qe,exports.pathEq=je,exports.pathOr=we,exports.pathsEq=Oe,exports.pick=ze,exports.pickBy=ke,exports.prepend=Z,exports.prop=ye,exports.propEq=ge,exports.propsEq=be,exports.push=er,exports.qappend=tr,exports.qassoc=sr,exports.qassocPath=dr,exports.qempty=e=>{if(f(e))e.splice(0);else for(const r in e)delete e[r];return e},exports.qfilter=ur,exports.qfreeze=fr,exports.qfreezeShallow=hr,exports.qmap=ir,exports.qmapKeys=lr,exports.qmergeDeep=nr,exports.qmergeDeepAdd=cr,exports.qmergeDeepX=xr,exports.qmergeShallow=ar,exports.qprepend=mr,exports.qreduce=or,exports.range=xe,exports.reduce=Ee,exports.reflect=Ve,exports.replace=_e,exports.reverse=e=>S((r=>Ee(((t,s,o)=>tr(e[r-o],t)),[],e)),B(-1),H)(e),exports.sizeof=e=>{if("Object"===y(e)){let r=0;for(let t in e)r++;return r}return H(e)},exports.slice=P,exports.some=rr,exports.sort=$,exports.split=re,exports.subtract=T,exports.tail=N,exports.take=b,exports.tap=V,exports.test=R,exports.toLower=e=>e.toLowerCase(),exports.toPairs=e=>Object.entries(e),exports.toUpper=e=>e.toUpperCase(),exports.trim=e=>e.trim(),exports.type=y,exports.typeIs=g,exports.uncurry=e=>(...r)=>or(((e,r)=>e?e(r):e),e,r),exports.uniq=e=>or(((e,r)=>z(r,e)?e:tr(r,e)),[],e),exports.values=e=>Object.values(e),exports.waitAll=e=>Promise.all(e),exports.waitTap=Je,exports.weakEq=q,exports.when=A,exports.zip=We,exports.zipObj=Xe,exports.zipWith=Ge;
1
+ "use strict";const e=Symbol("Placeholder"),r=r=>{let t=0;for(const s of r)s!==e&&t++;return t},t=(r,t)=>{const s=r.length,o=r.slice(),p=t.length;let n=p,x=0;for(;n&&x<s;x++)o[x]===e&&(o[x]=t[p-n],n--);for(x=s;n;x++,n--)o[x]=t[p-n];return o},s=(e,o,p)=>{const n=e.length-o.length-r(p);if(n<1)return e(...t(o,p));{const r=(...r)=>s(e,t(o,p),r);return r.$args_left=n,r}},o=e=>(...t)=>e.length>r(t)?s(e,[],t):e(...t);function p(r){return function(t,s){const o=t===e;if(1===arguments.length&&o)throw new Error("Senseless placeholder usage.");return arguments.length>1?o?(r=>function(t){return t===e?r:r(t)})((e=>r(e,s))):r(t,s):e=>r(t,e)}}function n(e){return o(e)}const x=void 0,c=1/0,a=e=>typeof e,l=e=>null===e,i=e=>"number"==a(e),u=e=>Array.isArray(e),f=e=>"function"===a(e),h=e=>!l(e)&&"object"===a(e),m={u:"U",b:"B",n:"N",s:"S",f:"F"},d=e=>{const r=a(e);return"object"===r?l(e)?"Null":e.constructor.name:m[r[0]]+r.slice(1)},y=p(((e,r)=>d(r)===e)),g=e=>(...r)=>r[e],b=p(((e,r)=>e===r)),w=p(((e,r)=>e==r)),q=p(((e,r)=>{const t=d(e);if(b(t,d(r))&&(b(t,"Object")||b(t,"Array"))){if(l(e)||l(r))return b(e,r);if(b(e,r))return!0;for(const t of[e,r])for(const s in t)if(!(b(t,r)&&s in e||b(t,e)&&s in r&&q(e[s],r[s])))return!1;return!0}return b(e,r)})),j=o(((e,r,t,s)=>e(s)?r(s):t(s))),O=n(((e,r,t)=>j(e,r,J,t))),A=(...r)=>(...t)=>{let s,o=!0;for(let p=G(r)-1;p>-1;p--)o?(o=!1,s=r[p](...t)):s=s===e?r[p]():r[p](s);return s},S=p(((e,r)=>e.bind(r))),E=p(((e,r)=>r[e])),k=p(((e,r)=>{if((e=>"string"===a(e))(r))return r.includes(e);for(const t of r)if(q(t,e))return!0;return!1})),z=n(((e,r,t)=>t.slice(e,i(r)?r:c))),v=e=>p(((r,t)=>e(t,r))),P=E(0),D=z(1,c),N=p(((e,r)=>e+r)),B=p(((e,r)=>r-e)),T=p(((e,r)=>e*r)),_=p(((e,r)=>e>r)),C=p(((e,r)=>e<r)),F=p(((e,r)=>r>=e)),I=p(((e,r)=>r<=e)),U=p(((e,r)=>r.sort(e))),$=p(((e,r)=>r.find(e))),K=p(((e,r)=>r.findIndex(e))),L=p(((e,r)=>K(q(e),r))),W=p(((e,r)=>e/r)),X=e=>l(e)||(e=>e===x)(e),G=e=>e.length,H=e=>()=>e,J=e=>e,M=e=>!e,Q=p(((e,r)=>e.test(r))),R=p(((e,r)=>(e(r),r))),V=p(((e,r)=>[...r,e])),Y=p(((e,r)=>[...r,e])),Z=p(((e,r)=>r.flat(e))),ee=p(((e,r)=>r.split(e))),re=H(!0),te=H(!1),se=p(((e,r)=>r(...e))),oe=o(((e,r,t)=>t[r](...e))),pe=e=>(...r)=>{const t=e(...r),s=f(t);return!s||s&&t.$args_left<=0?M(t):pe(t)},ne=p(((e,r)=>ce(N(e),r-e))),xe=p(((e,r)=>e.filter(v(k)(r)))),ce=p(((e,r)=>[...Array(r)].map(((r,t)=>e(t))))),ae=p(((e,r)=>{for(const[t,s]of e)if(t(r))return s(r)})),le=n(((e,r,t)=>({...t,[e]:r}))),ie=n(((e,r,t)=>A((s=>le(s,G(e)<2?r:ie(z(1,c,e),r,h(t[s])?t[s]:{}),t)),P)(e))),ue=p(((e,r)=>r.every(e))),fe=p(((e,r)=>r.some(e))),he=p(((e,r)=>e.every((e=>e(r))))),me=p(((e,r)=>e.some((e=>e(r))))),de=p(((e,r)=>r[e])),ye=n(((e,r,t)=>q(t[e],r))),ge=n(((e,r,t)=>q(r[e],t[e]))),be=n(((e,r,t)=>j(G,(()=>X(t)?e:A(j(X,H(e),(t=>be(e,z(1,c,r),t))),v(de)(t),P)(r)),H(t),r))),we=be(x),qe=n(((e,r,t)=>q(we(e,t),r))),je=n(((e,r,t)=>q(we(e,r),we(e,t)))),Oe=/^(.*?)(8|16|32|64)(Clamped)?Array$/,Ae=(e,r=!1)=>{const t=d(e);switch(t){case"Null":case"String":case"Number":case"Boolean":case"Symbol":return e;case"Array":return r?[...e]:De(A(Ae,g(0)),e);case"Object":if(r)return{...e};const s={};for(let r in e)s[r]=Ae(e[r]);return s;default:return Oe.test(t)?e.constructor.from(e):e}},Se=n(((e,r,t)=>sr(e,Ae(r),t))),Ee=p(((e,r)=>_e(e,r))),ke=p(((e,r)=>{const t={};for(const s of e)s in r&&(t[s]=r[s]);return t})),ze=p(((e,r)=>_e(((r,t)=>!k(t,e)),r))),ve=p(((e,r)=>r.concat(e))),Pe=p(((e,r)=>r.join(e))),De=p(((e,r)=>r.map(e))),Ne=p(((e,r)=>r.forEach(e))),Be=n(((e,r,t)=>r(t)&&e(t))),Te=n(((e,r,t)=>t.replace(e,r))),_e=p(((e,r)=>u(r)?r.filter(e):ir(e,{...r}))),Ce=p(((e,r)=>Object.assign({},e,r))),Fe=p(((e,r)=>pr(Ae(e),Ae(r)))),Ie=p(((e,r)=>nr(Ae(e),Ae(r)))),Ue=p(((e,r)=>xr(Ae(e),Ae(r)))),$e=n(((e,r,t)=>le(e,r(t[e]),t))),Ke=p(((e,r)=>ar(e,Object.assign({},r)))),Le=p(((e,r)=>De(((e,t)=>[e,r[t]]),e))),We=p(((e,r)=>Se(((e,t,s)=>le(t,r[s],e)),{},e))),Xe=n(((e,r,t)=>De(((r,s)=>e(r,t[s])),r))),Ge=(()=>{const e=async(r,t,s)=>{s<t.length&&(await r(t[s]),await e(r,t,++s))};return p(((r,t)=>e(r,t,0)))})(),He=p((async(e,r)=>(await e(r),r))),Je=p(((e,r)=>Promise.all(r.map(e)))),Me=(()=>{const e=async(r,t,s)=>~s?await e(r,[await r[s](...t)],--s):P(t);return(...r)=>(...t)=>e(r,t,r.length-1)})(),Qe=J,Re=J,Ve=J,Ye=pe,Ze=V,er=fe,rr=p(((e,r)=>(r.push(e),r))),tr=n(((e,r,t)=>(t[e]=r,t))),sr=n(((e,r,t)=>t.reduce(e,r))),or=n(((e,r,t)=>{for(let s in t)switch(d(t[s])){case"Array":if(e>1&&"Array"===d(r[s]))switch(e){case 2:const o=r[s],p=t[s];for(const r in p)o[r]?or(e,o[r],p[r]):o[r]=p[r];break;case 3:r[s].push(...t[s])}else r[s]=t[s];break;case"Object":if("Object"===d(r[s])){or(e,r[s],t[s]);break}default:r[s]=t[s]}return r})),pr=or(1),nr=or(2),xr=or(3),cr=p(((e,r)=>Object.assign(e,r))),ar=p(((e,r)=>{let t,s,o,p;for(t in e)t in r&&(s=e[t],[o,p]=f(s)?s(r[t],t,r):[s,r[t]],r[X(o)?t:o]=p,t!==o&&delete r[t]);return r})),lr=p(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),ir=p(((e,r)=>{const t=u(r);let s,o;t&&(s=0,o=[]);for(let s in r)e(r[s],s)||(t?o.push(+s):delete r[s]);if(t)for(const e of o)r.splice(e-s++,1);return r})),ur=e=>{let r;for(const t in e)r=e[t],h(r)&&ur(r);return Object.freeze(e)},fr=e=>Object.freeze(e),hr=p(((e,r)=>r.unshift(e))),mr=n(((e,r,t)=>{const s=e[0];return tr(s,e.length<2?r:mr(e.slice(1),r,h(t[s])?t[s]:{}),t)})),dr=p(((e,r)=>ir(((r,t)=>!k(t,e)),r)));exports.F=te,exports.T=re,exports.__=e,exports.add=N,exports.all=ue,exports.allPass=he,exports.always=H,exports.any=fe,exports.anyPass=me,exports.append=V,exports.assoc=le,exports.assocPath=ie,exports.bind=S,exports.both=Be,exports.callFrom=oe,exports.callWith=se,exports.clone=Ae,exports.cloneShallow=e=>Ae(e,!0),exports.complement=pe,exports.compose=A,exports.composeAsync=Me,exports.concat=ve,exports.cond=ae,exports.curry=o,exports.curry2=p,exports.curry3=n,exports.divide=W,exports.echo=Ve,exports.empty=e=>{switch(d(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return x}},exports.eq=b,exports.equals=q,exports.explore=(e,r="log")=>R((t=>console[r](e,t))),exports.filter=_e,exports.find=$,exports.findIndex=K,exports.flat=e=>e.flat(c),exports.flatShallow=e=>e.flat(),exports.flatTo=Z,exports.flip=v,exports.forEach=Ne,exports.forEachAsync=Je,exports.forEachSerial=Ge,exports.freeze=e=>ur(Ae(e)),exports.freezeShallow=e=>fr(Ae(e)),exports.fromPairs=e=>Object.fromEntries(e),exports.genBy=ce,exports.getTmpl=e=>{const r=[],t=[],s=e.length;let o,p,n,x=0,c=0,a=!1,l=P(e),i=!1;for(x=0;x<s;x++)switch(o=e[x],o){case"{":if(!l){a=!0,c=x;break}case"}":if(!l){a=!1,r.push(""),t.push(e.slice(c+1,x));break}default:n=e[x+1],i="\\"===o,a||i&&("{"===n||"}"===n)||(p=r.length-1,p<0&&(r.push(""),p++),r[p]+=o),l=i}return e=>{const s=[],o=r.length-1;for(const p in r)x=+p,s.push(r[x]),x!==o&&s.push(we(t[x].split("."),e));return s.join("")}},exports.gt=_,exports.gte=F,exports.head=P,exports.identity=J,exports.ifElse=j,exports.includes=k,exports.indexOf=L,exports.intersection=xe,exports.isEmpty=e=>{switch(d(e)){case"String":case"Array":return 0==G(e);case"Object":for(const r in e)return!1;return!0;default:return null}},exports.isNil=X,exports.join=Pe,exports.keys=e=>Object.keys(e),exports.last=e=>e[G(e)-1],exports.length=G,exports.lt=C,exports.lte=I,exports.map=De,exports.mapKeys=Ke,exports.memoize=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},exports.mergeDeep=Fe,exports.mergeDeepAdd=Ue,exports.mergeDeepX=Ie,exports.mergeShallow=Ce,exports.mirror=Qe,exports.multiply=T,exports.noop=()=>{},exports.not=M,exports.notf=Ye,exports.nth=E,exports.omit=ze,exports.once=e=>{let r,t=!1;return(...s)=>t?r:(t=!0,r=e(...s))},exports.overProp=$e,exports.path=we,exports.pathEq=qe,exports.pathOr=be,exports.pathsEq=je,exports.pick=ke,exports.pickBy=Ee,exports.prepend=Y,exports.prop=de,exports.propEq=ye,exports.propsEq=ge,exports.push=Ze,exports.qappend=rr,exports.qassoc=tr,exports.qassocPath=mr,exports.qempty=e=>{if(u(e))e.splice(0);else for(const r in e)delete e[r];return e},exports.qfilter=ir,exports.qfreeze=ur,exports.qfreezeShallow=fr,exports.qmap=lr,exports.qmapKeys=ar,exports.qmergeDeep=pr,exports.qmergeDeepAdd=xr,exports.qmergeDeepX=nr,exports.qmergeShallow=cr,exports.qomit=dr,exports.qprepend=hr,exports.qreduce=sr,exports.qreverse=e=>e.reverse(),exports.range=ne,exports.reduce=Se,exports.reflect=Re,exports.replace=Te,exports.reverse=e=>A((r=>Se(((t,s,o)=>rr(e[r-o],t)),[],e)),N(-1),G)(e),exports.sizeof=e=>{if("Object"===d(e)){let r=0;for(let t in e)r++;return r}return G(e)},exports.slice=z,exports.some=er,exports.sort=U,exports.split=ee,exports.subtract=B,exports.tail=D,exports.take=g,exports.tap=R,exports.test=Q,exports.toLower=e=>e.toLowerCase(),exports.toPairs=e=>Object.entries(e),exports.toUpper=e=>e.toUpperCase(),exports.trim=e=>e.trim(),exports.type=d,exports.typeIs=y,exports.uncurry=e=>(...r)=>sr(((e,r)=>e?e(r):e),e,r),exports.uniq=e=>sr(((e,r)=>k(r,e)?e:rr(r,e)),[],e),exports.values=e=>Object.values(e),exports.waitAll=e=>Promise.all(e),exports.waitTap=He,exports.weakEq=w,exports.when=O,exports.zip=Le,exports.zipObj=We,exports.zipWith=Xe;
package/dist/bundle.d.ts CHANGED
@@ -1,25 +1,27 @@
1
1
  export { __ }
2
2
 
3
- // Generated by dts-bundle-generator v7.2.0
3
+ // Generated by dts-bundle-generator v9.3.1
4
4
 
5
5
  export type Cond = (x1?: any, x2?: any, x3?: any) => boolean;
6
6
  export interface AnyObject {
7
7
  [k: string]: any;
8
8
  }
9
9
  export type AnyArgs = any[];
10
- export type Curried<Args extends AnyArgs = AnyArgs, ReturnT = any> = (arg: Args[number]) => Curried<Args> | ReturnT;
10
+ export type Reducer<T = any> = (accum: T, cur: any, index: number) => T;
11
11
  export type AnyFunc<ReturnT = any, Args extends AnyArgs = AnyArgs> = (...args: Args) => ReturnT;
12
- export type Placeholder = symbol;
13
- declare const __: Placeholder;
12
+ export type TupleFn<ARG1 = any, ARG2 = any, Out = any> = (a: ARG1, b: ARG2) => Out;
13
+ export type Curried<Args extends AnyArgs = AnyArgs, ReturnT = any> = (arg: Args[number]) => Curried<Args> | ReturnT;
14
+ type Placeholder = symbol;
15
+ export declare const __: Placeholder;
14
16
  export declare const curry: (fn: AnyFunc) => (...args: AnyArgs) => any;
15
- export type Func2 = (a: any, b: any) => any;
17
+ type Func2 = (a: any, b: any) => any;
16
18
  export declare function curry2<Func extends Func2>(fn: Func): {
17
19
  (a: Placeholder, b: Parameters<Func>[1]): (a: Parameters<Func>[0]) => ReturnType<Func>;
18
20
  (a: Parameters<Func>[0], b: Placeholder): (b: Parameters<Func>[1]) => ReturnType<Func>;
19
21
  (a: Parameters<Func>[0]): (b: Parameters<Func>[1]) => ReturnType<Func>;
20
22
  (a: Parameters<Func>[0], b: Parameters<Func>[1]): ReturnType<Func>;
21
23
  };
22
- export type Func3 = (a: any, b: any, c: any) => any;
24
+ type Func3 = (a: any, b: any, c: any) => any;
23
25
  export declare function curry3<Func extends Func3>(fn: Func): (...args: AnyArgs) => any;
24
26
  export declare const uncurry: <Args extends any[] = any[], ReturnT = any>(fn: Curried<Args>) => AnyFunc;
25
27
  export declare const toLower: (s: string) => string;
@@ -52,7 +54,7 @@ export declare const equals: {
52
54
  };
53
55
  export declare const ifElse: (...args: AnyArgs) => any;
54
56
  export declare const when: (...args: AnyArgs) => any;
55
- export type Composed<TIn extends any[], TOut> = (...xs: TIn) => TOut;
57
+ type Composed<TIn extends any[], TOut> = (...xs: TIn) => TOut;
56
58
  export declare const compose: <TIn extends any[] = any[], TOut = any>(...fns: AnyFunc[]) => Composed<TIn, TOut>;
57
59
  export declare const bind: {
58
60
  (a: symbol, b: any): (a: any) => any;
@@ -79,7 +81,7 @@ export declare const flip: <T extends AnyFunc>(fn: T) => {
79
81
  (a: Parameters<T>[1]): (b: Parameters<T>[0]) => any;
80
82
  (a: Parameters<T>[1], b: Parameters<T>[0]): any;
81
83
  };
82
- export declare const head: <T = any>(xs: string | T[]) => T;
84
+ export declare const head: <T = any>(xs: T[] | string) => T;
83
85
  export declare const tail: any;
84
86
  export declare const add: {
85
87
  (a: symbol, b: number): (a: number) => number;
@@ -154,13 +156,25 @@ export declare const divide: {
154
156
  (a: number, b: number): number;
155
157
  };
156
158
  export declare const isNil: (s: any) => boolean;
157
- export declare const length: (s: any[] | string) => number;
159
+ declare const length$1: (s: any[] | string) => number;
158
160
  export declare const always: <T = any>(s: T) => () => T;
159
161
  export declare const identity: (s: any) => any;
160
162
  export declare const trim: (s: string) => string;
161
163
  export declare const last: (s: any[] | string) => any;
162
- export declare const not: (o: boolean) => boolean;
163
- export declare const keys: (o: AnyObject | any[]) => string[];
164
+ type NotOverload = {
165
+ (x: true): false;
166
+ (x: false): true;
167
+ (x: any): boolean;
168
+ };
169
+ export declare const not: NotOverload;
170
+ type IndexesOfArray<A> = Exclude<keyof A, keyof [
171
+ ]>;
172
+ type KeysOverload = {
173
+ <T extends any[]>(o: T): string[];
174
+ <T extends readonly any[]>(o: T): IndexesOfArray<T>[];
175
+ <T extends AnyObject>(o: T): (keyof T)[];
176
+ };
177
+ export declare const keys: KeysOverload;
164
178
  export declare const values: (o: AnyObject | any[]) => any[];
165
179
  export declare const toPairs: (o: AnyObject | any[]) => [
166
180
  string,
@@ -530,7 +544,18 @@ export declare const qprepend: {
530
544
  (a: any, b: any[]): number;
531
545
  };
532
546
  export declare const qassocPath: any;
533
- export type StrTmpl = ((data: AnyObject) => string);
547
+ export declare const qreverse: (arr: any[]) => any[];
548
+ export declare const qomit: {
549
+ (a: symbol, b: AnyObject): (a: string[]) => any[] | AnyObject;
550
+ (a: string[], b: symbol): (b: AnyObject) => any[] | AnyObject;
551
+ (a: string[]): (b: AnyObject) => any[] | AnyObject;
552
+ (a: string[], b: AnyObject): any[] | AnyObject;
553
+ };
554
+ type StrTmpl = ((data: AnyObject) => string);
534
555
  export declare const getTmpl: (tmpl: string) => StrTmpl;
535
556
 
557
+ export {
558
+ length$1 as length,
559
+ };
560
+
536
561
  export {};
package/dist/bundle.mjs CHANGED
@@ -1 +1 @@
1
- const e=Symbol("Placeholder"),r=r=>{let t=0;for(const n of r)n!==e&&t++;return t},t=(r,t)=>{const n=r.length,s=r.slice(),c=t.length;let o=c,l=0;for(;o&&l<n;l++)s[l]===e&&(s[l]=t[c-o],o--);for(l=n;o;l++,o--)s[l]=t[c-o];return s},n=(e,s,c)=>{const o=e.length-s.length-r(c);if(o<1)return e(...t(s,c));{const r=(...r)=>n(e,t(s,c),r);return r.$args_left=o,r}},s=e=>(...t)=>e.length>r(t)?n(e,[],t):e(...t),c=r=>function(t){return t===e?r:r(t)};function o(r){return function(t,n){const s=t===e,o=arguments.length;if(1===o&&s)throw new Error("Senseless placeholder usage.");return arguments.length>1?s?c((e=>r(e,n))):r(t,n):e=>r(t,e)}}function l(e){return s(e)}const i=void 0,u=1/0,a=e=>typeof e,f=e=>null===e,h=e=>"number"==a(e),b=e=>Array.isArray(e),g=e=>"function"===a(e),p=e=>!f(e)&&"object"===a(e),j={u:"U",b:"B",n:"N",s:"S",f:"F"},y=e=>e.toLowerCase(),d=e=>e.toUpperCase(),m=e=>{const r=a(e);return"object"===r?f(e)?"Null":e.constructor.name:j[r[0]]+r.slice(1)},O=o(((e,r)=>m(r)===e)),w=e=>(...r)=>r[e],A=o(((e,r)=>e===r)),S=o(((e,r)=>e==r)),k=o(((e,r)=>{const t=m(e);if(A(t,m(r))&&(A(t,"Object")||A(t,"Array"))){if(f(e)||f(r))return A(e,r);if(A(e,r))return!0;for(const t of[e,r])for(const n in t)if(!(A(t,r)&&n in e||A(t,e)&&n in r&&k(e[n],r[n])))return!1;return!0}return A(e,r)})),v=s(((e,r,t,n)=>e(n)?r(n):t(n))),N=l(((e,r,t)=>v(e,r,W,t))),C=(...r)=>(...t)=>{let n,s=!0;for(let c=T(r)-1;c>-1;c--)s?(s=!1,n=r[c](...t)):n=n===e?r[c]():r[c](n);return n},E=o(((e,r)=>e.bind(r))),P=o(((e,r)=>r[e])),$=o(((e,r)=>{if((e=>"string"===a(e))(r))return r.includes(e);for(const t of r)if(k(t,e))return!0;return!1})),x=l(((e,r,t)=>t.slice(e,h(r)?r:u))),z=e=>o(((r,t)=>e(t,r))),B=P(0),U=x(1,u),_=o(((e,r)=>e+r)),D=o(((e,r)=>r-e)),F=o(((e,r)=>e*r)),I=o(((e,r)=>e>r)),L=o(((e,r)=>e<r)),q=o(((e,r)=>r>=e)),G=o(((e,r)=>r<=e)),H=o(((e,r)=>r.sort(e))),J=o(((e,r)=>r.find(e))),K=o(((e,r)=>r.findIndex(e))),M=o(((e,r)=>K(k(e),r))),Q=o(((e,r)=>e/r)),R=e=>f(e)||(e=>e===i)(e),T=e=>e.length,V=e=>()=>e,W=e=>e,X=e=>e.trim(),Y=e=>e[T(e)-1],Z=e=>!e,ee=e=>Object.keys(e),re=e=>Object.values(e),te=e=>Object.entries(e),ne=o(((e,r)=>e.test(r))),se=o(((e,r)=>(e(r),r))),ce=o(((e,r)=>[...r,e])),oe=o(((e,r)=>[...r,e])),le=e=>e.flat(u),ie=e=>e.flat(),ue=o(((e,r)=>r.flat(e))),ae=o(((e,r)=>r.split(e))),fe=V(!0),he=V(!1),be=o(((e,r)=>r(...e))),ge=()=>{},pe=s(((e,r,t)=>t[r](...e))),je=e=>(...r)=>{const t=e(...r),n=g(t);return!n||n&&t.$args_left<=0?Z(t):je(t)},ye=e=>{if("Object"===m(e)){let r=0;for(let t in e)r++;return r}return T(e)},de=o(((e,r)=>we(_(e),r-e))),me=e=>Cr(((e,r)=>$(r,e)?e:vr(r,e)),[],e),Oe=o(((e,r)=>e.filter(z($)(r)))),we=o(((e,r)=>[...Array(r)].map(((r,t)=>e(t))))),Ae=e=>{let r,t=!1;return(...n)=>t?r:(t=!0,r=e(...n))},Se=e=>C((r=>Ke(((t,n,s)=>vr(e[r-s],t)),[],e)),_(-1),T)(e),ke=(e,r="log")=>se((t=>console[r](e,t))),ve=o(((e,r)=>{for(const[t,n]of e)if(t(r))return n(r)})),Ne=l(((e,r,t)=>({...t,[e]:r}))),Ce=l(((e,r,t)=>C((n=>Ne(n,T(e)<2?r:Ce(x(1,u,e),r,p(t[n])?t[n]:{}),t)),B)(e))),Ee=o(((e,r)=>r.every(e))),Pe=o(((e,r)=>r.some(e))),$e=o(((e,r)=>e.every((e=>e(r))))),xe=o(((e,r)=>e.some((e=>e(r))))),ze=o(((e,r)=>r[e])),Be=l(((e,r,t)=>k(t[e],r))),Ue=l(((e,r,t)=>k(r[e],t[e]))),_e=l(((e,r,t)=>v(T,(()=>R(t)?e:C(v(R,V(e),(t=>_e(e,x(1,u,r),t))),z(ze)(t),B)(r)),V(t),r))),De=_e(i),Fe=l(((e,r,t)=>k(De(e,t),r))),Ie=l(((e,r,t)=>k(De(e,r),De(e,t)))),Le=/^(.*?)(8|16|32|64)(Clamped)?Array$/,qe=(e,r=!1)=>{const t=m(e);switch(t){case"Null":case"String":case"Number":case"Boolean":case"Symbol":return e;case"Array":return r?[...e]:Xe(C(qe,w(0)),e);case"Object":if(r)return{...e};const n={};for(let r in e)n[r]=qe(e[r]);return n;default:return Le.test(t)?e.constructor.from(e):e}},Ge=e=>qe(e,!0),He=e=>Fr(qe(e)),Je=e=>Ir(qe(e)),Ke=l(((e,r,t)=>Cr(e,qe(r),t))),Me=o(((e,r)=>nr(e,r))),Qe=o(((e,r)=>{const t={};for(const n of e)n in r&&(t[n]=r[n]);return t})),Re=o(((e,r)=>nr(((r,t)=>!$(t,e)),r))),Te=e=>Object.fromEntries(e),Ve=o(((e,r)=>r.concat(e))),We=o(((e,r)=>r.join(e))),Xe=o(((e,r)=>r.map(e))),Ye=o(((e,r)=>r.forEach(e))),Ze=l(((e,r,t)=>r(t)&&e(t))),er=e=>{switch(m(e)){case"String":case"Array":return 0==T(e);case"Object":for(const r in e)return!1;return!0;default:return null}},rr=e=>{switch(m(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return i}},tr=l(((e,r,t)=>t.replace(e,r))),nr=o(((e,r)=>b(r)?r.filter(e):_r(e,{...r}))),sr=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},cr=o(((e,r)=>Object.assign({},e,r))),or=o(((e,r)=>Pr(qe(e),qe(r)))),lr=o(((e,r)=>$r(qe(e),qe(r)))),ir=o(((e,r)=>xr(qe(e),qe(r)))),ur=l(((e,r,t)=>Ne(e,r(t[e]),t))),ar=o(((e,r)=>Br(e,Object.assign({},r)))),fr=o(((e,r)=>Xe(((e,t)=>[e,r[t]]),e))),hr=o(((e,r)=>Ke(((e,t,n)=>Ne(t,r[n],e)),{},e))),br=l(((e,r,t)=>Xe(((r,n)=>e(r,t[n])),r))),gr=(()=>{const e=async(r,t,n)=>{n<t.length&&(await r(t[n]),await e(r,t,++n))};return o(((r,t)=>e(r,t,0)))})(),pr=e=>Promise.all(e),jr=o((async(e,r)=>(await e(r),r))),yr=o(((e,r)=>Promise.all(r.map(e)))),dr=(()=>{const e=async(r,t,n)=>~n?await e(r,[await r[n](...t)],--n):B(t);return(...r)=>(...t)=>e(r,t,r.length-1)})(),mr=W,Or=W,wr=W,Ar=je,Sr=ce,kr=Pe,vr=o(((e,r)=>(r.push(e),r))),Nr=l(((e,r,t)=>(t[e]=r,t))),Cr=l(((e,r,t)=>t.reduce(e,r))),Er=l(((e,r,t)=>{for(let n in t)switch(m(t[n])){case"Array":if(e>1&&"Array"===m(r[n]))switch(e){case 2:const s=r[n],c=t[n];for(const r in c)s[r]?Er(e,s[r],c[r]):s[r]=c[r];break;case 3:r[n].push(...t[n])}else r[n]=t[n];break;case"Object":if("Object"===m(r[n])){Er(e,r[n],t[n]);break}default:r[n]=t[n]}return r})),Pr=Er(1),$r=Er(2),xr=Er(3),zr=o(((e,r)=>Object.assign(e,r))),Br=o(((e,r)=>{let t,n,s,c;for(t in e)t in r&&(n=e[t],[s,c]=g(n)?n(r[t],t,r):[n,r[t]],r[R(s)?t:s]=c,t!==s&&delete r[t]);return r})),Ur=o(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),_r=o(((e,r)=>{const t=b(r);let n,s;t&&(n=0,s=[]);for(let n in r)e(r[n],n)||(t?s.push(+n):delete r[n]);if(t)for(const e of s)r.splice(e-n++,1);return r})),Dr=e=>{if(b(e))e.splice(0);else for(const r in e)delete e[r];return e},Fr=e=>{let r;for(const t in e)r=e[t],p(r)&&Fr(r);return Object.freeze(e)},Ir=e=>Object.freeze(e),Lr=o(((e,r)=>r.unshift(e))),qr=l(((e,r,t)=>{const n=e[0];return Nr(n,e.length<2?r:qr(e.slice(1),r,p(t[n])?t[n]:{}),t)})),Gr=e=>(...r)=>Cr(((e,r)=>e?e(r):e),e,r),Hr=e=>{const r=[],t=[],n=e.length;let s,c,o,l=0,i=0,u=!1,a=B(e),f=!1;for(l=0;l<n;l++)switch(s=e[l],s){case"{":if(!a){u=!0,i=l;break}case"}":if(!a){u=!1,r.push(""),t.push(e.slice(i+1,l));break}default:o=e[l+1],f="\\"===s,u||f&&("{"===o||"}"===o)||(c=r.length-1,c<0&&(r.push(""),c++),r[c]+=s),a=f}return e=>{const n=[],s=r.length-1;for(const c in r)l=+c,n.push(r[l]),l!==s&&n.push(De(t[l].split("."),e));return n.join("")}};export{he as F,fe as T,e as __,_ as add,Ee as all,$e as allPass,V as always,Pe as any,xe as anyPass,ce as append,Ne as assoc,Ce as assocPath,E as bind,Ze as both,pe as callFrom,be as callWith,qe as clone,Ge as cloneShallow,je as complement,C as compose,dr as composeAsync,Ve as concat,ve as cond,s as curry,o as curry2,l as curry3,Q as divide,wr as echo,rr as empty,A as eq,k as equals,ke as explore,nr as filter,J as find,K as findIndex,le as flat,ie as flatShallow,ue as flatTo,z as flip,Ye as forEach,yr as forEachAsync,gr as forEachSerial,He as freeze,Je as freezeShallow,Te as fromPairs,we as genBy,Hr as getTmpl,I as gt,q as gte,B as head,W as identity,v as ifElse,$ as includes,M as indexOf,Oe as intersection,er as isEmpty,R as isNil,We as join,ee as keys,Y as last,T as length,L as lt,G as lte,Xe as map,ar as mapKeys,sr as memoize,or as mergeDeep,ir as mergeDeepAdd,lr as mergeDeepX,cr as mergeShallow,mr as mirror,F as multiply,ge as noop,Z as not,Ar as notf,P as nth,Re as omit,Ae as once,ur as overProp,De as path,Fe as pathEq,_e as pathOr,Ie as pathsEq,Qe as pick,Me as pickBy,oe as prepend,ze as prop,Be as propEq,Ue as propsEq,Sr as push,vr as qappend,Nr as qassoc,qr as qassocPath,Dr as qempty,_r as qfilter,Fr as qfreeze,Ir as qfreezeShallow,Ur as qmap,Br as qmapKeys,Pr as qmergeDeep,xr as qmergeDeepAdd,$r as qmergeDeepX,zr as qmergeShallow,Lr as qprepend,Cr as qreduce,de as range,Ke as reduce,Or as reflect,tr as replace,Se as reverse,ye as sizeof,x as slice,kr as some,H as sort,ae as split,D as subtract,U as tail,w as take,se as tap,ne as test,y as toLower,te as toPairs,d as toUpper,X as trim,m as type,O as typeIs,Gr as uncurry,me as uniq,re as values,pr as waitAll,jr as waitTap,S as weakEq,N as when,fr as zip,hr as zipObj,br as zipWith};
1
+ const e=Symbol("Placeholder"),r=r=>{let t=0;for(const n of r)n!==e&&t++;return t},t=(r,t)=>{const n=r.length,s=r.slice(),c=t.length;let o=c,l=0;for(;o&&l<n;l++)s[l]===e&&(s[l]=t[c-o],o--);for(l=n;o;l++,o--)s[l]=t[c-o];return s},n=(e,s,c)=>{const o=e.length-s.length-r(c);if(o<1)return e(...t(s,c));{const r=(...r)=>n(e,t(s,c),r);return r.$args_left=o,r}},s=e=>(...t)=>e.length>r(t)?n(e,[],t):e(...t);function c(r){return function(t,n){const s=t===e;if(1===arguments.length&&s)throw new Error("Senseless placeholder usage.");return arguments.length>1?s?(r=>function(t){return t===e?r:r(t)})((e=>r(e,n))):r(t,n):e=>r(t,e)}}function o(e){return s(e)}const l=void 0,i=1/0,u=e=>typeof e,a=e=>null===e,f=e=>"number"==u(e),h=e=>Array.isArray(e),b=e=>"function"===u(e),g=e=>!a(e)&&"object"===u(e),p={u:"U",b:"B",n:"N",s:"S",f:"F"},j=e=>e.toLowerCase(),y=e=>e.toUpperCase(),d=e=>{const r=u(e);return"object"===r?a(e)?"Null":e.constructor.name:p[r[0]]+r.slice(1)},m=c(((e,r)=>d(r)===e)),O=e=>(...r)=>r[e],w=c(((e,r)=>e===r)),A=c(((e,r)=>e==r)),S=c(((e,r)=>{const t=d(e);if(w(t,d(r))&&(w(t,"Object")||w(t,"Array"))){if(a(e)||a(r))return w(e,r);if(w(e,r))return!0;for(const t of[e,r])for(const n in t)if(!(w(t,r)&&n in e||w(t,e)&&n in r&&S(e[n],r[n])))return!1;return!0}return w(e,r)})),k=s(((e,r,t,n)=>e(n)?r(n):t(n))),v=o(((e,r,t)=>k(e,r,V,t))),N=(...r)=>(...t)=>{let n,s=!0;for(let c=R(r)-1;c>-1;c--)s?(s=!1,n=r[c](...t)):n=n===e?r[c]():r[c](n);return n},C=c(((e,r)=>e.bind(r))),E=c(((e,r)=>r[e])),P=c(((e,r)=>{if((e=>"string"===u(e))(r))return r.includes(e);for(const t of r)if(S(t,e))return!0;return!1})),$=o(((e,r,t)=>t.slice(e,f(r)?r:i))),x=e=>c(((r,t)=>e(t,r))),z=E(0),B=$(1,i),U=c(((e,r)=>e+r)),_=c(((e,r)=>r-e)),D=c(((e,r)=>e*r)),F=c(((e,r)=>e>r)),I=c(((e,r)=>e<r)),L=c(((e,r)=>r>=e)),q=c(((e,r)=>r<=e)),G=c(((e,r)=>r.sort(e))),H=c(((e,r)=>r.find(e))),J=c(((e,r)=>r.findIndex(e))),K=c(((e,r)=>J(S(e),r))),M=c(((e,r)=>e/r)),Q=e=>a(e)||(e=>e===l)(e),R=e=>e.length,T=e=>()=>e,V=e=>e,W=e=>e.trim(),X=e=>e[R(e)-1],Y=e=>!e,Z=e=>Object.keys(e),ee=e=>Object.values(e),re=e=>Object.entries(e),te=c(((e,r)=>e.test(r))),ne=c(((e,r)=>(e(r),r))),se=c(((e,r)=>[...r,e])),ce=c(((e,r)=>[...r,e])),oe=e=>e.flat(i),le=e=>e.flat(),ie=c(((e,r)=>r.flat(e))),ue=c(((e,r)=>r.split(e))),ae=T(!0),fe=T(!1),he=c(((e,r)=>r(...e))),be=()=>{},ge=s(((e,r,t)=>t[r](...e))),pe=e=>(...r)=>{const t=e(...r),n=b(t);return!n||n&&t.$args_left<=0?Y(t):pe(t)},je=e=>{if("Object"===d(e)){let r=0;for(let t in e)r++;return r}return R(e)},ye=c(((e,r)=>Oe(U(e),r-e))),de=e=>Nr(((e,r)=>P(r,e)?e:kr(r,e)),[],e),me=c(((e,r)=>e.filter(x(P)(r)))),Oe=c(((e,r)=>[...Array(r)].map(((r,t)=>e(t))))),we=e=>{let r,t=!1;return(...n)=>t?r:(t=!0,r=e(...n))},Ae=e=>N((r=>Je(((t,n,s)=>kr(e[r-s],t)),[],e)),U(-1),R)(e),Se=(e,r="log")=>ne((t=>console[r](e,t))),ke=c(((e,r)=>{for(const[t,n]of e)if(t(r))return n(r)})),ve=o(((e,r,t)=>({...t,[e]:r}))),Ne=o(((e,r,t)=>N((n=>ve(n,R(e)<2?r:Ne($(1,i,e),r,g(t[n])?t[n]:{}),t)),z)(e))),Ce=c(((e,r)=>r.every(e))),Ee=c(((e,r)=>r.some(e))),Pe=c(((e,r)=>e.every((e=>e(r))))),$e=c(((e,r)=>e.some((e=>e(r))))),xe=c(((e,r)=>r[e])),ze=o(((e,r,t)=>S(t[e],r))),Be=o(((e,r,t)=>S(r[e],t[e]))),Ue=o(((e,r,t)=>k(R,(()=>Q(t)?e:N(k(Q,T(e),(t=>Ue(e,$(1,i,r),t))),x(xe)(t),z)(r)),T(t),r))),_e=Ue(l),De=o(((e,r,t)=>S(_e(e,t),r))),Fe=o(((e,r,t)=>S(_e(e,r),_e(e,t)))),Ie=/^(.*?)(8|16|32|64)(Clamped)?Array$/,Le=(e,r=!1)=>{const t=d(e);switch(t){case"Null":case"String":case"Number":case"Boolean":case"Symbol":return e;case"Array":return r?[...e]:We(N(Le,O(0)),e);case"Object":if(r)return{...e};const n={};for(let r in e)n[r]=Le(e[r]);return n;default:return Ie.test(t)?e.constructor.from(e):e}},qe=e=>Le(e,!0),Ge=e=>Dr(Le(e)),He=e=>Fr(Le(e)),Je=o(((e,r,t)=>Nr(e,Le(r),t))),Ke=c(((e,r)=>tr(e,r))),Me=c(((e,r)=>{const t={};for(const n of e)n in r&&(t[n]=r[n]);return t})),Qe=c(((e,r)=>tr(((r,t)=>!P(t,e)),r))),Re=e=>Object.fromEntries(e),Te=c(((e,r)=>r.concat(e))),Ve=c(((e,r)=>r.join(e))),We=c(((e,r)=>r.map(e))),Xe=c(((e,r)=>r.forEach(e))),Ye=o(((e,r,t)=>r(t)&&e(t))),Ze=e=>{switch(d(e)){case"String":case"Array":return 0==R(e);case"Object":for(const r in e)return!1;return!0;default:return null}},er=e=>{switch(d(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return l}},rr=o(((e,r,t)=>t.replace(e,r))),tr=c(((e,r)=>h(r)?r.filter(e):Ur(e,{...r}))),nr=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},sr=c(((e,r)=>Object.assign({},e,r))),cr=c(((e,r)=>Er(Le(e),Le(r)))),or=c(((e,r)=>Pr(Le(e),Le(r)))),lr=c(((e,r)=>$r(Le(e),Le(r)))),ir=o(((e,r,t)=>ve(e,r(t[e]),t))),ur=c(((e,r)=>zr(e,Object.assign({},r)))),ar=c(((e,r)=>We(((e,t)=>[e,r[t]]),e))),fr=c(((e,r)=>Je(((e,t,n)=>ve(t,r[n],e)),{},e))),hr=o(((e,r,t)=>We(((r,n)=>e(r,t[n])),r))),br=(()=>{const e=async(r,t,n)=>{n<t.length&&(await r(t[n]),await e(r,t,++n))};return c(((r,t)=>e(r,t,0)))})(),gr=e=>Promise.all(e),pr=c((async(e,r)=>(await e(r),r))),jr=c(((e,r)=>Promise.all(r.map(e)))),yr=(()=>{const e=async(r,t,n)=>~n?await e(r,[await r[n](...t)],--n):z(t);return(...r)=>(...t)=>e(r,t,r.length-1)})(),dr=V,mr=V,Or=V,wr=pe,Ar=se,Sr=Ee,kr=c(((e,r)=>(r.push(e),r))),vr=o(((e,r,t)=>(t[e]=r,t))),Nr=o(((e,r,t)=>t.reduce(e,r))),Cr=o(((e,r,t)=>{for(let n in t)switch(d(t[n])){case"Array":if(e>1&&"Array"===d(r[n]))switch(e){case 2:const s=r[n],c=t[n];for(const r in c)s[r]?Cr(e,s[r],c[r]):s[r]=c[r];break;case 3:r[n].push(...t[n])}else r[n]=t[n];break;case"Object":if("Object"===d(r[n])){Cr(e,r[n],t[n]);break}default:r[n]=t[n]}return r})),Er=Cr(1),Pr=Cr(2),$r=Cr(3),xr=c(((e,r)=>Object.assign(e,r))),zr=c(((e,r)=>{let t,n,s,c;for(t in e)t in r&&(n=e[t],[s,c]=b(n)?n(r[t],t,r):[n,r[t]],r[Q(s)?t:s]=c,t!==s&&delete r[t]);return r})),Br=c(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),Ur=c(((e,r)=>{const t=h(r);let n,s;t&&(n=0,s=[]);for(let n in r)e(r[n],n)||(t?s.push(+n):delete r[n]);if(t)for(const e of s)r.splice(e-n++,1);return r})),_r=e=>{if(h(e))e.splice(0);else for(const r in e)delete e[r];return e},Dr=e=>{let r;for(const t in e)r=e[t],g(r)&&Dr(r);return Object.freeze(e)},Fr=e=>Object.freeze(e),Ir=c(((e,r)=>r.unshift(e))),Lr=o(((e,r,t)=>{const n=e[0];return vr(n,e.length<2?r:Lr(e.slice(1),r,g(t[n])?t[n]:{}),t)})),qr=e=>e.reverse(),Gr=c(((e,r)=>Ur(((r,t)=>!P(t,e)),r))),Hr=e=>(...r)=>Nr(((e,r)=>e?e(r):e),e,r),Jr=e=>{const r=[],t=[],n=e.length;let s,c,o,l=0,i=0,u=!1,a=z(e),f=!1;for(l=0;l<n;l++)switch(s=e[l],s){case"{":if(!a){u=!0,i=l;break}case"}":if(!a){u=!1,r.push(""),t.push(e.slice(i+1,l));break}default:o=e[l+1],f="\\"===s,u||f&&("{"===o||"}"===o)||(c=r.length-1,c<0&&(r.push(""),c++),r[c]+=s),a=f}return e=>{const n=[],s=r.length-1;for(const c in r)l=+c,n.push(r[l]),l!==s&&n.push(_e(t[l].split("."),e));return n.join("")}};export{fe as F,ae as T,e as __,U as add,Ce as all,Pe as allPass,T as always,Ee as any,$e as anyPass,se as append,ve as assoc,Ne as assocPath,C as bind,Ye as both,ge as callFrom,he as callWith,Le as clone,qe as cloneShallow,pe as complement,N as compose,yr as composeAsync,Te as concat,ke as cond,s as curry,c as curry2,o as curry3,M as divide,Or as echo,er as empty,w as eq,S as equals,Se as explore,tr as filter,H as find,J as findIndex,oe as flat,le as flatShallow,ie as flatTo,x as flip,Xe as forEach,jr as forEachAsync,br as forEachSerial,Ge as freeze,He as freezeShallow,Re as fromPairs,Oe as genBy,Jr as getTmpl,F as gt,L as gte,z as head,V as identity,k as ifElse,P as includes,K as indexOf,me as intersection,Ze as isEmpty,Q as isNil,Ve as join,Z as keys,X as last,R as length,I as lt,q as lte,We as map,ur as mapKeys,nr as memoize,cr as mergeDeep,lr as mergeDeepAdd,or as mergeDeepX,sr as mergeShallow,dr as mirror,D as multiply,be as noop,Y as not,wr as notf,E as nth,Qe as omit,we as once,ir as overProp,_e as path,De as pathEq,Ue as pathOr,Fe as pathsEq,Me as pick,Ke as pickBy,ce as prepend,xe as prop,ze as propEq,Be as propsEq,Ar as push,kr as qappend,vr as qassoc,Lr as qassocPath,_r as qempty,Ur as qfilter,Dr as qfreeze,Fr as qfreezeShallow,Br as qmap,zr as qmapKeys,Er as qmergeDeep,$r as qmergeDeepAdd,Pr as qmergeDeepX,xr as qmergeShallow,Gr as qomit,Ir as qprepend,Nr as qreduce,qr as qreverse,ye as range,Je as reduce,mr as reflect,rr as replace,Ae as reverse,je as sizeof,$ as slice,Sr as some,G as sort,ue as split,_ as subtract,B as tail,O as take,ne as tap,te as test,j as toLower,re as toPairs,y as toUpper,W as trim,d as type,m as typeIs,Hr as uncurry,de as uniq,ee as values,gr as waitAll,pr as waitTap,A as weakEq,v as when,ar as zip,fr as zipObj,hr as zipWith};
package/package.json CHANGED
@@ -36,14 +36,14 @@
36
36
  "test:report": "nyc npm test && nyc report --reporter=text-lcov > coverage.lcov && codecov",
37
37
  "test:lazy": "ava",
38
38
  "dts-fix": "node dts-fix.js",
39
- "gentypes": "dts-bundle-generator --no-check -o dist/bundle.d.ts src/index.ts && npm run dts-fix",
39
+ "gentypes": "dts-bundle-generator --no-check --export-referenced-types=false -o dist/bundle.d.ts src/index.ts && npm run dts-fix",
40
40
  "dev": "cross-env NODE_ENV=development BUILD=es rollup -c",
41
41
  "prod:cjs": "cross-env NODE_ENV=production BUILD=cjs rollup -c",
42
42
  "prod:es": "cross-env NODE_ENV=production BUILD=es rollup -c",
43
43
  "prod": "npm run gentypes && npm run prod:es && npm run prod:cjs",
44
44
  "all": "npm run dev && npm run prod"
45
45
  },
46
- "version": "1.0.0-beta.9",
46
+ "version": "1.0.0",
47
47
  "ava": {
48
48
  "files": [
49
49
  "./test/specs/*.ts"
@@ -58,22 +58,22 @@
58
58
  ]
59
59
  },
60
60
  "devDependencies": {
61
- "@rollup/plugin-commonjs": "^24.0.1",
62
- "@rollup/plugin-node-resolve": "^15.0.1",
63
- "@rollup/plugin-replace": "^5.0.2",
64
- "@rollup/plugin-terser": "^0.4.0",
65
- "@types/node": "^18.15.11",
66
- "ava": "^5.2.0",
61
+ "@rollup/plugin-commonjs": "^25.0.7",
62
+ "@rollup/plugin-node-resolve": "^15.2.3",
63
+ "@rollup/plugin-replace": "^5.0.5",
64
+ "@rollup/plugin-terser": "^0.4.4",
65
+ "@types/node": "^20.12.2",
66
+ "ava": "^6.1.2",
67
67
  "codecov": "^3.8.3",
68
68
  "cross-env": "^7.0.3",
69
- "dts-bundle-generator": "^7.2.0",
69
+ "dts-bundle-generator": "^9.3.1",
70
70
  "nyc": "^15.1.0",
71
71
  "prepend": "^1.0.2",
72
- "rollup": "^3.20.2",
73
- "rollup-plugin-typescript2": "^0.34.1",
74
- "ts-node": "^10.9.1",
72
+ "rollup": "^4.13.2",
73
+ "rollup-plugin-typescript2": "^0.36.0",
74
+ "ts-node": "^10.9.2",
75
75
  "tslint": "^6.1.3",
76
- "typescript": "^5.0.2"
76
+ "typescript": "^5.4.3"
77
77
  },
78
78
  "types": "./dist/bundle.d.ts",
79
79
  "sideEffects": false
package/src/index.ts CHANGED
@@ -4,4 +4,5 @@ export * from './uncurry'
4
4
  export * from './common'
5
5
  export * from './safe'
6
6
  export * from './quick'
7
- export * from './strings'
7
+ export * from './strings'
8
+ export * from './types'
package/src/quick.ts CHANGED
@@ -2,7 +2,7 @@ import { curry2, curry3 } from "./curry"
2
2
  import { type } from "./common"
3
3
  import { AnyObject, Reducer, AnyFunc } from "./types"
4
4
  import { isFunc, isArray, isObj } from "./utils"
5
- import { isNil } from "./safe"
5
+ import { includes, isNil } from "./safe"
6
6
  // TODO: qoverProp, qover array ?
7
7
 
8
8
  export const qappend = curry2((s: any, xs: any[]) => {xs.push(s); return xs})
@@ -116,4 +116,11 @@ export const qassocPath = curry3((_path: string[], v: any, o: AnyObject) => {
116
116
  : qassocPath(_path.slice(1), v, isObj(o[first]) ? o[first] : {}),
117
117
  o
118
118
  )
119
- })
119
+ })
120
+ export const qreverse = (arr: any[]) => arr.reverse()
121
+ export const qomit = curry2(
122
+ (props: string[], o: AnyObject) => qfilter(
123
+ (_: any, k: string) => !includes(k, props),
124
+ o
125
+ )
126
+ )
package/src/safe.ts CHANGED
@@ -94,8 +94,20 @@ export const always = <T=any>(s: T) => () => s
94
94
  export const identity = (s: any) => s
95
95
  export const trim = (s: string) => s.trim()
96
96
  export const last = (s: any[] | string) => s[length(s)-1]
97
- export const not = (o: boolean) => !o
98
- export const keys = (o: AnyObject | any[]) => Object.keys(o)
97
+ type NotOverload = {
98
+ (x: true): false
99
+ (x: false): true
100
+ (x: any): boolean
101
+ }
102
+ export const not: NotOverload = (x: any) => !x as any
103
+ type IndexesOfArray<A> = Exclude<keyof A, keyof []>
104
+ type KeysOverload = {
105
+ <T extends any[]>(o: T): string[]
106
+ <T extends readonly any[]>(o: T): IndexesOfArray<T>[]
107
+ <T extends AnyObject>(o: T): (keyof T)[]
108
+ }
109
+ export const keys: KeysOverload = (o: number[]) => Object.keys(o)
110
+
99
111
  export const values = (o: AnyObject | any[]) => Object.values(o)
100
112
  export const toPairs = (o: AnyObject | any[]) => Object.entries(o)
101
113
  export const test = curry2((re: RegExp, s: string) => re.test(s))
@@ -147,12 +159,9 @@ export const genBy = curry2(
147
159
  export const once = <Func extends AnyFunc>(fn: Func) => {
148
160
  let done = false, cache: any
149
161
  return (...args: Parameters<Func>) => {
150
- if(done) {
151
- return cache
152
- } else {
153
- done = true
154
- return cache = fn(...args)
155
- }
162
+ if(done) return cache
163
+ done = true
164
+ return cache = fn(...args)
156
165
  }
157
166
  }
158
167
  export const reverse = (xs: any[]) => compose(
@@ -328,7 +337,7 @@ export const replace = curry3(
328
337
  // @ts-ignore Some bug with overload.
329
338
  ) => where.replace(a, b)
330
339
  )
331
- // TODO: it thinks cond is a symbol in usage !!!
340
+ // FIXME: it thinks cond is a symbol in usage !!!
332
341
  export const filter = curry2(
333
342
  (
334
343
  cond: (v: any, k: string | number) => boolean,
package/src/timers.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { AnyFunc } from "./types"
2
+
3
+ export const debounce = <T extends AnyFunc>(time: number, fn: T) => {
4
+ let queue: AnyFunc[] = []
5
+ let to: NodeJS.Timeout
6
+ return ((...args: Parameters<T>) => new Promise<ReturnType<T>>((ff) => {
7
+ const qel = async () => {
8
+ clearTimeout(to)
9
+ to = setTimeout(async () => {
10
+ const res = await fn!(...args)
11
+ if(queue.includes(qel)) ff(res)
12
+ }, time)
13
+ }
14
+ queue.splice(0)
15
+ queue.push(qel)
16
+ qel()
17
+ }))
18
+ }
package/src/types.ts CHANGED
@@ -1,15 +1,10 @@
1
1
  export type Cond = (x1?: any, x2?: any, x3?: any) => boolean
2
- export interface AnyObject {
3
- [k: string]: any
4
- }
2
+ export interface AnyObject { [k: string]: any }
5
3
  export type AnyArgs = any[]
4
+ export type Reducer<T=any> = (accum: T, cur: any, index: number) => T
5
+ export type AnyFunc<ReturnT = any, Args extends AnyArgs = AnyArgs> = (...args: Args) => ReturnT
6
+ export type TupleFn<ARG1=any, ARG2=any, Out=any> = (a: ARG1, b: ARG2) => Out
6
7
  export type Curried<
7
8
  Args extends AnyArgs = AnyArgs,
8
9
  ReturnT = any
9
- > = (arg: Args[number]) => Curried<Args> | ReturnT
10
- export type Reducer<T=any> = (accum: T, cur: any, index: number) => T
11
- export type AnyFunc<
12
- ReturnT = any,
13
- Args extends AnyArgs = AnyArgs
14
- > = (...args: Args) => ReturnT
15
- export type TupleFn<ARG1=any, ARG2=any, Out=any> = (a: ARG1, b: ARG2) => Out
10
+ > = (arg: Args[number]) => Curried<Args> | ReturnT