@nicolastoulemont/std 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +232 -33
  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-BLXO4XwS.mjs +2 -0
  19. package/dist/data-BLXO4XwS.mjs.map +1 -0
  20. package/dist/data.tagged-error.types-CGiKD-ES.d.mts +29 -0
  21. package/dist/data.tagged-error.types-CGiKD-ES.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-BMLPfvMl.mjs +2 -0
  29. package/dist/either-BMLPfvMl.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-K-a9Smhn.mjs +2 -0
  41. package/dist/fx-K-a9Smhn.mjs.map +1 -0
  42. package/dist/fx.runtime-DclEDyjY.mjs +2 -0
  43. package/dist/fx.runtime-DclEDyjY.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-CklRfom5.d.mts → index-B1-tBzc0.d.mts} +263 -368
  51. package/dist/index-B1-tBzc0.d.mts.map +1 -0
  52. package/dist/index-BNQ9xSAz.d.mts +464 -0
  53. package/dist/index-BNQ9xSAz.d.mts.map +1 -0
  54. package/dist/index-B_iY5tq0.d.mts +241 -0
  55. package/dist/index-B_iY5tq0.d.mts.map +1 -0
  56. package/dist/index-B_wWGszy.d.mts +129 -0
  57. package/dist/index-B_wWGszy.d.mts.map +1 -0
  58. package/dist/index-BiiE8NS7.d.mts +108 -0
  59. package/dist/index-BiiE8NS7.d.mts.map +1 -0
  60. package/dist/index-By6dNRc4.d.mts +277 -0
  61. package/dist/index-By6dNRc4.d.mts.map +1 -0
  62. package/dist/{index-BzYtgdX0.d.mts → index-CGiLfREk.d.mts} +123 -16
  63. package/dist/index-CGiLfREk.d.mts.map +1 -0
  64. package/dist/index-CUZn-ohG.d.mts +490 -0
  65. package/dist/index-CUZn-ohG.d.mts.map +1 -0
  66. package/dist/index-Cq2IFito.d.mts +121 -0
  67. package/dist/index-Cq2IFito.d.mts.map +1 -0
  68. package/dist/{index-B2l8_CiD.d.mts → index-DEAWPlcI.d.mts} +155 -216
  69. package/dist/index-DEAWPlcI.d.mts.map +1 -0
  70. package/dist/{index-C4v_3f3-.d.mts → index-DKS1g1oC.d.mts} +95 -42
  71. package/dist/index-DKS1g1oC.d.mts.map +1 -0
  72. package/dist/{index-jeC5jyRh.d.mts → index-DXbYlSnB.d.mts} +64 -101
  73. package/dist/index-DXbYlSnB.d.mts.map +1 -0
  74. package/dist/{index-CjZ95Dsv.d.mts → index-UzMbg1dh.d.mts} +188 -202
  75. package/dist/index-UzMbg1dh.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-Tfbo4wty.mjs +2 -0
  91. package/dist/option-Tfbo4wty.mjs.map +1 -0
  92. package/dist/option.types-D1mm0zUb.mjs +2 -0
  93. package/dist/option.types-D1mm0zUb.mjs.map +1 -0
  94. package/dist/{option.types-ClJiBTdg.d.mts → option.types-qPevEZQd.d.mts} +7 -12
  95. package/dist/option.types-qPevEZQd.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-C2cWOx2B.mjs +2 -0
  111. package/dist/provide-C2cWOx2B.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-Sg6KJerl.mjs +2 -0
  115. package/dist/queue-Sg6KJerl.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-D_kzd1nT.mjs +2 -0
  135. package/dist/scope-D_kzd1nT.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
