fp-pack 0.12.1 → 0.13.1

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.
Files changed (37) hide show
  1. package/README.md +18 -4
  2. package/dist/ai-addons/fp-pack-agent-addon.md +1 -1
  3. package/dist/fp-pack.umd.js +1 -1
  4. package/dist/fp-pack.umd.js.map +1 -1
  5. package/dist/implement/async/index.d.ts +1 -0
  6. package/dist/implement/async/index.d.ts.map +1 -1
  7. package/dist/implement/async/pipeAsyncStrict.d.ts +89 -0
  8. package/dist/implement/async/pipeAsyncStrict.d.ts.map +1 -0
  9. package/dist/implement/async/pipeAsyncStrict.mjs +22 -0
  10. package/dist/implement/async/pipeAsyncStrict.mjs.map +1 -0
  11. package/dist/implement/composition/index.d.ts +1 -0
  12. package/dist/implement/composition/index.d.ts.map +1 -1
  13. package/dist/implement/composition/pipe.type-test.d.ts +50 -0
  14. package/dist/implement/composition/pipe.type-test.d.ts.map +1 -1
  15. package/dist/implement/composition/pipeStrict.d.ts +82 -0
  16. package/dist/implement/composition/pipeStrict.d.ts.map +1 -0
  17. package/dist/implement/composition/pipeStrict.mjs +16 -0
  18. package/dist/implement/composition/pipeStrict.mjs.map +1 -0
  19. package/dist/implement/composition/pipeWithDeps.d.ts +13 -3
  20. package/dist/implement/composition/pipeWithDeps.d.ts.map +1 -1
  21. package/dist/implement/composition/pipeWithDeps.mjs.map +1 -1
  22. package/dist/implement/composition/pipeWithDeps.type-test.d.ts +10 -0
  23. package/dist/implement/composition/pipeWithDeps.type-test.d.ts.map +1 -1
  24. package/dist/index.mjs +260 -256
  25. package/dist/index.mjs.map +1 -1
  26. package/dist/skills/fp-pack/SKILL.md +3 -2
  27. package/dist/skills/fp-pack.md +3 -2
  28. package/package.json +1 -1
  29. package/src/implement/async/index.ts +1 -0
  30. package/src/implement/async/pipeAsyncStrict.test.ts +32 -0
  31. package/src/implement/async/pipeAsyncStrict.ts +604 -0
  32. package/src/implement/composition/index.ts +1 -0
  33. package/src/implement/composition/pipe.type-test.ts +150 -0
  34. package/src/implement/composition/pipeStrict.test.ts +46 -0
  35. package/src/implement/composition/pipeStrict.ts +571 -0
  36. package/src/implement/composition/pipeWithDeps.ts +33 -3
  37. package/src/implement/composition/pipeWithDeps.type-test.ts +37 -0
package/README.md CHANGED
@@ -95,6 +95,9 @@ There's no framework and no heavy abstractions—just well-chosen helpers that m
95
95
  - **Pipe-centric composition**
96
96
  `pipe` (sync) and `pipeAsync` (async) are the primary composition tools. All utilities are designed to work seamlessly in pipe chains.
97
97
 
98
+ - **DX-optimized type inference**
99
+ **"Don't let strictness hinder inference."** fp-pack's standard `pipe` prioritizes **global type stability** over local constraints at connection points. The inference chain, designed without `NoInfer`, lets TypeScript derive perfect result types at the end of your pipeline—even without manual annotations. This **"Global Stability"** approach means you write less, TypeScript infers more, and your pipelines just work. When you need stricter mismatch detection, use `pipeStrict`/`pipeAsyncStrict`; for maximum inference power with minimal friction, stick to `pipe`/`pipeAsync`.
100
+
98
101
  - **Pragmatic error handling**
99
102
  The `SideEffect` pattern handles errors and side effects declaratively in `pipeSideEffect`/`pipeAsyncSideEffect` pipelines. Write normal functions that compose naturally—these pipelines automatically short-circuit when they encounter a `SideEffect`, eliminating the need for wrapper types everywhere. For strict union typing across branches, use `pipeSideEffectStrict` / `pipeAsyncSideEffectStrict`. Use `runPipeResult`/`matchSideEffect` **outside** the pipeline. If the input is narrowed to `SideEffect<R>` (e.g. after `isSideEffect`), `runPipeResult` returns `R`. If the result type is widened (e.g. `SideEffect<any>`), provide generics to recover a safe union. Use `isSideEffect` for precise runtime narrowing.
100
103
 
