@ts-fns/stdlib 0.1.0 → 0.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.
Files changed (135) hide show
  1. package/dist/array/index.cjs +230 -33
  2. package/dist/array/index.cjs.map +1 -1
  3. package/dist/array/index.d.cts +434 -32
  4. package/dist/array/index.d.cts.map +1 -1
  5. package/dist/array/index.d.mts +434 -32
  6. package/dist/array/index.d.mts.map +1 -1
  7. package/dist/array/index.mjs +216 -18
  8. package/dist/array/index.mjs.map +1 -1
  9. package/dist/function/index.cjs +4 -2
  10. package/dist/function/index.d.cts +128 -13
  11. package/dist/function/index.d.cts.map +1 -1
  12. package/dist/function/index.d.mts +128 -13
  13. package/dist/function/index.d.mts.map +1 -1
  14. package/dist/function/index.mjs +3 -3
  15. package/dist/{function-DnI2v0p3.mjs → function-CYHPhQCQ.mjs} +84 -6
  16. package/dist/function-CYHPhQCQ.mjs.map +1 -0
  17. package/dist/{function-CB82a2GS.cjs → function-DYPifnmg.cjs} +95 -5
  18. package/dist/function-DYPifnmg.cjs.map +1 -0
  19. package/dist/{get-yrs1Kqho.cjs → get-1kqkxPFX.cjs} +20 -8
  20. package/dist/get-1kqkxPFX.cjs.map +1 -0
  21. package/dist/{get-CWL_cu6G.mjs → get-Dv6ejLZg.mjs} +21 -3
  22. package/dist/get-Dv6ejLZg.mjs.map +1 -0
  23. package/dist/guard/index.cjs +5 -12
  24. package/dist/guard/index.cjs.map +1 -1
  25. package/dist/guard/index.d.cts +18 -17
  26. package/dist/guard/index.d.cts.map +1 -1
  27. package/dist/guard/index.d.mts +18 -17
  28. package/dist/guard/index.d.mts.map +1 -1
  29. package/dist/guard/index.mjs +4 -12
  30. package/dist/guard/index.mjs.map +1 -1
  31. package/dist/index-MbdqaUt1.d.cts +54 -0
  32. package/dist/index-MbdqaUt1.d.cts.map +1 -0
  33. package/dist/index-k-paNOu4.d.mts +54 -0
  34. package/dist/index-k-paNOu4.d.mts.map +1 -0
  35. package/dist/iterator/index.cjs +72 -26
  36. package/dist/iterator/index.cjs.map +1 -1
  37. package/dist/iterator/index.d.cts +157 -5
  38. package/dist/iterator/index.d.cts.map +1 -1
  39. package/dist/iterator/index.d.mts +157 -5
  40. package/dist/iterator/index.d.mts.map +1 -1
  41. package/dist/iterator/index.mjs +66 -24
  42. package/dist/iterator/index.mjs.map +1 -1
  43. package/dist/lens/index.cjs +3 -3
  44. package/dist/lens/index.cjs.map +1 -1
  45. package/dist/lens/index.mjs +3 -3
  46. package/dist/lens/index.mjs.map +1 -1
  47. package/dist/map/index.cjs +88 -1
  48. package/dist/map/index.cjs.map +1 -1
  49. package/dist/map/index.d.cts +130 -2
  50. package/dist/map/index.d.cts.map +1 -1
  51. package/dist/map/index.d.mts +130 -2
  52. package/dist/map/index.d.mts.map +1 -1
  53. package/dist/map/index.mjs +86 -2
  54. package/dist/map/index.mjs.map +1 -1
  55. package/dist/number/index.cjs +91 -18
  56. package/dist/number/index.cjs.map +1 -1
  57. package/dist/number/index.d.cts +134 -19
  58. package/dist/number/index.d.cts.map +1 -1
  59. package/dist/number/index.d.mts +134 -19
  60. package/dist/number/index.d.mts.map +1 -1
  61. package/dist/number/index.mjs +91 -18
  62. package/dist/number/index.mjs.map +1 -1
  63. package/dist/object/index.cjs +111 -7
  64. package/dist/object/index.cjs.map +1 -1
  65. package/dist/object/index.d.cts +186 -26
  66. package/dist/object/index.d.cts.map +1 -1
  67. package/dist/object/index.d.mts +186 -26
  68. package/dist/object/index.d.mts.map +1 -1
  69. package/dist/object/index.mjs +111 -7
  70. package/dist/object/index.mjs.map +1 -1
  71. package/dist/orNull-CJNrTjhQ.cjs +45 -0
  72. package/dist/orNull-CJNrTjhQ.cjs.map +1 -0
  73. package/dist/orNull-EeXiCxD4.mjs +34 -0
  74. package/dist/orNull-EeXiCxD4.mjs.map +1 -0
  75. package/dist/order/index.cjs +22 -1
  76. package/dist/order/index.cjs.map +1 -1
  77. package/dist/order/index.d.cts +2 -2
  78. package/dist/order/index.d.mts +2 -2
  79. package/dist/order/index.mjs +22 -1
  80. package/dist/order/index.mjs.map +1 -1
  81. package/dist/{order.constants-BWSCg3C7.d.cts → order.constants-DpGY-EDp.d.cts} +4 -1
  82. package/dist/order.constants-DpGY-EDp.d.cts.map +1 -0
  83. package/dist/{order.constants-BWSCg3C7.d.mts → order.constants-DpGY-EDp.d.mts} +4 -1
  84. package/dist/order.constants-DpGY-EDp.d.mts.map +1 -0
  85. package/dist/purry-DXnhXie9.mjs +22 -0
  86. package/dist/purry-DXnhXie9.mjs.map +1 -0
  87. package/dist/purry-Dqp_F64t.cjs +27 -0
  88. package/dist/purry-Dqp_F64t.cjs.map +1 -0
  89. package/dist/set/index.cjs +59 -1
  90. package/dist/set/index.cjs.map +1 -1
  91. package/dist/set/index.d.cts +151 -2
  92. package/dist/set/index.d.cts.map +1 -1
  93. package/dist/set/index.d.mts +151 -2
  94. package/dist/set/index.d.mts.map +1 -1
  95. package/dist/set/index.mjs +59 -2
  96. package/dist/set/index.mjs.map +1 -1
  97. package/dist/string/index.cjs +289 -15
  98. package/dist/string/index.cjs.map +1 -1
  99. package/dist/string/index.d.cts +406 -1
  100. package/dist/string/index.d.cts.map +1 -1
  101. package/dist/string/index.d.mts +406 -1
  102. package/dist/string/index.d.mts.map +1 -1
  103. package/dist/string/index.mjs +271 -4
  104. package/dist/string/index.mjs.map +1 -1
  105. package/dist/tuple/index.cjs +20 -21
  106. package/dist/tuple/index.cjs.map +1 -1
  107. package/dist/tuple/index.d.cts +27 -58
  108. package/dist/tuple/index.d.cts.map +1 -1
  109. package/dist/tuple/index.d.mts +27 -58
  110. package/dist/tuple/index.d.mts.map +1 -1
  111. package/dist/tuple/index.mjs +20 -22
  112. package/dist/tuple/index.mjs.map +1 -1
  113. package/package.json +5 -6
  114. package/dist/function-CB82a2GS.cjs.map +0 -1
  115. package/dist/function-DnI2v0p3.mjs.map +0 -1
  116. package/dist/get-CWL_cu6G.mjs.map +0 -1
  117. package/dist/get-yrs1Kqho.cjs.map +0 -1
  118. package/dist/index-BJlKyBJH.d.cts +0 -18
  119. package/dist/index-BJlKyBJH.d.cts.map +0 -1
  120. package/dist/index-DGrnGMDt.d.mts +0 -18
  121. package/dist/index-DGrnGMDt.d.mts.map +0 -1
  122. package/dist/isNotNil-DrF-ohem.cjs +0 -28
  123. package/dist/isNotNil-DrF-ohem.cjs.map +0 -1
  124. package/dist/isNotNil-R5f1hC53.mjs +0 -23
  125. package/dist/isNotNil-R5f1hC53.mjs.map +0 -1
  126. package/dist/orThrow-V91Jw2lF.mjs +0 -15
  127. package/dist/orThrow-V91Jw2lF.mjs.map +0 -1
  128. package/dist/orThrow-ejzcQYAI.cjs +0 -20
  129. package/dist/orThrow-ejzcQYAI.cjs.map +0 -1
  130. package/dist/order.constants-BWSCg3C7.d.cts.map +0 -1
  131. package/dist/order.constants-BWSCg3C7.d.mts.map +0 -1
  132. package/dist/purry-B2_0DGLV.cjs +0 -28
  133. package/dist/purry-B2_0DGLV.cjs.map +0 -1
  134. package/dist/purry-BOWmqwDB.mjs +0 -23
  135. package/dist/purry-BOWmqwDB.mjs.map +0 -1
