@nicolastoulemont/std 0.6.0 → 0.7.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 (198) hide show
  1. package/README.md +232 -27
  2. package/dist/adt/index.d.mts +2 -2
  3. package/dist/adt/index.mjs +1 -1
  4. package/dist/adt-DajUZvJe.mjs +2 -0
  5. package/dist/adt-DajUZvJe.mjs.map +1 -0
  6. package/dist/brand/index.d.mts +2 -2
  7. package/dist/brand/index.mjs +1 -1
  8. package/dist/brand-Bia3Vj6l.mjs +2 -0
  9. package/dist/brand-Bia3Vj6l.mjs.map +1 -0
  10. package/dist/context/index.d.mts +2 -0
  11. package/dist/context/index.mjs +1 -0
  12. package/dist/context-CCHj1nab.mjs +2 -0
  13. package/dist/context-CCHj1nab.mjs.map +1 -0
  14. package/dist/context-r8ESJiFn.d.mts +176 -0
  15. package/dist/context-r8ESJiFn.d.mts.map +1 -0
  16. package/dist/data/index.d.mts +2 -2
  17. package/dist/data/index.mjs +1 -1
  18. package/dist/data-CJxw6al9.mjs +2 -0
  19. package/dist/data-CJxw6al9.mjs.map +1 -0
  20. package/dist/data.tagged-error.types-CLlJJ3n5.d.mts +50 -0
  21. package/dist/data.tagged-error.types-CLlJJ3n5.d.mts.map +1 -0
  22. package/dist/{discriminator.types-9PxvrZki.d.mts → discriminator.types-CTURejXz.d.mts} +1 -1
  23. package/dist/discriminator.types-CTURejXz.d.mts.map +1 -0
  24. package/dist/dual-CZhzZslG.mjs +2 -0
  25. package/dist/dual-CZhzZslG.mjs.map +1 -0
  26. package/dist/either/index.d.mts +2 -2
  27. package/dist/either/index.mjs +1 -1
  28. package/dist/either-6BwadiFj.mjs +2 -0
  29. package/dist/either-6BwadiFj.mjs.map +1 -0
  30. package/dist/{equality-CD4_A1Op.mjs → equality-CoyUHWh9.mjs} +1 -1
  31. package/dist/{equality-CD4_A1Op.mjs.map → equality-CoyUHWh9.mjs.map} +1 -1
  32. package/dist/{flow-CYjiodlC.mjs → flow-D8_tllWl.mjs} +1 -1
  33. package/dist/flow-D8_tllWl.mjs.map +1 -0
  34. package/dist/functions/index.d.mts +2 -0
  35. package/dist/functions/index.mjs +1 -0
  36. package/dist/functions-BkevX2Dw.mjs +2 -0
  37. package/dist/functions-BkevX2Dw.mjs.map +1 -0
  38. package/dist/fx/index.d.mts +2 -3
  39. package/dist/fx/index.mjs +1 -1
  40. package/dist/fx-BzxLbf1Q.mjs +2 -0
  41. package/dist/fx-BzxLbf1Q.mjs.map +1 -0
  42. package/dist/fx.runtime-BcC6yMSy.mjs +2 -0
  43. package/dist/fx.runtime-BcC6yMSy.mjs.map +1 -0
  44. package/dist/{fx.types-CDVjDn_3.mjs → fx.types-Bg-Mmdm5.mjs} +1 -1
  45. package/dist/fx.types-Bg-Mmdm5.mjs.map +1 -0
  46. package/dist/{fx.types-B34asVRX.d.mts → fx.types-DeEWEltG.d.mts} +2 -2
  47. package/dist/{fx.types-B34asVRX.d.mts.map → fx.types-DeEWEltG.d.mts.map} +1 -1
  48. package/dist/index-7Lv982Om.d.mts +217 -0
  49. package/dist/index-7Lv982Om.d.mts.map +1 -0
  50. package/dist/index-B_iY5tq0.d.mts +241 -0
  51. package/dist/index-B_iY5tq0.d.mts.map +1 -0
  52. package/dist/index-B_wWGszy.d.mts +129 -0
  53. package/dist/index-B_wWGszy.d.mts.map +1 -0
  54. package/dist/index-BiiE8NS7.d.mts +108 -0
  55. package/dist/index-BiiE8NS7.d.mts.map +1 -0
  56. package/dist/index-By6dNRc4.d.mts +277 -0
  57. package/dist/index-By6dNRc4.d.mts.map +1 -0
  58. package/dist/index-CCo85AdC.d.mts +121 -0
  59. package/dist/index-CCo85AdC.d.mts.map +1 -0
  60. package/dist/index-CUZn-ohG.d.mts +490 -0
  61. package/dist/index-CUZn-ohG.d.mts.map +1 -0
  62. package/dist/index-CugDqdx6.d.mts +464 -0
  63. package/dist/index-CugDqdx6.d.mts.map +1 -0
  64. package/dist/{index-B2l8_CiD.d.mts → index-DEAWPlcI.d.mts} +155 -216
  65. package/dist/index-DEAWPlcI.d.mts.map +1 -0
  66. package/dist/{index-C4v_3f3-.d.mts → index-DKS1g1oC.d.mts} +95 -42
  67. package/dist/index-DKS1g1oC.d.mts.map +1 -0
  68. package/dist/{index-CklRfom5.d.mts → index-DSsDFLGw.d.mts} +263 -368
  69. package/dist/index-DSsDFLGw.d.mts.map +1 -0
  70. package/dist/{index-jeC5jyRh.d.mts → index-DXbYlSnB.d.mts} +64 -101
  71. package/dist/index-DXbYlSnB.d.mts.map +1 -0
  72. package/dist/{index-BzYtgdX0.d.mts → index-DaTvFhZ8.d.mts} +123 -16
  73. package/dist/index-DaTvFhZ8.d.mts.map +1 -0
  74. package/dist/{index-CjZ95Dsv.d.mts → index-Dm2dFysv.d.mts} +188 -202
  75. package/dist/index-Dm2dFysv.d.mts.map +1 -0
  76. package/dist/index.d.mts +23 -16
  77. package/dist/index.mjs +1 -1
  78. package/dist/layer/index.d.mts +2 -0
  79. package/dist/layer/index.mjs +1 -0
  80. package/dist/layer-BttmtDrs.mjs +2 -0
  81. package/dist/layer-BttmtDrs.mjs.map +1 -0
  82. package/dist/layer.types-DgpCIsk_.d.mts +100 -0
  83. package/dist/layer.types-DgpCIsk_.d.mts.map +1 -0
  84. package/dist/multithread/index.d.mts +2 -0
  85. package/dist/multithread/index.mjs +1 -0
  86. package/dist/multithread-xUUh4eLn.mjs +19 -0
  87. package/dist/multithread-xUUh4eLn.mjs.map +1 -0
  88. package/dist/option/index.d.mts +2 -3
  89. package/dist/option/index.mjs +1 -1
  90. package/dist/option-Qt1H-u7c.mjs +2 -0
  91. package/dist/option-Qt1H-u7c.mjs.map +1 -0
  92. package/dist/option.types-DRUm2QiI.mjs +2 -0
  93. package/dist/option.types-DRUm2QiI.mjs.map +1 -0
  94. package/dist/{option.types-ClJiBTdg.d.mts → option.types-DlAb6Sr0.d.mts} +4 -4
  95. package/dist/option.types-DlAb6Sr0.d.mts.map +1 -0
  96. package/dist/order/index.d.mts +2 -0
  97. package/dist/order/index.mjs +1 -0
  98. package/dist/order-D5c4QChk.mjs +2 -0
  99. package/dist/order-D5c4QChk.mjs.map +1 -0
  100. package/dist/pipeable-COGyGMUV.mjs +2 -0
  101. package/dist/pipeable-COGyGMUV.mjs.map +1 -0
  102. package/dist/{pipeable-B4YJA56p.d.mts → pipeable-rfqacPxZ.d.mts} +2 -9
  103. package/dist/{pipeable-B4YJA56p.d.mts.map → pipeable-rfqacPxZ.d.mts.map} +1 -1
  104. package/dist/predicate/index.d.mts +2 -2
  105. package/dist/predicate/index.mjs +1 -1
  106. package/dist/predicate-DUhhQqWY.mjs +2 -0
  107. package/dist/predicate-DUhhQqWY.mjs.map +1 -0
  108. package/dist/provide/index.d.mts +2 -0
  109. package/dist/provide/index.mjs +1 -0
  110. package/dist/provide-B_SqJpCd.mjs +2 -0
  111. package/dist/provide-B_SqJpCd.mjs.map +1 -0
  112. package/dist/queue/index.d.mts +2 -0
  113. package/dist/queue/index.mjs +1 -0
  114. package/dist/queue-CG5izEBS.mjs +2 -0
  115. package/dist/queue-CG5izEBS.mjs.map +1 -0
  116. package/dist/queue.types-CD2LOu37.d.mts +36 -0
  117. package/dist/queue.types-CD2LOu37.d.mts.map +1 -0
  118. package/dist/result/index.d.mts +2 -3
  119. package/dist/result/index.mjs +1 -1
  120. package/dist/result-BEzV0DYC.mjs +2 -0
  121. package/dist/result-BEzV0DYC.mjs.map +1 -0
  122. package/dist/{result.types-HHDzgSTV.d.mts → result.types-_xDAei3-.d.mts} +5 -97
  123. package/dist/result.types-_xDAei3-.d.mts.map +1 -0
  124. package/dist/schedule/index.d.mts +2 -0
  125. package/dist/schedule/index.mjs +1 -0
  126. package/dist/schedule-C6tjcJ1O.mjs +2 -0
  127. package/dist/schedule-C6tjcJ1O.mjs.map +1 -0
  128. package/dist/schedule-DlX2Dg69.d.mts +144 -0
  129. package/dist/schedule-DlX2Dg69.d.mts.map +1 -0
  130. package/dist/scope/index.d.mts +2 -0
  131. package/dist/scope/index.mjs +1 -0
  132. package/dist/scope-CZdp4wKX.d.mts +79 -0
  133. package/dist/scope-CZdp4wKX.d.mts.map +1 -0
  134. package/dist/scope-qwL1VUh2.mjs +2 -0
  135. package/dist/scope-qwL1VUh2.mjs.map +1 -0
  136. package/dist/service/index.d.mts +2 -0
  137. package/dist/service/index.mjs +1 -0
  138. package/dist/service-3PYQTUdH.mjs +2 -0
  139. package/dist/service-3PYQTUdH.mjs.map +1 -0
  140. package/dist/service-DrXU7KJG.d.mts +69 -0
  141. package/dist/service-DrXU7KJG.d.mts.map +1 -0
  142. package/dist/service-resolution-C19smeaO.mjs +2 -0
  143. package/dist/service-resolution-C19smeaO.mjs.map +1 -0
  144. package/package.json +50 -12
  145. package/dist/adt-CkRcY_GA.mjs +0 -2
  146. package/dist/adt-CkRcY_GA.mjs.map +0 -1
  147. package/dist/apply-fn.types-0g_9eXRy.d.mts +0 -8
  148. package/dist/apply-fn.types-0g_9eXRy.d.mts.map +0 -1
  149. package/dist/brand-Gy0kW6-n.mjs +0 -2
  150. package/dist/brand-Gy0kW6-n.mjs.map +0 -1
  151. package/dist/data-C0_3MGwm.mjs +0 -2
  152. package/dist/data-C0_3MGwm.mjs.map +0 -1
  153. package/dist/discriminator.types-9PxvrZki.d.mts.map +0 -1
  154. package/dist/either-CPzK-s8W.mjs +0 -2
  155. package/dist/either-CPzK-s8W.mjs.map +0 -1
  156. package/dist/err/index.d.mts +0 -2
  157. package/dist/err/index.mjs +0 -1
  158. package/dist/err-3KpQ4pj9.mjs +0 -2
  159. package/dist/err-3KpQ4pj9.mjs.map +0 -1
  160. package/dist/flow/index.d.mts +0 -2
  161. package/dist/flow/index.mjs +0 -1
  162. package/dist/flow-CYjiodlC.mjs.map +0 -1
  163. package/dist/fx-vqywVJhV.mjs +0 -2
  164. package/dist/fx-vqywVJhV.mjs.map +0 -1
  165. package/dist/fx.types-CDVjDn_3.mjs.map +0 -1
  166. package/dist/index-8Ne4GdOG.d.mts +0 -288
  167. package/dist/index-8Ne4GdOG.d.mts.map +0 -1
  168. package/dist/index-B2l8_CiD.d.mts.map +0 -1
  169. package/dist/index-BOrJQBPO.d.mts +0 -80
  170. package/dist/index-BOrJQBPO.d.mts.map +0 -1
  171. package/dist/index-BsXtpnw-.d.mts +0 -225
  172. package/dist/index-BsXtpnw-.d.mts.map +0 -1
  173. package/dist/index-BzYtgdX0.d.mts.map +0 -1
  174. package/dist/index-C4v_3f3-.d.mts.map +0 -1
  175. package/dist/index-CjZ95Dsv.d.mts.map +0 -1
  176. package/dist/index-CklRfom5.d.mts.map +0 -1
  177. package/dist/index-DZdmFtjA.d.mts +0 -79
  178. package/dist/index-DZdmFtjA.d.mts.map +0 -1
  179. package/dist/index-a4MEBZZ1.d.mts +0 -850
  180. package/dist/index-a4MEBZZ1.d.mts.map +0 -1
  181. package/dist/index-jeC5jyRh.d.mts.map +0 -1
  182. package/dist/option-DawZC1cE.mjs +0 -2
  183. package/dist/option-DawZC1cE.mjs.map +0 -1
  184. package/dist/option.types-ClJiBTdg.d.mts.map +0 -1
  185. package/dist/pipe/index.d.mts +0 -2
  186. package/dist/pipe/index.mjs +0 -1
  187. package/dist/pipe-BPpJyZf7.mjs +0 -2
  188. package/dist/pipe-BPpJyZf7.mjs.map +0 -1
  189. package/dist/pipeable-BA0mXhs4.mjs +0 -2
  190. package/dist/pipeable-BA0mXhs4.mjs.map +0 -1
  191. package/dist/predicate-Cy_oHA1Q.mjs +0 -2
  192. package/dist/predicate-Cy_oHA1Q.mjs.map +0 -1
  193. package/dist/result-CgGYLp0L.mjs +0 -2
  194. package/dist/result-CgGYLp0L.mjs.map +0 -1
  195. package/dist/result.types-HHDzgSTV.d.mts.map +0 -1
  196. /package/dist/{chunk-DAexk1S7.mjs → chunk-C934ptG5.mjs} +0 -0
  197. /package/dist/{option-Bb-taghv.mjs → option-CBCwzF0L.mjs} +0 -0
  198. /package/dist/{result-fiJhwVGz.mjs → result-B5WbPg8C.mjs} +0 -0
