pepka 1.0.0 → 1.2.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 +1 -1
- package/dist/bundle.d.ts +15 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +4 -4
- package/src/common.ts +1 -0
- package/src/quick.ts +5 -9
- package/src/safe.ts +15 -17
- package/src/strings.ts +2 -3
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)},
|
|
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],q=p(((e,r)=>e===r)),w=p(((e,r)=>e==r)),j=p(((e,r)=>{const t=d(e);if(q(t,d(r))&&(q(t,"Object")||q(t,"Array"))){if(l(e)||l(r))return q(e,r);if(q(e,r))return!0;for(const t of[e,r])for(const s in t)if(!(q(t,r)&&s in e||q(t,e)&&s in r&&j(e[s],r[s])))return!1;return!0}return q(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]))),qe=n(((e,r,t)=>H(r)?G(t)?e:S((s=>s in t?qe(e,v(1,c,r),t[s]):e),D)(r):t)),we=qe(x),je=n(((e,r,t)=>j(we(e,t),r))),Oe=n(((e,r,t)=>j(we(e,r),we(e,t)))),Ae=S(O(j(y),se,te),qe(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]:Te(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=e=>Ee(e,!0),ze=n(((e,r,t)=>xr(e,Ee(r),t))),ve=p(((e,r)=>Ue(e,r))),Pe=p(((e,r)=>{const t={};for(const s of e)s in r&&(t[s]=r[s]);return t})),De=p(((e,r)=>Ue(((r,t)=>!z(t,e)),r))),Ne=p(((e,r)=>r.concat(e))),Be=p(((e,r)=>r.join(e))),Te=p(((e,r)=>r.map(e))),_e=p(((e,r)=>mr(e,ke(r)))),Ce=p(((e,r)=>r.forEach(e))),Fe=n(((e,r,t)=>r(t)&&e(t))),Ie=n(((e,r,t)=>t.replace(e,r))),Ue=p(((e,r)=>u(r)?r.filter(e):yr(e,{...r}))),$e=p(((e,r)=>Object.assign({},e,r))),Ke=p(((e,r)=>ar(Ee(e),Ee(r)))),Le=p(((e,r)=>lr(Ee(e),Ee(r)))),We=p(((e,r)=>ir(Ee(e),Ee(r)))),Xe=n(((e,r,t)=>ie(e,r(t[e]),t))),Ge=p(((e,r)=>fr(e,Object.assign({},r)))),He=p(((e,r)=>Te(((e,t)=>[e,r[t]]),e))),Je=p(((e,r)=>ze(((e,t,s)=>ie(t,r[s],e)),{},e))),Me=n(((e,r,t)=>Te(((r,s)=>e(r,t[s])),r))),Qe=(()=>{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)))})(),Re=p((async(e,r)=>(await e(r),r))),Ve=p(((e,r)=>Promise.all(r.map(e)))),Ye=(()=>{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)})(),Ze=M,er=M,rr=M,tr=ne,sr=Y,or=he,pr=p(((e,r)=>(r.push(e),r))),nr=n(((e,r,t)=>(t[e]=r,t))),xr=n(((e,r,t)=>t.reduce(e,r))),cr=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]?cr(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])){cr(e,r[s],t[s]);break}default:r[s]=t[s]}return r})),ar=cr(1),lr=cr(2),ir=cr(3),ur=p(((e,r)=>Object.assign(e,r))),fr=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})),hr=p(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),mr=p(((e,r)=>hr(e,r))),yr=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})),dr=e=>{let r;for(const t in e)r=e[t],h(r)&&dr(r);return Object.freeze(e)},gr=e=>Object.freeze(e),br=p(((e,r)=>r.unshift(e))),qr=n(((e,r,t)=>{const s=e[0];return nr(s,e.length<2?r:qr(e.slice(1),r,h(t[s])?t[s]:{}),t)})),wr=p(((e,r)=>yr(((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=Fe,exports.callFrom=pe,exports.callWith=oe,exports.clone=Ee,exports.cloneShallow=ke,exports.complement=ne,exports.compose=S,exports.composeAsync=Ye,exports.concat=Ne,exports.cond=le,exports.curry=o,exports.curry2=p,exports.curry3=n,exports.divide=X,exports.echo=rr,exports.empty=e=>{switch(d(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return x}},exports.eq=q,exports.equals=j,exports.explore=(e,r="log")=>V((t=>console[r](e,t))),exports.filter=Ue,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=Ce,exports.forEachAsync=Ve,exports.forEachSerial=Qe,exports.freeze=e=>dr(Ee(e)),exports.freezeShallow=e=>gr(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(we(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=Be,exports.keys=e=>Object.keys(e),exports.last=e=>e[H(e)-1],exports.length=H,exports.lt=F,exports.lte=U,exports.map=Te,exports.mapKeys=Ge,exports.mapObj=_e,exports.memoize=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},exports.mergeDeep=Ke,exports.mergeDeepAdd=We,exports.mergeDeepX=Le,exports.mergeShallow=$e,exports.mirror=Ze,exports.multiply=_,exports.noop=()=>{},exports.not=Q,exports.notf=tr,exports.nth=k,exports.omit=De,exports.once=e=>{let r,t=!1;return(...s)=>t?r:(t=!0,r=e(...s))},exports.overProp=Xe,exports.path=we,exports.pathEq=je,exports.pathExists=Ae,exports.pathOr=qe,exports.pathsEq=Oe,exports.pick=Pe,exports.pickBy=ve,exports.prepend=Z,exports.prop=de,exports.propEq=ge,exports.propsEq=be,exports.push=sr,exports.qappend=pr,exports.qassoc=nr,exports.qassocPath=qr,exports.qempty=e=>{if(u(e))e.splice(0);else for(const r in e)delete e[r];return e},exports.qfilter=yr,exports.qfreeze=dr,exports.qfreezeShallow=gr,exports.qmap=hr,exports.qmapKeys=fr,exports.qmapObj=mr,exports.qmergeDeep=ar,exports.qmergeDeepAdd=ir,exports.qmergeDeepX=lr,exports.qmergeShallow=ur,exports.qomit=wr,exports.qprepend=br,exports.qreduce=xr,exports.qreverse=e=>e.reverse(),exports.range=xe,exports.reduce=ze,exports.reflect=er,exports.replace=Ie,exports.reverse=e=>S((r=>ze(((t,s,o)=>pr(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=or,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)=>xr(((e,r)=>e?e(r):e),e,r),exports.uniq=e=>xr(((e,r)=>z(r,e)?e:pr(r,e)),[],e),exports.values=e=>Object.values(e),exports.waitAll=e=>Promise.all(e),exports.waitTap=Re,exports.weakEq=w,exports.when=A,exports.zip=He,exports.zipObj=Je,exports.zipWith=Me;
|
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:
|
|
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>;
|
|
@@ -369,6 +371,12 @@ export declare const map: {
|
|
|
369
371
|
(a: (s: any, i?: number, list?: any[]) => any): (b: any[]) => any[];
|
|
370
372
|
(a: (s: any, i?: number, list?: any[]) => any, b: any[]): any[];
|
|
371
373
|
};
|
|
374
|
+
export declare const mapObj: {
|
|
375
|
+
(a: symbol, b: AnyObject): (a: (s: any, i?: string, list?: any[]) => any) => (b: AnyObject) => (a: (s: any, i?: number | undefined, list?: any[] | undefined) => any) => any[];
|
|
376
|
+
(a: (s: any, i?: string, list?: any[]) => any, b: symbol): (b: AnyObject) => (b: AnyObject) => (a: (s: any, i?: number | undefined, list?: any[] | undefined) => any) => any[];
|
|
377
|
+
(a: (s: any, i?: string, list?: any[]) => any): (b: AnyObject) => (b: AnyObject) => (a: (s: any, i?: number | undefined, list?: any[] | undefined) => any) => any[];
|
|
378
|
+
(a: (s: any, i?: string, list?: any[]) => any, b: AnyObject): (b: AnyObject) => (a: (s: any, i?: number | undefined, list?: any[] | undefined) => any) => any[];
|
|
379
|
+
};
|
|
372
380
|
export declare const forEach: {
|
|
373
381
|
(a: symbol, b: any[]): (a: (s: any) => any) => void;
|
|
374
382
|
(a: (s: any) => any, b: symbol): (b: any[]) => void;
|
|
@@ -528,6 +536,12 @@ export declare const qmap: {
|
|
|
528
536
|
(a: (s: any, i?: number, list?: any[]) => any): (b: any[]) => any[];
|
|
529
537
|
(a: (s: any, i?: number, list?: any[]) => any, b: any[]): any[];
|
|
530
538
|
};
|
|
539
|
+
export declare const qmapObj: {
|
|
540
|
+
(a: symbol, b: AnyObject): (a: (s: any, k?: string, list?: any[]) => any) => (a: (s: any, i?: number, list?: any[]) => any) => any[];
|
|
541
|
+
(a: (s: any, k?: string, list?: any[]) => any, b: symbol): (b: AnyObject) => (a: (s: any, i?: number, list?: any[]) => any) => any[];
|
|
542
|
+
(a: (s: any, k?: string, list?: any[]) => any): (b: AnyObject) => (a: (s: any, i?: number, list?: any[]) => any) => any[];
|
|
543
|
+
(a: (s: any, k?: string, list?: any[]) => any, b: AnyObject): (a: (s: any, i?: number, list?: any[]) => any) => any[];
|
|
544
|
+
};
|
|
531
545
|
export declare const qfilter: {
|
|
532
546
|
(a: symbol, b: any[] | AnyObject): (a: (v: any, k: string | number) => boolean) => any[] | AnyObject;
|
|
533
547
|
(a: (v: any, k: string | number) => boolean, b: symbol): (b: any[] | AnyObject) => any[] | AnyObject;
|
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(),
|
|
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=>Pr(((e,r)=>$(r,e)?e:Cr(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)=>Cr(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=>qr(Ge(e)),Ke=e=>Gr(Ge(e)),Me=o(((e,r,t)=>Pr(e,Ge(r),t))),Qe=c(((e,r)=>cr(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)=>cr(((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)=>Fr(e,He(r)))),er=c(((e,r)=>r.forEach(e))),rr=o(((e,r,t)=>r(t)&&e(t))),tr=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}},nr=e=>{switch(m(e)){case"String":return"";case"Object":return{};case"Array":return[];default:return l}},sr=o(((e,r,t)=>t.replace(e,r))),cr=c(((e,r)=>h(r)?r.filter(e):Ir(e,{...r}))),or=e=>{let r,t=!1;return()=>t?r:(t=!0,r=e())},lr=c(((e,r)=>Object.assign({},e,r))),ir=c(((e,r)=>xr(Ge(e),Ge(r)))),ur=c(((e,r)=>zr(Ge(e),Ge(r)))),ar=c(((e,r)=>Br(Ge(e),Ge(r)))),fr=o(((e,r,t)=>Ne(e,r(t[e]),t))),hr=c(((e,r)=>_r(e,Object.assign({},r)))),br=c(((e,r)=>Ye(((e,t)=>[e,r[t]]),e))),gr=c(((e,r)=>Me(((e,t,n)=>Ne(t,r[n],e)),{},e))),pr=o(((e,r,t)=>Ye(((r,n)=>e(r,t[n])),r))),jr=(()=>{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)))})(),yr=e=>Promise.all(e),dr=c((async(e,r)=>(await e(r),r))),mr=c(((e,r)=>Promise.all(r.map(e)))),Or=(()=>{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)})(),wr=W,Ar=W,Sr=W,kr=je,vr=ce,Nr=Pe,Cr=c(((e,r)=>(r.push(e),r))),Er=o(((e,r,t)=>(t[e]=r,t))),Pr=o(((e,r,t)=>t.reduce(e,r))),$r=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]?$r(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])){$r(e,r[n],t[n]);break}default:r[n]=t[n]}return r})),xr=$r(1),zr=$r(2),Br=$r(3),Ur=c(((e,r)=>Object.assign(e,r))),_r=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})),Dr=c(((e,r)=>{for(let t in r)r[t]=e(r[t],+t,r);return r})),Fr=c(((e,r)=>Dr(e,r))),Ir=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})),Lr=e=>{if(h(e))e.splice(0);else for(const r in e)delete e[r];return e},qr=e=>{let r;for(const t in e)r=e[t],g(r)&&qr(r);return Object.freeze(e)},Gr=e=>Object.freeze(e),Hr=c(((e,r)=>r.unshift(e))),Jr=o(((e,r,t)=>{const n=e[0];return Er(n,e.length<2?r:Jr(e.slice(1),r,g(t[n])?t[n]:{}),t)})),Kr=e=>e.reverse(),Mr=c(((e,r)=>Ir(((r,t)=>!$(t,e)),r))),Qr=e=>(...r)=>Pr(((e,r)=>e?e(r):e),e,r),Rr=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,rr as both,pe as callFrom,be as callWith,Ge as clone,He as cloneShallow,je as complement,C as compose,Or as composeAsync,We as concat,ve as cond,s as curry,c as curry2,o as curry3,Q as divide,Sr as echo,nr as empty,A as eq,k as equals,ke as explore,cr as filter,J as find,K as findIndex,le as flat,ie as flatShallow,ue as flatTo,z as flip,er as forEach,mr as forEachAsync,jr as forEachSerial,Je as freeze,Ke as freezeShallow,Ve as fromPairs,we as genBy,Rr 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,tr 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,hr as mapKeys,Ze as mapObj,or as memoize,ir as mergeDeep,ar as mergeDeepAdd,ur as mergeDeepX,lr as mergeShallow,wr as mirror,F as multiply,ge as noop,Z as not,kr as notf,P as nth,Te as omit,Ae as once,fr 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,vr as push,Cr as qappend,Er as qassoc,Jr as qassocPath,Lr as qempty,Ir as qfilter,qr as qfreeze,Gr as qfreezeShallow,Dr as qmap,_r as qmapKeys,Fr as qmapObj,xr as qmergeDeep,Br as qmergeDeepAdd,zr as qmergeDeepX,Ur as qmergeShallow,Mr as qomit,Hr as qprepend,Pr as qreduce,Kr as qreverse,de as range,Me as reduce,Ar as reflect,sr as replace,Se as reverse,ye as sizeof,x as slice,Nr 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,Qr as uncurry,me as uniq,re as values,yr as waitAll,dr as waitTap,S as weakEq,N as when,br as zip,gr as zipObj,pr 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.
|
|
46
|
+
"version": "1.2.0",
|
|
47
47
|
"ava": {
|
|
48
48
|
"files": [
|
|
49
49
|
"./test/specs/*.ts"
|
|
@@ -62,18 +62,18 @@
|
|
|
62
62
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
63
63
|
"@rollup/plugin-replace": "^5.0.5",
|
|
64
64
|
"@rollup/plugin-terser": "^0.4.4",
|
|
65
|
-
"@types/node": "^20.12.
|
|
65
|
+
"@types/node": "^20.12.7",
|
|
66
66
|
"ava": "^6.1.2",
|
|
67
67
|
"codecov": "^3.8.3",
|
|
68
68
|
"cross-env": "^7.0.3",
|
|
69
69
|
"dts-bundle-generator": "^9.3.1",
|
|
70
70
|
"nyc": "^15.1.0",
|
|
71
71
|
"prepend": "^1.0.2",
|
|
72
|
-
"rollup": "^4.
|
|
72
|
+
"rollup": "^4.14.2",
|
|
73
73
|
"rollup-plugin-typescript2": "^0.36.0",
|
|
74
74
|
"ts-node": "^10.9.2",
|
|
75
75
|
"tslint": "^6.1.3",
|
|
76
|
-
"typescript": "^5.4.
|
|
76
|
+
"typescript": "^5.4.5"
|
|
77
77
|
},
|
|
78
78
|
"types": "./dist/bundle.d.ts",
|
|
79
79
|
"sideEffects": false
|
package/src/common.ts
CHANGED
package/src/quick.ts
CHANGED
|
@@ -6,15 +6,8 @@ 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})
|
|
9
|
-
export const qassoc = curry3(
|
|
10
|
-
|
|
11
|
-
obj[prop] = v
|
|
12
|
-
return obj
|
|
13
|
-
}
|
|
14
|
-
)
|
|
15
|
-
export const qreduce = curry3(
|
|
16
|
-
<T>(fn: Reducer, accum: any, arr: T[]) => arr.reduce(fn, accum)
|
|
17
|
-
)
|
|
9
|
+
export const qassoc = curry3((prop: string, v: any, obj: AnyObject) => { obj[prop] = v; return obj })
|
|
10
|
+
export const qreduce = curry3(<T>(fn: Reducer, accum: any, arr: T[]) => arr.reduce(fn, accum))
|
|
18
11
|
// strategy is for arrays: 1->clean, 2->merge, 3->push.
|
|
19
12
|
const mergeDeep = curry3((strategy: 1|2|3, o1: AnyObject, o2: AnyObject): AnyObject => {
|
|
20
13
|
for(let k in o2) {
|
|
@@ -73,6 +66,9 @@ export const qmap = curry2(
|
|
|
73
66
|
return arr
|
|
74
67
|
}
|
|
75
68
|
)
|
|
69
|
+
export const qmapObj = curry2(
|
|
70
|
+
(pipe: (s: any, k?: string, list?: any[]) => any, o: AnyObject) => qmap(pipe as any, o as any[])
|
|
71
|
+
)
|
|
76
72
|
export const qfilter = curry2(
|
|
77
73
|
<T extends any[] | AnyObject>(
|
|
78
74
|
cond: (v: any, k: string | number) => boolean,
|
package/src/safe.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __, curry, curry2, curry3 } from './curry'
|
|
2
2
|
import { isNum, isUndef, undef, isNull, isArray, isFunc, isStr, isObj, inf } from './utils'
|
|
3
|
-
import { qmergeDeep, qreduce, qappend, qmapKeys, qmergeDeepX, qmergeDeepAdd, qfilter, qfreeze, qfreezeShallow } from './quick'
|
|
3
|
+
import { qmergeDeep, qreduce, qappend, qmapKeys, qmergeDeepX, qmergeDeepAdd, qfilter, qfreeze, qfreezeShallow, qmapObj } 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
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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)
|
|
@@ -298,7 +293,7 @@ export const fromPairs = (pairs: [string, any][]) => Object.fromEntries(pairs)
|
|
|
298
293
|
type Concat = ((a: string, b: string) => string)
|
|
299
294
|
| ((a: any[], b: any[]) => any[])
|
|
300
295
|
export const concat = curry2(
|
|
301
|
-
((a, b) => b.concat(a)) as Concat
|
|
296
|
+
((a: any, b: string | any[]) => b.concat(a)) as Concat
|
|
302
297
|
)
|
|
303
298
|
export const join = curry2(
|
|
304
299
|
(delimeter: string, arr: string[]) => arr.join(delimeter)
|
|
@@ -306,6 +301,9 @@ export const join = curry2(
|
|
|
306
301
|
export const map = curry2(
|
|
307
302
|
(pipe: (s: any, i?: number, list?: any[]) => any, arr: any[]) => arr.map(pipe)
|
|
308
303
|
)
|
|
304
|
+
export const mapObj = curry2(
|
|
305
|
+
(pipe: (s: any, i?: string, list?: any[]) => any, o: AnyObject) => qmapObj(pipe, cloneShallow(o))
|
|
306
|
+
)
|
|
309
307
|
export const forEach = curry2(
|
|
310
308
|
(pipe: (s: any) => any, arr: any[]) => arr.forEach(pipe)
|
|
311
309
|
)
|
package/src/strings.ts
CHANGED
|
@@ -11,9 +11,8 @@ export const getTmpl = (tmpl: string): StrTmpl => {
|
|
|
11
11
|
const parts: string[] = []
|
|
12
12
|
const keymap: string[] = []
|
|
13
13
|
const len = tmpl.length
|
|
14
|
-
let i = 0, s, ln, start = 0, open = false,
|
|
15
|
-
hasEcran = head(tmpl), hasEcranNext = false,
|
|
16
|
-
nextChar: string
|
|
14
|
+
let i = 0, s: string, ln: number, start = 0, open = false,
|
|
15
|
+
hasEcran = head(tmpl), hasEcranNext = false, nextChar: string
|
|
17
16
|
for(i=0; i<len; i++) {
|
|
18
17
|
s = tmpl[i]
|
|
19
18
|
switch(s) {
|