@@ -1,9 +1,29 @@
1
1
  import { n as Err, o as Ok, r as Fn } from "../types-D8f67ZCe.mjs";
2
2
 
3
3
  //#region src/function/always.d.ts
4
+ /**
5
+ * Returns a function that always yields the same value, ignoring its arguments.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * always(42)(); // 42
10
+ * always('hi')(1, 2, 3); // 'hi'
11
+ * ```
12
+ */
4
13
  declare function always<T>(value: T): (...args: unknown[]) => T;
5
14
  //#endregion
6
15
  //#region src/function/compose.d.ts
16
+ /**
17
+ * Composes a value through a sequence of functions from right to left.
18
+ * Functions are listed last-to-first; the rightmost function is applied first.
19
+ * Stops and returns the first error encountered in the pipeline.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * compose(1, n => n * 2, n => n + 1); // 4
24
+ * compose('a', s => s + '!', s => s.toUpperCase()); // 'A!'
25
+ * ```
26
+ */
7
27
  declare function compose<A, B>(input: A, fn1: Fn<Ok<A>, B>): B | Err<A>;
8
28
  declare function compose<A, B, C>(input: A, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): C | Err<A> | Err<B>;
9
29
  declare function compose<A, B, C, D>(input: A, fn3: Fn<Ok<C>, D>, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): D | Err<A> | Err<B> | Err<C>;
