pepka 1.0.0 → 1.1.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);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;
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"},y=Symbol(),d=e=>{const r=a(e);return"object"===r?l(e)?"Null":e.constructor.name:m[r[0]]+r.slice(1)},g=p(((e,r)=>d(r)===e)),b=e=>(...r)=>r[e],w=p(((e,r)=>e===r)),q=p(((e,r)=>e==r)),j=p(((e,r)=>{const t=d(e);if(w(t,d(r))&&(w(t,"Object")||w(t,"Array"))){if(l(e)||l(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=n(((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=p(((e,r)=>e.bind(r))),k=p(((e,r)=>r[e])),z=p(((e,r)=>{if((e=>"string"===a(e))(r))return r.includes(e);for(const t of r)if(j(t,e))return!0;return!1})),v=n(((e,r,t)=>t.slice(e,i(r)?r:c))),P=e=>p(((r,t)=>e(t,r))),D=k(0),N=v(1,c),B=p(((e,r)=>e+r)),T=p(((e,r)=>r-e)),_=p(((e,r)=>e*r)),C=p(((e,r)=>e>r)),F=p(((e,r)=>e<r)),I=p(((e,r)=>r>=e)),U=p(((e,r)=>r<=e)),$=p(((e,r)=>r.sort(e))),K=p(((e,r)=>r.find(e))),L=p(((e,r)=>r.findIndex(e))),W=p(((e,r)=>L(j(e),r))),X=p(((e,r)=>e/r)),G=e=>l(e)||(e=>e===x)(e),H=e=>e.length,J=e=>()=>e,M=e=>e,Q=e=>!e,R=p(((e,r)=>e.test(r))),V=p(((e,r)=>(e(r),r))),Y=p(((e,r)=>[...r,e])),Z=p(((e,r)=>[...r,e])),ee=p(((e,r)=>r.flat(e))),re=p(((e,r)=>r.split(e))),te=J(!0),se=J(!1),oe=p(((e,r)=>r(...e))),pe=o(((e,r,t)=>t[r](...e))),ne=e=>(...r)=>{const t=e(...r),s=f(t);return!s||s&&t.$args_left<=0?Q(t):ne(t)},xe=p(((e,r)=>ae(B(e),r-e))),ce=p(((e,r)=>e.filter(P(z)(r)))),ae=p(((e,r)=>[...Array(r)].map(((r,t)=>e(t))))),le=p(((e,r)=>{for(const[t,s]of e)if(t(r))return s(r)})),ie=n(((e,r,t)=>({...t,[e]:r}))),ue=n(((e,r,t)=>S((s=>ie(s,H(e)<2?r:ue(v(1,c,e),r,h(t[s])?t[s]:{}),t)),D)(e))),fe=p(((e,r)=>r.every(e))),he=p(((e,r)=>r.some(e))),me=p(((e,r)=>e.every((e=>e(r))))),ye=p(((e,r)=>e.some((e=>e(r))))),de=p(((e,r)=>r[e])),ge=n(((e,r,t)=>j(t[e],r))),be=n(((e,r,t)=>j(r[e],t[e]))),we=n(((e,r,t)=>H(r)?G(t)?e:S((s=>s in t?we(e,v(1,c,r),t[s]):e),D)(r):t)),qe=we(x),je=n(((e,r,t)=>j(qe(e,t),r))),Oe=n(((e,r,t)=>j(qe(e,r),qe(e,t)))),Ae=S(O(j(y),se,te),we(y)),Se=/^(.*?)(8|16|32|64)(Clamped)?Array$/,Ee=(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]:Be(S(Ee,b(0)),e);case"Object":if(r)return{...e};const s={};for(let r in e)s[r]=Ee(e[r]);return s;default:return Se.test(t)?e.constructor.from(e):e}},ke=n(((e,r,t)=>pr(e,Ee(r),t))),ze=p(((e,r)=>Fe(e,r))),ve=p(((e,r)=>{const t={};for(const s of e)s in r&&(t[s]=r[s]);return t})),Pe=p(((e,r)=>Fe(((r,t)=>!z(t,e)),r))),De=p(((e,r)=>r.concat(e))),Ne=p(((e,r)=>r.join(e))),Be=p(((e,r)=>r.map(e))),Te=p(((e,r)=>r.forEach(e))),_e=n(((e,r,t)=>r(t)&&e(t))),Ce=n(((e,r,t)=>t.replace(e,r))),Fe=p(((e,r)=>u(r)?r.filter(e):fr(e,{...r}))),Ie=p(((e,r)=>Object.assign({},e,r))),Ue=p(((e,r)=>xr(Ee(e),Ee(r)))),$e=p(((e,r)=>cr(Ee(e),Ee(r)))),Ke=p(((e,r)=>ar(Ee(e),Ee(r)))),Le=n(((e,r,t)=>ie(e,r(t[e]),t))),We=p(((e,r)=>ir(e,Object.assign({},r)))),Xe=p(((e,r)=>Be(((e,t)=>[e,r[t]]),e))),Ge=p(((e,r)=>ke(((e,t,s)=>ie(t,r[s],e)),{},e))),He=n(((e,r,t)=>Be(((r,s)=>e(r,t[s])),r))),Je=(()=>{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)))})(),Me=p((async(e,r)=>(await e(r),r))),Qe=p(((e,r)=>Promise.all(r.map(e)))),Re=(()=>{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)})(),Ve=M,Ye=M,Ze=M,er=ne,rr=Y,tr=he,sr=p(((e,r)=>(r.push(e),r))),or=n(((e,r,t)=>(t[e]=r,t))),pr=n(((e,r,t)=>t.reduce(e,r))),nr=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]?nr(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])){nr(e,r[s],t[s]);break}default:r[s]=t[s]}return r})),xr=nr(1),cr=nr(2),ar=nr(3),lr=p(((e,r)=>Object.assign(e,r))),ir=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[G(o)?t:o]=p,t!==o&&delete r[t]);return r})),ur=p(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),fr=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})),hr=e=>{let r;for(const t in e)r=e[t],h(r)&&hr(r);return Object.freeze(e)},mr=e=>Object.freeze(e),yr=p(((e,r)=>r.unshift(e))),dr=n(((e,r,t)=>{const s=e[0];return or(s,e.length<2?r:dr(e.slice(1),r,h(t[s])?t[s]:{}),t)})),gr=p(((e,r)=>fr(((r,t)=>!z(t,e)),r)));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=ye,exports.append=Y,exports.assoc=ie,exports.assocPath=ue,exports.bind=E,exports.both=_e,exports.callFrom=pe,exports.callWith=oe,exports.clone=Ee,exports.cloneShallow=e=>Ee(e,!0),exports.complement=ne,exports.compose=S,exports.composeAsync=Re,exports.concat=De,exports.cond=le,exports.curry=o,exports.curry2=p,exports.curry3=n,exports.divide=X,exports.echo=Ze,exports.empty=e=>{switch(d(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return x}},exports.eq=w,exports.equals=j,exports.explore=(e,r="log")=>V((t=>console[r](e,t))),exports.filter=Fe,exports.find=K,exports.findIndex=L,exports.flat=e=>e.flat(c),exports.flatShallow=e=>e.flat(),exports.flatTo=ee,exports.flip=P,exports.forEach=Te,exports.forEachAsync=Qe,exports.forEachSerial=Je,exports.freeze=e=>hr(Ee(e)),exports.freezeShallow=e=>mr(Ee(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(d(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=Ne,exports.keys=e=>Object.keys(e),exports.last=e=>e[H(e)-1],exports.length=H,exports.lt=F,exports.lte=U,exports.map=Be,exports.mapKeys=We,exports.memoize=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},exports.mergeDeep=Ue,exports.mergeDeepAdd=Ke,exports.mergeDeepX=$e,exports.mergeShallow=Ie,exports.mirror=Ve,exports.multiply=_,exports.noop=()=>{},exports.not=Q,exports.notf=er,exports.nth=k,exports.omit=Pe,exports.once=e=>{let r,t=!1;return(...s)=>t?r:(t=!0,r=e(...s))},exports.overProp=Le,exports.path=qe,exports.pathEq=je,exports.pathExists=Ae,exports.pathOr=we,exports.pathsEq=Oe,exports.pick=ve,exports.pickBy=ze,exports.prepend=Z,exports.prop=de,exports.propEq=ge,exports.propsEq=be,exports.push=rr,exports.qappend=sr,exports.qassoc=or,exports.qassocPath=dr,exports.qempty=e=>{if(u(e))e.splice(0);else for(const r in e)delete e[r];return e},exports.qfilter=fr,exports.qfreeze=hr,exports.qfreezeShallow=mr,exports.qmap=ur,exports.qmapKeys=ir,exports.qmergeDeep=xr,exports.qmergeDeepAdd=ar,exports.qmergeDeepX=cr,exports.qmergeShallow=lr,exports.qomit=gr,exports.qprepend=yr,exports.qreduce=pr,exports.qreverse=e=>e.reverse(),exports.range=xe,exports.reduce=ke,exports.reflect=Ye,exports.replace=Ce,exports.reverse=e=>S((r=>ke(((t,s,o)=>sr(e[r-o],t)),[],e)),B(-1),H)(e),exports.sizeof=e=>{if("Object"===d(e)){let r=0;for(let t in e)r++;return r}return H(e)},exports.slice=v,exports.some=tr,exports.sort=$,exports.split=re,exports.subtract=T,exports.symbol=y,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=d,exports.typeIs=g,exports.uncurry=e=>(...r)=>pr(((e,r)=>e?e(r):e),e,r),exports.uniq=e=>pr(((e,r)=>z(r,e)?e:sr(r,e)),[],e),exports.values=e=>Object.values(e),exports.waitAll=e=>Promise.all(e),exports.waitTap=Me,exports.weakEq=q,exports.when=A,exports.zip=Xe,exports.zipObj=Ge,exports.zipWith=He;
package/dist/bundle.d.ts CHANGED
@@ -24,6 +24,7 @@ export declare function curry2<Func extends Func2>(fn: Func): {
24
24
  type Func3 = (a: any, b: any, c: any) => any;
25
25
  export declare function curry3<Func extends Func3>(fn: Func): (...args: AnyArgs) => any;
26
26
  export declare const uncurry: <Args extends any[] = any[], ReturnT = any>(fn: Curried<Args>) => AnyFunc;
27
+ export declare const symbol: unique symbol;
27
28
  export declare const toLower: (s: string) => string;
28
29
  export declare const toUpper: (s: string) => string;
29
30
  export declare const type: (s: any) => any;
@@ -313,10 +314,11 @@ export declare const prop: {
313
314
  };
314
315
  export declare const propEq: (...args: AnyArgs) => any;
315
316
  export declare const propsEq: (...args: AnyArgs) => any;
316
- export declare const pathOr: (...args: AnyArgs) => any;
317
+ export declare const pathOr: any;
317
318
  export declare const path: any;
318
319
  export declare const pathEq: (...args: AnyArgs) => any;
319
320
  export declare const pathsEq: (...args: AnyArgs) => any;
321
+ export declare const pathExists: Composed<any[], any>;
320
322
  export declare const clone: (s: any, shallow?: boolean) => any;
321
323
  export declare const cloneShallow: (s: any) => any;
322
324
  export declare const freeze: <T extends AnyObject>(o: T) => Readonly<T>;
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);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};
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=Symbol(),y=e=>e.toLowerCase(),d=e=>e.toUpperCase(),m=e=>{const r=u(e);return"object"===r?a(e)?"Null":e.constructor.name:p[r[0]]+r.slice(1)},O=c(((e,r)=>m(r)===e)),w=e=>(...r)=>r[e],A=c(((e,r)=>e===r)),S=c(((e,r)=>e==r)),k=c(((e,r)=>{const t=m(e);if(A(t,m(r))&&(A(t,"Object")||A(t,"Array"))){if(a(e)||a(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=o(((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=c(((e,r)=>e.bind(r))),P=c(((e,r)=>r[e])),$=c(((e,r)=>{if((e=>"string"===u(e))(r))return r.includes(e);for(const t of r)if(k(t,e))return!0;return!1})),x=o(((e,r,t)=>t.slice(e,f(r)?r:i))),z=e=>c(((r,t)=>e(t,r))),B=P(0),U=x(1,i),_=c(((e,r)=>e+r)),D=c(((e,r)=>r-e)),F=c(((e,r)=>e*r)),I=c(((e,r)=>e>r)),L=c(((e,r)=>e<r)),q=c(((e,r)=>r>=e)),G=c(((e,r)=>r<=e)),H=c(((e,r)=>r.sort(e))),J=c(((e,r)=>r.find(e))),K=c(((e,r)=>r.findIndex(e))),M=c(((e,r)=>K(k(e),r))),Q=c(((e,r)=>e/r)),R=e=>a(e)||(e=>e===l)(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=c(((e,r)=>e.test(r))),se=c(((e,r)=>(e(r),r))),ce=c(((e,r)=>[...r,e])),oe=c(((e,r)=>[...r,e])),le=e=>e.flat(i),ie=e=>e.flat(),ue=c(((e,r)=>r.flat(e))),ae=c(((e,r)=>r.split(e))),fe=V(!0),he=V(!1),be=c(((e,r)=>r(...e))),ge=()=>{},pe=s(((e,r,t)=>t[r](...e))),je=e=>(...r)=>{const t=e(...r),n=b(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=c(((e,r)=>we(_(e),r-e))),me=e=>Er(((e,r)=>$(r,e)?e:Nr(r,e)),[],e),Oe=c(((e,r)=>e.filter(z($)(r)))),we=c(((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=>Me(((t,n,s)=>Nr(e[r-s],t)),[],e)),_(-1),T)(e),ke=(e,r="log")=>se((t=>console[r](e,t))),ve=c(((e,r)=>{for(const[t,n]of e)if(t(r))return n(r)})),Ne=o(((e,r,t)=>({...t,[e]:r}))),Ce=o(((e,r,t)=>C((n=>Ne(n,T(e)<2?r:Ce(x(1,i,e),r,g(t[n])?t[n]:{}),t)),B)(e))),Ee=c(((e,r)=>r.every(e))),Pe=c(((e,r)=>r.some(e))),$e=c(((e,r)=>e.every((e=>e(r))))),xe=c(((e,r)=>e.some((e=>e(r))))),ze=c(((e,r)=>r[e])),Be=o(((e,r,t)=>k(t[e],r))),Ue=o(((e,r,t)=>k(r[e],t[e]))),_e=o(((e,r,t)=>T(r)?R(t)?e:C((n=>n in t?_e(e,x(1,i,r),t[n]):e),B)(r):t)),De=_e(l),Fe=o(((e,r,t)=>k(De(e,t),r))),Ie=o(((e,r,t)=>k(De(e,r),De(e,t)))),Le=C(v(k(j),he,fe),_e(j)),qe=/^(.*?)(8|16|32|64)(Clamped)?Array$/,Ge=(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]:Ye(C(Ge,w(0)),e);case"Object":if(r)return{...e};const n={};for(let r in e)n[r]=Ge(e[r]);return n;default:return qe.test(t)?e.constructor.from(e):e}},He=e=>Ge(e,!0),Je=e=>Ir(Ge(e)),Ke=e=>Lr(Ge(e)),Me=o(((e,r,t)=>Er(e,Ge(r),t))),Qe=c(((e,r)=>sr(e,r))),Re=c(((e,r)=>{const t={};for(const n of e)n in r&&(t[n]=r[n]);return t})),Te=c(((e,r)=>sr(((r,t)=>!$(t,e)),r))),Ve=e=>Object.fromEntries(e),We=c(((e,r)=>r.concat(e))),Xe=c(((e,r)=>r.join(e))),Ye=c(((e,r)=>r.map(e))),Ze=c(((e,r)=>r.forEach(e))),er=o(((e,r,t)=>r(t)&&e(t))),rr=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}},tr=e=>{switch(m(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return l}},nr=o(((e,r,t)=>t.replace(e,r))),sr=c(((e,r)=>h(r)?r.filter(e):Dr(e,{...r}))),cr=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},or=c(((e,r)=>Object.assign({},e,r))),lr=c(((e,r)=>$r(Ge(e),Ge(r)))),ir=c(((e,r)=>xr(Ge(e),Ge(r)))),ur=c(((e,r)=>zr(Ge(e),Ge(r)))),ar=o(((e,r,t)=>Ne(e,r(t[e]),t))),fr=c(((e,r)=>Ur(e,Object.assign({},r)))),hr=c(((e,r)=>Ye(((e,t)=>[e,r[t]]),e))),br=c(((e,r)=>Me(((e,t,n)=>Ne(t,r[n],e)),{},e))),gr=o(((e,r,t)=>Ye(((r,n)=>e(r,t[n])),r))),pr=(()=>{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)))})(),jr=e=>Promise.all(e),yr=c((async(e,r)=>(await e(r),r))),dr=c(((e,r)=>Promise.all(r.map(e)))),mr=(()=>{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)})(),Or=W,wr=W,Ar=W,Sr=je,kr=ce,vr=Pe,Nr=c(((e,r)=>(r.push(e),r))),Cr=o(((e,r,t)=>(t[e]=r,t))),Er=o(((e,r,t)=>t.reduce(e,r))),Pr=o(((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]?Pr(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])){Pr(e,r[n],t[n]);break}default:r[n]=t[n]}return r})),$r=Pr(1),xr=Pr(2),zr=Pr(3),Br=c(((e,r)=>Object.assign(e,r))),Ur=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[R(s)?t:s]=c,t!==s&&delete r[t]);return r})),_r=c(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),Dr=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})),Fr=e=>{if(h(e))e.splice(0);else for(const r in e)delete e[r];return e},Ir=e=>{let r;for(const t in e)r=e[t],g(r)&&Ir(r);return Object.freeze(e)},Lr=e=>Object.freeze(e),qr=c(((e,r)=>r.unshift(e))),Gr=o(((e,r,t)=>{const n=e[0];return Cr(n,e.length<2?r:Gr(e.slice(1),r,g(t[n])?t[n]:{}),t)})),Hr=e=>e.reverse(),Jr=c(((e,r)=>Dr(((r,t)=>!$(t,e)),r))),Kr=e=>(...r)=>Er(((e,r)=>e?e(r):e),e,r),Mr=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,er as both,pe as callFrom,be as callWith,Ge as clone,He as cloneShallow,je as complement,C as compose,mr as composeAsync,We as concat,ve as cond,s as curry,c as curry2,o as curry3,Q as divide,Ar as echo,tr as empty,A as eq,k as equals,ke as explore,sr as filter,J as find,K as findIndex,le as flat,ie as flatShallow,ue as flatTo,z as flip,Ze as forEach,dr as forEachAsync,pr as forEachSerial,Je as freeze,Ke as freezeShallow,Ve as fromPairs,we as genBy,Mr 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,rr as isEmpty,R as isNil,Xe as join,ee as keys,Y as last,T as length,L as lt,G as lte,Ye as map,fr as mapKeys,cr as memoize,lr as mergeDeep,ur as mergeDeepAdd,ir as mergeDeepX,or as mergeShallow,Or as mirror,F as multiply,ge as noop,Z as not,Sr as notf,P as nth,Te as omit,Ae as once,ar as overProp,De as path,Fe as pathEq,Le as pathExists,_e as pathOr,Ie as pathsEq,Re as pick,Qe as pickBy,oe as prepend,ze as prop,Be as propEq,Ue as propsEq,kr as push,Nr as qappend,Cr as qassoc,Gr as qassocPath,Fr as qempty,Dr as qfilter,Ir as qfreeze,Lr as qfreezeShallow,_r as qmap,Ur as qmapKeys,$r as qmergeDeep,zr as qmergeDeepAdd,xr as qmergeDeepX,Br as qmergeShallow,Jr as qomit,qr as qprepend,Er as qreduce,Hr as qreverse,de as range,Me as reduce,wr as reflect,nr as replace,Se as reverse,ye as sizeof,x as slice,vr as some,H as sort,ae as split,D as subtract,j as symbol,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,Kr as uncurry,me as uniq,re as values,jr as waitAll,yr as waitTap,S as weakEq,N as when,hr as zip,br as zipObj,gr as zipWith};
package/package.json CHANGED
@@ -43,7 +43,7 @@
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",
46
+ "version": "1.1.0",
47
47
  "ava": {
48
48
  "files": [
49
49
  "./test/specs/*.ts"
package/src/common.ts CHANGED
@@ -6,6 +6,7 @@ const caseMap = {
6
6
  u: 'U', b: 'B', n: 'N', s: 'S', f: 'F'
7
7
  }
8
8
 
9
+ export const symbol = Symbol()
9
10
  export const toLower = (s: string) => s.toLowerCase()
10
11
  export const toUpper = (s: string) => s.toUpperCase()
11
12
  export const type = (s: any) => {
package/src/safe.ts CHANGED
@@ -2,7 +2,7 @@ import { __, curry, curry2, curry3 } from './curry'
2
2
  import { isNum, isUndef, undef, isNull, isArray, isFunc, isStr, isObj, inf } from './utils'
3
3
  import { qmergeDeep, qreduce, qappend, qmapKeys, qmergeDeepX, qmergeDeepAdd, qfilter, qfreeze, qfreezeShallow } from './quick'
4
4
  import { AnyFunc, Cond, AnyObject, Reducer } from './types'
5
- import { type } from './common'
5
+ import { symbol, type } from './common'
6
6
  // over, lensProp
7
7
 
8
8
  export const take = (argN: number) => (...args: any[]) => args[argN]
@@ -223,20 +223,14 @@ export const propsEq = curry3(
223
223
  (key: string, o1: any, o2: AnyObject) => equals(o1[key], o2[key])
224
224
  )
225
225
  export const pathOr = curry3(
226
- (_default: any, path: (string | number)[], o: any) =>
227
- ifElse(length,
228
- () => isNil(o)
229
- ? _default
230
- : compose(
231
- ifElse(isNil,
232
- always(_default),
233
- (o: any) => pathOr(_default, slice(1, inf, path), o)
234
- ),
235
- flip(prop)(o),
236
- head
237
- )(path),
238
- always(o),
239
- path)
226
+ (_default: any, path: (string | number)[], o: any) => length(path)
227
+ ? isNil(o)
228
+ ? _default
229
+ : compose(
230
+ (k) => k in o ? pathOr(_default, slice(1, inf, path), o[k]) : _default,
231
+ head
232
+ )(path)
233
+ : o
240
234
  )
241
235
  export const path = pathOr(undef)
242
236
  export const pathEq = curry3(
@@ -246,6 +240,7 @@ export const pathsEq = curry3(
246
240
  (_path: string[], o1: AnyObject, o2: AnyObject) =>
247
241
  equals(path(_path, o1), path(_path, o2))
248
242
  )
243
+ export const pathExists = compose(ifElse(equals(symbol), F, T), pathOr(symbol))
249
244
  const typed_arr_re = /^(.*?)(8|16|32|64)(Clamped)?Array$/
250
245
  export const clone = (s: any, shallow = false) => {
251
246
  const t = type(s)