@@ -1,288 +0,0 @@
1
- //#region src/predicate/predicate.types.d.ts
2
- /**
3
- * A predicate function that tests a value and returns a boolean.
4
- *
5
- * @template T - The type of value being tested
6
- */
7
- type Predicate$1<in T> = (value: T) => boolean;
8
- /**
9
- * A refinement predicate that narrows type T to subtype U.
10
- * This is a type guard - when it returns true, TypeScript knows
11
- * the value is of the narrower type U.
12
- *
13
- * @template T - The base type
14
- * @template U - The narrower type (must extend T)
15
- *
16
- * @example
17
- * ```ts
18
- * // Built-in refinement
19
- * const isString: Refinement<unknown, string> = (v): v is string =>
20
- * typeof v === "string"
21
- *
22
- * // Usage with filter
23
- * const mixed: (string | number)[] = ["a", 1, "b", 2]
24
- * const strings: string[] = mixed.filter(isString)
25
- * ```
26
- */
27
- type Refinement<in T, out U extends T> = (value: T) => value is U;
28
- //#endregion
29
- //#region src/predicate/predicate.d.ts
30
- /**
31
- * Negate a predicate.
32
- * Returns true when the original predicate returns false, and vice versa.
33
- *
34
- * @template T - The type being tested
35
- * @param predicate - The predicate to negate
36
- * @returns A new predicate that returns the opposite boolean
37
- *
38
- * @example
39
- * ```ts
40
- * const isEven = (n: number) => n % 2 === 0
41
- * const isOdd = Predicate.not(isEven)
42
- *
43
- * isOdd(3) // true
44
- * isOdd(4) // false
45
- *
46
- * // Works in filter
47
- * [1, 2, 3, 4].filter(Predicate.not(isEven)) // [1, 3]
48
- * ```
49
- */
50
- declare const not: <T>(predicate: Predicate$1<T>) => Predicate$1<T>;
51
- /**
52
- * Combine predicates with logical AND.
53
- * Returns true only when ALL predicates return true.
54
- * Short-circuits on first false (lazy evaluation).
55
- *
56
- * @template T - The type being tested
57
- * @param predicates - The predicates to combine
58
- * @returns A new predicate that returns true if all predicates pass
59
- *
60
- * @example
61
- * ```ts
62
- * const isPositive = (n: number) => n > 0
63
- * const isEven = (n: number) => n % 2 === 0
64
- * const isLessThan100 = (n: number) => n < 100
65
- *
66
- * const isValidNumber = Predicate.and(isPositive, isEven, isLessThan100)
67
- *
68
- * isValidNumber(42) // true
69
- * isValidNumber(-2) // false (not positive)
70
- * isValidNumber(101) // false (not less than 100)
71
- * ```
72
- */
73
- declare const and: <T>(...predicates: readonly Predicate$1<T>[]) => Predicate$1<T>;
74
- /**
75
- * Combine predicates with logical OR.
76
- * Returns true when ANY predicate returns true.
77
- * Short-circuits on first true (lazy evaluation).
78
- *
79
- * @template T - The type being tested
80
- * @param predicates - The predicates to combine
81
- * @returns A new predicate that returns true if any predicate passes
82
- *
83
- * @example
84
- * ```ts
85
- * const isZero = (n: number) => n === 0
86
- * const isNegative = (n: number) => n < 0
87
- *
88
- * const isNotPositive = Predicate.or(isZero, isNegative)
89
- *
90
- * isNotPositive(0) // true
91
- * isNotPositive(-5) // true
92
- * isNotPositive(5) // false
93
- * ```
94
- */
95
- declare const or: <T>(...predicates: readonly Predicate$1<T>[]) => Predicate$1<T>;
96
- /**
97
- * Create a predicate that tests if ALL elements in an array match.
98
- * Returns true for empty arrays (vacuous truth).
99
- *
100
- * @template T - The element type
101
- * @param predicate - The predicate to test each element
102
- * @returns A predicate that takes an array and returns true if all match
103
- *
104
- * @example
105
- * ```ts
106
- * const isPositive = (n: number) => n > 0
107
- * const allPositive = Predicate.all(isPositive)
108
- *
109
- * allPositive([1, 2, 3]) // true
110
- * allPositive([1, -2, 3]) // false
111
- * allPositive([]) // true (vacuous truth)
112
- *
113
- * // Useful for validation
114
- * const areAllAdults = Predicate.all((u: User) => u.age >= 18)
115
- * ```
116
- */
117
- declare const all: <T>(predicate: Predicate$1<T>) => Predicate$1<readonly T[]>;
118
- /**
119
- * Create a predicate that tests if ANY element in an array matches.
120
- * Returns false for empty arrays.
121
- *
122
- * @template T - The element type
123
- * @param predicate - The predicate to test each element
124
- * @returns A predicate that takes an array and returns true if any match
125
- *
126
- * @example
127
- * ```ts
128
- * const isNegative = (n: number) => n < 0
129
- * const hasNegative = Predicate.some(isNegative)
130
- *
131
- * hasNegative([1, -2, 3]) // true
132
- * hasNegative([1, 2, 3]) // false
133
- * hasNegative([]) // false
134
- * ```
135
- */
136
- declare const some: <T>(predicate: Predicate$1<T>) => Predicate$1<readonly T[]>;
137
- /**
138
- * Create a predicate that tests if NO elements in an array match.
139
- * Returns true for empty arrays (vacuous truth).
140
- * Equivalent to `not(some(predicate))`.
141
- *
142
- * @template T - The element type
143
- * @param predicate - The predicate that should NOT match any element
144
- * @returns A predicate that takes an array and returns true if none match
145
- *
146
- * @example
147
- * ```ts
148
- * const isNegative = (n: number) => n < 0
149
- * const noNegatives = Predicate.none(isNegative)
150
- *
151
- * noNegatives([1, 2, 3]) // true
152
- * noNegatives([1, -2, 3]) // false
153
- * noNegatives([]) // true (vacuous truth)
154
- * ```
155
- */
156
- declare const none: <T>(predicate: Predicate$1<T>) => Predicate$1<readonly T[]>;
157
- /**
158
- * Combine refinements with logical AND, preserving type narrowing.
159
- * Use this instead of `and` when you need to preserve type guard behavior.
160
- *
161
- * @template T - The base type
162
- * @template U - The narrowed type (must extend T)
163
- * @param refinements - The refinements to combine
164
- * @returns A refinement that narrows to U if all refinements pass
165
- *
166
- * @example
167
- * ```ts
168
- * type User = { name: string; age: number; verified?: boolean }
169
- * type Adult = User & { age: number } // age >= 18
170
- * type VerifiedAdult = Adult & { verified: true }
171
- *
172
- * const isAdult = (u: User): u is Adult => u.age >= 18
173
- * const isVerified = (u: User): u is User & { verified: true } => u.verified === true
174
- *
175
- * // Combined refinement preserves type narrowing
176
- * const isVerifiedAdult = Predicate.andRefinement<User, VerifiedAdult>(isAdult, isVerified)
177
- *
178
- * if (isVerifiedAdult(user)) {
179
- * user.verified // TypeScript knows this is true
180
- * }
181
- * ```
182
- */
183
- declare const andRefinement: <T, U extends T>(...refinements: readonly Refinement<T, U>[]) => Refinement<T, U>;
184
- /**
185
- * Combine refinements with logical OR, preserving type narrowing.
186
- * Use this instead of `or` when you need to preserve type guard behavior.
187
- *
188
- * @template T - The base type
189
- * @template U - The narrowed type (must extend T)
190
- * @param refinements - The refinements to combine
191
- * @returns A refinement that narrows to U if any refinement passes
192
- *
193
- * @example
194
- * ```ts
195
- * const isString = (v: unknown): v is string => typeof v === "string"
196
- * const isNumber = (v: unknown): v is number => typeof v === "number"
197
- *
198
- * const isStringOrNumber = Predicate.orRefinement<unknown, string | number>(isString, isNumber)
199
- *
200
- * if (isStringOrNumber(value)) {
201
- * // value is string | number
202
- * }
203
- * ```
204
- */
205
- declare const orRefinement: <T, U extends T>(...refinements: readonly Refinement<T, U>[]) => Refinement<T, U>;
206
- /**
207
- * Create a predicate from a constant boolean value.
208
- * Useful for testing or as a placeholder.
209
- *
210
- * @template T - The type (can be anything)
211
- * @param value - The constant boolean to return
212
- * @returns A predicate that always returns the given value
213
- *
214
- * @example
215
- * ```ts
216
- * const alwaysTrue = Predicate.constant(true)
217
- * const alwaysFalse = Predicate.constant(false)
218
- *
219
- * alwaysTrue("anything") // true
220
- * alwaysFalse(42) // false
221
- * ```
222
- */
223
- declare const constant: <T>(value: boolean) => Predicate$1<T>;
224
- /**
225
- * Create a predicate that checks strict equality.
226
- *
227
- * @template T - The type being compared
228
- * @param expected - The value to compare against
229
- * @returns A predicate that returns true if value === expected
230
- *
231
- * @example
232
- * ```ts
233
- * const isZero = Predicate.equals(0)
234
- * const isHello = Predicate.equals("hello")
235
- *
236
- * isZero(0) // true
237
- * isZero(1) // false
238
- *
239
- * // Works with references too
240
- * const obj = { a: 1 }
241
- * const isObj = Predicate.equals(obj)
242
- * isObj(obj) // true
243
- * isObj({ a: 1 }) // false (different reference)
244
- * ```
245
- */
246
- declare const equals: <T>(expected: T) => Predicate$1<T>;
247
- /**
248
- * Predicate namespace containing composable boolean functions.
249
- *
250
- * Predicates are functions that test values and return booleans.
251
- * This namespace provides combinators to build complex predicates
252
- * from simple ones, with support for type guards (refinements).
253
- *
254
- * @example
255
- * ```ts
256
- * import { Predicate, pipe } from "@nicolastoulemont/std"
257
- *
258
- * // Basic predicates
259
- * const isPositive = (n: number) => n > 0
260
- * const isEven = (n: number) => n % 2 === 0
261
- *
262
- * // Combine with and/or
263
- * const isPositiveEven = Predicate.and(isPositive, isEven)
264
- * const isZeroOrNegative = Predicate.or(Predicate.equals(0), Predicate.not(isPositive))
265
- *
266
- * // Array predicates
267
- * const allPositive = Predicate.all(isPositive)
268
- * const hasNegative = Predicate.some(Predicate.not(isPositive))
269
- *
270
- * // Use with filter
271
- * [1, 2, 3, 4, 5].filter(isPositiveEven) // [2, 4]
272
- * ```
273
- */
274
- declare const Predicate: {
275
- readonly not: <T>(predicate: Predicate$1<T>) => Predicate$1<T>;
276
- readonly and: <T>(...predicates: readonly Predicate$1<T>[]) => Predicate$1<T>;
277
- readonly or: <T>(...predicates: readonly Predicate$1<T>[]) => Predicate$1<T>;
278
- readonly all: <T>(predicate: Predicate$1<T>) => Predicate$1<readonly T[]>;
279
- readonly some: <T>(predicate: Predicate$1<T>) => Predicate$1<readonly T[]>;
280
- readonly none: <T>(predicate: Predicate$1<T>) => Predicate$1<readonly T[]>;
281
- readonly andRefinement: <T, U extends T>(...refinements: readonly Refinement<T, U>[]) => Refinement<T, U>;
282
- readonly orRefinement: <T, U extends T>(...refinements: readonly Refinement<T, U>[]) => Refinement<T, U>;
283
- readonly constant: <T>(value: boolean) => Predicate$1<T>;
284
- readonly equals: <T>(expected: T) => Predicate$1<T>;
285
- };
286
- //#endregion
287
- export { constant as a, not as c, some as d, Predicate$1 as f, andRefinement as i, or as l, all as n, equals as o, Refinement as p, and as r, none as s, Predicate as t, orRefinement as u };
288
- //# sourceMappingURL=index-8Ne4GdOG.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-8Ne4GdOG.d.mts","names":[],"sources":["../src/predicate/predicate.types.ts","../src/predicate/predicate.ts"],"sourcesContent":[],"mappings":";;AAKA;AAqBA;;;AAAuE,KArB3D,WAqB2D,CAAA,IAAA,CAAA,GAAA,CAAA,KAAA,EArBjC,CAqBiC,EAAA,GAAA,OAAA;;;;;ACJvE;;;;;;AA0BA;;;;;;AA8BA;;;AAAiF,KDpDrE,UCoDqE,CAAA,IAAA,EAAA,cDpDtC,CCoDsC,CAAA,GAAA,CAAA,KAAA,EDpDzB,CCoDyB,EAAA,GAAA,KAAA,IDpDV,CCoDU;;;ADzEjF;AAqBA;;;;;;;;ACJA;;;;;;AA0BA;;;;;AAAiF,cA1BpE,GA0BoE,EAAA,CAAA,CAAA,CAAA,CAAA,SAAA,EA1B/C,WA0B+C,CA1BjC,CA0BiC,CAAA,EAAA,GA1B5B,WA0B4B,CA1Bd,CA0Bc,CAAA;AA8BjF;;;;;;AA8BA;;;;;;AAsBA;;;;;;AAuBA;;;;AAAsD,cAzGzC,GAyGyC,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,UAAA,EAAA,SAzGP,WAyGO,CAzGO,CAyGP,CAAA,EAAA,EAAA,GAzGc,WAyGd,CAzG4B,CAyG5B,CAAA;;AA8BtD;;;;;;;;;AA8BA;;;;;;;;;AA0BA;AA0BA;AAAoC,cA3LvB,EA2LuB,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,UAAA,EAAA,SA3LU,WA2LV,CA3LwB,CA2LxB,CAAA,EAAA,EAAA,GA3L+B,WA2L/B,CA3L6C,CA2L7C,CAAA;;;;AA+BpC;;;;;;;;;;;;;;;;;;AAtKmC,cAtBtB,GAsBsB,EAAA,CAAA,CAAA,CAAA,CAAA,SAAA,EAtBD,WAsBC,CAtBa,CAsBb,CAAA,EAAA,GAtBkB,WAsBlB,CAAA,SAtByC,CAsBzC,EAAA,CAAA;;;;;;;;;;;;;;;;;;;AAmFsE,cAnF5F,IAmF4F,EAAA,CAAA,CAAA,CAAA,CAAA,SAAA,EAnFtE,WAmFsE,CAnFxD,CAmFwD,CAAA,EAAA,GAnFnD,WAmFmD,CAAA,SAnF5B,CAmF4B,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;cA5D5F,qBAAsB,YAAc,OAAK,qBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8BhE,6BAA8B,4BAA4B,WAAW,GAAG,SAAO,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;cA8B7F,4BAA6B,4BAA4B,WAAW,GAAG,SAAO,WAAW,GAAG;;;;;;;;;;;;;;;;;;cA0B5F,iCAAgC,YAAc;;;;;;;;;;;;;;;;;;;;;;;cA0B9C,sBAAuB,MAAI,YAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+BzC;+BAlRqB,YAAc,OAAK,YAAc;4CA0BpB,YAAc,SAAO,YAAc;2CA8BpC,YAAc,SAAO,YAAc;+BA8B/C,YAAc,OAAK,qBAAuB;gCAsBzC,YAAc,OAAK,qBAAuB;gCAuB1C,YAAc,OAAK,qBAAuB;wCA8BlC,4BAA4B,WAAW,GAAG,SAAO,WAAW,GAAG;uCA8BhE,4BAA4B,WAAW,GAAG,SAAO,WAAW,GAAG;4CA0B5D,YAAc;iCA0BvB,MAAI,YAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-B2l8_CiD.d.mts","names":[],"sources":["../src/result/result.ts"],"sourcesContent":[],"mappings":";;;;;;AAqCA;;;;;AA6BA;;;;AAA4C,cA7B/B,EA6B+B,EAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EA7Bf,CA6Be,EAAA,GA7BX,QA6BW,CA7BA,CA6BA,EAAA,KAAA,CAAA;AAoC5C;;;;;;;;;AAiBA;;AAAkD,cArDrC,GAqDqC,EAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EArDpB,CAqDoB,EAAA,GArDhB,QAqDgB,CAAA,KAAA,EArDE,CAqDF,CAAA;;;;;;;AAyClD;AA6CA;AA+CA;AAyCA;AAqDA;AAyCA;AA0CA;AA+CA;AA2Ba,cAjZA,IAoZZ,EAAA,CAAA,CAAA,EAH0B,CAAA,CAAA,CAAA,MAAA,EAjZQ,QAoZlC,CApZ6C,CAoZ7C,EApZgD,CAoZhD,CAAA,EAAA,GAAA,MAAA,IApZ+D,OAoZ/D,CApZuE,QAoZvE,CApZkF,CAoZlF,EApZqF,CAoZrF,CAAA,EAAA;EA8BY,IAAA,EAAA,IAIZ;AAoCD,CAAA,CAAA;AAyDA;;;;;;;;;;;;;;AAlgB+C,cAAlC,KAAkC,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAAX,QAAW,CAAA,CAAA,EAAG,CAAH,CAAA,EAAA,GAAA,MAAA,IAAkB,OAAlB,CAA0B,QAA1B,CAAqC,CAArC,EAAwC,CAAxC,CAAA,EAAA;EAAG,IAAA,EAAA,KAAA;CAAd,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCvB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+CR,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCT,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqDL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;cA0CR,KAAK;;;;;;;;;;;;;;;;;;;;;;;;cA+CL,UAAU;;;;;;;;;;;;;;;;;;;;;;;cA2BV,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCd,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;cAyDT;0BAplBgB,MAAI,SAAW;2BA6Bd,MAAI,gBAAkB;gCAoCjB,SAAW,GAAG,iBAAe,QAAQ,SAAW,GAAG;;;iCAiBlD,SAAW,GAAG,iBAAe,QAAQ,SAAW,GAAG"}
@@ -1,80 +0,0 @@
1
- import { n as λ, t as ApplyFn } from "./apply-fn.types-0g_9eXRy.mjs";
2
-
3
- //#region src/flow/flow.types.d.ts
4
-
5
- /**
6
- * The return type of a flow composition - a function with the first function's
7
- * parameters that returns the final computed type.
8
- */
9
- type FlowdFun<Fns extends λ[]> = Fns extends [infer First extends λ, ...any[]] ? (...args: Parameters<First>) => FlowReturn<Fns, ReturnType<First>> : never;
10
- /**
11
- * Recursively compute the return type of a flow chain.
12
- * Threads the actual types through each function for better generic inference.
13
- */
14
- type FlowReturn<Fns extends λ[], Input> = Fns extends [any, infer Second extends λ, ...infer Rest extends λ[]] ? Input extends Promise<infer Awaited> ? Promise<FlowReturnAsync<[Second, ...Rest], Awaited>> : FlowReturn<[Second, ...Rest], ApplyFn<Second, Input>> : Input extends Promise<infer Awaited> ? Promise<Awaited> : Input;
15
- /**
16
- * Continue flow computation after encountering a Promise.
17
- */
18
- type FlowReturnAsync<Fns extends λ[], Input> = Fns extends [infer First extends λ, ...infer Rest extends λ[]] ? Rest extends [] ? ApplyFn<First, Input> extends Promise<infer Awaited> ? Awaited : ApplyFn<First, Input> : ApplyFn<First, Input> extends Promise<infer Awaited> ? FlowReturnAsync<Rest, Awaited> : FlowReturnAsync<Rest, ApplyFn<First, Input>> : Input;
19
- //#endregion
20
- //#region src/flow/flow.d.ts
21
- /**
22
- * Given a list of functions returns a function that will execute the given
23
- * functions one after another, always passing the result of the previous
24
- * function as an argument to the next function.
25
- *
26
- * If one of the given functions returns a promise, the promise will be resolved
27
- * before being passed to the next function.
28
- *
29
- * Type inference: This function provides automatic type inference for chains of
30
- * 1-15 functions. Each function's parameter type is automatically inferred from
31
- * the previous function's return type. For chains longer than 15 functions,
32
- * types must be explicitly specified.
33
- *
34
- * Async support: Functions can return Promises. The runtime automatically awaits
35
- * Promises before passing values to subsequent functions, and parameter types
36
- * use `Awaited<T>` to reflect this behavior. The final return type will be
37
- * Promise<T> if any function returns a Promise.
38
- *
39
- * @see {@link pipe} for immediate execution with an initial value
40
- *
41
- * @example
42
- * ```typescript
43
- * const join = (...chars: string[]) => chars.join('')
44
- * flow(join, parseInt)('1', '2', '3') // -> 123
45
- *
46
- * const square = (n: number) => n ** 2
47
- *
48
- * // this is equivalent to: square(square(square(2)))
49
- * flow(square, square, square)(2) // -> 256
50
- *
51
- * // Type inference in action
52
- * const fn = flow(
53
- * (n: number) => n * 2, // First function must be typed
54
- * (n) => n + 1, // n: number (inferred!)
55
- * (n) => n.toString() // n: number (inferred!)
56
- * )
57
- *
58
- * // also works with promises:
59
- * // fetchNumber :: async () => Promise<number>
60
- * flow(fetchNumber, n => n.toString()) // async () => Promise<string>
61
- * ```
62
- */
63
- declare function flow<A extends unknown[], B>(f1: (...args: A) => B): FlowdFun<[typeof f1]>;
64
- declare function flow<A extends unknown[], B, C>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C): FlowdFun<[typeof f1, typeof f2]>;
65
- declare function flow<A extends unknown[], B, C, D>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D): FlowdFun<[typeof f1, typeof f2, typeof f3]>;
66
- declare function flow<A extends unknown[], B, C, D, E>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4]>;
67
- declare function flow<A extends unknown[], B, C, D, E, F>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5]>;
68
- declare function flow<A extends unknown[], B, C, D, E, F, G>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6]>;
69
- declare function flow<A extends unknown[], B, C, D, E, F, G, H>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7]>;
70
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8]>;
71
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9]>;
72
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J, K>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10]>;
73
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J, K, L>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K, f11: (arg: Awaited<K>) => L): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11]>;
74
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J, K, L, M>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K, f11: (arg: Awaited<K>) => L, f12: (arg: Awaited<L>) => M): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11, typeof f12]>;
75
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J, K, L, M, N>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K, f11: (arg: Awaited<K>) => L, f12: (arg: Awaited<L>) => M, f13: (arg: Awaited<M>) => N): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11, typeof f12, typeof f13]>;
76
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J, K, L, M, N, O>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K, f11: (arg: Awaited<K>) => L, f12: (arg: Awaited<L>) => M, f13: (arg: Awaited<M>) => N, f14: (arg: Awaited<N>) => O): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11, typeof f12, typeof f13, typeof f14]>;
77
- declare function flow<A extends unknown[], B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F, f6: (arg: Awaited<F>) => G, f7: (arg: Awaited<G>) => H, f8: (arg: Awaited<H>) => I, f9: (arg: Awaited<I>) => J, f10: (arg: Awaited<J>) => K, f11: (arg: Awaited<K>) => L, f12: (arg: Awaited<L>) => M, f13: (arg: Awaited<M>) => N, f14: (arg: Awaited<N>) => O, f15: (arg: Awaited<O>) => P): FlowdFun<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11, typeof f12, typeof f13, typeof f14, typeof f15]>;
78
- //#endregion
79
- export { flow as t };
80
- //# sourceMappingURL=index-BOrJQBPO.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BOrJQBPO.d.mts","names":[],"sources":["../src/flow/flow.types.ts","../src/flow/flow.ts"],"sourcesContent":[],"mappings":"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hB,ED9BgB,EAAA,OC8BL,ED9BK,EAAA,OC8BM,ED9BN,EAAA,OC8BiB,ED9BjB,CAAA,CAAA;AAEpB,iBC8BA,ID9BA,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,EC+BA,CD/BA,EAAA,GC+BM,CD/BN,EAAA,EAAA,EAAA,CAAA,GAAA,ECgCJ,ODhCI,CCgCI,CDhCJ,CAAA,EAAA,GCgCW,CDhCX,EAAA,EAAA,EAAA,CAAA,GAAA,ECiCJ,ODjCI,CCiCI,CDjCJ,CAAA,EAAA,GCiCW,CDjCX,EAAA,EAAA,EAAA,CAAA,GAAA,ECkCJ,ODlCI,CCkCI,CDlCJ,CAAA,EAAA,GCkCW,CDlCX,EAAA,EAAA,EAAA,CAAA,GAAA,ECmCJ,ODnCI,CCmCI,CDnCJ,CAAA,EAAA,GCmCW,CDnCX,CAAA,ECoCb,QDpCa,CAAA,CAAA,OCoCI,EDpCJ,EAAA,OCoCe,EDpCf,EAAA,OCoC0B,EDpC1B,EAAA,OCoCqC,EDpCrC,EAAA,OCoCgD,EDpChD,CAAA,CAAA;AAAO,iBCsCP,IDtCO,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECuCP,CDvCO,EAAA,GCuCD,CDvCC,EAAA,EAAA,EAAA,CAAA,GAAA,ECwCX,ODxCW,CCwCH,CDxCG,CAAA,EAAA,GCwCI,CDxCJ,EAAA,EAAA,EAAA,CAAA,GAAA,ECyCX,ODzCW,CCyCH,CDzCG,CAAA,EAAA,GCyCI,CDzCJ,EAAA,EAAA,EAAA,CAAA,GAAA,EC0CX,OD1CW,CC0CH,CD1CG,CAAA,EAAA,GC0CI,CD1CJ,EAAA,EAAA,EAAA,CAAA,GAAA,EC2CX,OD3CW,CC2CH,CD3CG,CAAA,EAAA,GC2CI,CD3CJ,EAAA,EAAA,EAAA,CAAA,GAAA,EC4CX,OD5CW,CC4CH,CD5CG,CAAA,EAAA,GC4CI,CD5CJ,CAAA,EC6CpB,QD7CoB,CAAA,CAAA,OC6CH,ED7CG,EAAA,OC6CQ,ED7CR,EAAA,OC6CmB,ED7CnB,EAAA,OC6C8B,ED7C9B,EAAA,OC6CyC,ED7CzC,EAAA,OC6CoD,ED7CpD,CAAA,CAAA;AAAf,iBC+CQ,ID/CR,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECgDQ,CDhDR,EAAA,GCgDc,CDhDd,EAAA,EAAA,EAAA,CAAA,GAAA,ECiDI,ODjDJ,CCiDY,CDjDZ,CAAA,EAAA,GCiDmB,CDjDnB,EAAA,EAAA,EAAA,CAAA,GAAA,ECkDI,ODlDJ,CCkDY,CDlDZ,CAAA,EAAA,GCkDmB,CDlDnB,EAAA,EAAA,EAAA,CAAA,GAAA,ECmDI,ODnDJ,CCmDY,CDnDZ,CAAA,EAAA,GCmDmB,CDnDnB,EAAA,EAAA,EAAA,CAAA,GAAA,ECoDI,ODpDJ,CCoDY,CDpDZ,CAAA,EAAA,GCoDmB,CDpDnB,EAAA,EAAA,EAAA,CAAA,GAAA,ECqDI,ODrDJ,CCqDY,CDrDZ,CAAA,EAAA,GCqDmB,CDrDnB,EAAA,EAAA,EAAA,CAAA,GAAA,ECsDI,ODtDJ,CCsDY,CDtDZ,CAAA,EAAA,GCsDmB,CDtDnB,CAAA,ECuDL,QDvDK,CAAA,CAAA,OCuDY,EDvDZ,EAAA,OCuDuB,EDvDvB,EAAA,OCuDkC,EDvDlC,EAAA,OCuD6C,EDvD7C,EAAA,OCuDwD,EDvDxD,EAAA,OCuDmE,EDvDnE,EAAA,OCuD8E,EDvD9E,CAAA,CAAA;AACM,iBCwDE,IDxDF,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECyDE,CDzDF,EAAA,GCyDQ,CDzDR,EAAA,EAAA,EAAA,CAAA,GAAA,EC0DF,OD1DE,CC0DM,CD1DN,CAAA,EAAA,GC0Da,CD1Db,EAAA,EAAA,EAAA,CAAA,GAAA,EC2DF,OD3DE,CC2DM,CD3DN,CAAA,EAAA,GC2Da,CD3Db,EAAA,EAAA,EAAA,CAAA,GAAA,EC4DF,OD5DE,CC4DM,CD5DN,CAAA,EAAA,GC4Da,CD5Db,EAAA,EAAA,EAAA,CAAA,GAAA,EC6DF,OD7DE,CC6DM,CD7DN,CAAA,EAAA,GC6Da,CD7Db,EAAA,EAAA,EAAA,CAAA,GAAA,EC8DF,OD9DE,CC8DM,CD9DN,CAAA,EAAA,GC8Da,CD9Db,EAAA,EAAA,EAAA,CAAA,GAAA,EC+DF,OD/DE,CC+DM,CD/DN,CAAA,EAAA,GC+Da,CD/Db,EAAA,EAAA,EAAA,CAAA,GAAA,ECgEF,ODhEE,CCgEM,CDhEN,CAAA,EAAA,GCgEa,CDhEb,CAAA,ECiEX,QDjEW,CAAA,CAAA,OCiEM,EDjEN,EAAA,OCiEiB,EDjEjB,EAAA,OCiE4B,EDjE5B,EAAA,OCiEuC,EDjEvC,EAAA,OCiEkD,EDjElD,EAAA,OCiE6D,EDjE7D,EAAA,OCiEwE,EDjExE,EAAA,OCiEmF,EDjEnF,CAAA,CAAA;AAAO,iBCmEL,IDnEK,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECoEL,CDpEK,EAAA,GCoEC,CDpED,EAAA,EAAA,EAAA,CAAA,GAAA,ECqET,ODrES,CCqED,CDrEC,CAAA,EAAA,GCqEM,CDrEN,EAAA,EAAA,EAAA,CAAA,GAAA,ECsET,ODtES,CCsED,CDtEC,CAAA,EAAA,GCsEM,CDtEN,EAAA,EAAA,EAAA,CAAA,GAAA,ECuET,ODvES,CCuED,CDvEC,CAAA,EAAA,GCuEM,CDvEN,EAAA,EAAA,EAAA,CAAA,GAAA,ECwET,ODxES,CCwED,CDxEC,CAAA,EAAA,GCwEM,CDxEN,EAAA,EAAA,EAAA,CAAA,GAAA,ECyET,ODzES,CCyED,CDzEC,CAAA,EAAA,GCyEM,CDzEN,EAAA,EAAA,EAAA,CAAA,GAAA,EC0ET,OD1ES,CC0ED,CD1EC,CAAA,EAAA,GC0EM,CD1EN,EAAA,EAAA,EAAA,CAAA,GAAA,EC2ET,OD3ES,CC2ED,CD3EC,CAAA,EAAA,GC2EM,CD3EN,EAAA,EAAA,EAAA,CAAA,GAAA,EC4ET,OD5ES,CC4ED,CD5EC,CAAA,EAAA,GC4EM,CD5EN,CAAA,EC6ElB,QD7EkB,CAAA,CAAA,OC6ED,ED7EC,EAAA,OC6EU,ED7EV,EAAA,OC6EqB,ED7ErB,EAAA,OC6EgC,ED7EhC,EAAA,OC6E2C,ED7E3C,EAAA,OC6EsD,ED7EtD,EAAA,OC6EiE,ED7EjE,EAAA,OC6E4E,ED7E5E,EAAA,OC6EuF,ED7EvF,CAAA,CAAA;AAAf,iBC+EU,ID/EV,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECgFU,CDhFV,EAAA,GCgFgB,CDhFhB,EAAA,EAAA,EAAA,CAAA,GAAA,ECiFM,ODjFN,CCiFc,CDjFd,CAAA,EAAA,GCiFqB,CDjFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECkFM,ODlFN,CCkFc,CDlFd,CAAA,EAAA,GCkFqB,CDlFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECmFM,ODnFN,CCmFc,CDnFd,CAAA,EAAA,GCmFqB,CDnFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECoFM,ODpFN,CCoFc,CDpFd,CAAA,EAAA,GCoFqB,CDpFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECqFM,ODrFN,CCqFc,CDrFd,CAAA,EAAA,GCqFqB,CDrFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECsFM,ODtFN,CCsFc,CDtFd,CAAA,EAAA,GCsFqB,CDtFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECuFM,ODvFN,CCuFc,CDvFd,CAAA,EAAA,GCuFqB,CDvFrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECwFM,ODxFN,CCwFc,CDxFd,CAAA,EAAA,GCwFqB,CDxFrB,EAAA,GAAA,EAAA,CAAA,GAAA,ECyFO,ODzFP,CCyFe,CDzFf,CAAA,EAAA,GCyFsB,CDzFtB,CAAA,EC0FH,QD1FG,CAAA,CAA8B,OC2F1B,ED3F0B,EACZ,OC0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"}
@@ -1,225 +0,0 @@
1
- import { c as FxTypeId } from "./fx.types-B34asVRX.mjs";
2
-
3
- //#region src/err/err.types.d.ts
4
-
5
- /**
6
- * A tagged error type with a discriminator and optional data.
7
- * Uses `_tag` to match the existing pattern from `data/tagged`.
8
- * Implements Fx protocol so it can be yielded in Fx.gen computations.
9
- *
10
- * @template Tag - The error tag (discriminator string)
11
- * @template Data - Additional error data (optional)
12
- *
13
- * @example
14
- * ```ts
15
- * type NotFoundError = TaggedError<"NotFoundError", { id: string }>
16
- * type ValidationError = TaggedError<"ValidationError", { field: string; message: string }>
17
- * type UnauthorizedError = TaggedError<"UnauthorizedError"> // No additional data
18
- * ```
19
- */
20
- type TaggedError$1<Tag extends string, Data extends object = object> = {
21
- readonly _tag: Tag;
22
- readonly [FxTypeId]: {
23
- readonly _A: () => never;
24
- readonly _E: () => TaggedError$1<Tag, Data>;
25
- readonly _R: () => never;
26
- };
27
- [Symbol.iterator](): Generator<TaggedError$1<Tag, Data>, never, unknown>;
28
- } & Readonly<Data>;
29
- /**
30
- * Type for instances created by the TaggedError class factory.
31
- * Extends Error and includes the tag, data, Fx protocol, and Yieldable protocol.
32
- * When yielded, yields itself as an Fx type for proper inference.
33
- *
34
- * @template Tag - The error tag (discriminator string)
35
- * @template Data - Additional error data (optional)
36
- */
37
- type TaggedErrorInstance<Tag extends string, Data extends object = object> = TaggedError$1<Tag, Data> & Error;
38
- /**
39
- * Type for the class returned by TaggedError factory.
40
- * Supports the Effect-style curried syntax: `TaggedError("Tag")<{ data }>` and `TaggedError("Tag")`
41
- *
42
- * @template Tag - The error tag (discriminator string)
43
- */
44
- type TaggedErrorFactory<Tag extends string> = {
45
- new <Data extends object = object>(...args: keyof Data extends never ? [] : [data: Data]): TaggedErrorInstance<Tag, Data>;
46
- readonly _tag: Tag;
47
- };
48
- /**
49
- * Extract the tag from a tagged error type.
50
- *
51
- * @template E - A TaggedError type
52
- *
53
- * @example
54
- * ```ts
55
- * type NotFoundError = TaggedError<"NotFoundError", { id: string }>
56
- * type Tag = ErrorTag<NotFoundError> // "NotFoundError"
57
- * ```
58
- */
59
- type ErrorTag<E> = E extends TaggedError$1<infer Tag> ? Tag : never;
60
- /**
61
- * Extract the data (excluding _tag) from a tagged error type.
62
- *
63
- * @template E - A TaggedError type
64
- *
65
- * @example
66
- * ```ts
67
- * type NotFoundError = TaggedError<"NotFoundError", { id: string }>
68
- * type Data = ErrorData<NotFoundError> // { id: string }
69
- * ```
70
- */
71
- type ErrorData<E> = E extends TaggedError$1<string, infer Data> ? Data : never;
72
- //#endregion
73
- //#region src/err/err.d.ts
74
- /**
75
- * Helper type to extract data fields from a TaggedError (excluding _tag and Fx protocol)
76
- */
77
- type DataOf<E extends TaggedError<string>> = Omit<E, "_tag" | typeof FxTypeId | typeof Symbol.iterator>;
78
- /**
79
- * Helper type to check if data is empty (only has _tag)
80
- */
81
- type IsEmptyData<Data> = keyof Data extends never ? true : false;
82
- /**
83
- * Create a constructor function for a tagged error type.
84
- * If the error has no additional data, returns a function that takes no arguments.
85
- * If the error has data, returns a function that requires the data object.
86
- *
87
- * @template E - The tagged error type
88
- * @param tag - The error tag (must match E's _tag)
89
- * @returns A constructor function for the error type
90
- *
91
- * @example
92
- * ```ts
93
- * // Error with data
94
- * type NotFoundError = TaggedError<"NotFoundError", { resourceId: string }>
95
- * const NotFound = Err.tagged<NotFoundError>("NotFoundError")
96
- * const err = NotFound({ resourceId: "user-123" })
97
- * // { _tag: "NotFoundError", resourceId: "user-123" }
98
- *
99
- * // Error without data
100
- * type UnauthorizedError = TaggedError<"UnauthorizedError">
101
- * const Unauthorized = Err.tagged<UnauthorizedError>("UnauthorizedError")
102
- * const err = Unauthorized()
103
- * // { _tag: "UnauthorizedError" }
104
- * ```
105
- */
106
- declare const tagged: <E extends TaggedError<string>>(tag: E["_tag"]) => IsEmptyData<DataOf<E>> extends true ? () => E : (data: DataOf<E>) => E;
107
- /**
108
- * Create a class-based tagged error type (Effect-style syntax).
109
- * Returns a class that can be extended to create custom error types.
110
- * Errors are native Error objects with proper stack traces and instanceof support.
111
- * Implements Yieldable protocol so errors can be directly yielded in Fx.gen computations.
112
- *
113
- * @template Tag - The error tag (discriminator string)
114
- * @param tag - The error tag
115
- * @returns A class that can be extended with custom data
116
- *
117
- * @example
118
- * ```ts
119
- * // Error with data
120
- * class NotFoundError extends TaggedError("NotFoundError")<{ id: string }> {}
121
- * const err = new NotFoundError({ id: "123" })
122
- * err.id // "123"
123
- * err._tag // "NotFoundError"
124
- * err.stack // Error stack trace
125
- *
126
- * // Error without data
127
- * class UnauthorizedError extends TaggedError("UnauthorizedError") {}
128
- * const err2 = new UnauthorizedError()
129
- *
130
- * // Direct yielding in Fx.gen computation
131
- * const program = Fx.gen(function* () {
132
- * yield* new NotFoundError({ id: "123" }) // Short-circuits with error
133
- * })
134
- *
135
- * // instanceof checks work
136
- * if (err instanceof NotFoundError) {
137
- * console.log(err.id)
138
- * }
139
- * ```
140
- */
141
- declare function TaggedError<Tag extends string>(tag: Tag): TaggedErrorFactory<Tag>;
142
- /**
143
- * Create a type guard for a tagged error type.
144
- * Returns a curried function that checks if a value is the specified error type.
145
- *
146
- * @template E - The tagged error type to check for
147
- * @param tag - The error tag to match
148
- * @returns A type guard function
149
- *
150
- * @example
151
- * ```ts
152
- * type NotFoundError = TaggedError<"NotFoundError", { id: string }>
153
- *
154
- * const error: unknown = getError()
155
- *
156
- * if (Err.is<NotFoundError>("NotFoundError")(error)) {
157
- * console.log(error.id) // TypeScript knows error is NotFoundError
158
- * }
159
- *
160
- * // Works with union error types
161
- * type AppError = NotFoundError | ValidationError | DbError
162
- *
163
- * function handleError(error: AppError) {
164
- * if (Err.is<NotFoundError>("NotFoundError")(error)) {
165
- * // Handle not found
166
- * } else if (Err.is<ValidationError>("ValidationError")(error)) {
167
- * // Handle validation error
168
- * }
169
- * }
170
- * ```
171
- */
172
- declare const is: <E extends TaggedError<string>>(tag: E["_tag"]) => ((error: unknown) => error is E);
173
- /**
174
- * Err namespace containing utilities for creating and checking tagged errors.
175
- *
176
- * Tagged errors are plain objects with a `_tag` discriminator field,
177
- * making them serializable and easy to pattern match.
178
- *
179
- * @example
180
- * ```ts
181
- * import { Err, Result, Fx, pipe } from "@nicolastoulemont/std"
182
- * import type { TaggedError } from "@nicolastoulemont/std"
183
- *
184
- * // Define error types
185
- * type NotFoundError = TaggedError<"NotFoundError", { resourceId: string }>
186
- * type ValidationError = TaggedError<"ValidationError", { field: string; message: string }>
187
- *
188
- * // Create constructors
189
- * const NotFound = Err.tagged<NotFoundError>("NotFoundError")
190
- * const Validation = Err.tagged<ValidationError>("ValidationError")
191
- *
192
- * // Use with Result
193
- * function findUser(id: string): Result<User, NotFoundError> {
194
- * const user = db.find(id)
195
- * if (!user) return Result.err(NotFound({ resourceId: id }))
196
- * return Result.ok(user)
197
- * }
198
- *
199
- * // Use with Fx.gen computation
200
- * const program = Fx.gen(function* () {
201
- * const user = yield* findUser("123")
202
- * return user
203
- * })
204
- *
205
- * // Pattern match on error types
206
- * pipe(
207
- * program.run(),
208
- * Result.match({
209
- * Ok: (user) => console.log(user),
210
- * Err: (error) => {
211
- * if (Err.is<NotFoundError>("NotFoundError")(error)) {
212
- * console.log(`Not found: ${error.resourceId}`)
213
- * }
214
- * }
215
- * })
216
- * )
217
- * ```
218
- */
219
- declare const Err: {
220
- readonly tagged: <E extends TaggedError<string>>(tag: E["_tag"]) => IsEmptyData<DataOf<E>> extends true ? () => E : (data: DataOf<E>) => E;
221
- readonly is: <E extends TaggedError<string>>(tag: E["_tag"]) => ((error: unknown) => error is E);
222
- };
223
- //#endregion
224
- export { ErrorData as a, TaggedErrorFactory as c, tagged as i, TaggedErrorInstance as l, TaggedError as n, ErrorTag as o, is as r, TaggedError$1 as s, Err as t };
225
- //# sourceMappingURL=index-BsXtpnw-.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BsXtpnw-.d.mts","names":[],"sources":["../src/err/err.types.ts","../src/err/err.ts"],"sourcesContent":[],"mappings":";;;;;;AAiBA;;;;;;;;;;;;;AAkBY,KAlBA,aAkBA,CAAA,YAAmB,MAAA,EAAA,aAAA,MAAA,GAAA,MAAA,CAAA,GAAA;EAAiE,SAAA,IAAA,EAjB/E,GAiB+E;EAAK,UAhBzF,QAAA,CAgByF,EAAA;IAAjB,SAAA,EAAA,EAAA,GAAA,GAAA,KAAA;IAAyB,SAAA,EAAA,EAAA,GAAA,GAdtF,aAcsF,CAd1E,GAc0E,EAdrE,IAcqE,CAAA;IAAK,SAAA,EAAA,EAAA,GAAA,GAAA,KAAA;EAQtG,CAAA;EAEO,CAAA,MAAA,CAAA,QAAA,GAAA,EArBI,SAqBJ,CArBc,aAqBd,CArB0B,GAqB1B,EArB+B,IAqB/B,CAAA,EAAA,KAAA,EAAA,OAAA,CAAA;CAAiC,GApBhD,QAoBgD,CApBvC,IAoBuC,CAAA;;;;;;AAgBpD;AAaA;;KAvCY,wEAAwE,cAAY,KAAK,QAAQ;;AClC3C;;;;;AAOrB,KDmCjC,kBCnCiC,CAAA,YAAA,MAAA,CAAA,GAAA;EAAI,IAAA,CAAA,aAAA,MAAA,GAAA,MAAA,CAAA,CAAA,GAAA,IAAA,EAAA,MDqC9B,ICrC8B,SAAA,KAAA,GAAA,EAAA,GAAA,CAAA,IAAA,EDqCG,ICrCH,CAAA,CAAA,EDsC5C,mBCtC4C,CDsCxB,GCtCwB,EDsCnB,ICtCmB,CAAA;EAK5C,SAAA,IAAA,EDkCY,GClCD;AA0BhB,CAAA;;;;;;;;;;;AAwCA;AAAqD,KDlBzC,QCkByC,CAAA,CAAA,CAAA,GDlB3B,CCkB2B,SDlBjB,aCkBiB,CAAA,KAAA,IAAA,CAAA,GAAA,GAAA,GAAA,KAAA;;;;AAwDrD;;;;;AAmDA;;;AAjJwB,KDiCZ,SCjCY,CAAA,CAAA,CAAA,GDiCG,CCjCH,SDiCa,aCjCb,CAAA,MAAA,EAAA,KAAA,KAAA,CAAA,GAAA,IAAA,GAAA,KAAA;;;;ADxBxB;;KCTK,MDa8B,CAAA,UCbb,WDaa,CAAA,MAAA,CAAA,CAAA,GCbU,IDaV,CCbe,CDaf,EAAA,MAAA,GAAA,OCbkC,QDalC,GAAA,OCboD,MAAA,CAAO,QDa3D,CAAA;;;;KCR9B,WDWwC,CAAA,IAAA,CAAA,GAAA,MCXd,IDWc,SAAA,KAAA,GAAA,IAAA,GAAA,KAAA;;;;;;;AAW7C;;;;;;AAQA;;;;;;;;AAkBA;AAaA;;;cCnCa,mBAAmB,0BACzB,cACF,YAAY,OAAO,yBAAyB,WAAW,OAAO,OAAO;AAxCR;;;;;;;AAOjB;AA+BjD;;;;;;;;;;;AAwCA;;;;;AAwDA;;;;;AAmDA;;;;;AAjJK,iBAsCW,WAtCX,CAAA,YAAA,MAAA,CAAA,CAAA,GAAA,EAsCgD,GAtChD,CAAA,EAsCsD,kBAtCtD,CAsCyE,GAtCzE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8FQ,eAAgB,0BAA0B,4CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmDpF;8BAnJmB,0BACzB,cACF,YAAY,OAAO,yBAAyB,WAAW,OAAO,OAAO;0BA8F7C,0BAA0B,4CAA0C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BzYtgdX0.d.mts","names":[],"sources":["../src/data/data.types.ts","../src/data/data.array.ts","../src/data/data.struct.ts","../src/data/data.tagged.ts","../src/data/data.tuple.ts","../src/data/data.ts"],"sourcesContent":[],"mappings":"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"}