@@ -15,6 +35,17 @@ declare function compose<A, B, C, D, E, F, G, H, I>(input: A, fn8: Fn<Ok<H>, I>,
15
35
  declare function compose<A, B, C, D, E, F, G, H, I, J>(input: A, fn9: Fn<Ok<I>, J>, fn8: Fn<Ok<H>, I>, fn7: Fn<Ok<G>, H>, fn6: Fn<Ok<F>, G>, fn5: Fn<Ok<E>, F>, fn4: Fn<Ok<D>, E>, fn3: Fn<Ok<C>, D>, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;
16
36
  //#endregion
17
37
  //#region src/function/composed.d.ts
38
+ /**
39
+ * Returns a function that composes a value through a sequence of functions from right to left.
40
+ * Functions are listed last-to-first; the rightmost function is applied first.
41
+ * Stops and returns the first error encountered in the pipeline.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * composed(n => n * 2, n => n + 1)(1); // 4
46
+ * composed(s => s + '!', s => s.toUpperCase())('a'); // 'A!'
47
+ * ```
48
+ */
18
49
  declare function composed<A, B>(fn1: Fn<Ok<A>, B>): (input: A) => B | Err<A>;
19
50
  declare function composed<A, B, C>(fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): (input: A) => C | Err<A> | Err<B>;
20
51
  declare function composed<A, B, C, D>(fn3: Fn<Ok<C>, D>, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): (input: A) => D | Err<A> | Err<B> | Err<C>;
@@ -25,6 +56,18 @@ declare function composed<A, B, C, D, E, F, G, H>(fn7: Fn<Ok<G>, H>, fn6: Fn<Ok<
25
56
  declare function composed<A, B, C, D, E, F, G, H, I>(fn8: Fn<Ok<H>, I>, fn7: Fn<Ok<G>, H>, fn6: Fn<Ok<F>, G>, fn5: Fn<Ok<E>, F>, fn4: Fn<Ok<D>, E>, fn3: Fn<Ok<C>, D>, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;
26
57
  declare function composed<A, B, C, D, E, F, G, H, I, J>(fn9: Fn<Ok<I>, J>, fn8: Fn<Ok<H>, I>, fn7: Fn<Ok<G>, H>, fn6: Fn<Ok<F>, G>, fn5: Fn<Ok<E>, F>, fn4: Fn<Ok<D>, E>, fn3: Fn<Ok<C>, D>, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;
27
58
  //#endregion
59
+ //#region src/function/identity.d.ts
60
+ /**
61
+ * Returns its argument unchanged.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * identity(42); // 42
66
+ * identity('hello'); // 'hello'
67
+ * ```
68
+ */
69
+ declare function identity<T>(value: T): T;
70
+ //#endregion
28
71
  //#region src/function/memoizeOne.d.ts
29
72
  type ArgumentCompareFn<TFunc extends (...args: unknown[]) => unknown> = (newArgs: Parameters<TFunc>, lastArgs: Parameters<TFunc>) => boolean;
30
73
  type MemoizedFn<TFunc extends (this: unknown, ...args: unknown[]) => unknown> = {
@@ -32,6 +75,18 @@ type MemoizedFn<TFunc extends (this: unknown, ...args: unknown[]) => unknown> =
32
75
  (this: ThisParameterType<TFunc>, ...args: Parameters<TFunc>): ReturnType<TFunc>;
33
76
  };
34
77
  declare function memoizeOneImplementation<TFunc extends (this: unknown, ...args: unknown[]) => unknown>(fn: TFunc, argumentCompareFn: ArgumentCompareFn<TFunc>): MemoizedFn<TFunc>;
78
+ /**
79
+ * Memoizes a function so that it reuses the last result when called with the same arguments.
80
+ * Uses reference equality to compare arguments.
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * const add = memoizeOne((a: number, b: number) => a + b);
85
+ * add(1, 2); // 3 (computed)
86
+ * add(1, 2); // 3 (cached)
87
+ * add.clear();
88
+ * ```
89
+ */
35
90
  declare function memoizeOne<TFunc extends (this: unknown, ...args: unknown[]) => unknown>(fn: TFunc): MemoizedFn<TFunc>;
36
91
  declare namespace memoizeOne {
37
92
  var _a: typeof memoizeOneImplementation;
@@ -40,18 +95,40 @@ declare namespace memoizeOne {
40
95
  //#endregion
41
96
  //#region src/function/noop.d.ts
42
97
  /**
43
- * No operation function.
44
- *
45
- * @param args - The arguments to pass to the function.
98
+ * A function that does nothing.
46
99
  *
47
100
  * @example
48
101
  * ```ts
49
102
  * noop(); // void
103
+ * noop(1, 2, 3); // void
50
104
  * ```
51
105
  */
52
106
  declare function noop(...args: unknown[]): void;
53
107
  //#endregion
108
+ //#region src/function/orThrow.d.ts
109
+ /**
110
+ * Wraps a function so that an error result is thrown instead of returned.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const parse = orThrow((s: string) => (s ? s : new Error('empty')));
115
+ * parse('ok'); // 'ok'
116
+ * parse(''); // throws Error
117
+ * ```
118
+ */
119
+ declare function orThrow(fn: (...args: readonly any[]) => unknown): (...args: readonly unknown[]) => unknown;
120
+ //#endregion
54
121
  //#region src/function/pipe.d.ts
122
+ /**
123
+ * Pipes a value through a sequence of functions from left to right.
124
+ * Stops and returns the first error encountered in the pipeline.
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * pipe(1, n => n + 1, n => n * 2); // 4
129
+ * pipe('a', s => s.toUpperCase(), s => s + '!'); // 'A!'
130
+ * ```
131
+ */
55
132
  declare function pipe<A, B>(value: A, fn1: Fn<Ok<A>, B>): B | Err<A>;
56
133
  declare function pipe<A, B, C>(value: A, fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>): C | Err<A> | Err<B>;
57
134
  declare function pipe<A, B, C, D>(value: A, fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>, fn3: Fn<Ok<C>, D>): D | Err<A> | Err<B> | Err<C>;
@@ -63,6 +140,16 @@ declare function pipe<A, B, C, D, E, F, G, H, I>(value: A, fn1: Fn<Ok<A>, B>, fn
63
140
  declare function pipe<A, B, C, D, E, F, G, H, I, J>(value: A, fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>, fn3: Fn<Ok<C>, D>, fn4: Fn<Ok<D>, E>, fn5: Fn<Ok<E>, F>, fn6: Fn<Ok<F>, G>, fn7: Fn<Ok<G>, H>, fn8: Fn<Ok<H>, I>, fn9: Fn<Ok<I>, J>): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;
64
141
  //#endregion
65
142
  //#region src/function/piped.d.ts
143
+ /**
144
+ * Returns a function that pipes a value through a sequence of functions from left to right.
145
+ * Stops and returns the first error encountered in the pipeline.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * piped(n => n + 1, n => n * 2)(1); // 4
150
+ * piped(s => s.toUpperCase(), s => s + '!')('a'); // 'A!'
151
+ * ```
152
+ */
66
153
  declare function piped<A, B>(fn1: Fn<Ok<A>, B>): (input: A) => B | Err<A>;
67
154
  declare function piped<A, B, C>(fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>): (input: A) => C | Err<A> | Err<B>;
68
155
  declare function piped<A, B, C, D>(fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>, fn3: Fn<Ok<C>, D>): (input: A) => D | Err<A> | Err<B> | Err<C>;
@@ -75,33 +162,61 @@ declare function piped<A, B, C, D, E, F, G, H, I, J>(fn1: Fn<Ok<A>, B>, fn2: Fn<
75
162
  //#endregion
76
163
  //#region src/function/purry.d.ts
77
164
  /**
78
- * Purry = **P**ipe + C**urry*
165
+ * Enables pipe-style partial application for multi-argument functions.
166
+ * With all arguments, calls the function immediately; with one fewer, returns a function that accepts the remaining argument.
167
+ * Throws when called with any other number of arguments.
79
168
  *
80
- * Named as such to simulate how Elixir's pipe operator expects you to omit the first argument, the "data argument".
81
- * This function essentially takes any function of at lest 2 arguments and returns a function that:
82
- * * If it receives `n` args, it calls the function immediately
83
- * * If it receives `n - 1` args, it returns a function accepting the single data argument
84
- * * Any calls with incorrect number of arguments will throw
85
- *
86
- * Credit to Remeda for the name
87
- * @throws {Error}
169
+ * @example
170
+ * ```ts
171
+ * purry((data, n) => data.slice(0, n), [2])([1, 2, 3]); // [1, 2]
172
+ * purry((data, n) => data.slice(0, n), [[1, 2, 3], 2]); // [1, 2]
173
+ * ```
88
174
  */
89
175
  declare function purry(fn: (...args: any) => unknown, args: readonly unknown[]): unknown;
90
176
  //#endregion
91
177
  //#region src/function/tap.d.ts
178
+ /**
179
+ * Runs a side-effect callback on a value and returns the original value unchanged.
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * tap(console.log)(42); // logs 42, returns 42
184
+ * tap(n => console.log(n * 2))([1, 2, 3]); // logs [2, 4, 6], returns [1, 2, 3]
185
+ * ```
186
+ */
92
187
  declare function tap<T>(callbackFn: (data: T) => void): (data: T) => T;
93
188
  //#endregion
94
189
  //#region src/function/unless.d.ts
190
+ /**
191
+ * Applies a transformation when a predicate is false; otherwise returns the value unchanged.
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * unless(1, n => n > 1, n => n * 10); // 10
196
+ * unless(n => n > 1, n => n * 10)(1); // 10
197
+ * unless(2, n => n > 1, n => n * 10); // 2
198
+ * ```
199
+ */
95
200
  declare function unless<T, S extends T>(predicate: (data: T) => data is S, fn: (data: S) => T): (data: T) => T;
96
201
  declare function unless<T>(predicate: (data: T) => boolean, fn: (data: T) => T): (data: T) => T;
97
202
  declare function unless<T, S extends T>(data: T, predicate: (data: T) => data is S, fn: (data: S) => T): T;
98
203
  declare function unless<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T;
99
204
  //#endregion
100
205
  //#region src/function/when.d.ts
206
+ /**
207
+ * Applies a transformation when a predicate is true; otherwise returns the value unchanged.
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * when(2, n => n > 1, n => n * 10); // 20
212
+ * when(n => n > 1, n => n * 10)(2); // 20
213
+ * when(1, n => n > 1, n => n * 10); // 1
214
+ * ```
215
+ */
101
216
  declare function when<T, S extends T>(predicate: (data: T) => data is S, fn: (data: S) => T): (data: T) => T;
102
217
  declare function when<T>(predicate: (data: T) => boolean, fn: (data: T) => T): (data: T) => T;
103
218
  declare function when<T, S extends T>(data: T, predicate: (data: T) => data is S, fn: (data: S) => T): T;
104
219
  declare function when<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T;
105
220
  //#endregion
106
- export { ArgumentCompareFn, MemoizedFn, always, compose, composed, memoizeOne, memoizeOneImplementation, noop, pipe, piped, purry, tap, unless, when };
221
+ export { ArgumentCompareFn, MemoizedFn, always, compose, composed, identity, memoizeOne, memoizeOneImplementation, noop, orThrow, pipe, piped, purry, tap, unless, when };
107
222
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/function/always.ts","../../src/function/compose.ts","../../src/function/composed.ts","../../src/function/memoizeOne.ts","../../src/function/noop.ts","../../src/function/pipe.ts","../../src/function/piped.ts","../../src/function/purry.ts","../../src/function/tap.ts","../../src/function/unless.ts","../../src/function/when.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/function/always.ts","../../src/function/compose.ts","../../src/function/composed.ts","../../src/function/identity.ts","../../src/function/memoizeOne.ts","../../src/function/noop.ts","../../src/function/orThrow.ts","../../src/function/pipe.ts","../../src/function/piped.ts","../../src/function/purry.ts","../../src/function/tap.ts","../../src/function/unless.ts","../../src/function/when.ts"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { t as purry } from "../purry-BOWmqwDB.mjs";
2
- import { a as pipe, c as memoizeOneImplementation, d as always, i as piped, l as composed, n as unless, o as noop, r as tap, s as memoizeOne, t as when, u as compose } from "../function-DnI2v0p3.mjs";
3
- export { always, compose, composed, memoizeOne, memoizeOneImplementation, noop, pipe, piped, purry, tap, unless, when };
1
+ import { a as pipe, c as memoizeOneImplementation, d as compose, f as always, i as piped, l as identity, n as unless, o as noop, p as orThrow, r as tap, s as memoizeOne, t as when, u as composed } from "../function-CYHPhQCQ.mjs";
2
+ import { t as purry } from "../purry-DXnhXie9.mjs";
3
+ export { always, compose, composed, identity, memoizeOne, memoizeOneImplementation, noop, orThrow, pipe, piped, purry, tap, unless, when };
@@ -1,5 +1,36 @@
1
- import { t as purry } from "./purry-BOWmqwDB.mjs";
1
+ import { t as purry } from "./purry-DXnhXie9.mjs";
2
+ //#region src/function/orThrow.ts
3
+ /**
4
+ * Wraps a function so that an error result is thrown instead of returned.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const parse = orThrow((s: string) => (s ? s : new Error('empty')));
9
+ * parse('ok'); // 'ok'
10
+ * parse(''); // throws Error
11
+ * ```
12
+ */
13
+ function orThrow(fn) {
14
+ const argLength = fn.length;
15
+ const wrappedFn = (...args) => {
16
+ const result = fn(...args);
17
+ if (result instanceof Error) throw result;
18
+ return result;
19
+ };
20
+ Object.defineProperty(wrappedFn, "length", { value: argLength });
21
+ return wrappedFn;
22
+ }
23
+ //#endregion
2
24
  //#region src/function/always.ts
25
+ /**
26
+ * Returns a function that always yields the same value, ignoring its arguments.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * always(42)(); // 42
31
+ * always('hi')(1, 2, 3); // 'hi'
32
+ * ```
33
+ */
3
34
  function always(value) {
4
35
  return () => value;
5
36
  }
@@ -25,6 +56,20 @@ function composed(...pipeline) {
25
56
  return (input) => composeImplementation(input, ...pipeline);
26
57
  }
27
58
  //#endregion
59
+ //#region src/function/identity.ts
60
+ /**
61
+ * Returns its argument unchanged.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * identity(42); // 42
66
+ * identity('hello'); // 'hello'
67
+ * ```
68
+ */
69
+ function identity(value) {
70
+ return value;
71
+ }
72
+ //#endregion
28
73
  //#region src/function/memoizeOne.ts
29
74
  function equalsByRef(first, second) {
30
75
  if (first === second) return true;
@@ -53,20 +98,44 @@ function memoizeOneImplementation(fn, argumentCompareFn) {
53
98
  };
54
99
  return memoized;
55
100
  }
101
+ /**
102
+ * Memoizes a function so that it reuses the last result when called with the same arguments.
103
+ * Uses reference equality to compare arguments.
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * const add = memoizeOne((a: number, b: number) => a + b);
108
+ * add(1, 2); // 3 (computed)
109
+ * add(1, 2); // 3 (cached)
110
+ * add.clear();
111
+ * ```
112
+ */
56
113
  function memoizeOne(fn) {
57
114
  return memoizeOneImplementation(fn, areInputsEqual);
58
115
  }
116
+ /**
117
+ * Like `memoizeOne`, but accepts a custom function for comparing arguments.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const fn = memoizeOne.with(
122
+ * (a: { n: number }) => a.n * 2,
123
+ * ([a], [b]) => a.n === b.n,
124
+ * );
125
+ * fn({ n: 1 }); // 2 (computed)
126
+ * fn({ n: 1 }); // 2 (cached, compared by `n`)
127
+ * ```
128
+ */
59
129
  memoizeOne.with = memoizeOneImplementation;
60
130
  //#endregion
61
131
  //#region src/function/noop.ts
62
132
  /**
63
- * No operation function.
64
- *
65
- * @param args - The arguments to pass to the function.
133
+ * A function that does nothing.
66
134
  *
67
135
  * @example
68
136
  * ```ts
69
137
  * noop(); // void
138
+ * noop(1, 2, 3); // void
70
139
  * ```
71
140
  */
72
141
  function noop(...args) {}
@@ -93,6 +162,15 @@ function piped(...pipeline) {
93
162
  }
94
163
  //#endregion
95
164
  //#region src/function/tap.ts
165
+ /**
166
+ * Runs a side-effect callback on a value and returns the original value unchanged.
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * tap(console.log)(42); // logs 42, returns 42
171
+ * tap(n => console.log(n * 2))([1, 2, 3]); // logs [2, 4, 6], returns [1, 2, 3]
172
+ * ```
173
+ */
96
174
  function tap(callbackFn) {
97
175
  return (data) => {
98
176
  callbackFn(data);
@@ -116,6 +194,6 @@ function when(...args) {
116
194
  return purry(whenImplementation, args);
117
195
  }
118
196
  //#endregion
119
- export { pipe as a, memoizeOneImplementation as c, always as d, piped as i, composed as l, unless as n, noop as o, tap as r, memoizeOne as s, when as t, compose as u };
197
+ export { pipe as a, memoizeOneImplementation as c, compose as d, always as f, piped as i, identity as l, unless as n, noop as o, orThrow as p, tap as r, memoizeOne as s, when as t, composed as u };
120
198
 
121
- //# sourceMappingURL=function-DnI2v0p3.mjs.map
199
+ //# sourceMappingURL=function-CYHPhQCQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-CYHPhQCQ.mjs","names":[],"sources":["../src/function/orThrow.ts","../src/function/always.ts","../src/function/internal/_compose.ts","../src/function/compose.ts","../src/function/composed.ts","../src/function/identity.ts","../src/function/memoizeOne.ts","../src/function/noop.ts","../src/function/internal/_pipe.ts","../src/function/pipe.ts","../src/function/piped.ts","../src/function/tap.ts","../src/function/unless.ts","../src/function/when.ts"],"sourcesContent":["/**\n * Wraps a function so that an error result is thrown instead of returned.\n *\n * @example\n * ```ts\n * const parse = orThrow((s: string) => (s ? s : new Error('empty')));\n * parse('ok'); // 'ok'\n * parse(''); // throws Error\n * ```\n */\nexport function orThrow(fn: (...args: readonly any[]) => unknown): (...args: readonly unknown[]) => unknown {\n const argLength = fn.length;\n\n const wrappedFn = (...args: readonly unknown[]): unknown => {\n const result = fn(...args);\n if (result instanceof Error) {\n throw result;\n }\n return result;\n };\n\n Object.defineProperty(wrappedFn, 'length', {\n value: argLength,\n });\n\n return wrappedFn;\n}\n","/**\n * Returns a function that always yields the same value, ignoring its arguments.\n *\n * @example\n * ```ts\n * always(42)(); // 42\n * always('hi')(1, 2, 3); // 'hi'\n * ```\n */\nexport function always<T>(value: T): (...args: unknown[]) => T {\n return () => value;\n}\n","export function composeImplementation(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n const len = pipeline.length;\n let output: unknown = input;\n for (let i = len - 1; i >= 0; i -= 1) {\n output = pipeline[i]!(output);\n if (Error.isError(output)) {\n return output;\n }\n }\n return output;\n}\n","import type { Err, Fn, Ok } from '../types';\n\nimport { composeImplementation } from './internal/_compose';\n\n/**\n * Composes a value through a sequence of functions from right to left.\n * Functions are listed last-to-first; the rightmost function is applied first.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * compose(1, n => n * 2, n => n + 1); // 4\n * compose('a', s => s + '!', s => s.toUpperCase()); // 'A!'\n * ```\n */\nexport function compose<A, B>(input: A, fn1: Fn<Ok<A>, B>): B | Err<A>;\nexport function compose<A, B, C>(input: A, fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): C | Err<A> | Err<B>;\nexport function compose<A, B, C, D>(\n input: A,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): D | Err<A> | Err<B> | Err<C>;\nexport function compose<A, B, C, D, E>(\n input: A,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function compose<A, B, C, D, E, F>(\n input: A,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function compose<A, B, C, D, E, F, G>(\n input: A,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function compose<A, B, C, D, E, F, G, H>(\n input: A,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function compose<A, B, C, D, E, F, G, H, I>(\n input: A,\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function compose<A, B, C, D, E, F, G, H, I, J>(\n input: A,\n fn9: Fn<Ok<I>, J>,\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function compose(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return composeImplementation(input, ...pipeline);\n}\n","import type { Err, Fn, Ok } from '../types';\n\nimport { composeImplementation } from './internal/_compose';\n\n/**\n * Returns a function that composes a value through a sequence of functions from right to left.\n * Functions are listed last-to-first; the rightmost function is applied first.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * composed(n => n * 2, n => n + 1)(1); // 4\n * composed(s => s + '!', s => s.toUpperCase())('a'); // 'A!'\n * ```\n */\nexport function composed<A, B>(fn1: Fn<Ok<A>, B>): (input: A) => B | Err<A>;\nexport function composed<A, B, C>(fn2: Fn<Ok<B>, C>, fn1: Fn<Ok<A>, B>): (input: A) => C | Err<A> | Err<B>;\nexport function composed<A, B, C, D>(\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => D | Err<A> | Err<B> | Err<C>;\nexport function composed<A, B, C, D, E>(\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function composed<A, B, C, D, E, F>(\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function composed<A, B, C, D, E, F, G>(\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function composed<A, B, C, D, E, F, G, H>(\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function composed<A, B, C, D, E, F, G, H, I>(\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function composed<A, B, C, D, E, F, G, H, I, J>(\n fn9: Fn<Ok<I>, J>,\n fn8: Fn<Ok<H>, I>,\n fn7: Fn<Ok<G>, H>,\n fn6: Fn<Ok<F>, G>,\n fn5: Fn<Ok<E>, F>,\n fn4: Fn<Ok<D>, E>,\n fn3: Fn<Ok<C>, D>,\n fn2: Fn<Ok<B>, C>,\n fn1: Fn<Ok<A>, B>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function composed(...pipeline: readonly ((input: unknown) => unknown)[]): (input: unknown) => any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (input: unknown) => composeImplementation(input, ...pipeline);\n}\n","/**\n * Returns its argument unchanged.\n *\n * @example\n * ```ts\n * identity(42); // 42\n * identity('hello'); // 'hello'\n * ```\n */\nexport function identity<T>(value: T): T {\n return value;\n}\n","function equalsByRef(first: unknown, second: unknown): boolean {\n if (first === second) {\n return true;\n }\n if (Number.isNaN(first) && Number.isNaN(second)) {\n return true;\n }\n\n return false;\n}\n\nfunction areInputsEqual(newInputs: readonly unknown[], lastInputs: readonly unknown[]): boolean {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (let i = 0; i < newInputs.length; i += 1) {\n if (!equalsByRef(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nexport type ArgumentCompareFn<TFunc extends (...args: unknown[]) => unknown> = (\n newArgs: Parameters<TFunc>,\n lastArgs: Parameters<TFunc>,\n) => boolean;\n\nexport type MemoizedFn<TFunc extends (this: unknown, ...args: unknown[]) => unknown> = {\n clear: () => void;\n (this: ThisParameterType<TFunc>, ...args: Parameters<TFunc>): ReturnType<TFunc>;\n};\n\ntype Cache<TFunc extends (this: unknown, ...args: unknown[]) => unknown> = {\n lastArgs: Parameters<TFunc>;\n lastResult: ReturnType<TFunc>;\n lastThis: ThisParameterType<TFunc>;\n};\n\nexport function memoizeOneImplementation<TFunc extends (this: unknown, ...args: unknown[]) => unknown>(\n fn: TFunc,\n argumentCompareFn: ArgumentCompareFn<TFunc>,\n): MemoizedFn<TFunc> {\n let cache: Cache<TFunc> | null = null;\n\n function memoized(this: ThisParameterType<TFunc>, ...newArgs: Parameters<TFunc>): ReturnType<TFunc> {\n if (cache?.lastThis === this && argumentCompareFn(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n\n const lastResult = fn.apply(this, newArgs) as ReturnType<TFunc>;\n cache = {\n lastArgs: newArgs,\n lastResult,\n lastThis: this,\n };\n\n return lastResult;\n }\n\n memoized.clear = () => {\n cache = null;\n };\n\n return memoized;\n}\n\n/**\n * Memoizes a function so that it reuses the last result when called with the same arguments.\n * Uses reference equality to compare arguments.\n *\n * @example\n * ```ts\n * const add = memoizeOne((a: number, b: number) => a + b);\n * add(1, 2); // 3 (computed)\n * add(1, 2); // 3 (cached)\n * add.clear();\n * ```\n */\nexport function memoizeOne<TFunc extends (this: unknown, ...args: unknown[]) => unknown>(fn: TFunc): MemoizedFn<TFunc> {\n return memoizeOneImplementation(fn, areInputsEqual);\n}\n\n/**\n * Like `memoizeOne`, but accepts a custom function for comparing arguments.\n *\n * @example\n * ```ts\n * const fn = memoizeOne.with(\n * (a: { n: number }) => a.n * 2,\n * ([a], [b]) => a.n === b.n,\n * );\n * fn({ n: 1 }); // 2 (computed)\n * fn({ n: 1 }); // 2 (cached, compared by `n`)\n * ```\n */\nmemoizeOne.with = memoizeOneImplementation;\n","/**\n * A function that does nothing.\n *\n * @example\n * ```ts\n * noop(); // void\n * noop(1, 2, 3); // void\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function noop(...args: unknown[]): void {\n // noop\n}\n","export function pipeImplementation(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n const len = pipeline.length;\n let output: unknown = input;\n for (let i = 0; i < len; i += 1) {\n output = pipeline[i]!(output);\n if (Error.isError(output)) {\n return output;\n }\n }\n return output;\n}\n","import type { Err, Fn, Ok } from '../types';\n\nimport { pipeImplementation } from './internal/_pipe';\n\n/**\n * Pipes a value through a sequence of functions from left to right.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * pipe(1, n => n + 1, n => n * 2); // 4\n * pipe('a', s => s.toUpperCase(), s => s + '!'); // 'A!'\n * ```\n */\n// TODO: add up to 9 arguments\nexport function pipe<A, B>(value: A, fn1: Fn<Ok<A>, B>): B | Err<A>;\nexport function pipe<A, B, C>(value: A, fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>): C | Err<A> | Err<B>;\nexport function pipe<A, B, C, D>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n): D | Err<A> | Err<B> | Err<C>;\nexport function pipe<A, B, C, D, E>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n): E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function pipe<A, B, C, D, E, F>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function pipe<A, B, C, D, E, F, G>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function pipe<A, B, C, D, E, F, G, H>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function pipe<A, B, C, D, E, F, G, H, I>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function pipe<A, B, C, D, E, F, G, H, I, J>(\n value: A,\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n fn9: Fn<Ok<I>, J>,\n): Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function pipe(input: unknown, ...pipeline: readonly ((value: any) => unknown)[]): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return pipeImplementation(input, ...pipeline);\n}\n","import type { Err, Fn, Ok } from '../types';\n\nimport { pipeImplementation } from './internal/_pipe';\n\n/**\n * Returns a function that pipes a value through a sequence of functions from left to right.\n * Stops and returns the first error encountered in the pipeline.\n *\n * @example\n * ```ts\n * piped(n => n + 1, n => n * 2)(1); // 4\n * piped(s => s.toUpperCase(), s => s + '!')('a'); // 'A!'\n * ```\n */\nexport function piped<A, B>(fn1: Fn<Ok<A>, B>): (input: A) => B | Err<A>;\nexport function piped<A, B, C>(fn1: Fn<Ok<A>, B>, fn2: Fn<Ok<B>, C>): (input: A) => C | Err<A> | Err<B>;\nexport function piped<A, B, C, D>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n): (input: A) => D | Err<A> | Err<B> | Err<C>;\nexport function piped<A, B, C, D, E>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n): (input: A) => E | Err<A> | Err<B> | Err<C> | Err<D>;\nexport function piped<A, B, C, D, E, F>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | F;\nexport function piped<A, B, C, D, E, F, G>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | G;\nexport function piped<A, B, C, D, E, F, G, H>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | H;\nexport function piped<A, B, C, D, E, F, G, H, I>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | I;\nexport function piped<A, B, C, D, E, F, G, H, I, J>(\n fn1: Fn<Ok<A>, B>,\n fn2: Fn<Ok<B>, C>,\n fn3: Fn<Ok<C>, D>,\n fn4: Fn<Ok<D>, E>,\n fn5: Fn<Ok<E>, F>,\n fn6: Fn<Ok<F>, G>,\n fn7: Fn<Ok<G>, H>,\n fn8: Fn<Ok<H>, I>,\n fn9: Fn<Ok<I>, J>,\n): (input: A) => Err<A> | Err<B> | Err<C> | Err<D> | Err<E> | Err<F> | Err<G> | Err<H> | Err<I> | J;\nexport function piped(...pipeline: readonly ((input: unknown) => unknown)[]): (input: unknown) => any {\n return (value: unknown): unknown => pipeImplementation(value, ...pipeline);\n}\n","/**\n * Runs a side-effect callback on a value and returns the original value unchanged.\n *\n * @example\n * ```ts\n * tap(console.log)(42); // logs 42, returns 42\n * tap(n => console.log(n * 2))([1, 2, 3]); // logs [2, 4, 6], returns [1, 2, 3]\n * ```\n */\nexport function tap<T>(callbackFn: (data: T) => void): (data: T) => T {\n return (data: T) => {\n callbackFn(data);\n return data;\n };\n}\n","import { purry } from './purry';\n\nfunction unlessImplementation<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T {\n return predicate(data) ? data : fn(data);\n}\n\n/**\n * Applies a transformation when a predicate is false; otherwise returns the value unchanged.\n *\n * @example\n * ```ts\n * unless(1, n => n > 1, n => n * 10); // 10\n * unless(n => n > 1, n => n * 10)(1); // 10\n * unless(2, n => n > 1, n => n * 10); // 2\n * ```\n */\nexport function unless<T, S extends T>(predicate: (data: T) => data is S, fn: (data: S) => T): (data: T) => T;\nexport function unless<T>(predicate: (data: T) => boolean, fn: (data: T) => T): (data: T) => T;\nexport function unless<T, S extends T>(data: T, predicate: (data: T) => data is S, fn: (data: S) => T): T;\nexport function unless<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T;\nexport function unless(...args: unknown[]): unknown {\n return purry(unlessImplementation, args);\n}\n","import { purry } from './purry';\n\nfunction whenImplementation<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T {\n return predicate(data) ? fn(data) : data;\n}\n\n/**\n * Applies a transformation when a predicate is true; otherwise returns the value unchanged.\n *\n * @example\n * ```ts\n * when(2, n => n > 1, n => n * 10); // 20\n * when(n => n > 1, n => n * 10)(2); // 20\n * when(1, n => n > 1, n => n * 10); // 1\n * ```\n */\nexport function when<T, S extends T>(predicate: (data: T) => data is S, fn: (data: S) => T): (data: T) => T;\nexport function when<T>(predicate: (data: T) => boolean, fn: (data: T) => T): (data: T) => T;\nexport function when<T, S extends T>(data: T, predicate: (data: T) => data is S, fn: (data: S) => T): T;\nexport function when<T>(data: T, predicate: (data: T) => boolean, fn: (data: T) => T): T;\nexport function when(...args: unknown[]): unknown {\n return purry(whenImplementation, args);\n}\n"],"mappings":";;;;;;;;;;;;AAUA,SAAgB,QAAQ,IAAoF;CAC1G,MAAM,YAAY,GAAG;CAErB,MAAM,aAAa,GAAG,SAAsC;EAC1D,MAAM,SAAS,GAAG,GAAG,IAAI;EACzB,IAAI,kBAAkB,OACpB,MAAM;EAER,OAAO;CACT;CAEA,OAAO,eAAe,WAAW,UAAU,EACzC,OAAO,UACT,CAAC;CAED,OAAO;AACT;;;;;;;;;;;;ACjBA,SAAgB,OAAU,OAAqC;CAC7D,aAAa;AACf;;;ACXA,SAAgB,sBAAsB,OAAgB,GAAG,UAAqD;CAC5G,MAAM,MAAM,SAAS;CACrB,IAAI,SAAkB;CACtB,KAAK,IAAI,IAAI,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG;EACpC,SAAS,SAAS,EAAE,CAAE,MAAM;EAC5B,IAAI,MAAM,QAAQ,MAAM,GACtB,OAAO;CAEX;CACA,OAAO;AACT;;;ACsEA,SAAgB,QAAQ,OAAgB,GAAG,UAAqD;CAE9F,OAAO,sBAAsB,OAAO,GAAG,QAAQ;AACjD;;;ACVA,SAAgB,SAAS,GAAG,UAA6E;CAEvG,QAAQ,UAAmB,sBAAsB,OAAO,GAAG,QAAQ;AACrE;;;;;;;;;;;;ACnEA,SAAgB,SAAY,OAAa;CACvC,OAAO;AACT;;;ACXA,SAAS,YAAY,OAAgB,QAA0B;CAC7D,IAAI,UAAU,QACZ,OAAO;CAET,IAAI,OAAO,MAAM,KAAK,KAAK,OAAO,MAAM,MAAM,GAC5C,OAAO;CAGT,OAAO;AACT;AAEA,SAAS,eAAe,WAA+B,YAAyC;CAC9F,IAAI,UAAU,WAAW,WAAW,QAClC,OAAO;CAGT,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,GACzC,IAAI,CAAC,YAAY,UAAU,IAAI,WAAW,EAAE,GAC1C,OAAO;CAGX,OAAO;AACT;AAkBA,SAAgB,yBACd,IACA,mBACmB;CACnB,IAAI,QAA6B;CAEjC,SAAS,SAAyC,GAAG,SAA+C;EAClG,IAAI,OAAO,aAAa,QAAQ,kBAAkB,SAAS,MAAM,QAAQ,GACvE,OAAO,MAAM;EAGf,MAAM,aAAa,GAAG,MAAM,MAAM,OAAO;EACzC,QAAQ;GACN,UAAU;GACV;GACA,UAAU;EACZ;EAEA,OAAO;CACT;CAEA,SAAS,cAAc;EACrB,QAAQ;CACV;CAEA,OAAO;AACT;;;;;;;;;;;;;AAcA,SAAgB,WAAyE,IAA8B;CACrH,OAAO,yBAAyB,IAAI,cAAc;AACpD;;;;;;;;;;;;;;AAeA,WAAW,OAAO;;;;;;;;;;;;ACvFlB,SAAgB,KAAK,GAAG,MAAuB,CAE/C;;;ACZA,SAAgB,mBAAmB,OAAgB,GAAG,UAAqD;CACzG,MAAM,MAAM,SAAS;CACrB,IAAI,SAAkB;CACtB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;EAC/B,SAAS,SAAS,EAAE,CAAE,MAAM;EAC5B,IAAI,MAAM,QAAQ,MAAM,GACtB,OAAO;CAEX;CACA,OAAO;AACT;;;ACsEA,SAAgB,KAAK,OAAgB,GAAG,UAAqD;CAE3F,OAAO,mBAAmB,OAAO,GAAG,QAAQ;AAC9C;;;ACXA,SAAgB,MAAM,GAAG,UAA6E;CACpG,QAAQ,UAA4B,mBAAmB,OAAO,GAAG,QAAQ;AAC3E;;;;;;;;;;;;ACjEA,SAAgB,IAAO,YAA+C;CACpE,QAAQ,SAAY;EAClB,WAAW,IAAI;EACf,OAAO;CACT;AACF;;;ACZA,SAAS,qBAAwB,MAAS,WAAiC,IAAuB;CAChG,OAAO,UAAU,IAAI,IAAI,OAAO,GAAG,IAAI;AACzC;AAgBA,SAAgB,OAAO,GAAG,MAA0B;CAClD,OAAO,MAAM,sBAAsB,IAAI;AACzC;;;ACpBA,SAAS,mBAAsB,MAAS,WAAiC,IAAuB;CAC9F,OAAO,UAAU,IAAI,IAAI,GAAG,IAAI,IAAI;AACtC;AAgBA,SAAgB,KAAK,GAAG,MAA0B;CAChD,OAAO,MAAM,oBAAoB,IAAI;AACvC"}
@@ -1,5 +1,36 @@
1
- const require_purry = require("./purry-B2_0DGLV.cjs");
1
+ const require_purry = require("./purry-Dqp_F64t.cjs");
2
+ //#region src/function/orThrow.ts
3
+ /**
4
+ * Wraps a function so that an error result is thrown instead of returned.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const parse = orThrow((s: string) => (s ? s : new Error('empty')));
9
+ * parse('ok'); // 'ok'
10
+ * parse(''); // throws Error
11
+ * ```
12
+ */
13
+ function orThrow(fn) {
14
+ const argLength = fn.length;
15
+ const wrappedFn = (...args) => {
16
+ const result = fn(...args);
17
+ if (result instanceof Error) throw result;
18
+ return result;
19
+ };
20
+ Object.defineProperty(wrappedFn, "length", { value: argLength });
21
+ return wrappedFn;
22
+ }
23
+ //#endregion
2
24
  //#region src/function/always.ts
25
+ /**
26
+ * Returns a function that always yields the same value, ignoring its arguments.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * always(42)(); // 42
31
+ * always('hi')(1, 2, 3); // 'hi'
32
+ * ```
33
+ */
3
34
  function always(value) {
4
35
  return () => value;
5
36
  }
@@ -25,6 +56,20 @@ function composed(...pipeline) {
25
56
  return (input) => composeImplementation(input, ...pipeline);
26
57
  }
27
58
  //#endregion
59
+ //#region src/function/identity.ts
60
+ /**
61
+ * Returns its argument unchanged.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * identity(42); // 42
66
+ * identity('hello'); // 'hello'
67
+ * ```
68
+ */
69
+ function identity(value) {
70
+ return value;
71
+ }
72
+ //#endregion
28
73
  //#region src/function/memoizeOne.ts
29
74
  function equalsByRef(first, second) {
30
75
  if (first === second) return true;
@@ -53,20 +98,44 @@ function memoizeOneImplementation(fn, argumentCompareFn) {
53
98
  };
54
99
  return memoized;
55
100
  }
101
+ /**
102
+ * Memoizes a function so that it reuses the last result when called with the same arguments.
103
+ * Uses reference equality to compare arguments.
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * const add = memoizeOne((a: number, b: number) => a + b);
108
+ * add(1, 2); // 3 (computed)
109
+ * add(1, 2); // 3 (cached)
110
+ * add.clear();
111
+ * ```
112
+ */
56
113
  function memoizeOne(fn) {
57
114
  return memoizeOneImplementation(fn, areInputsEqual);
58
115
  }
116
+ /**
117
+ * Like `memoizeOne`, but accepts a custom function for comparing arguments.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const fn = memoizeOne.with(
122
+ * (a: { n: number }) => a.n * 2,
123
+ * ([a], [b]) => a.n === b.n,
124
+ * );
125
+ * fn({ n: 1 }); // 2 (computed)
126
+ * fn({ n: 1 }); // 2 (cached, compared by `n`)
127
+ * ```
128
+ */
59
129
  memoizeOne.with = memoizeOneImplementation;
60
130
  //#endregion
61
131
  //#region src/function/noop.ts
62
132
  /**
63
- * No operation function.
64
- *
65
- * @param args - The arguments to pass to the function.
133
+ * A function that does nothing.
66
134
  *
67
135
  * @example
68
136
  * ```ts
69
137
  * noop(); // void
138
+ * noop(1, 2, 3); // void
70
139
  * ```
71
140
  */
72
141
  function noop(...args) {}
@@ -93,6 +162,15 @@ function piped(...pipeline) {
93
162
  }
94
163
  //#endregion
95
164
  //#region src/function/tap.ts
165
+ /**
166
+ * Runs a side-effect callback on a value and returns the original value unchanged.
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * tap(console.log)(42); // logs 42, returns 42
171
+ * tap(n => console.log(n * 2))([1, 2, 3]); // logs [2, 4, 6], returns [1, 2, 3]
172
+ * ```
173
+ */
96
174
  function tap(callbackFn) {
97
175
  return (data) => {
98
176
  callbackFn(data);
@@ -134,6 +212,12 @@ Object.defineProperty(exports, "composed", {
134
212
  return composed;
135
213
  }
136
214
  });
215
+ Object.defineProperty(exports, "identity", {
216
+ enumerable: true,
217
+ get: function() {
218
+ return identity;
219
+ }
220
+ });
137
221
  Object.defineProperty(exports, "memoizeOne", {
138
222
  enumerable: true,
139
223
  get: function() {
@@ -152,6 +236,12 @@ Object.defineProperty(exports, "noop", {
152
236
  return noop;
153
237
  }
154
238
  });
239
+ Object.defineProperty(exports, "orThrow", {
240
+ enumerable: true,
241
+ get: function() {
242
+ return orThrow;
243
+ }
244
+ });
155
245
  Object.defineProperty(exports, "pipe", {
156
246
  enumerable: true,
157
247
  get: function() {
@@ -183,4 +273,4 @@ Object.defineProperty(exports, "when", {
183
273
  }
184
274
  });
185
275
 
186
- //# sourceMappingURL=function-CB82a2GS.cjs.map
276
+ //# sourceMappingURL=function-DYPifnmg.cjs.map