@@ -0,0 +1,241 @@
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<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
+ declare namespace predicate_d_exports {
29
+ export { all, and, andRefinement, constant, equals, none, not, or, orRefinement, some };
30
+ }
31
+ /**
32
+ * Negate a predicate.
33
+ * Returns true when the original predicate returns false, and vice versa.
34
+ *
35
+ * @template T - The type being tested
36
+ * @param predicate - The predicate to negate
37
+ * @returns A new predicate that returns the opposite boolean
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * import { Predicate } from "@nicolastoulemont/std"
42
+ *
43
+ * const isOdd = Predicate.not((n: number) => n % 2 === 0)
44
+ * const result = isOdd(3)
45
+ * // => true
46
+ * ```
47
+ *
48
+ * @category Utilities
49
+ */
50
+ declare const not: <T>(predicate: Predicate<T>) => Predicate<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
+ * import { Predicate } from "@nicolastoulemont/std"
63
+ *
64
+ * const isPositiveEven = Predicate.and<number>((n) => n > 0, (n) => n % 2 === 0)
65
+ * const result = isPositiveEven(4)
66
+ * // => true
67
+ * ```
68
+ *
69
+ * @category Utilities
70
+ */
71
+ declare const and: <T>(...predicates: readonly Predicate<T>[]) => Predicate<T>;
72
+ /**
73
+ * Combine predicates with logical OR.
74
+ * Returns true when ANY predicate returns true.
75
+ * Short-circuits on first true (lazy evaluation).
76
+ *
77
+ * @template T - The type being tested
78
+ * @param predicates - The predicates to combine
79
+ * @returns A new predicate that returns true if any predicate passes
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * import { Predicate } from "@nicolastoulemont/std"
84
+ *
85
+ * const isWeekend = Predicate.or<string>((day) => day === "sat", (day) => day === "sun")
86
+ * const result = isWeekend("sun")
87
+ * // => true
88
+ * ```
89
+ *
90
+ * @category Utilities
91
+ */
92
+ declare const or: <T>(...predicates: readonly Predicate<T>[]) => Predicate<T>;
93
+ /**
94
+ * Create a predicate that tests if ALL elements in an array match.
95
+ * Returns true for empty arrays (vacuous truth).
96
+ *
97
+ * @template T - The element type
98
+ * @param predicate - The predicate to test each element
99
+ * @returns A predicate that takes an array and returns true if all match
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * import { Predicate } from "@nicolastoulemont/std"
104
+ *
105
+ * const allPositive = Predicate.all((n: number) => n > 0)
106
+ * const result = allPositive([1, 2, 3])
107
+ * // => true
108
+ * ```
109
+ *
110
+ * @category Utilities
111
+ */
112
+ declare const all: <T>(predicate: Predicate<T>) => Predicate<readonly T[]>;
113
+ /**
114
+ * Create a predicate that tests if ANY element in an array matches.
115
+ * Returns false for empty arrays.
116
+ *
117
+ * @template T - The element type
118
+ * @param predicate - The predicate to test each element
119
+ * @returns A predicate that takes an array and returns true if any match
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * import { Predicate } from "@nicolastoulemont/std"
124
+ *
125
+ * const someNegative = Predicate.some((n: number) => n < 0)
126
+ * const result = someNegative([1, -1, 3])
127
+ * // => true
128
+ * ```
129
+ *
130
+ * @category Utilities
131
+ */
132
+ declare const some: <T>(predicate: Predicate<T>) => Predicate<readonly T[]>;
133
+ /**
134
+ * Create a predicate that tests if NO elements in an array match.
135
+ * Returns true for empty arrays (vacuous truth).
136
+ * Equivalent to `not(some(predicate))`.
137
+ *
138
+ * @template T - The element type
139
+ * @param predicate - The predicate that should NOT match any element
140
+ * @returns A predicate that takes an array and returns true if none match
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * import { Predicate } from "@nicolastoulemont/std"
145
+ *
146
+ * const noneZero = Predicate.none((n: number) => n === 0)
147
+ * const result = noneZero([1, 2, 3])
148
+ * // => true
149
+ * ```
150
+ *
151
+ * @category Utilities
152
+ */
153
+ declare const none: <T>(predicate: Predicate<T>) => Predicate<readonly T[]>;
154
+ /**
155
+ * Combine refinements with logical AND, preserving type narrowing.
156
+ * Use this instead of `and` when you need to preserve type guard behavior.
157
+ *
158
+ * @template T - The base type
159
+ * @template U - The narrowed type (must extend T)
160
+ * @param refinements - The refinements to combine
161
+ * @returns A refinement that narrows to U if all refinements pass
162
+ *
163
+ * @example
164
+ * ```ts
165
+ * import { Predicate } from "@nicolastoulemont/std"
166
+ *
167
+ * const isString = (value: unknown): value is string => typeof value === "string"
168
+ * const isNonEmpty = (value: unknown): value is string => typeof value === "string" && value.length > 0
169
+ * const refine = Predicate.andRefinement(isString, isNonEmpty)
170
+ * const result = refine("hello")
171
+ * // => true
172
+ * ```
173
+ *
174
+ * @category Utilities
175
+ */
176
+ declare const andRefinement: <T, U extends T>(...refinements: readonly Refinement<T, U>[]) => Refinement<T, U>;
177
+ /**
178
+ * Combine refinements with logical OR, preserving type narrowing.
179
+ * Use this instead of `or` when you need to preserve type guard behavior.
180
+ *
181
+ * @template T - The base type
182
+ * @template U - The narrowed type (must extend T)
183
+ * @param refinements - The refinements to combine
184
+ * @returns A refinement that narrows to U if any refinement passes
185
+ *
186
+ * @example
187
+ * ```ts
188
+ * import { Predicate } from "@nicolastoulemont/std"
189
+ *
190
+ * const isGuest = (value: unknown): value is string => value === "guest"
191
+ * const isAdmin = (value: unknown): value is string => value === "admin"
192
+ * const refine = Predicate.orRefinement(isGuest, isAdmin)
193
+ * const result = refine("admin")
194
+ * // => true
195
+ * ```
196
+ *
197
+ * @category Utilities
198
+ */
199
+ declare const orRefinement: <T, U extends T>(...refinements: readonly Refinement<T, U>[]) => Refinement<T, U>;
200
+ /**
201
+ * Create a predicate from a constant boolean value.
202
+ * Useful for testing or as a placeholder.
203
+ *
204
+ * @template T - The type (can be anything)
205
+ * @param value - The constant boolean to return
206
+ * @returns A predicate that always returns the given value
207
+ *
208
+ * @example
209
+ * ```ts
210
+ * import { Predicate } from "@nicolastoulemont/std"
211
+ *
212
+ * const always = Predicate.constant<number>(true)
213
+ * const result = always(123)
214
+ * // => true
215
+ * ```
216
+ *
217
+ * @category Utilities
218
+ */
219
+ declare const constant: <T>(value: boolean) => Predicate<T>;
220
+ /**
221
+ * Create a predicate that checks strict equality.
222
+ *
223
+ * @template T - The type being compared
224
+ * @param expected - The value to compare against
225
+ * @returns A predicate that returns true if value === expected
226
+ *
227
+ * @example
228
+ * ```ts
229
+ * import { Predicate } from "@nicolastoulemont/std"
230
+ *
231
+ * const isReady = Predicate.equals("ready")
232
+ * const result = isReady("ready")
233
+ * // => true
234
+ * ```
235
+ *
236
+ * @category Utilities
237
+ */
238
+ declare const equals: <T>(expected: T) => Predicate<T>;
239
+ //#endregion
240
+ export { predicate_d_exports as t };
241
+ //# sourceMappingURL=index-B_iY5tq0.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B_iY5tq0.d.mts","names":[],"sources":["../src/predicate/predicate.types.ts","../src/predicate/predicate.ts"],"sourcesContent":[],"mappings":";;;;AAKA;AAqBA;AAA2C,KArB/B,SAqB+B,CAAA,IAAA,CAAA,GAAA,CAAA,KAAA,EArBL,CAqBK,EAAA,GAAA,OAAA;;;;;;;;;;;;;;;;;;;ACL3C;AAAgD,KDKpC,UCLoC,CAAA,IAAA,EAAA,cDKL,CCLK,CAAA,GAAA,CAAA,KAAA,EDKQ,CCLR,EAAA,GAAA,KAAA,IDKuB,CCLvB;AAAA;;;;;ADhBhD;AAqBA;;;;;;;;;;;;;;;;cCLa,oBAAqB,UAAc,OAAK,UAAc;;;;AAAnE;;;;;;AAwBA;;;;;;AA6BA;;;;;AAAgF,cA7BnE,GA6BmE,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,UAAA,EAAA,SA7BjC,SA6BiC,CA7BnB,CA6BmB,CAAA,EAAA,EAAA,GA7BZ,SA6BY,CA7BE,CA6BF,CAAA;AA4BhF;;;;;;AAuBA;;;;;;AAwBA;;;;;;AA0BA;;AAAkF,cArGrE,EAqGqE,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,UAAA,EAAA,SArGpC,SAqGoC,CArGtB,CAqGsB,CAAA,EAAA,EAAA,GArGf,SAqGe,CArGD,CAqGC,CAAA;;;;;;;AA+BlF;;;;;;;;;AA4BA;AAsBA;;;AAAwC,cA1J3B,GA0J2B,EAAA,CAAA,CAAA,CAAA,CAAA,SAAA,EA1JN,SA0JM,CA1JQ,CA0JR,CAAA,EAAA,GA1Ja,SA0Jb,CAAA,SA1JoC,CA0JpC,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;cAnI3B,qBAAsB,UAAc,OAAK,mBAAuB;;;;;;;;;;;;;;;;;;;;;cAwBhE,qBAAsB,UAAc,OAAK,mBAAuB;;;;;;;;;;;;;;;;;;;;;;;cA0BhE,6BAA8B,4BAA4B,WAAW,GAAG,SAAO,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;cA+B7F,4BAA6B,4BAA4B,WAAW,GAAG,SAAO,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;cA4B5F,iCAAgC,UAAc;;;;;;;;;;;;;;;;;;;cAsB9C,sBAAuB,MAAI,UAAc"}
@@ -0,0 +1,129 @@
1
+ //#region src/shared/lambda.types.d.ts
2
+ type λ<TA extends any[] = any[], TR = any> = (...args: TA) => TR;
3
+ //#endregion
4
+ //#region src/shared/apply-fn.types.d.ts
5
+ type ApplyFn<F extends λ, Arg> = F extends ((arg: Arg) => infer R) ? R : F extends ((arg: any) => infer R) ? R : never;
6
+ //#endregion
7
+ //#region src/functions/flow.types.d.ts
8
+ /**
9
+ * The return type of a flow composition - a function with the first function's
10
+ * parameters that returns the final computed type.
11
+ */
12
+ type FlowdFun<Fns extends λ[]> = Fns extends [infer First extends λ, ...any[]] ? (...args: Parameters<First>) => FlowReturn<Fns, ReturnType<First>> : never;
13
+ /**
14
+ * Recursively compute the return type of a flow chain.
15
+ * Threads the actual types through each function for better generic inference.
16
+ */
17
+ 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;
18
+ /**
19
+ * Continue flow computation after encountering a Promise.
20
+ */
21
+ 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;
22
+ //#endregion
23
+ //#region src/functions/flow.d.ts
24
+ /**
25
+ * Given a list of functions returns a function that will execute the given
26
+ * functions one after another, always passing the result of the previous
27
+ * function as an argument to the next function.
28
+ *
29
+ * If one of the given functions returns a promise, the promise will be resolved
30
+ * before being passed to the next function.
31
+ *
32
+ * Type inference: This function provides automatic type inference for chains of
33
+ * 1-15 functions. Each function's parameter type is automatically inferred from
34
+ * the previous function's return type. For chains longer than 15 functions,
35
+ * types must be explicitly specified.
36
+ *
37
+ * Async support: Functions can return Promises. The runtime automatically awaits
38
+ * Promises before passing values to subsequent functions, and parameter types
39
+ * use `Awaited<T>` to reflect this behavior. The final return type will be
40
+ * Promise<T> if any function returns a Promise.
41
+ *
42
+ * @see {@link pipe} for immediate execution with an initial value
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * import { flow } from "@nicolastoulemont/std"
47
+ *
48
+ * const toLabel = flow((n: number) => n + 1, (n) => `value:${n}`)
49
+ * const result = toLabel(2)
50
+ * // => "value:3"
51
+ * ```
52
+ *
53
+ * @category Combinators
54
+ */
55
+ declare function flow<A extends unknown[], B>(f1: (...args: A) => B): FlowdFun<[typeof f1]>;
56
+ declare function flow<A extends unknown[], B, C>(f1: (...args: A) => B, f2: (arg: Awaited<B>) => C): FlowdFun<[typeof f1, typeof f2]>;
57
+ 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]>;
58
+ 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]>;
59
+ 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]>;
60
+ 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]>;
61
+ 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]>;
62
+ 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]>;
63
+ 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]>;
64
+ 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]>;
65
+ 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]>;
66
+ 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]>;
67
+ 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]>;
68
+ 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]>;
69
+ 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]>;
70
+ //#endregion
71
+ //#region src/functions/pipe.types.d.ts
72
+ /**
73
+ * Recursively compute the return type of a pipe chain.
74
+ * Threads the actual types through each function for better generic inference.
75
+ */
76
+ type PipeReturn<Fns extends λ[], Input> = Fns extends [infer First extends λ, ...infer Rest extends λ[]] ? Rest extends [] ? ApplyFn<First, Input> extends Promise<infer Awaited> ? Promise<Awaited> : ApplyFn<First, Input> : ApplyFn<First, Input> extends Promise<infer Awaited> ? Promise<PipeReturnAsync<Rest, Awaited>> : PipeReturn<Rest, ApplyFn<First, Input>> : Input;
77
+ /**
78
+ * Continue pipe computation after encountering a Promise.
79
+ */
80
+ type PipeReturnAsync<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> ? PipeReturnAsync<Rest, Awaited> : PipeReturnAsync<Rest, ApplyFn<First, Input>> : Input;
81
+ //#endregion
82
+ //#region src/functions/pipe.d.ts
83
+ /**
84
+ * Like `flow` but takes an argument as its first parameter and invokes the pipe
85
+ * with it.
86
+ *
87
+ * Note: unlike in `flow`, the first function of the pipe must take exactly one
88
+ * argument.
89
+ *
90
+ * Type inference: This function provides automatic type inference for chains of
91
+ * 1-15 functions. Each function's parameter type is automatically inferred from
92
+ * the previous function's return type. For chains longer than 15 functions,
93
+ * types must be explicitly specified.
94
+ *
95
+ * Async support: Functions can return Promises. The runtime automatically awaits
96
+ * Promises before passing values to subsequent functions, and parameter types
97
+ * use `Awaited<T>` to reflect this behavior. The final return type will be
98
+ * Promise<T> if any function returns a Promise.
99
+ *
100
+ * @see {@link flow} for point-free function composition (returns a function)
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * import { pipe } from "@nicolastoulemont/std"
105
+ *
106
+ * const result = pipe(2, (n) => n + 1, (n) => n * 3)
107
+ * // => 9
108
+ * ```
109
+ *
110
+ * @category Combinators
111
+ */
112
+ declare function pipe<A, B>(arg: A, f1: (arg: A) => B): PipeReturn<[typeof f1], A>;
113
+ declare function pipe<A, B, C>(arg: A, f1: (arg: A) => B, f2: (arg: Awaited<B>) => C): PipeReturn<[typeof f1, typeof f2], A>;
114
+ declare function pipe<A, B, C, D>(arg: A, f1: (arg: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D): PipeReturn<[typeof f1, typeof f2, typeof f3], A>;
115
+ declare function pipe<A, B, C, D, E>(arg: A, f1: (arg: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4], A>;
116
+ declare function pipe<A, B, C, D, E, F>(arg: A, f1: (arg: A) => B, f2: (arg: Awaited<B>) => C, f3: (arg: Awaited<C>) => D, f4: (arg: Awaited<D>) => E, f5: (arg: Awaited<E>) => F): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5], A>;
117
+ declare function pipe<A, B, C, D, E, F, G>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6], A>;
118
+ declare function pipe<A, B, C, D, E, F, G, H>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7], A>;
119
+ declare function pipe<A, B, C, D, E, F, G, H, I>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8], A>;
120
+ declare function pipe<A, B, C, D, E, F, G, H, I, J>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9], A>;
121
+ declare function pipe<A, B, C, D, E, F, G, H, I, J, K>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10], A>;
122
+ declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11], A>;
123
+ declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M>(arg: A, f1: (arg: 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): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10, typeof f11, typeof f12], A>;
124
+ declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(arg: A, f1: (arg: 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): PipeReturn<[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], A>;
125
+ declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(arg: A, f1: (arg: 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): PipeReturn<[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], A>;
126
+ declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(arg: A, f1: (arg: 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): PipeReturn<[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], A>;
127
+ //#endregion
128
+ export { flow as n, pipe as t };
129
+ //# sourceMappingURL=index-B_wWGszy.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B_wWGszy.d.mts","names":[],"sources":["../src/shared/lambda.types.ts","../src/shared/apply-fn.types.ts","../src/functions/flow.types.ts","../src/functions/flow.ts","../src/functions/pipe.types.ts","../src/functions/pipe.ts"],"sourcesContent":[],"mappings":";KACY,kDAAkD,OAAO;;;ACMzD,KAAA,OAAO,CAAA,UAAW,CAAX,EAAA,GAAA,CAAA,GAAqB,CAArB,UAAA,CAAA,GAAA,EAAqC,GAArC,EAAA,GAAA,KAAA,EAAA,IAAA,CAAA,GAEf,CAFe,UAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,CAAA,GAAA,KAAA;;;;;;AAAnB;AAA8B,KCKlB,QDLkB,CAAA,YCKG,CDLH,EAAA,CAAA,GCKU,GDLV,SAAA,CAAA,KAAA,eCK2C,CDL3C,EAAA,GAAA,GAAA,EAAA,CAAA,GAAA,CAAA,GAAA,IAAA,ECMhB,UDNgB,CCML,KDNK,CAAA,EAAA,GCMM,UDNN,CCMiB,GDNjB,ECMsB,UDNtB,CCMiC,KDNjC,CAAA,CAAA,GAAA,KAAA;;;;;KCczB,uBAAuB,cAAc,uCAAuC,yBAAyB,OACtG,cAAc,yBACZ,QAAQ,iBAAiB,WAAW,OAAO,YAC3C,YAAY,WAAW,OAAO,QAAQ,QAAQ,UAChD,cAAc,yBACZ,QAAQ,WACR;;;AAfN;KAqBK,eArB4B,CAAA,YAqBA,CArBA,EAAA,EAAA,KAAA,CAAA,GAqBc,GArBd,SAAA,CAAA,KAAA,eAqB+C,CArB/C,EAAA,GAAA,KAAA,cAqBwE,CArBxE,EAAA,CAAA,GAAA,IAAA,SAAA,EAAA,GAuB3B,OAvB2B,CAuBnB,KAvBmB,EAuBZ,KAvBY,CAAA,SAuBG,OAvBH,CAAA,KAAA,QAAA,CAAA,GAAA,OAAA,GAyBzB,OAzByB,CAyBjB,KAzBiB,EAyBV,KAzBU,CAAA,GA0B3B,OA1B2B,CA0BnB,KA1BmB,EA0BZ,KA1BY,CAAA,SA0BG,OA1BH,CAAA,KAAA,QAAA,CAAA,GA2BzB,eA3ByB,CA2BT,IA3BS,EA2BH,OA3BG,CAAA,GA4BzB,eA5ByB,CA4BT,IA5BS,EA4BH,OA5BG,CA4BK,KA5BL,EA4BY,KA5BZ,CAAA,CAAA,GA6B7B,KA7B6B;;;AFXjC;;;;ACMA;;;;;;;;;ACKA;;;;;;;;;;;AAES;;;;;;;AASsB,iBCuCf,IDvCe,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECuC4B,CDvC5B,EAAA,GCuCkC,CDvClC,CAAA,ECuCsC,QDvCtC,CAAA,CAAA,OCuCuD,EDvCvD,CAAA,CAAA;AAAW,iBCyC1B,IDzC0B,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,EC0C1B,CD1C0B,EAAA,GC0CpB,CD1CoB,EAAA,EAAA,EAAA,CAAA,GAAA,EC2C9B,OD3C8B,CC2CtB,CD3CsB,CAAA,EAAA,GC2Cf,CD3Ce,CAAA,EC4CvC,QD5CuC,CAAA,CAAA,OC4CtB,ED5CsB,EAAA,OC4CX,ED5CW,CAAA,CAAA;AAAO,iBC8CjC,ID9CiC,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,EC+CjC,CD/CiC,EAAA,GC+C3B,CD/C2B,EAAA,EAAA,EAAA,CAAA,GAAA,ECgDrC,ODhDqC,CCgD7B,CDhD6B,CAAA,EAAA,GCgDtB,CDhDsB,EAAA,EAAA,EAAA,CAAA,GAAA,ECiDrC,ODjDqC,CCiD7B,CDjD6B,CAAA,EAAA,GCiDtB,CDjDsB,CAAA,ECkD9C,QDlD8C,CAAA,CAAA,OCkD7B,EDlD6B,EAAA,OCkDlB,EDlDkB,EAAA,OCkDP,EDlDO,CAAA,CAAA;AAAnC,iBCoDE,IDpDF,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECqDE,CDrDF,EAAA,GCqDQ,CDrDR,EAAA,EAAA,EAAA,CAAA,GAAA,ECsDF,ODtDE,CCsDM,CDtDN,CAAA,EAAA,GCsDa,CDtDb,EAAA,EAAA,EAAA,CAAA,GAAA,ECuDF,ODvDE,CCuDM,CDvDN,CAAA,EAAA,GCuDa,CDvDb,EAAA,EAAA,EAAA,CAAA,GAAA,ECwDF,ODxDE,CCwDM,CDxDN,CAAA,EAAA,GCwDa,CDxDb,CAAA,ECyDX,QDzDW,CAAA,CAAA,OCyDM,EDzDN,EAAA,OCyDiB,EDzDjB,EAAA,OCyD4B,EDzD5B,EAAA,OCyDuC,EDzDvC,CAAA,CAAA;AAAR,iBC2DU,ID3DV,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,EC4DU,CD5DV,EAAA,GC4DgB,CD5DhB,EAAA,EAAA,EAAA,CAAA,GAAA,EC6DM,OD7DN,CC6Dc,CD7Dd,CAAA,EAAA,GC6DqB,CD7DrB,EAAA,EAAA,EAAA,CAAA,GAAA,EC8DM,OD9DN,CC8Dc,CD9Dd,CAAA,EAAA,GC8DqB,CD9DrB,EAAA,EAAA,EAAA,CAAA,GAAA,EC+DM,OD/DN,CC+Dc,CD/Dd,CAAA,EAAA,GC+DqB,CD/DrB,EAAA,EAAA,EAAA,CAAA,GAAA,ECgEM,ODhEN,CCgEc,CDhEd,CAAA,EAAA,GCgEqB,CDhErB,CAAA,ECiEH,QDjEG,CAAA,CAAA,OCiEc,EDjEd,EAAA,OCiEyB,EDjEzB,EAAA,OCiEoC,EDjEpC,EAAA,OCiE+C,EDjE/C,EAAA,OCiE0D,EDjE1D,CAAA,CAAA;AACY,iBCkEF,IDlEE,CAAA,UAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,IAAA,ECmEF,CDnEE,EAAA,GCmEI,CDnEJ,EAAA,EAAA,EAAA,CAAA,GAAA,ECoEN,ODpEM,CCoEE,CDpEF,CAAA,EAAA,GCoES,CDpET,EAAA,EAAA,EAAA,CAAA,GAAA,ECqEN,ODrEM,CCqEE,CDrEF,CAAA,EAAA,GCqES,CDrET,EAAA,EAAA,EAAA,CAAA,GAAA,ECsEN,ODtEM,CCsEE,CDtEF,CAAA,EAAA,GCsES,CDtET,EAAA,EAAA,EAAA,CAAA,GAAA,ECuEN,ODvEM,CCuEE,CDvEF,CAAA,EAAA,GCuES,CDvET,EAAA,EAAA,EAAA,CAAA,GAAA,ECwEN,ODxEM,CCwEE,CDxEF,CAAA,EAAA,GCwES,CDxET,CAAA,ECyEf,QDzEe,CAAA,CAAA,OCyEE,EDzEF,EAAA,OCyEa,EDzEb,EAAA,OCyEwB,EDzExB,EAAA,OCyEmC,EDzEnC,EAAA,OCyE8C,EDzE9C,EAAA,OCyEyD,EDzEzD,CAAA,CAAA;AAAW,iBC2Eb,ID3Ea,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,EC4Eb,CD5Ea,EAAA,GC4EP,CD5EO,EAAA,EAAA,EAAA,CAAA,GAAA,EC6EjB,OD7EiB,CC6ET,CD7ES,CAAA,EAAA,GC6EF,CD7EE,EAAA,EAAA,EAAA,CAAA,GAAA,EC8EjB,OD9EiB,CC8ET,CD9ES,CAAA,EAAA,GC8EF,CD9EE,EAAA,EAAA,EAAA,CAAA,GAAA,EC+EjB,OD/EiB,CC+ET,CD/ES,CAAA,EAAA,GC+EF,CD/EE,EAAA,EAAA,EAAA,CAAA,GAAA,ECgFjB,ODhFiB,CCgFT,CDhFS,CAAA,EAAA,GCgFF,CDhFE,EAAA,EAAA,EAAA,CAAA,GAAA,ECiFjB,ODjFiB,CCiFT,CDjFS,CAAA,EAAA,GCiFF,CDjFE,EAAA,EAAA,EAAA,CAAA,GAAA,ECkFjB,ODlFiB,CCkFT,CDlFS,CAAA,EAAA,GCkFF,CDlFE,CAAA,ECmF1B,QDnF0B,CAAA,CAAA,OCmFT,EDnFS,EAAA,OCmFE,EDnFF,EAAA,OCmFa,EDnFb,EAAA,OCmFwB,EDnFxB,EAAA,OCmFmC,EDnFnC,EAAA,OCmF8C,EDnF9C,EAAA,OCmFyD,EDnFzD,CAAA,CAAA;AAAe,iBCqF5B,IDrF4B,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,ECsF5B,CDtF4B,EAAA,GCsFtB,CDtFsB,EAAA,EAAA,EAAA,CAAA,GAAA,ECuFhC,ODvFgC,CCuFxB,CDvFwB,CAAA,EAAA,GCuFjB,CDvFiB,EAAA,EAAA,EAAA,CAAA,GAAA,ECwFhC,ODxFgC,CCwFxB,CDxFwB,CAAA,EAAA,GCwFjB,CDxFiB,EAAA,EAAA,EAAA,CAAA,GAAA,ECyFhC,ODzFgC,CCyFxB,CDzFwB,CAAA,EAAA,GCyFjB,CDzFiB,EAAA,EAAA,EAAA,CAAA,GAAA,EC0FhC,OD1FgC,CC0FxB,CD1FwB,CAAA,EAAA,GC0FjB,CD1FiB,EAAA,EAAA,EAAA,CAAA,GAAA,EC2FhC,OD3FgC,CC2FxB,CD3FwB,CAAA,EAAA,GC2FjB,CD3FiB,EAAA,EAAA,EAAA,CAAA,GAAA,EC4FhC,OD5FgC,CC4FxB,CD5FwB,CAAA,EAAA,GC4FjB,CD5FiB,EAAA,EAAA,EAAA,CAAA,GAAA,EC6FhC,OD7FgC,CC6FxB,CD7FwB,CAAA,EAAA,GC6FjB,CD7FiB,CAAA,EC8FzC,QD9FyC,CAAA,CAAA,OC8FxB,ED9FwB,EAAA,OC8Fb,ED9Fa,EAAA,OC8FF,ED9FE,EAAA,OC8FS,ED9FT,EAAA,OC8FoB,ED9FpB,EAAA,OC8F+B,ED9F/B,EAAA,OC8F0C,ED9F1C,EAAA,OC8FqD,ED9FrD,CAAA,CAAA;AAAQ,iBCgGpC,IDhGoC,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,ECiGpC,CDjGoC,EAAA,GCiG9B,CDjG8B,EAAA,EAAA,EAAA,CAAA,GAAA,ECkGxC,ODlGwC,CCkGhC,CDlGgC,CAAA,EAAA,GCkGzB,CDlGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECmGxC,ODnGwC,CCmGhC,CDnGgC,CAAA,EAAA,GCmGzB,CDnGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECoGxC,ODpGwC,CCoGhC,CDpGgC,CAAA,EAAA,GCoGzB,CDpGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECqGxC,ODrGwC,CCqGhC,CDrGgC,CAAA,EAAA,GCqGzB,CDrGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECsGxC,ODtGwC,CCsGhC,CDtGgC,CAAA,EAAA,GCsGzB,CDtGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECuGxC,ODvGwC,CCuGhC,CDvGgC,CAAA,EAAA,GCuGzB,CDvGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECwGxC,ODxGwC,CCwGhC,CDxGgC,CAAA,EAAA,GCwGzB,CDxGyB,EAAA,EAAA,EAAA,CAAA,GAAA,ECyGxC,ODzGwC,CCyGhC,CDzGgC,CAAA,EAAA,GCyGzB,CDzGyB,CAAA,EC0GjD,QD1GiD,CAAA,CAAA,OC0GhC,ED1GgC,EAAA,OC0GrB,ED1GqB,EAAA,OC0GV,ED1GU,EAAA,OC0GC,ED1GD,EAAA,OC0GY,ED1GZ,EAAA,OC0GuB,ED1GvB,EAAA,OC0GkC,ED1GlC,EAAA,OC0G6C,ED1G7C,EAAA,OC0GwD,ED1GxD,CAAA,CAAA;AAAhB,iBC4GpB,ID5GoB,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,EC6GpB,CD7GoB,EAAA,GC6Gd,CD7Gc,EAAA,EAAA,EAAA,CAAA,GAAA,EC8GxB,OD9GwB,CC8GhB,CD9GgB,CAAA,EAAA,GC8GT,CD9GS,EAAA,EAAA,EAAA,CAAA,GAAA,EC+GxB,OD/GwB,CC+GhB,CD/GgB,CAAA,EAAA,GC+GT,CD/GS,EAAA,EAAA,EAAA,CAAA,GAAA,ECgHxB,ODhHwB,CCgHhB,CDhHgB,CAAA,EAAA,GCgHT,CDhHS,EAAA,EAAA,EAAA,CAAA,GAAA,ECiHxB,ODjHwB,CCiHhB,CDjHgB,CAAA,EAAA,GCiHT,CDjHS,EAAA,EAAA,EAAA,CAAA,GAAA,ECkHxB,ODlHwB,CCkHhB,CDlHgB,CAAA,EAAA,GCkHT,CDlHS,EAAA,EAAA,EAAA,CAAA,GAAA,ECmHxB,ODnHwB,CCmHhB,CDnHgB,CAAA,EAAA,GCmHT,CDnHS,EAAA,EAAA,EAAA,CAAA,GAAA,ECoHxB,ODpHwB,CCoHhB,CDpHgB,CAAA,EAAA,GCoHT,CDpHS,EAAA,EAAA,EAAA,CAAA,GAAA,ECqHxB,ODrHwB,CCqHhB,CDrHgB,CAAA,EAAA,GCqHT,CDrHS,EAAA,GAAA,EAAA,CAAA,GAAA,ECsHvB,ODtHuB,CCsHf,CDtHe,CAAA,EAAA,GCs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KAAA,eGKoD,CHLpD,EAAA,GAAA,KAAA,cGK6E,CHL7E,EAAA,CAAA,GAAA,IAAA,SAAA,EAAA,GGOxB,OHPwB,CGOhB,KHPgB,EGOT,KHPS,CAAA,SGOM,OHPN,CAAA,KAAA,QAAA,CAAA,GGQtB,OHRsB,CGQd,OHRc,CAAA,GGStB,OHTsB,CGSd,KHTc,EGSP,KHTO,CAAA,GGUxB,OHVwB,CGUhB,KHVgB,EGUT,KHVS,CAAA,SGUM,OHVN,CAAA,KAAA,QAAA,CAAA,GGWtB,OHXsB,CGWd,eHXc,CGWE,IHXF,EGWQ,OHXR,CAAA,CAAA,GGYtB,UHZsB,CGYX,IHZW,EGYL,OHZK,CGYG,KHZH,EGYU,KHZV,CAAA,CAAA,GGa1B,KHb0B;;;;KGmBzB,eHjBA,CAAA,YGiB4B,CHjB5B,EAAA,EAAA,KAAA,CAAA,GGiB0C,GHjB1C,SAAA,CAAA,KAAA,eGiB2E,CHjB3E,EAAA,GAAA,KAAA,cGiBoG,CHjBpG,EAAA,CAAA,GAAA,IAAA,SAAA,EAAA,GGmBC,OHnBD,CGmBS,KHnBT,EGmBgB,KHnBhB,CAAA,SGmB+B,OHnB/B,CAAA,KAAA,QAAA,CAAA,GAAA,OAAA,GGqBG,OHrBH,CGqBW,KHrBX,EGqBkB,KHrBlB,CAAA,GGsBC,OHtBD,CGsBS,KHtBT,EGsBgB,KHtBhB,CAAA,SGsB+B,OHtB/B,CAAA,KAAA,QAAA,CAAA,GGuBG,eHvBH,CGuBmB,IHvBnB,EGuByB,OHvBzB,CAAA,GGwBG,eHxBH,CGwBmB,IHxBnB,EGwByB,OHxBzB,CGwBiC,KHxBjC,EGwBwC,KHxBxC,CAAA,CAAA,GGyBD,KHzBC;;;ADRL;;;;ACMA;;;;;;;;;ACKA;;;;;;;;;;;AAES;;;;;AAQL,iBGsCY,IHtCZ,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGsC4B,CHtC5B,EAAA,EAAA,EAAA,CAAA,GAAA,EGsCyC,CHtCzC,EAAA,GGsC+C,CHtC/C,CAAA,EGsCmD,UHtCnD,CAAA,CAAA,OGsCsE,EHtCtE,CAAA,EGsC2E,CHtC3E,CAAA;AAAc,iBGwCF,IHxCE,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGyCX,CHzCW,EAAA,EAAA,EAAA,CAAA,GAAA,EG0CN,CH1CM,EAAA,GG0CA,CH1CA,EAAA,EAAA,EAAA,CAAA,GAAA,EG2CN,OH3CM,CG2CE,CH3CF,CAAA,EAAA,GG2CS,CH3CT,CAAA,EG4Cf,UH5Ce,CAAA,CAAA,OG4CI,EH5CJ,EAAA,OG4Ce,EH5Cf,CAAA,EG4CoB,CH5CpB,CAAA;AACa,iBG6Cf,IH7Ce,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EG8CxB,CH9CwB,EAAA,EAAA,EAAA,CAAA,GAAA,EG+CnB,CH/CmB,EAAA,GG+Cb,CH/Ca,EAAA,EAAA,EAAA,CAAA,GAAA,EGgDnB,OHhDmB,CGgDX,CHhDW,CAAA,EAAA,GGgDJ,CHhDI,EAAA,EAAA,EAAA,CAAA,GAAA,EGiDnB,OHjDmB,CGiDX,CHjDW,CAAA,EAAA,GGiDJ,CHjDI,CAAA,EGkD5B,UHlD4B,CAAA,CAAA,OGkDT,EHlDS,EAAA,OGkDE,EHlDF,EAAA,OGkDa,EHlDb,CAAA,EGkDkB,CHlDlB,CAAA;AAAW,iBGoD1B,IHpD0B,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGqDnC,CHrDmC,EAAA,EAAA,EAAA,CAAA,GAAA,EGsD9B,CHtD8B,EAAA,GGsDxB,CHtDwB,EAAA,EAAA,EAAA,CAAA,GAAA,EGuD9B,OHvD8B,CGuDtB,CHvDsB,CAAA,EAAA,GGuDf,CHvDe,EAAA,EAAA,EAAA,CAAA,GAAA,EGwD9B,OHxD8B,CGwDtB,CHxDsB,CAAA,EAAA,GGwDf,CHxDe,EAAA,EAAA,EAAA,CAAA,GAAA,EGyD9B,OHzD8B,CGyDtB,CHzDsB,CAAA,EAAA,GGyDf,CHzDe,CAAA,EG0DvC,UH1DuC,CAAA,CAAA,OG0DpB,EH1DoB,EAAA,OG0DT,EH1DS,EAAA,OG0DE,EH1DF,EAAA,OG0Da,EH1Db,CAAA,EG0DkB,CH1DlB,CAAA;AAAO,iBG4DjC,IH5DiC,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EG6D1C,CH7D0C,EAAA,EAAA,EAAA,CAAA,GAAA,EG8DrC,CH9DqC,EAAA,GG8D/B,CH9D+B,EAAA,EAAA,EAAA,CAAA,GAAA,EG+DrC,OH/DqC,CG+D7B,CH/D6B,CAAA,EAAA,GG+DtB,CH/DsB,EAAA,EAAA,EAAA,CAAA,GAAA,EGgErC,OHhEqC,CGgE7B,CHhE6B,CAAA,EAAA,GGgEtB,CHhEsB,EAAA,EAAA,EAAA,CAAA,GAAA,EGiErC,OHjEqC,CGiE7B,CHjE6B,CAAA,EAAA,GGiEtB,CHjEsB,EAAA,EAAA,EAAA,CAAA,GAAA,EGkErC,OHlEqC,CGkE7B,CHlE6B,CAAA,EAAA,GGkEtB,CHlEsB,CAAA,EGmE9C,UHnE8C,CAAA,CAAA,OGmE3B,EHnE2B,EAAA,OGmEhB,EHnEgB,EAAA,OGmEL,EHnEK,EAAA,OGmEM,EHnEN,EAAA,OGmEiB,EHnEjB,CAAA,EGmEsB,CHnEtB,CAAA;AAAnC,iBGqEE,IHrEF,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGsEP,CHtEO,EAAA,EAAA,EAAA,CAAA,GAAA,EGuEF,CHvEE,EAAA,GGuEI,CHvEJ,EAAA,EAAA,EAAA,CAAA,GAAA,EGwEF,OHxEE,CGwEM,CHxEN,CAAA,EAAA,GGwEa,CHxEb,EAAA,EAAA,EAAA,CAAA,GAAA,EGyEF,OHzEE,CGyEM,CHzEN,CAAA,EAAA,GGyEa,CHzEb,EAAA,EAAA,EAAA,CAAA,GAAA,EG0EF,OH1EE,CG0EM,CH1EN,CAAA,EAAA,GG0Ea,CH1Eb,EAAA,EAAA,EAAA,CAAA,GAAA,EG2EF,OH3EE,CG2EM,CH3EN,CAAA,EAAA,GG2Ea,CH3Eb,EAAA,EAAA,EAAA,CAAA,GAAA,EG4EF,OH5EE,CG4EM,CH5EN,CAAA,EAAA,GG4Ea,CH5Eb,CAAA,EG6EX,UH7EW,CAAA,CAAA,OG6EQ,EH7ER,EAAA,OG6EmB,EH7EnB,EAAA,OG6E8B,EH7E9B,EAAA,OG6EyC,EH7EzC,EAAA,OG6EoD,EH7EpD,EAAA,OG6E+D,EH7E/D,CAAA,EG6EoE,CH7EpE,CAAA;AAAR,iBG+EU,IH/EV,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGgFC,CHhFD,EAAA,EAAA,EAAA,CAAA,GAAA,EGiFM,CHjFN,EAAA,GGiFY,CHjFZ,EAAA,EAAA,EAAA,CAAA,GAAA,EGkFM,OHlFN,CGkFc,CHlFd,CAAA,EAAA,GGkFqB,CHlFrB,EAAA,EAAA,EAAA,CAAA,GAAA,EGmFM,OHnFN,CGmFc,CHnFd,CAAA,EAAA,GGmFqB,CHnFrB,EAAA,EAAA,EAAA,CAAA,GAAA,EGoFM,OHpFN,CGoFc,CHpFd,CAAA,EAAA,GGoFqB,CHpFrB,EAAA,EAAA,EAAA,CAAA,GAAA,EGqFM,OHrFN,CGqFc,CHrFd,CAAA,EAAA,GGqFqB,CHrFrB,EAAA,EAAA,EAAA,CAAA,GAAA,EGsFM,OHtFN,CGsFc,CHtFd,CAAA,EAAA,GGsFqB,CHtFrB,EAAA,EAAA,EAAA,CAAA,GAAA,EGuFM,OHvFN,CGuFc,CHvFd,CAAA,EAAA,GGuFqB,CHvFrB,CAAA,EGwFH,UHxFG,CAAA,CAAA,OGwFgB,EHxFhB,EAAA,OGwF2B,EHxF3B,EAAA,OGwFsC,EHxFtC,EAAA,OGwFiD,EHxFjD,EAAA,OGwF4D,EHxF5D,EAAA,OGwFuE,EHxFvE,EAAA,OGwFkF,EHxFlF,CAAA,EGwFuF,CHxFvF,CAAA;AACY,iBGyFF,IHzFE,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EG0FX,CH1FW,EAAA,EAAA,EAAA,CAAA,GAAA,EG2FN,CH3FM,EAAA,GG2FA,CH3FA,EAAA,EAAA,EAAA,CAAA,GAAA,EG4FN,OH5FM,CG4FE,CH5FF,CAAA,EAAA,GG4FS,CH5FT,EAAA,EAAA,EAAA,CAAA,GAAA,EG6FN,OH7FM,CG6FE,CH7FF,CAAA,EAAA,GG6FS,CH7FT,EAAA,EAAA,EAAA,CAAA,GAAA,EG8FN,OH9FM,CG8FE,CH9FF,CAAA,EAAA,GG8FS,CH9FT,EAAA,EAAA,EAAA,CAAA,GAAA,EG+FN,OH/FM,CG+FE,CH/FF,CAAA,EAAA,GG+FS,CH/FT,EAAA,EAAA,EAAA,CAAA,GAAA,EGgGN,OHhGM,CGgGE,CHhGF,CAAA,EAAA,GGgGS,CHhGT,EAAA,EAAA,EAAA,CAAA,GAAA,EGiGN,OHjGM,CGiGE,CHjGF,CAAA,EAAA,GGiGS,CHjGT,EAAA,EAAA,EAAA,CAAA,GAAA,EGkGN,OHlGM,CGkGE,CHlGF,CAAA,EAAA,GGkGS,CHlGT,CAAA,EGmGf,UHnGe,CAAA,CAAA,OGmGI,EHnGJ,EAAA,OGmGe,EHnGf,EAAA,OGmG0B,EHnG1B,EAAA,OGmGqC,EHnGrC,EAAA,OGmGgD,EHnGhD,EAAA,OGmG2D,EHnG3D,EAAA,OGmGsE,EHnGtE,EAAA,OGmGiF,EHnGjF,CAAA,EGmGsF,CHnGtF,CAAA;AAAW,iBGqGb,IHrGa,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGsGtB,CHtGsB,EAAA,EAAA,EAAA,CAAA,GAAA,EGuGjB,CHvGiB,EAAA,GGuGX,CHvGW,EAAA,EAAA,EAAA,CAAA,GAAA,EGwGjB,OHxGiB,CGwGT,CHxGS,CAAA,EAAA,GGwGF,CHxGE,EAAA,EAAA,EAAA,CAAA,GAAA,EGyGjB,OHzGiB,CGyGT,CHzGS,CAAA,EAAA,GGyGF,CHzGE,EAAA,EAAA,EAAA,CAAA,GAAA,EG0GjB,OH1GiB,CG0GT,CH1GS,CAAA,EAAA,GG0GF,CH1GE,EAAA,EAAA,EAAA,CAAA,GAAA,EG2GjB,OH3GiB,CG2GT,CH3GS,CAAA,EAAA,GG2GF,CH3GE,EAAA,EAAA,EAAA,CAAA,GAAA,EG4GjB,OH5GiB,CG4GT,CH5GS,CAAA,EAAA,GG4GF,CH5GE,EAAA,EAAA,EAAA,CAAA,GAAA,EG6GjB,OH7GiB,CG6GT,CH7GS,CAAA,EAAA,GG6GF,CH7GE,EAAA,EAAA,EAAA,CAAA,GAAA,EG8GjB,OH9GiB,CG8GT,CH9GS,CAAA,EAAA,GG8GF,CH9GE,EAAA,EAAA,EAAA,CAAA,GAAA,EG+GjB,OH/GiB,CG+GT,CH/GS,CAAA,EAAA,GG+GF,CH/GE,CAAA,EGgH1B,UHhH0B,CAAA,CAAA,OGgHP,EHhHO,EAAA,OGgHI,EHhHJ,EAAA,OGgHe,EHhHf,EAAA,OGgH0B,EHhH1B,EAAA,OGgHqC,EHhHrC,EAAA,OGgHgD,EHhHhD,EAAA,OGgH2D,EHhH3D,EAAA,OGgHsE,EHhHtE,EAAA,OGgHiF,EHhHjF,CAAA,EGgHsF,CHhHtF,CAAA;AAAe,iBGkH5B,IHlH4B,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGmHrC,CHnHqC,EAAA,EAAA,EAAA,CAAA,GAAA,EGoHhC,CHpHgC,EAAA,GGoH1B,CHpH0B,EAAA,EAAA,EAAA,CAAA,GAAA,EGqHhC,OHrHgC,CGqHxB,CHrHwB,CAAA,EAAA,GGqHjB,CHrHiB,EAAA,EAAA,EAAA,CAAA,GAAA,EGsHhC,OHtHgC,CGsHxB,CHtHwB,CAAA,EAAA,GGsHjB,CHtHiB,EAAA,EAAA,EAAA,CAAA,GAAA,EGuHhC,OHvHgC,CGuHxB,CHvHwB,CAAA,EAAA,GGuHjB,CHvHiB,EAAA,EAAA,EAAA,CAAA,GAAA,EGwHhC,OHxHgC,CGwHxB,CHxHwB,CAAA,EAAA,GGwHjB,CHxHiB,EAAA,EAAA,EAAA,CAAA,GAAA,EGyHhC,OHzHgC,CGyHxB,CHzHwB,CAAA,EAAA,GGyHjB,CHzHiB,EAAA,EAAA,EAAA,CAAA,GAAA,EG0HhC,OH1HgC,CG0HxB,CH1HwB,CAAA,EAAA,GG0HjB,CH1HiB,EAAA,EAAA,EAAA,CAAA,GAAA,EG2HhC,OH3HgC,CG2HxB,CH3HwB,CAAA,EAAA,GG2HjB,CH3HiB,EAAA,EAAA,EAAA,CAAA,GAAA,EG4HhC,OH5HgC,CG4HxB,CH5HwB,CAAA,EAAA,GG4HjB,CH5HiB,EAAA,GAAA,EAAA,CAAA,GAAA,EG6H/B,OH7H+B,CG6HvB,CH7HuB,CAAA,EAAA,GG6HhB,CH7HgB,CAAA,EG8HzC,UH9HyC,CAAA,CAAQ,OG+H1C,EH/H0C,EAAhB,OG+Hf,EH/He,EAA9B,OG+H0B,EH/H1B,EACF,OG8HuC,EH9HvC,EAAc,OG8HoC,EH9HpC,EACJ,OG6HmD,EH7HnD,EAAR,OG6HsE,EH7HtE,EACA,OG4HiF,EH5HjF,EAAK,OG4HuF,EH5HvF,EAMN,OGsHwG,GHtHxG,CAA4B,EGuH/B,CHvH+B,CAAA;AAAc,iBG0H/B,IH1H+B,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EG2HxC,CH3HwC,EAAA,EAAA,EAAA,CAAA,GAAA,EG4HnC,CH5HmC,EAAA,GG4H7B,CH5H6B,EAAA,EAAA,EAAA,CAAA,GAAA,EG6HnC,OH7HmC,CG6H3B,CH7H2B,CAAA,EAAA,GG6HpB,CH7HoB,EAAA,EAAA,EAAA,CAAA,GAAA,EG8HnC,OH9HmC,CG8H3B,CH9H2B,CAAA,EAAA,GG8HpB,CH9HoB,EAAA,EAAA,EAAA,CAAA,GAAA,EG+HnC,OH/HmC,CG+H3B,CH/H2B,CAAA,EAAA,GG+HpB,CH/HoB,EAAA,EAAA,EAAA,CAAA,GAAA,EGgInC,OHhImC,CGgI3B,CHhI2B,CAAA,EAAA,GGgIpB,CHhIoB,EAAA,EAAA,EAAA,CAAA,GAAA,EGiInC,OHjImC,CGiI3B,CHjI2B,CAAA,EAAA,GGiIpB,CHjIoB,EAAA,EAAA,EAAA,CAAA,GAAA,EGkInC,OHlImC,CGkI3B,CHlI2B,CAAA,EAAA,GGkIpB,CHlIoB,EAAA,EAAA,EAAA,CAAA,GAAA,EGmInC,OHnImC,CGmI3B,CHnI2B,CAAA,EAAA,GGmIpB,CHnIoB,EAAA,EAAA,EAAA,CAAA,GAAA,EGoInC,OHpImC,CGoI3B,CHpI2B,CAAA,EAAA,GGoIpB,CHpIoB,EAAA,GAAA,EAAA,CAAA,GAAA,EGqIlC,OHrIkC,CGqI1B,CHrI0B,CAAA,EAAA,GGqInB,CHrImB,EAAA,GAAA,EAAA,CAAA,GAAA,EGsIlC,OHtIkC,CGsI1B,CHtI0B,CAAA,EAAA,GGsInB,CHtImB,CAAA,EGuI5C,UHvI4C,CAAA,CAAiC,OGyIrE,EHzIqE,EAAyB,OG0I9F,EH1I8F,EAE3F,OGyIH,EHzIG,EAAO,OG0IV,EH1IU,EAAf,OG2IK,EH3IL,EAA8B,OG4IzB,EH5IyB,EAEpB,OG2IL,EH3IK,EAAO,OG4IZ,EH5IY,EAAf,OG6IG,EH7IH,EACM,OG6IH,GH7IG,EAAO,OG8IV,GH9IU,CAAf,EGgJJ,CHhJI,CAAA;AAA8B,iBGmJpB,IHnJoB,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EGoJ7B,CHpJ6B,EAAA,EAAA,EAAA,CAAA,GAAA,EGqJxB,CHrJwB,EAAA,GGqJlB,CHrJkB,EAAA,EAAA,EAAA,CAAA,GAAA,EGsJxB,OHtJwB,CGsJhB,CHtJgB,CAAA,EAAA,GGsJT,CHtJS,EAAA,EAAA,EAAA,CAAA,GAAA,EGuJxB,OHvJwB,CGuJhB,CHvJgB,CAAA,EAAA,GGuJT,CHvJS,EAAA,EAAA,EAAA,CAAA,GAAA,EGwJxB,OHxJwB,CGwJhB,CHxJgB,CAAA,EAAA,GGwJT,CHxJS,EAAA,EAAA,EAAA,CAAA,GAAA,EGyJxB,OHzJwB,CGyJhB,CHzJgB,CAAA,EAAA,GGyJT,CHzJS,EAAA,EAAA,EAAA,CAAA,GAAA,EG0JxB,OH1JwB,CG0JhB,CH1JgB,CAAA,EAAA,GG0JT,CH1JS,EAAA,EAAA,EAAA,CAAA,GAAA,EG2JxB,OH3JwB,CG2JhB,CH3JgB,CAAA,EAAA,GG2JT,CH3JS,EAAA,EAAA,EAAA,CAAA,GAAA,EG4JxB,OH5JwB,CG4JhB,CH5JgB,CAAA,EAAA,GG4JT,CH5JS,EAAA,EAAA,EAAA,CAAA,GAAA,EG6JxB,OH7JwB,CG6JhB,CH7JgB,CAAA,EAAA,GG6JT,CH7JS,EAAA,GAAA,EAAA,CAAA,GAAA,EG8JvB,OH9JuB,CG8Jf,CH9Je,CAAA,EAAA,GG8JR,CH9JQ,EAAA,GAAA,EAAA,CAAA,GAAA,EG+JvB,OH/JuB,CG+Jf,CH/Je,CAAA,EAAA,GG+JR,CH/JQ,EAAA,GAAA,EAAA,CAAA,GAAA,EGgKvB,OHhKuB,CGgKf,CHhKe,CAAA,EAAA,GGgKR,CHhKQ,CAAA,EGiKjC,UHjKiC,CAAA,CACZ,OGkKb,EHlKa,EAAM,OGmKnB,EHnKmB,EAAtB,OGoKG,EHpKH,EACgB,OGoKb,EHpKa,EAAc,OGqK3B,EHrK2B,EAAO,OGsKlC,EHtKkC,EAAf,OGuKnB,EHvKmB,EAAtB,OGwKG,EHxKH,EACJ,OGwKO,EHxKP,EAAK,OGyKE,GHzKF,SG0KE,YACA,MAET;AFxJc,iBE2JA,IF3JI,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EE4Jb,CF5Ja,EAAA,EAAA,EAAA,CAAA,GAAA,EE6JR,CF7JQ,EAAA,GE6JF,CF7JE,EAAA,EAAA,EAAA,CAAA,GAAA,EE8JR,OF9JQ,CE8JA,CF9JA,CAAA,EAAA,GE8JO,CF9JP,EAAA,EAAA,EAAA,CAAA,GAAA,EE+JR,OF/JQ,CE+JA,CF/JA,CAAA,EAAA,GE+JO,CF/JP,EAAA,EAAA,EAAA,CAAA,GAAA,EEgKR,OFhKQ,CEgKA,CFhKA,CAAA,EAAA,GEgKO,CFhKP,EAAA,EAAA,EAAA,CAAA,GAAA,EEiKR,OFjKQ,CEiKA,CFjKA,CAAA,EAAA,GEiKO,CFjKP,EAAA,EAAA,EAAA,CAAA,GAAA,EEkKR,OFlKQ,CEkKA,CFlKA,CAAA,EAAA,GEkKO,CFlKP,EAAA,EAAA,EAAA,CAAA,GAAA,EEmKR,OFnKQ,CEmKA,CFnKA,CAAA,EAAA,GEmKO,CFnKP,EAAA,EAAA,EAAA,CAAA,GAAA,EEoKR,OFpKQ,CEoKA,CFpKA,CAAA,EAAA,GEoKO,CFpKP,EAAA,EAAA,EAAA,CAAA,GAAA,EEqKR,OFrKQ,CEqKA,CFrKA,CAAA,EAAA,GEqKO,CFrKP,EAAA,GAAA,EAAA,CAAA,GAAA,EEsKP,OFtKO,CEsKC,CFtKD,CAAA,EAAA,GEsKQ,CFtKR,EAAA,GAAA,EAAA,CAAA,GAAA,EEuKP,OFvKO,CEuKC,CFvKD,CAAA,EAAA,GEuKQ,CFvKR,EAAA,GAAA,EAAA,CAAA,GAAA,EEwKP,OFxKO,CEwKC,CFxKD,CAAA,EAAA,GEwKQ,CFxKR,EAAA,GAAA,EAAA,CAAA,GAAA,EEyKP,OFzKO,CEyKC,CFzKD,CAAA,EAAA,GEyKQ,CFzKR,CAAA,EE0KjB,UF1KiB,CAAA,CAAuC,OE4KhD,EF5KgD,EAAM,OE6KtD,EF7KsD,EAAqB,OE8K3E,EF9K2E,EAAjB,OE+K1D,EF/K0D,EAAQ,OEgLlE,EFhLkE,EAE7D,OE+KL,EF/KS,EACJ,OE+KL,EF/KK,EAAM,OEgLX,EFhLW,EACF,OEgLT,EFhLS,EAAR,OEiLD,GFjLC,EAAe,OEkLhB,GFlLgB,EACP,OEkLT,GFlLS,EAAW,OEmLpB,GFnLoB,CAA5B,EEqLD,CFrLC,CAAA;AAAQ,iBEwLK,IFxLL,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EEyLJ,CFzLI,EAAA,EAAA,EAAA,CAAA,GAAA,EE0LC,CF1LD,EAAA,GE0LO,CF1LP,EAAA,EAAA,EAAA,CAAA,GAAA,EE2LC,OF3LD,CE2LS,CF3LT,CAAA,EAAA,GE2LgB,CF3LhB,EAAA,EAAA,EAAA,CAAA,GAAA,EE4LC,OF5LD,CE4LS,CF5LT,CAAA,EAAA,GE4LgB,CF5LhB,EAAA,EAAA,EAAA,CAAA,GAAA,EE6LC,OF7LD,CE6LS,CF7LT,CAAA,EAAA,GE6LgB,CF7LhB,EAAA,EAAA,EAAA,CAAA,GAAA,EE8LC,OF9LD,CE8LS,CF9LT,CAAA,EAAA,GE8LgB,CF9LhB,EAAA,EAAA,EAAA,CAAA,GAAA,EE+LC,OF/LD,CE+LS,CF/LT,CAAA,EAAA,GE+LgB,CF/LhB,EAAA,EAAA,EAAA,CAAA,GAAA,EEgMC,OFhMD,CEgMS,CFhMT,CAAA,EAAA,GEgMgB,CFhMhB,EAAA,EAAA,EAAA,CAAA,GAAA,EEiMC,OFjMD,CEiMS,CFjMT,CAAA,EAAA,GEiMgB,CFjMhB,EAAA,EAAA,EAAA,CAAA,GAAA,EEkMC,OFlMD,CEkMS,CFlMT,CAAA,EAAA,GEkMgB,CFlMhB,EAAA,GAAA,EAAA,CAAA,GAAA,EEmME,OFnMF,CEmMU,CFnMV,CAAA,EAAA,GEmMiB,CFnMjB,EAAA,GAAA,EAAA,CAAA,GAAA,EEoME,OFpMF,CEoMU,CFpMV,CAAA,EAAA,GEoMiB,CFpMjB,EAAA,GAAA,EAAA,CAAA,GAAA,EEqME,OFrMF,CEqMU,CFrMV,CAAA,EAAA,GEqMiB,CFrMjB,EAAA,GAAA,EAAA,CAAA,GAAA,EEsME,OFtMF,CEsMU,CFtMV,CAAA,EAAA,GEsMiB,CFtMjB,EAAA,GAAA,EAAA,CAAA,GAAA,EEuME,OFvMF,CEuMU,CFvMV,CAAA,EAAA,GEuMiB,CFvMjB,CAAA,EEwMR,UFxMQ,CAAA,CAEK,OEwML,EFxMS,EACJ,OEwML,EFxMK,EAAM,OEyMX,EFzMW,EACF,OEyMT,EFzMS,EAAR,OE0MD,EF1MC,EAAe,OE2MhB,EF3MgB,EACP,OE2MT,EF3MS,EAAR,OE4MD,EF5MC,EAAe,OE6MhB,EF7MgB,EACP,OE6MT,GF7MS,EAAW,OE8MpB,GF9MoB,EAAW,OE+M/B,GF/M+B,EAAvC,OEgNQ,GFhNR,EAAQ,OEiNA,GFjNA,CAEX,EEiNE,CFjNc,CAAA;AACA,iBEmNA,IFnNA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EEoNT,CFpNS,EAAA,EAAA,EAAA,CAAA,GAAA,EEqNJ,CFrNI,EAAA,GEqNE,CFrNF,EAAA,EAAA,EAAA,CAAA,GAAA,EEsNJ,OFtNI,CEsNI,CFtNJ,CAAA,EAAA,GEsNW,CFtNX,EAAA,EAAA,EAAA,CAAA,GAAA,EEuNJ,OFvNI,CEuNI,CFvNJ,CAAA,EAAA,GEuNW,CFvNX,EAAA,EAAA,EAAA,CAAA,GAAA,EEwNJ,OFxNI,CEwNI,CFxNJ,CAAA,EAAA,GEwNW,CFxNX,EAAA,EAAA,EAAA,CAAA,GAAA,EEyNJ,OFzNI,CEyNI,CFzNJ,CAAA,EAAA,GEyNW,CFzNX,EAAA,EAAA,EAAA,CAAA,GAAA,EE0NJ,OF1NI,CE0NI,CF1NJ,CAAA,EAAA,GE0NW,CF1NX,EAAA,EAAA,EAAA,CAAA,GAAA,EE2NJ,OF3NI,CE2NI,CF3NJ,CAAA,EAAA,GE2NW,CF3NX,EAAA,EAAA,EAAA,CAAA,GAAA,EE4NJ,OF5NI,CE4NI,CF5NJ,CAAA,EAAA,GE4NW,CF5NX,EAAA,EAAA,EAAA,CAAA,GAAA,EE6NJ,OF7NI,CE6NI,CF7NJ,CAAA,EAAA,GE6NW,CF7NX,EAAA,GAAA,EAAA,CAAA,GAAA,EE8NH,OF9NG,CE8NK,CF9NL,CAAA,EAAA,GE8NY,CF9NZ,EAAA,GAAA,EAAA,CAAA,GAAA,EE+NH,OF/NG,CE+NK,CF/NL,CAAA,EAAA,GE+NY,CF/NZ,EAAA,GAAA,EAAA,CAAA,GAAA,EEgOH,OFhOG,CEgOK,CFhOL,CAAA,EAAA,GEgOY,CFhOZ,EAAA,GAAA,EAAA,CAAA,GAAA,EEiOH,OFjOG,CEiOK,CFjOL,CAAA,EAAA,GEiOY,CFjOZ,EAAA,GAAA,EAAA,CAAA,GAAA,EEkOH,OFlOG,CEkOK,CFlOL,CAAA,EAAA,GEkOY,CFlOZ,EAAA,GAAA,EAAA,CAAA,GAAA,EEmOH,OFnOG,CEmOK,CFnOL,CAAA,EAAA,GEmOY,CFnOZ,CAAA,EEoOb,UFpOa,CAAA,CAAM,OEsOX,EFtOW,EACF,OEsOT,EFtOS,EAAR,OEuOD,EFvOC,EAAe,OEwOhB,EFxOgB,EACP,OEwOT,EFxOS,EAAR,OEyOD,EFzOC,EAAe,OE0OhB,EF1OgB,EACP,OE0OT,EF1OS,EAAR,OE2OD,EF3OC,EAAe,OE4OhB,GF5OgB,EACP,OE4OT,GF5OS,EAAW,OE6OpB,GF7OoB,EAAW,OE8O/B,GF9O+B,EAAW,OE+O1C,GF/O0C,EAAlD,OEgPQ,GFhPR,CAAQ,EEkPT,CFlPS,CAAA"}
@@ -0,0 +1,108 @@
1
+ import { f as RunnableFx, m as SyncFx, t as AsyncFx } from "./fx.types-DeEWEltG.mjs";
2
+ import { t as ServiceClass } from "./service-DrXU7KJG.mjs";
3
+ import { t as Context } from "./context-r8ESJiFn.mjs";
4
+ import { n as Layer } from "./layer.types-DgpCIsk_.mjs";
5
+
6
+ //#region src/provide/provide.d.ts
7
+ declare namespace provide_d_exports {
8
+ export { context, layer, service };
9
+ }
10
+ /**
11
+ * Extract the value type from an Fx.
12
+ */
13
+ type FxValueType<F> = F extends RunnableFx<infer A, unknown, unknown> ? A : never;
14
+ /**
15
+ * Extract the error type from an Fx.
16
+ */
17
+ type FxErrorType<F> = F extends RunnableFx<unknown, infer E, unknown> ? E : never;
18
+ /**
19
+ * Type for the result of provide based on layer sync and fx type.
20
+ * Uses infer to extract A and E from the actual Fx type.
21
+ * - Sync layer + SyncFx → SyncFx
22
+ * - Sync layer + AsyncFx → AsyncFx
23
+ * - Async layer + any fx → AsyncFx
24
+ * - Unknown sync layer + any fx → RunnableFx (fallback)
25
+ */
26
+ type ProvideResult<E2, LayerSync extends boolean, Fx extends RunnableFx<unknown, unknown, unknown>> = LayerSync extends true ? Fx["_tag"] extends "SyncFx" ? SyncFx<FxValueType<Fx>, FxErrorType<Fx> | E2> : AsyncFx<FxValueType<Fx>, FxErrorType<Fx> | E2> : LayerSync extends false ? AsyncFx<FxValueType<Fx>, FxErrorType<Fx> | E2> : RunnableFx<FxValueType<Fx>, FxErrorType<Fx> | E2>;
27
+ /**
28
+ * Provide a layer to an Fx computation, resolving all service requirements.
29
+ * Creates a new scope for resource management.
30
+ *
31
+ * Type preservation:
32
+ * - Sync layer + SyncFx → SyncFx
33
+ * - Sync layer + AsyncFx → AsyncFx
34
+ * - Async layer + any fx → AsyncFx
35
+ * - Unknown sync layer + any fx → RunnableFx (fallback)
36
+ *
37
+ * @param layer - The layer providing services (must have no external requirements)
38
+ * @returns A function that takes an Fx and returns an Fx with dependencies resolved
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * import { Provide } from "@nicolastoulemont/std"
43
+ *
44
+ * import { Fx, Layer, Service } from "@nicolastoulemont/std"
45
+ *
46
+ * const Port = Service.tag<number>("Port")
47
+ * const portLayer = Layer.ok(Port, 3000)
48
+ * const readPort = Fx.gen(function* () {
49
+ * return yield* Port
50
+ * })
51
+ * const provided = Provide.layer(portLayer)(readPort)
52
+ * // => Fx with Port dependency resolved
53
+ * ```
54
+ *
55
+ * @category Utilities
56
+ */
57
+ declare function layer<ROut, E2, LayerSync extends boolean>(layer: Layer<ROut, E2, never, LayerSync>): <Fx extends RunnableFx<unknown, unknown, ROut>>(fx: Fx) => ProvideResult<E2, LayerSync, Fx>;
58
+ /**
59
+ * Provide a context directly to an Fx computation.
60
+ *
61
+ * @param ctx - The context containing services
62
+ * @returns A function that takes an Fx and returns an Fx with dependencies resolved
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * import { Provide } from "@nicolastoulemont/std"
67
+ *
68
+ * import { Context, Fx, Service } from "@nicolastoulemont/std"
69
+ *
70
+ * const Port = Service.tag<number>("Port")
71
+ * const ctx = Context.make(Port, 3000)
72
+ * const readPort = Fx.gen(function* () {
73
+ * return yield* Port
74
+ * })
75
+ * const provided = Provide.context(ctx)(readPort)
76
+ * // => Fx runnable without Port requirement
77
+ * ```
78
+ *
79
+ * @category Utilities
80
+ */
81
+ declare const context: <R>(ctx: Context<R>) => <A, E>(fx: RunnableFx<A, E, R>) => RunnableFx<A, E>;
82
+ /**
83
+ * Provide a single service to an Fx computation.
84
+ *
85
+ * @param service - The service class (tag)
86
+ * @param impl - The service implementation
87
+ * @returns A function that takes an Fx and returns an Fx with the service provided
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * import { Provide } from "@nicolastoulemont/std"
92
+ *
93
+ * import { Fx, Service } from "@nicolastoulemont/std"
94
+ *
95
+ * const Port = Service.tag<number>("Port")
96
+ * const readPort = Fx.gen(function* () {
97
+ * return yield* Port
98
+ * })
99
+ * const provided = Provide.service(Port, 3000)(readPort)
100
+ * // => Fx runnable without Port requirement
101
+ * ```
102
+ *
103
+ * @category Utilities
104
+ */
105
+ declare const service: <S>(service: ServiceClass<S>, impl: S) => <A, E, R>(fx: RunnableFx<A, E, R | S>) => RunnableFx<A, E, Exclude<R, S>>;
106
+ //#endregion
107
+ export { provide_d_exports as t };
108
+ //# sourceMappingURL=index-BiiE8NS7.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BiiE8NS7.d.mts","names":[],"sources":["../src/provide/provide.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAoBK,iBAAiB,UAAU;;;;KAK3B,iBAAiB,UAAU;AAlBsB;AAaZ;AAKA;;;;;;KAUrC,aAMqC,CAAA,EAAA,EAAA,kBAAA,OAAA,EAAA,WAH7B,UAG6B,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA,GAFtC,SAEsC,SAAA,IAAA,GADtC,EACsC,CAAA,MAAA,CAAA,SAAA,QAAA,GAApC,MAAoC,CAA7B,WAA6B,CAAjB,EAAiB,CAAA,EAAZ,WAAY,CAAA,EAAA,CAAA,GAAM,EAAN,CAAA,GACpC,OADoC,CAC5B,WAD4B,CAChB,EADgB,CAAA,EACX,WADW,CACC,EADD,CAAA,GACO,EADP,CAAA,GAEtC,SAFsC,SAAA,KAAA,GAGpC,OAHoC,CAG5B,WAH4B,CAGhB,EAHgB,CAAA,EAGX,WAHW,CAGC,EAHD,CAAA,GAGO,EAHP,CAAA,GAIpC,UAJoC,CAIzB,WAJyB,CAIb,EAJa,CAAA,EAIR,WAJQ,CAII,EAJJ,CAAA,GAIU,EAJV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AAoC1C;;;;;;;AAEuD,iBAFvC,KAEuC,CAAA,IAAA,EAAA,EAAA,EAAA,kBAAA,OAAA,CAAA,CAAA,KAAA,EAD9C,KAC8C,CADxC,IACwC,EADlC,EACkC,EAAA,KAAA,EADvB,SACuB,CAAA,CAAA,EAAA,CAAA,WAAxC,UAAwC,CAAA,OAAA,EAAA,OAAA,EAAX,IAAW,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,GAAO,aAAP,CAAqB,EAArB,EAAyB,SAAzB,EAAoC,EAApC,CAAA;;;;;;AA4KvD;;;;;;;;;;;AAiGA;;;;;;;AAEqC,cAnGxB,OAmGwB,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAlG1B,OAkG0B,CAlGlB,CAkGkB,CAAA,EAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAjGxB,UAiGwB,CAjGb,CAiGa,EAjGV,CAiGU,EAjGP,CAiGO,CAAA,EAAA,GAjGF,UAiGE,CAjGS,CAiGT,EAjGY,CAiGZ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;cAFxB,sBACE,aAAa,UAAU,oBACtB,WAAW,GAAG,GAAG,IAAI,OAAK,WAAW,GAAG,GAAG,QAAQ,GAAG"}