@@ -269,6 +272,8 @@ const fetchUserProfile = pipeAsync(
269
272
  const profile = await fetchUserProfile('user-123');
270
273
  ```
271
274
 
275
+ Need stricter mismatch detection? Use `pipeAsyncStrict`.
276
+
272
277
  ### Object Transformation
273
278
 
274
279
  ```typescript
@@ -340,6 +345,7 @@ export default curriedChunk;
340
345
  Functions for composing and transforming other functions.
341
346
 
342
347
  - **pipe** - Compose functions left to right (f → g → h)
348
+ - **pipeStrict** - Strict typing for pure pipelines
343
349
  - **pipeWithDeps** - Bind dependencies once and inject them into pipeline steps
344
350
  - **pipeSideEffect** - Compose functions left to right with SideEffect short-circuiting
345
351
  - **pipeSideEffectStrict** - SideEffect composition with strict effect unions
@@ -486,6 +492,7 @@ Functions for string manipulation. All operations return new strings.
486
492
  Functions for asynchronous operations.
487
493
 
488
494
  - **pipeAsync** - Compose async/sync functions (pure)
495
+ - **pipeAsyncStrict** - Strict typing for async pipelines
489
496
  - **pipeAsyncSideEffect** - Async composition with SideEffect short-circuiting
490
497
  - **pipeAsyncSideEffectStrict** - Async SideEffect composition with strict effect unions
491
498
  - **delay** - Wait for specified milliseconds
@@ -659,14 +666,21 @@ Provide generics when inference is lost; prefer `isSideEffect` for precise narro
659
666
 
660
667
  Most data transformations are pure and don't need SideEffect handling. Use `pipe` for sync operations and `pipeAsync` for async operations. **Only switch to SideEffect-aware pipes when you actually need** early termination or error handling with side effects.
661
668
 
662
- - **`pipe`** - Synchronous, **pure** transformations (99% of cases)
663
- - **`pipeAsync`** - Async, **pure** transformations (99% of cases)
669
+ **Pure Pipelines:**
670
+ - **`pipe`** - Synchronous, **pure** transformations (99% of cases) - **DX-optimized** for global type inference
671
+ - **`pipeStrict`** - Sync pipe with stricter type checking (catches mismatches earlier at connection points)
672
+ - **`pipeAsync`** - Async, **pure** transformations (99% of cases) - **DX-optimized** for global type inference
673
+ - **`pipeAsyncStrict`** - Async pipe with stricter type checking
674
+
675
+ **SideEffect-Aware Pipelines:**
664
676
  - **`pipeSideEffect`** - **Only when you need** SideEffect short-circuiting (sync)
665
- - **`pipeAsyncSideEffect`** - **Only when you need** SideEffect short-circuiting (async)
666
677
  - **`pipeSideEffectStrict`** - Sync SideEffect pipelines with strict effect unions
678
+ - **`pipeAsyncSideEffect`** - **Only when you need** SideEffect short-circuiting (async)
667
679
  - **`pipeAsyncSideEffectStrict`** - Async SideEffect pipelines with strict effect unions
668
680
 
669
- **Important:** `pipe` and `pipeAsync` are for **pure** functions only—they don't handle `SideEffect`. If your pipeline can return `SideEffect`, use `pipeSideEffect` or `pipeAsyncSideEffect` instead. Choose the strict variants when you need precise unions for SideEffect results.
681
+ **Important:**
682
+ - `pipe` and `pipeAsync` are for **pure** functions only—they don't handle `SideEffect`. If your pipeline can return `SideEffect`, use `pipeSideEffect` or `pipeAsyncSideEffect` instead.
683
+ - **Inference vs Strictness trade-off**: Standard `pipe`/`pipeAsync` prioritize **global type stability** (TypeScript infers the final result perfectly without manual annotations). Strict variants (`pipeStrict`, `pipeAsyncStrict`) catch type mismatches earlier but may require more type hints. Choose based on your needs: maximum inference power (standard) vs early error detection (strict).
670
684
 
671
685
  ```typescript
672
686
  // Pure sync pipe - no SideEffect handling
@@ -1,6 +1,6 @@
1
1
  # fp-pack Agent Role Add-on
2
2
 
3
- Document Version: 0.12.1
3
+ Document Version: 0.13.1
4
4
 
5
5
  ## What This Document Is
6
6
 
@@ -1,2 +1,2 @@
1
- (function(i,m){typeof exports=="object"&&typeof module<"u"?m(exports):typeof define=="function"&&define.amd?define(["exports"],m):(i=typeof globalThis<"u"?globalThis:i||self,m(i.FpPack={}))})(this,(function(i){"use strict";function m(...n){if(n.length===0)return;const[t,...e]=n;if(typeof t=="function"){const r=[t,...e];return u=>r.reduce((c,o)=>o(c),u)}return e.reduce((r,u)=>u(r),t)}function P(n){return n}function T(n){return(...t)=>{if(typeof t[0]=="function"){const u=t;return c=>o=>{const s=u.map(l=>(a=>l(a,o)));return n(c,...s)}}const[e,...r]=t;return u=>{const c=r.map(o=>(s=>o(s,u)));return n(e,...c)}}}class d{effect;label;constructor(t,e){this.effect=t,this.label=e}static of(t,e){return new d(t,e)}}function M(n,t){return n instanceof d?t.effect(n):t.value(n)}function N(n){return h(n)?n.effect():n}function h(n){return n instanceof d}function k(...n){const t=(u,c)=>{let o=u;for(const s of c){if(h(o))return o;o=s(o)}return o};if(n.length===0)return;const[e,...r]=n;if(typeof e=="function"){const u=[e,...r];return c=>t(c,u)}return t(e,r)}function v(...n){const t=(u,c)=>{let o=u;for(const s of c){if(h(o))return o;o=s(o)}return o};if(n.length===0)return;const[e,...r]=n;if(typeof e=="function"){const u=[e,...r];return c=>t(c,u)}return t(e,r)}function z(...n){return t=>n.reduceRight((e,r)=>r(e),t)}function f(n,...t){const e=r=>r.length>=n.length?n(...r):(...u)=>e([...r,...u]);return t.length===0?e([]):e(t)}function W(n,...t){return function(...r){const u=[...t,...r];return n.apply(this,u)}}function D(n){return function(...e){const r=[...e].reverse();return n.apply(this,r)}}function I(n,...t){return t.length===0?(...e)=>!n(...e):!n(...t)}function _(n){return n}function L(n){return()=>n}function C(n){const t=e=>n;return Object.defineProperty(t,"__from",{value:!0}),t}function K(n){return t=>(n(t),t)}function q(n){return()=>{n()}}function B(n){let t=!1,e;return function(...u){return t||(t=!0,e=n.apply(this,u)),e}}function V(n){const t=new Map,e=Symbol("result");return function(...u){let c=t;for(const s of u)c.has(s)||c.set(s,new Map),c=c.get(s);if(c.has(e))return c.get(e);const o=n.apply(this,u);return c.set(e,o),o}}function F(n,t,e,r){return n(r)?t(r):e(r)}const R=f(F);function $(n,t,e){return n(e)?t(e):e}const U=f($);function j(n,t,e){return n(e)?e:t(e)}const H=f(j);function G(n){return t=>{for(const[e,r]of n)if(e(t))return r(t)}}function Z(n,t,e){try{return n(e)}catch(r){const u=r instanceof Error?r:new Error(String(r));return t(u,e)}}const J=f(Z);function Q(n,t,e){return n(e)?e:t}const X=f(Q);function Y(n,t){return t.map(n)}const x=f(Y);function nn(n,t){return t.filter(n)}const tn=f(nn);function en(n,t,e){return e.reduce(n,t)}const rn=f(en);function un(n,t){return t.flatMap(n)}const cn=f(un);function on(n,t){return t.find(n)}const fn=f(on);function sn(n,t){for(let e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}const ln=f(sn);function an(n,t){return t.every(n)}const dn=f(an);function hn(n,t){return n<=0?[]:n>=t.length?[...t]:t.slice(0,n)}const yn=f(hn);function mn(n,t){const e=Math.floor(n);return!Number.isFinite(e)||e<=0?t:t.slice(e)}const pn=f(mn);function gn(n,t){const e=[];let r=!0;for(const u of t)r&&!n(u)&&(r=!1),r||e.push(u);return e}const wn=f(gn);function An(n,t){const e=Math.floor(n);if(!Number.isFinite(e)||e<=0)return[];const r=[];for(let u=0;u<t.length;u+=e)r.push(t.slice(u,u+e));return r}const Sn=f(An);function bn(n,t){const e=Math.min(t.length,n.length),r=[];for(let u=0;u<e;u+=1)r.push([t[u],n[u]]);return r}const En=f(bn);function On(n,t,e){const r=Math.min(e.length,t.length),u=[];for(let c=0;c<r;c+=1)u.push(n(e[c],t[c]));return u}const Pn=f(On);function Tn(n){const t=[],e=[];for(const[r,u]of n)t.push(r),e.push(u);return[t,e]}function Mn(n){const t=new Set,e=[];for(const r of n)t.has(r)||(t.add(r),e.push(r));return e}function Nn(n,t){const e=new Set,r=[];for(const u of t){const c=n(u);e.has(c)||(e.add(c),r.push(u))}return r}const kn=f(Nn);function vn(n,t){return[...t].sort((e,r)=>{const u=n(e),c=n(r);return u<c?-1:u>c?1:0})}const zn=f(vn);function Wn(n,t){return[...t].sort(n)}const Dn=f(Wn);function In(n,t){return t.reduce((e,r)=>{const u=n(r);return e[u]||(e[u]=[]),e[u].push(r),e},{})}const _n=f(In);function Ln(n){return n.map((t,e)=>[e,t])}function Cn(n,t){const e=[];for(const r of t){if(!n(r))break;e.push(r)}return e}const Kn=f(Cn);function qn(n,t,e){const r=[];let u=t;for(const c of e)u=n(u,c),r.push(u);return r}const Bn=f(qn);function Vn(n,t){return[...t,...n]}const Fn=f(Vn);function Rn(n,t){return[...t,n]}const $n=f(Rn);function Un(n,t){return[n,...t]}const jn=f(Un);function Hn(n){return n.flat()}function Gn(n){return n[0]}function Zn(n){return n.slice(1)}function Jn(n){if(n.length!==0)return n[n.length-1]}function Qn(n){return n.length<=1?[]:n.slice(0,-1)}function Xn(n,t){if(!Number.isFinite(n)||!Number.isFinite(t))return[];if(n===t)return[];const e=n<t?1:-1,r=[];for(let u=n;e>0?u<t:u>t;u+=e)r.push(u);return r}function Yn(n,t){const e=[],r=[];for(const u of t)n(u)?e.push(u):r.push(u);return[e,r]}const xn=f(Yn);function nt(n){const t=[],e=r=>{for(const u of r)Array.isArray(u)?e(u):t.push(u)};return e(n),t}function tt(n,t){return t?.[n]}const et=f(tt);function rt(n,t){const e=t?.[n];if(e==null)throw new Error(`propStrict: "${String(n)}" is null or undefined`);return e}const it=f(rt);function ut(n,t,e){const r=e?.[t];return r??n}const ct=f(ut);function ot(n,t){return n.reduce((e,r)=>e?.[r],t)}const ft=f(ot);function st(n,t,e){const r=t.reduce((u,c)=>u?.[c],e);return r??n}const lt=f(st);function at(n,t){const e={};for(const r of n)r in t&&(e[r]=t[r]);return e}const dt=f(at);function ht(n,t){const e={...t};for(const r of n)delete e[r];return e}const yt=f(ht);function mt(n,t,e){if(Array.isArray(e)){const r=e.slice();return r[n]=t,r}return e&&typeof e=="object"?{...e,[n]:t}:{[n]:t}}const pt=f(mt),S=n=>typeof n=="number"?Number.isInteger(n):typeof n=="string"?/^-?\d+$/.test(n):!1,gt=(n,t)=>{const e=typeof n=="number"?n:Number(n);return Number.isNaN(e)?-1:e<0?Math.max(t+e,0):e},b=n=>n!==null&&typeof n=="object";function p(n,t,e){if(n.length===0)return t;const[r,...u]=n,c=S(r),o=Array.isArray(e)?e.slice():b(e)?{...e}:c?[]:{};if(Array.isArray(o)&&S(r)){const a=gt(r,o.length),w=o[a],A=u.length===0?t:p(u,t,w);return o[a]=A,o}const s=b(o)?o[r]:void 0,l=u.length===0?t:p(u,t,s);return o[r]=l,o}const wt=f(p);function At(n,t){if(Array.isArray(t)){const e=t.slice(),r=typeof n=="number"?n:Number.isNaN(Number(n))?-1:Number(n);return r>=0&&r<e.length?e.splice(r,1):delete e[n],e}if(t&&typeof t=="object"){const{[n]:e,...r}=t;return r}return t}const St=n=>typeof n=="number"?Number.isInteger(n):typeof n=="string"?/^-?\d+$/.test(n):!1,bt=(n,t)=>{const e=typeof n=="number"?n:Number(n);return Number.isNaN(e)?-1:e<0?t+e:e},Et=n=>n!==null&&typeof n=="object";function g(n,t){if(n.length===0||!Et(t))return t;const[e,...r]=n;if(Array.isArray(t)&&St(e)){const c=bt(e,t.length);if(c<0||c>=t.length)return t;const o=t.slice();if(r.length===0)return o.splice(c,1),o;const s=g(r,o[c]);return o[c]=s,o}if(!Object.prototype.hasOwnProperty.call(t,e))return t;if(r.length===0){const{[e]:c,...o}=t;return o}const u={...t};return u[e]=g(r,u[e]),u}const Ot=f(g);function Pt(n,t){return{...n,...t}}const Tt=f(Pt);function Mt(n,t){const e=u=>typeof u=="object"&&u!==null&&!Array.isArray(u),r=(u,c)=>{const o={...u};for(const[s,l]of Object.entries(c)){const a=o[s];e(a)&&e(l)?o[s]=r(a,l):o[s]=l}return o};return e(n)&&e(t)?r(n,t):{...n,...t}}const Nt=f(Mt);function kt(n){return n.reduce((e,r)=>({...e,...r}),{})}function vt(n){return Object.keys(n)}function zt(n){return Object.values(n)}function Wt(n){return Object.entries(n)}function Dt(n){return t=>{const e={};for(const[r,u]of Object.entries(t))e[r]=n(u);return e}}function It(n,t){const e={...t};for(const r of Object.keys(n)){const u=n[r];typeof u=="function"&&(e[r]=u(t[r]))}return e}const _t=f(It);function Lt(n,t){return Object.prototype.hasOwnProperty.call(t,n)}const Ct=f(Lt);function Kt(n){return t=>{let e=t;for(const r of n){if(e==null||!Object.prototype.hasOwnProperty.call(e,r))return!1;e=e[r]}return!0}}function qt(n,t){return y(n,t,new WeakMap)}function y(n,t,e){if(n===t||typeof n=="number"&&typeof t=="number"&&Number.isNaN(n)&&Number.isNaN(t))return!0;if(n===null||t===null||typeof n!="object"||typeof t!="object")return!1;if(e.has(n))return e.get(n)===t;if(e.set(n,t),n instanceof Date&&t instanceof Date)return n.getTime()===t.getTime();if(n instanceof Map&&t instanceof Map){if(n.size!==t.size)return!1;const c=Array.from(t.entries());for(const[o,s]of n.entries()){let l=!1;for(let a=0;a<c.length;a++){const[w,A]=c[a];if(y(o,w,e)&&y(s,A,e)){c.splice(a,1),l=!0;break}}if(!l)return!1}return!0}if(n instanceof Set&&t instanceof Set){if(n.size!==t.size)return!1;const c=Array.from(t.values());for(const o of n.values()){let s=!1;for(let l=0;l<c.length;l++)if(y(o,c[l],e)){c.splice(l,1),s=!0;break}if(!s)return!1}return!0}if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return!1;for(let c=0;c<n.length;c++)if(!y(n[c],t[c],e))return!1;return!0}const r=Reflect.ownKeys(n),u=Reflect.ownKeys(t);if(r.length!==u.length)return!1;for(const c of r)if(!Object.prototype.hasOwnProperty.call(t,c)||!y(n[c],t[c],e))return!1;return!0}const E=f(qt);function Bt(n){return n==null}function Vt(n){return n==null?!0:typeof n=="string"||Array.isArray(n)?n.length===0:n instanceof Map||n instanceof Set?n.size===0:typeof n=="object"?Object.keys(n).length===0:!1}function Ft(n){const t=n.toLowerCase();return e=>{if(e===null)return t==="null";if(e===void 0)return t==="undefined";const r=typeof e;return r!=="object"?r===t:Object.prototype.toString.call(e).slice(8,-1).toLowerCase()===t}}function Rt(n){return t=>t>n}function $t(n){return t=>t>=n}function Ut(n){return t=>t<n}function jt(n){return t=>t<=n}function Ht(n,t,e){return e<n?n:e>t?t:e}const Gt=f(Ht);function Zt(n,t){if(typeof t=="string"&&typeof n=="string")return t.includes(n);if(Array.isArray(t)){for(let e=0;e<t.length;e++)if(E(t[e],n))return!0;return!1}return!1}function Jt(n,t){return n+t}const Qt=f(Jt);function Xt(n,t){return n-t}const Yt=f(Xt);function xt(n,t){return n*t}const ne=f(xt);function te(n,t){return n/t}const ee=f(te);function re(n){return n.reduce((t,e)=>t+e,0)}function ie(n){return n.length===0?NaN:n.reduce((e,r)=>e+r,0)/n.length}function ue(n){return n.length===0?1/0:Math.min(...n)}function ce(n){return n.length===0?-1/0:Math.max(...n)}function oe(n){return Math.round(n)}function fe(n){return Math.floor(n)}function se(n){return Math.ceil(n)}function le(n,t){const e=Math.ceil(n),r=Math.floor(t);return r<e?e:Math.floor(Math.random()*(r-e+1))+e}const ae=f(le);function de(n){return n.trim()}function he(n,t){return t.split(n)}const ye=f(he);function me(n,t){return t.join(n)}const pe=f(me);function ge(n,t,e){return e.replace(n,t)}const we=f(ge);function Ae(n){return n.toUpperCase()}function Se(n){return n.toLowerCase()}function be(n,t){if(typeof t=="string"&&typeof n=="string")return t.startsWith(n);if(Array.isArray(n)&&Array.isArray(t)){if(n.length===0)return!0;if(n.length>t.length)return!1;for(let e=0;e<n.length;e++)if(t[e]!==n[e])return!1;return!0}return!1}function Ee(n,t){if(typeof t=="string"&&typeof n=="string")return t.endsWith(n);if(Array.isArray(n)&&Array.isArray(t)){if(n.length===0)return!0;if(n.length>t.length)return!1;for(let e=0;e<n.length;e++){const r=t.length-n.length+e;if(t[r]!==n[e])return!1}return!0}return!1}function Oe(n,t){return t.match(n)}const Pe=f(Oe);function Te(...n){const t=async(u,c)=>{let o=u;for(const s of c)o=await s(o);return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const u=[e,...r];return c=>t(c,u)}return t(e,r)}function Me(...n){const t=async(u,c)=>{let o=u;for(const s of c){if(h(o))return o;o=await s(o)}return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const u=[e,...r];return c=>t(c,u)}return t(e,r)}function Ne(...n){const t=async(u,c)=>{let o=u;for(const s of c){if(h(o))return o;o=await s(o)}return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const u=[e,...r];return c=>t(c,u)}return t(e,r)}function O(n){return new Promise(t=>{setTimeout(t,n)})}function ke(n,t){return new Promise((e,r)=>{const u=setTimeout(()=>r(new Error(`Timed out after ${n}ms`)),n);t.then(c=>{clearTimeout(u),e(c)}).catch(c=>{clearTimeout(u),r(c)})})}const ve=f(ke);function ze(n,t,e=0){return(async()=>{let r=0;for(;;)try{return await t()}catch(u){if(r+=1,r>n)throw u;e>0&&await O(e)}})()}const We=f(ze);function De(n,t){let e;return function(...u){e&&clearTimeout(e);const c=this;e=setTimeout(()=>{e=void 0,n.apply(c,u)},t)}}const Ie=f(De);function _e(n,t){let e;return function(...u){e||(n.apply(this,u),e=setTimeout(()=>{e=void 0},t))}}const Le=f(_e);function Ce(n,t){let e,r=!1,u,c;const o=()=>{e=void 0,r&&u&&(r=!1,n.apply(c,u))};return function(...l){if(!e){n.apply(this,l),e=setTimeout(o,t);return}r=!0,u=l,c=this,clearTimeout(e),e=setTimeout(o,t)}}const Ke=f(Ce);function qe(n,t){let e=0,r=null,u=null;const c=(s,l)=>{e=Date.now(),n.apply(s,l)};return function(...s){const l=Date.now(),a=t-(l-e);a<=0?(u&&(clearTimeout(u),u=null),r=null,c(this,s)):(r=s,u||(u=setTimeout(()=>{u=null,r&&(c(this,r),r=null)},a)))}}const Be=f(qe);function Ve(n){return t=>t==null?null:n(t)}function Fe(n){return t=>{const e=[];for(const r of t){const u=n(r);u!=null&&e.push(u)}return e}}function Re(n){return t=>t??n}function $e(n){try{return{ok:!0,value:n()}}catch(t){return{ok:!1,error:t}}}function Ue(n,t,e){return e==null?n():t(e)}const je=f(Ue);function He(n,t){if(!n)throw new Error(t??"Assertion failed")}const Ge=f(He);function Ze(n,t){if(!n)throw new Error(t??"Invariant failed")}const Je=f(Ze);function Qe(n){return t=>(n?console.log(n,t):console.log(t),t)}i.SideEffect=d,i.SideEffectClass=d,i.add=Qt,i.append=$n,i.assert=Ge,i.assoc=pt,i.assocPath=wt,i.ceil=se,i.chunk=Sn,i.clamp=Gt,i.complement=I,i.compose=z,i.concat=Fn,i.cond=G,i.constant=L,i.curry=f,i.debounce=Ie,i.debounceLeading=Le,i.debounceLeadingTrailing=Ke,i.delay=O,i.dissoc=At,i.dissocPath=Ot,i.div=ee,i.drop=pn,i.dropWhile=wn,i.endsWith=Ee,i.entries=Wt,i.equals=E,i.every=dn,i.evolve=_t,i.filter=tn,i.find=fn,i.flatMap=cn,i.flatten=Hn,i.flattenDeep=nt,i.flip=D,i.floor=fe,i.fold=je,i.from=C,i.getOrElse=Re,i.groupBy=_n,i.gt=Rt,i.gte=$t,i.guard=X,i.has=Ct,i.hasPath=Kt,i.head=Gn,i.identity=_,i.ifElse=R,i.includes=Zt,i.init=Qn,i.invariant=Je,i.isEmpty=Vt,i.isNil=Bt,i.isSideEffect=h,i.isType=Ft,i.join=pe,i.keys=vt,i.last=Jn,i.log=Qe,i.lt=Ut,i.lte=jt,i.map=x,i.mapMaybe=Fe,i.mapValues=Dt,i.match=Pe,i.matchSideEffect=M,i.max=ce,i.maybe=Ve,i.mean=ie,i.memoize=V,i.merge=Tt,i.mergeAll=kt,i.mergeDeep=Nt,i.min=ue,i.mul=ne,i.omit=yt,i.once=B,i.partial=W,i.partition=xn,i.path=ft,i.pathOr=lt,i.pick=dt,i.pipe=m,i.pipeAsync=Te,i.pipeAsyncSideEffect=Me,i.pipeAsyncSideEffectStrict=Ne,i.pipeHint=P,i.pipeSideEffect=k,i.pipeSideEffectStrict=v,i.pipeWithDeps=T,i.prepend=jn,i.prop=et,i.propOr=ct,i.propStrict=it,i.randomInt=ae,i.range=Xn,i.reduce=rn,i.replace=we,i.result=$e,i.retry=We,i.round=oe,i.runPipeResult=N,i.scan=Bn,i.some=ln,i.sort=Dn,i.sortBy=zn,i.split=ye,i.startsWith=be,i.sub=Yt,i.sum=re,i.tail=Zn,i.take=yn,i.takeWhile=Kn,i.tap=K,i.tap0=q,i.throttle=Be,i.timeout=ve,i.toLower=Se,i.toUpper=Ae,i.trim=de,i.tryCatch=J,i.uniq=Mn,i.uniqBy=kn,i.unless=H,i.unzip=Tn,i.values=zt,i.when=U,i.zip=En,i.zipIndex=Ln,i.zipWith=Pn,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(u,y){typeof exports=="object"&&typeof module<"u"?y(exports):typeof define=="function"&&define.amd?define(["exports"],y):(u=typeof globalThis<"u"?globalThis:u||self,y(u.FpPack={}))})(this,(function(u){"use strict";function y(...n){if(n.length===0)return;const[t,...e]=n;if(typeof t=="function"){const r=[t,...e];return i=>r.reduce((c,o)=>o(c),i)}return e.reduce((r,i)=>i(r),t)}function M(...n){if(n.length===0)return;const[t,...e]=n;if(typeof t=="function"){const r=[t,...e];return i=>r.reduce((c,o)=>o(c),i)}return e.reduce((r,i)=>i(r),t)}const S=M;Object.defineProperty(S,"__pipe_strict",{value:!0});function N(n){return n}function v(n){return(...t)=>{if(typeof t[0]=="function"){const i=t;return c=>o=>{const s=i.map(l=>(a=>l(a,o)));return n(c,...s)}}const[e,...r]=t;return i=>{const c=r.map(o=>(s=>o(s,i)));return n(e,...c)}}}class d{effect;label;constructor(t,e){this.effect=t,this.label=e}static of(t,e){return new d(t,e)}}function _(n,t){return n instanceof d?t.effect(n):t.value(n)}function k(n){return h(n)?n.effect():n}function h(n){return n instanceof d}function W(...n){const t=(i,c)=>{let o=i;for(const s of c){if(h(o))return o;o=s(o)}return o};if(n.length===0)return;const[e,...r]=n;if(typeof e=="function"){const i=[e,...r];return c=>t(c,i)}return t(e,r)}function z(...n){const t=(i,c)=>{let o=i;for(const s of c){if(h(o))return o;o=s(o)}return o};if(n.length===0)return;const[e,...r]=n;if(typeof e=="function"){const i=[e,...r];return c=>t(c,i)}return t(e,r)}function D(...n){return t=>n.reduceRight((e,r)=>r(e),t)}function f(n,...t){const e=r=>r.length>=n.length?n(...r):(...i)=>e([...r,...i]);return t.length===0?e([]):e(t)}function I(n,...t){return function(...r){const i=[...t,...r];return n.apply(this,i)}}function L(n){return function(...e){const r=[...e].reverse();return n.apply(this,r)}}function B(n,...t){return t.length===0?(...e)=>!n(...e):!n(...t)}function C(n){return n}function K(n){return()=>n}function q(n){const t=e=>n;return Object.defineProperty(t,"__from",{value:!0}),t}function V(n){return t=>(n(t),t)}function F(n){return()=>{n()}}function R(n){let t=!1,e;return function(...i){return t||(t=!0,e=n.apply(this,i)),e}}function $(n){const t=new Map,e=Symbol("result");return function(...i){let c=t;for(const s of i)c.has(s)||c.set(s,new Map),c=c.get(s);if(c.has(e))return c.get(e);const o=n.apply(this,i);return c.set(e,o),o}}function U(n,t,e,r){return n(r)?t(r):e(r)}const j=f(U);function H(n,t,e){return n(e)?t(e):e}const G=f(H);function Z(n,t,e){return n(e)?e:t(e)}const J=f(Z);function Q(n){return t=>{for(const[e,r]of n)if(e(t))return r(t)}}function X(n,t,e){try{return n(e)}catch(r){const i=r instanceof Error?r:new Error(String(r));return t(i,e)}}const Y=f(X);function x(n,t,e){return n(e)?e:t}const nn=f(x);function tn(n,t){return t.map(n)}const en=f(tn);function rn(n,t){return t.filter(n)}const un=f(rn);function cn(n,t,e){return e.reduce(n,t)}const on=f(cn);function fn(n,t){return t.flatMap(n)}const sn=f(fn);function ln(n,t){return t.find(n)}const an=f(ln);function dn(n,t){for(let e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}const hn=f(dn);function pn(n,t){return t.every(n)}const yn=f(pn);function mn(n,t){return n<=0?[]:n>=t.length?[...t]:t.slice(0,n)}const gn=f(mn);function An(n,t){const e=Math.floor(n);return!Number.isFinite(e)||e<=0?t:t.slice(e)}const wn=f(An);function Sn(n,t){const e=[];let r=!0;for(const i of t)r&&!n(i)&&(r=!1),r||e.push(i);return e}const bn=f(Sn);function On(n,t){const e=Math.floor(n);if(!Number.isFinite(e)||e<=0)return[];const r=[];for(let i=0;i<t.length;i+=e)r.push(t.slice(i,i+e));return r}const Pn=f(On);function En(n,t){const e=Math.min(t.length,n.length),r=[];for(let i=0;i<e;i+=1)r.push([t[i],n[i]]);return r}const Tn=f(En);function Mn(n,t,e){const r=Math.min(e.length,t.length),i=[];for(let c=0;c<r;c+=1)i.push(n(e[c],t[c]));return i}const Nn=f(Mn);function vn(n){const t=[],e=[];for(const[r,i]of n)t.push(r),e.push(i);return[t,e]}function _n(n){const t=new Set,e=[];for(const r of n)t.has(r)||(t.add(r),e.push(r));return e}function kn(n,t){const e=new Set,r=[];for(const i of t){const c=n(i);e.has(c)||(e.add(c),r.push(i))}return r}const Wn=f(kn);function zn(n,t){return[...t].sort((e,r)=>{const i=n(e),c=n(r);return i<c?-1:i>c?1:0})}const Dn=f(zn);function In(n,t){return[...t].sort(n)}const Ln=f(In);function Bn(n,t){return t.reduce((e,r)=>{const i=n(r);return e[i]||(e[i]=[]),e[i].push(r),e},{})}const Cn=f(Bn);function Kn(n){return n.map((t,e)=>[e,t])}function qn(n,t){const e=[];for(const r of t){if(!n(r))break;e.push(r)}return e}const Vn=f(qn);function Fn(n,t,e){const r=[];let i=t;for(const c of e)i=n(i,c),r.push(i);return r}const Rn=f(Fn);function $n(n,t){return[...t,...n]}const Un=f($n);function jn(n,t){return[...t,n]}const Hn=f(jn);function Gn(n,t){return[n,...t]}const Zn=f(Gn);function Jn(n){return n.flat()}function Qn(n){return n[0]}function Xn(n){return n.slice(1)}function Yn(n){if(n.length!==0)return n[n.length-1]}function xn(n){return n.length<=1?[]:n.slice(0,-1)}function nt(n,t){if(!Number.isFinite(n)||!Number.isFinite(t))return[];if(n===t)return[];const e=n<t?1:-1,r=[];for(let i=n;e>0?i<t:i>t;i+=e)r.push(i);return r}function tt(n,t){const e=[],r=[];for(const i of t)n(i)?e.push(i):r.push(i);return[e,r]}const et=f(tt);function rt(n){const t=[],e=r=>{for(const i of r)Array.isArray(i)?e(i):t.push(i)};return e(n),t}function it(n,t){return t?.[n]}const ut=f(it);function ct(n,t){const e=t?.[n];if(e==null)throw new Error(`propStrict: "${String(n)}" is null or undefined`);return e}const ot=f(ct);function ft(n,t,e){const r=e?.[t];return r??n}const st=f(ft);function lt(n,t){return n.reduce((e,r)=>e?.[r],t)}const at=f(lt);function dt(n,t,e){const r=t.reduce((i,c)=>i?.[c],e);return r??n}const ht=f(dt);function pt(n,t){const e={};for(const r of n)r in t&&(e[r]=t[r]);return e}const yt=f(pt);function mt(n,t){const e={...t};for(const r of n)delete e[r];return e}const gt=f(mt);function At(n,t,e){if(Array.isArray(e)){const r=e.slice();return r[n]=t,r}return e&&typeof e=="object"?{...e,[n]:t}:{[n]:t}}const wt=f(At),b=n=>typeof n=="number"?Number.isInteger(n):typeof n=="string"?/^-?\d+$/.test(n):!1,St=(n,t)=>{const e=typeof n=="number"?n:Number(n);return Number.isNaN(e)?-1:e<0?Math.max(t+e,0):e},O=n=>n!==null&&typeof n=="object";function m(n,t,e){if(n.length===0)return t;const[r,...i]=n,c=b(r),o=Array.isArray(e)?e.slice():O(e)?{...e}:c?[]:{};if(Array.isArray(o)&&b(r)){const a=St(r,o.length),A=o[a],w=i.length===0?t:m(i,t,A);return o[a]=w,o}const s=O(o)?o[r]:void 0,l=i.length===0?t:m(i,t,s);return o[r]=l,o}const bt=f(m);function Ot(n,t){if(Array.isArray(t)){const e=t.slice(),r=typeof n=="number"?n:Number.isNaN(Number(n))?-1:Number(n);return r>=0&&r<e.length?e.splice(r,1):delete e[n],e}if(t&&typeof t=="object"){const{[n]:e,...r}=t;return r}return t}const Pt=n=>typeof n=="number"?Number.isInteger(n):typeof n=="string"?/^-?\d+$/.test(n):!1,Et=(n,t)=>{const e=typeof n=="number"?n:Number(n);return Number.isNaN(e)?-1:e<0?t+e:e},Tt=n=>n!==null&&typeof n=="object";function g(n,t){if(n.length===0||!Tt(t))return t;const[e,...r]=n;if(Array.isArray(t)&&Pt(e)){const c=Et(e,t.length);if(c<0||c>=t.length)return t;const o=t.slice();if(r.length===0)return o.splice(c,1),o;const s=g(r,o[c]);return o[c]=s,o}if(!Object.prototype.hasOwnProperty.call(t,e))return t;if(r.length===0){const{[e]:c,...o}=t;return o}const i={...t};return i[e]=g(r,i[e]),i}const Mt=f(g);function Nt(n,t){return{...n,...t}}const vt=f(Nt);function _t(n,t){const e=i=>typeof i=="object"&&i!==null&&!Array.isArray(i),r=(i,c)=>{const o={...i};for(const[s,l]of Object.entries(c)){const a=o[s];e(a)&&e(l)?o[s]=r(a,l):o[s]=l}return o};return e(n)&&e(t)?r(n,t):{...n,...t}}const kt=f(_t);function Wt(n){return n.reduce((e,r)=>({...e,...r}),{})}function zt(n){return Object.keys(n)}function Dt(n){return Object.values(n)}function It(n){return Object.entries(n)}function Lt(n){return t=>{const e={};for(const[r,i]of Object.entries(t))e[r]=n(i);return e}}function Bt(n,t){const e={...t};for(const r of Object.keys(n)){const i=n[r];typeof i=="function"&&(e[r]=i(t[r]))}return e}const Ct=f(Bt);function Kt(n,t){return Object.prototype.hasOwnProperty.call(t,n)}const qt=f(Kt);function Vt(n){return t=>{let e=t;for(const r of n){if(e==null||!Object.prototype.hasOwnProperty.call(e,r))return!1;e=e[r]}return!0}}function Ft(n,t){return p(n,t,new WeakMap)}function p(n,t,e){if(n===t||typeof n=="number"&&typeof t=="number"&&Number.isNaN(n)&&Number.isNaN(t))return!0;if(n===null||t===null||typeof n!="object"||typeof t!="object")return!1;if(e.has(n))return e.get(n)===t;if(e.set(n,t),n instanceof Date&&t instanceof Date)return n.getTime()===t.getTime();if(n instanceof Map&&t instanceof Map){if(n.size!==t.size)return!1;const c=Array.from(t.entries());for(const[o,s]of n.entries()){let l=!1;for(let a=0;a<c.length;a++){const[A,w]=c[a];if(p(o,A,e)&&p(s,w,e)){c.splice(a,1),l=!0;break}}if(!l)return!1}return!0}if(n instanceof Set&&t instanceof Set){if(n.size!==t.size)return!1;const c=Array.from(t.values());for(const o of n.values()){let s=!1;for(let l=0;l<c.length;l++)if(p(o,c[l],e)){c.splice(l,1),s=!0;break}if(!s)return!1}return!0}if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return!1;for(let c=0;c<n.length;c++)if(!p(n[c],t[c],e))return!1;return!0}const r=Reflect.ownKeys(n),i=Reflect.ownKeys(t);if(r.length!==i.length)return!1;for(const c of r)if(!Object.prototype.hasOwnProperty.call(t,c)||!p(n[c],t[c],e))return!1;return!0}const P=f(Ft);function Rt(n){return n==null}function $t(n){return n==null?!0:typeof n=="string"||Array.isArray(n)?n.length===0:n instanceof Map||n instanceof Set?n.size===0:typeof n=="object"?Object.keys(n).length===0:!1}function Ut(n){const t=n.toLowerCase();return e=>{if(e===null)return t==="null";if(e===void 0)return t==="undefined";const r=typeof e;return r!=="object"?r===t:Object.prototype.toString.call(e).slice(8,-1).toLowerCase()===t}}function jt(n){return t=>t>n}function Ht(n){return t=>t>=n}function Gt(n){return t=>t<n}function Zt(n){return t=>t<=n}function Jt(n,t,e){return e<n?n:e>t?t:e}const Qt=f(Jt);function Xt(n,t){if(typeof t=="string"&&typeof n=="string")return t.includes(n);if(Array.isArray(t)){for(let e=0;e<t.length;e++)if(P(t[e],n))return!0;return!1}return!1}function Yt(n,t){return n+t}const xt=f(Yt);function ne(n,t){return n-t}const te=f(ne);function ee(n,t){return n*t}const re=f(ee);function ie(n,t){return n/t}const ue=f(ie);function ce(n){return n.reduce((t,e)=>t+e,0)}function oe(n){return n.length===0?NaN:n.reduce((e,r)=>e+r,0)/n.length}function fe(n){return n.length===0?1/0:Math.min(...n)}function se(n){return n.length===0?-1/0:Math.max(...n)}function le(n){return Math.round(n)}function ae(n){return Math.floor(n)}function de(n){return Math.ceil(n)}function he(n,t){const e=Math.ceil(n),r=Math.floor(t);return r<e?e:Math.floor(Math.random()*(r-e+1))+e}const pe=f(he);function ye(n){return n.trim()}function me(n,t){return t.split(n)}const ge=f(me);function Ae(n,t){return t.join(n)}const we=f(Ae);function Se(n,t,e){return e.replace(n,t)}const be=f(Se);function Oe(n){return n.toUpperCase()}function Pe(n){return n.toLowerCase()}function Ee(n,t){if(typeof t=="string"&&typeof n=="string")return t.startsWith(n);if(Array.isArray(n)&&Array.isArray(t)){if(n.length===0)return!0;if(n.length>t.length)return!1;for(let e=0;e<n.length;e++)if(t[e]!==n[e])return!1;return!0}return!1}function Te(n,t){if(typeof t=="string"&&typeof n=="string")return t.endsWith(n);if(Array.isArray(n)&&Array.isArray(t)){if(n.length===0)return!0;if(n.length>t.length)return!1;for(let e=0;e<n.length;e++){const r=t.length-n.length+e;if(t[r]!==n[e])return!1}return!0}return!1}function Me(n,t){return t.match(n)}const Ne=f(Me);function ve(...n){const t=async(i,c)=>{let o=i;for(const s of c)o=await s(o);return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const i=[e,...r];return c=>t(c,i)}return t(e,r)}function _e(...n){const t=async(i,c)=>{let o=i;for(const s of c)o=await s(o);return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const i=[e,...r];return c=>t(c,i)}return t(e,r)}const E=_e;Object.defineProperty(E,"__pipe_async_strict",{value:!0});function ke(...n){const t=async(i,c)=>{let o=i;for(const s of c){if(h(o))return o;o=await s(o)}return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const i=[e,...r];return c=>t(c,i)}return t(e,r)}function We(...n){const t=async(i,c)=>{let o=i;for(const s of c){if(h(o))return o;o=await s(o)}return o};if(n.length===0)return Promise.resolve(void 0);const[e,...r]=n;if(typeof e=="function"){const i=[e,...r];return c=>t(c,i)}return t(e,r)}function T(n){return new Promise(t=>{setTimeout(t,n)})}function ze(n,t){return new Promise((e,r)=>{const i=setTimeout(()=>r(new Error(`Timed out after ${n}ms`)),n);t.then(c=>{clearTimeout(i),e(c)}).catch(c=>{clearTimeout(i),r(c)})})}const De=f(ze);function Ie(n,t,e=0){return(async()=>{let r=0;for(;;)try{return await t()}catch(i){if(r+=1,r>n)throw i;e>0&&await T(e)}})()}const Le=f(Ie);function Be(n,t){let e;return function(...i){e&&clearTimeout(e);const c=this;e=setTimeout(()=>{e=void 0,n.apply(c,i)},t)}}const Ce=f(Be);function Ke(n,t){let e;return function(...i){e||(n.apply(this,i),e=setTimeout(()=>{e=void 0},t))}}const qe=f(Ke);function Ve(n,t){let e,r=!1,i,c;const o=()=>{e=void 0,r&&i&&(r=!1,n.apply(c,i))};return function(...l){if(!e){n.apply(this,l),e=setTimeout(o,t);return}r=!0,i=l,c=this,clearTimeout(e),e=setTimeout(o,t)}}const Fe=f(Ve);function Re(n,t){let e=0,r=null,i=null;const c=(s,l)=>{e=Date.now(),n.apply(s,l)};return function(...s){const l=Date.now(),a=t-(l-e);a<=0?(i&&(clearTimeout(i),i=null),r=null,c(this,s)):(r=s,i||(i=setTimeout(()=>{i=null,r&&(c(this,r),r=null)},a)))}}const $e=f(Re);function Ue(n){return t=>t==null?null:n(t)}function je(n){return t=>{const e=[];for(const r of t){const i=n(r);i!=null&&e.push(i)}return e}}function He(n){return t=>t??n}function Ge(n){try{return{ok:!0,value:n()}}catch(t){return{ok:!1,error:t}}}function Ze(n,t,e){return e==null?n():t(e)}const Je=f(Ze);function Qe(n,t){if(!n)throw new Error(t??"Assertion failed")}const Xe=f(Qe);function Ye(n,t){if(!n)throw new Error(t??"Invariant failed")}const xe=f(Ye);function nr(n){return t=>(n?console.log(n,t):console.log(t),t)}u.SideEffect=d,u.SideEffectClass=d,u.add=xt,u.append=Hn,u.assert=Xe,u.assoc=wt,u.assocPath=bt,u.ceil=de,u.chunk=Pn,u.clamp=Qt,u.complement=B,u.compose=D,u.concat=Un,u.cond=Q,u.constant=K,u.curry=f,u.debounce=Ce,u.debounceLeading=qe,u.debounceLeadingTrailing=Fe,u.delay=T,u.dissoc=Ot,u.dissocPath=Mt,u.div=ue,u.drop=wn,u.dropWhile=bn,u.endsWith=Te,u.entries=It,u.equals=P,u.every=yn,u.evolve=Ct,u.filter=un,u.find=an,u.flatMap=sn,u.flatten=Jn,u.flattenDeep=rt,u.flip=L,u.floor=ae,u.fold=Je,u.from=q,u.getOrElse=He,u.groupBy=Cn,u.gt=jt,u.gte=Ht,u.guard=nn,u.has=qt,u.hasPath=Vt,u.head=Qn,u.identity=C,u.ifElse=j,u.includes=Xt,u.init=xn,u.invariant=xe,u.isEmpty=$t,u.isNil=Rt,u.isSideEffect=h,u.isType=Ut,u.join=we,u.keys=zt,u.last=Yn,u.log=nr,u.lt=Gt,u.lte=Zt,u.map=en,u.mapMaybe=je,u.mapValues=Lt,u.match=Ne,u.matchSideEffect=_,u.max=se,u.maybe=Ue,u.mean=oe,u.memoize=$,u.merge=vt,u.mergeAll=Wt,u.mergeDeep=kt,u.min=fe,u.mul=re,u.omit=gt,u.once=R,u.partial=I,u.partition=et,u.path=at,u.pathOr=ht,u.pick=yt,u.pipe=y,u.pipeAsync=ve,u.pipeAsyncSideEffect=ke,u.pipeAsyncSideEffectStrict=We,u.pipeAsyncStrict=E,u.pipeHint=N,u.pipeSideEffect=W,u.pipeSideEffectStrict=z,u.pipeStrict=S,u.pipeWithDeps=v,u.prepend=Zn,u.prop=ut,u.propOr=st,u.propStrict=ot,u.randomInt=pe,u.range=nt,u.reduce=on,u.replace=be,u.result=Ge,u.retry=Le,u.round=le,u.runPipeResult=k,u.scan=Rn,u.some=hn,u.sort=Ln,u.sortBy=Dn,u.split=ge,u.startsWith=Ee,u.sub=te,u.sum=ce,u.tail=Xn,u.take=gn,u.takeWhile=Vn,u.tap=V,u.tap0=F,u.throttle=$e,u.timeout=De,u.toLower=Pe,u.toUpper=Oe,u.trim=ye,u.tryCatch=Y,u.uniq=_n,u.uniqBy=Wn,u.unless=J,u.unzip=vn,u.values=Dt,u.when=G,u.zip=Tn,u.zipIndex=Kn,u.zipWith=Nn,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=fp-pack.umd.js.map