@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-a4MEBZZ1.d.mts","names":[],"sources":["../src/shared/unify.types.ts","../src/fx/exit.ts","../src/fx/fx.ts","../src/fx/service.ts","../src/fx/context.ts","../src/fx/scope.ts","../src/fx/memo-map.ts","../src/fx/layer.types.ts","../src/fx/layer.ts","../src/fx/provide.ts"],"sourcesContent":[],"mappings":"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AAJ;;;;;;;ADpBjC;;;;iBEqBS,KFrBoD,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EEqBpC,MFrBoC,CEqB7B,GFrB6B,EEqB1B,GFrB0B,CAAA,CAAA,EEqBrB,IFrBqB,CEqBhB,GFrBgB,EEqBb,GFrBa,CAAA;;AAK7D;;;;;;;AAKA,iBEqBS,KFrBc,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EEqBE,OFrBF,CEqBU,GFrBV,EEqBa,GFrBb,CAAA,CAAA,EEqBkB,OFrBlB,CEqB0B,IFrB1B,CEqB+B,GFrB/B,EEqBkC,GFrBlC,CAAA,CAAA;;;;;;iBE4Bd,KF5BmE,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EE4BnD,UF5BmD,CE4BxC,GF5BwC,EE4BrC,GF5BqC,CAAA,CAAA,EE4BhC,IF5BgC,CE4B3B,GF5B2B,EE4BxB,GF5BwB,CAAA,GE4BnB,OF5BmB,CE4BX,IF5BW,CE4BN,GF5BM,EE4BH,GF5BG,CAAA,CAAA;AAK5E;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AAsBA;;;iBC+HS,KD/H4B,CAAA,gBC+HN,ID/HM,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,GAAA,CAAA,CAAA,WAAA,EAAA,GAAA,GCgIhB,SDhIgB,CCgIN,ODhIM,ECgIG,GDhIH,EAAA,OAAA,CAAA,CAAA,ECiIlC,MDjIkC,CCiI3B,GDjI2B,ECiIxB,ODjIwB,CCiIhB,ODjIgB,CAAA,ECiIN,cDjIM,CCiIS,ODjIT,CAAA,CAAA;;;;AAmBkD;;;;;;;AAiGvF;;;;;;;;;;;iBCoCS,KD5HyC,CAAA,gBC4HnB,ID5HmB,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,GAAA,CAAA,CAAA,WAAA,EAAA,GAAA,GC6H7B,cD7H6B,CC6Hd,OD7Hc,EC6HL,GD7HK,EAAA,OAAA,CAAA,CAAA,EC8H/C,OD9H+C,CC8HvC,GD9HuC,EC8HpC,OD9HoC,CC8H5B,OD9H4B,CAAA,EC8HlB,cD9HkB,CC8HH,OD9HG,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;iBCqJzC,KDtGa,CAAA,UAAA,CAAA,OA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CAAA,CAAA,CAAA,CAAA,OAAA,EQmGU,YRnGV,CQmGuB,CRnGvB,CAAA,CAAA,EAAA;EAAO,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EQoGjB,MRpGiB,CQoGV,CRpGU,EQoGP,GRpGO,EQoGJ,GRpGI,GQoGA,YRpGA,CAAA,CAAA,EQoGgB,ORpGhB,CQoG0B,CRpG1B,EQoG6B,GRpG7B,EQoGgC,YRpGhC,CQoG6C,GRpG7C,CAAA,EAAA,IAAA,CAAA;EAAY,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EQqG7B,ORrG6B,CQqGrB,CRrGqB,EQqGlB,GRrGkB,EQqGf,GRrGe,GQqGX,YRrGW,CAAA,CAAA,EQqGK,ORrGL,CQqGe,CRrGf,EQqGkB,GRrGlB,EQqGqB,YRrGrB,CQqGkC,GRrGlC,CAAA,EAAA,KAAA,CAAA;EAAmC,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EQsGhE,URtGgE,CQsGrD,CRtGqD,EQsGlD,GRtGkD,EQsG/C,GRtG+C,GQsG3C,YRtG2C,CAAA,CAAA,EQsG3B,ORtG2B,CQsGjB,CRtGiB,EQsGd,GRtGc,EQsGX,YRtGW,CQsGE,GRtGF,CAAA,CAAA;CAAG;;;AAKhF;;iBQ0KS,YR1K6B,CAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,iBAAA,OAAA,CAAA,CAAA,IAAA,EQ2K9B,OR3K8B,CQ2KpB,QR3KoB,EQ2KV,KR3KU,EQ2KH,OR3KG,EQ2KM,QR3KN,CAAA,CAAA,EAAA;EAAoC,CAAA,IAAA,EAAA,GAAA,EAAA,YQ6KlD,QR7KkD,EAAA,kBAAA,OAAA,CAAA,CAAA,KAAA,EQ8K/D,OR9K+D,CQ8KrD,IR9KqD,EQ8K/C,GR9K+C,EQ8K5C,GR9K4C,EQ8KvC,SR9KuC,CAAA,CAAA,EQ+KrE,OR/KqE,CQ+K3D,IR/K2D,GQ+KpD,QR/KoD,EQ+K1C,GR/K0C,GQ+KtC,KR/KsC,EQ+K/B,OR/K+B,EQ+KtB,SR/KsB,SAAA,IAAA,GQ+KG,QR/KH,GAAA,KAAA,CAAA;CAAG;;;;AAK7E;iBQ6RS,UR7Re,CAAA,YQ6RM,OR7RN,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,GAAA,MAAA,EQ8RX,GR9RW,CAAA,EQ+RrB,OR/RqB,CQ+RX,SR/RW,CQ+RD,GR/RC,CAAA,EQ+RG,UR/RH,CQ+Rc,GR/Rd,CAAA,EQ+RkB,cR/RlB,CQ+RiC,GR/RjC,CAAA,EQ+RqC,OR/RrC,CQ+R6C,GR/R7C,CAAA,CAAA;AAAY,cQyYvB,KRzYuB,EAAA;EACpB,SAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EQpBa,YRoBb,CQpB0B,CRoB1B,CAAA,EAAA,IAAA,EQpBoC,CRoBpC,EAAA,GQpBwC,ORoBxC,CQpBkD,CRoBlD,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,CAAA;EAAZ,SAAA,GAAA,EAAA,CAAA,GAAA,CAAA,CAAA,KAAA,EQGwB,GRHxB,EAAA,GQG4B,ORH5B,CAAA,KAAA,EQG6C,GRH7C,EAAA,KAAA,EAAA,IAAA,CAAA;EACC,SAAA,EAAA,EAAA,cAAA;EAAY,SAAA,MAAA,EAAA,kBAAA;EACC,SAAA,OAAA,EAAA,mBAAA;EAAZ,SAAA,KAAA,EAAA,iBAAA;CACC;;;;;AAxBP;KSQK,WTRyB,CAAA,CAAA,CAAA,GSQR,CTRQ,SSQE,UTRF,CAAA,KAAA,EAAA,EAAA,OAAA,EAAA,OAAA,CAAA,GAAA,CAAA,GAAA,KAAA;;;;KSazB,WTb8D,CAAA,CAAA,CAAA,GSa7C,CTb6C,SSanC,UTbmC,CAAA,OAAA,EAAA,KAAA,EAAA,EAAA,OAAA,CAAA,GAAA,CAAA,GAAA,KAAA;AAKnE;;;;;;;AAKA;KSaK,aTbyB,CAAA,EAAA,EAAA,kBAAA,OAAA,EAAA,aSgBjB,UThBiB,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA,GSiB1B,STjB0B,SAAA,IAAA,GSkB1B,ITlB0B,CAAA,MAAA,CAAA,SAAA,QAAA,GSmBxB,MTnBwB,CSmBjB,WTnBiB,CSmBL,ITnBK,CAAA,ESmBA,WTnBA,CSmBY,ITnBZ,CAAA,GSmBkB,ETnBlB,CAAA,GSoBxB,OTpBwB,CSoBhB,WTpBgB,CSoBJ,ITpBI,CAAA,ESoBC,WTpBD,CSoBa,ITpBb,CAAA,GSoBmB,ETpBnB,CAAA,GSqB1B,STrB0B,SAAA,KAAA,GSsBxB,OTtBwB,CSsBhB,WTtBgB,CSsBJ,ITtBI,CAAA,ESsBC,WTtBD,CSsBa,ITtBb,CAAA,GSsBmB,ETtBnB,CAAA,GSuBxB,UTvBwB,CSuBb,WTvBa,CSuBD,ITvBC,CAAA,ESuBI,WTvBJ,CSuBgB,ITvBhB,CAAA,GSuBsB,ETvBtB,CAAA;;;;;;AAK9B;;;;;;;;AAKA;;;;;;;;AAGM,iBSiCU,OTjCV,CAAA,IAAA,EAAA,EAAA,EAAA,kBAAA,OAAA,CAAA,CAAA,KAAA,ESkCG,OTlCH,CSkCS,ITlCT,ESkCe,ETlCf,EAAA,KAAA,ESkC0B,STlC1B,CAAA,CAAA,EAAA,CAAA,aSmCS,UTnCT,CAAA,OAAA,EAAA,OAAA,ESmCsC,ITnCtC,CAAA,CAAA,CAAA,EAAA,ESmCiD,ITnCjD,EAAA,GSmCwD,aTnCxD,CSmCsE,ETnCtE,ESmC0E,STnC1E,ESmCqF,ITnCrF,CAAA;;;;;;;;;;;;;;ACzBN;AAsBA;AAA4B,cQ0Mf,cR1Me,EAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EQ2MjB,OR3MiB,CQ2MT,GR3MS,CAAA,EAAA,GAAA,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EQ4Mf,UR5Me,CQ4MJ,GR5MI,EQ4MD,GR5MC,EQ4ME,GR5MF,CAAA,EAAA,GQ4MO,UR5MP,CQ4MkB,GR5MlB,EQ4MqB,GR5MrB,CAAA;;;;;;AAmB2D;;;;;;;AAiGvF;;;;AAtG8B,cQsRjB,cRtRiB,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EQuRf,YRvRe,CQuRF,CRvRE,CAAA,EAAA,IAAA,EQuRQ,CRvRR,EAAA,GAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,CAAA,EAAA,EQwRd,URxRc,CQwRH,GRxRG,EQwRA,GRxRA,EQwRG,GRxRH,GQwRO,CRxRP,CAAA,EAAA,GQwRY,URxRZ,CQwRuB,GRxRvB,EQwR0B,GRxR1B,EQwR6B,ORxR7B,CQwRqC,GRxRrC,EQwRwC,CRxRxC,CAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-jeC5jyRh.d.mts","names":[],"sources":["../src/brand/brand.types.ts","../src/brand/brand.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAYA,cARc,WAQG,EAAA,OACL,MAAA;AAqBZ;;;;;AAQA;AAAyB,KA9Bb,OA8Ba,CAAA,UAAA,MAAA,CAAA,GAAA;EAAU,UA7BvB,WAAA,CA6BuB,EA7BT,CA6BS;CAA+B;;AAOlE;AAQA;AASA;;;;;AAQA;;;;AC3CA;;;;;;AAoBa,KDjBD,OCmBX,CAAA,CAAA,EAAA,UAAA,MAAA,CAAA,GDnB0C,CCmB1C,GDnB8C,OCmB9C,CDnBoD,CCmBpD,CAAA;;;;;;AAwBD;AAA6D,KDnCjD,OCmCiD,CAAA,CAAA,CAAA,GDnCpC,CCmCoC,SDnC1B,OCmC0B,CAAA,KAAA,EAAA,EAAA,MAAA,CAAA,GAAA,CAAA,GDnCK,CCmCL;;;;;;AAAoC,KD5BrF,QC4BqF,CAAA,CAAA,CAAA,GD5BvE,CC4BuE,SD5B7D,OC4B6D,CAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GAAA,KAAA;AA8CjG;;;;;;AAEmC,KDpEvB,SCoEuB,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,EDpEA,CCoEA,EAAA,GAAA,OAAA;;;;;;;;AACE,KD5DzB,eC4DyB,CAAA,CAAA,EAAA,UD5DI,CC4DJ,CAAA,GAAA,CAAA,KAAA,ED5DiB,CC4DjB,EAAA,GAAA,KAAA,ID5DgC,CC4DhC;AAmCrC;;;;;;AA9G8E,KDuBlE,UCvBkE,CAAA,IAAA,OAAA,CAAA,GAAA;EAAR,SAAA,IAAA,EAAA,YAAA;EAAa,SAAA,KAAA,EDyBjE,CCzBiE;EA0BtB,SAAA,OAAA,EAAA,MAAA;CAAV;;;;;ADjEnD;AAsBA;;;;;AAQA;;;;;AAOA;AAQA;AASA;;;;;AAQA;;;;AC3CA;AAA+B,cAAlB,IAAkB,EAAA,CAAA,UAAA,OAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,EAAiC,OAAjC,CAAyC,CAAzC,CAAA,EAAA,GAA8C,CAA9C;;;;;AAoB/B;;;;;;AA0BA;;;;;;AAA0F,cA1B7E,UA0B6E,EAAA,CAAA,UA1BrD,OA0BqD,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,EA1BpB,OA0BoB,CA1BZ,CA0BY,CAAA,EAAA,GA1BP,CA0BO;;AA8C1F;;;;;;;;;;;;;;;AAsCA;;;;;;AA9G8E,cA0BjE,EA1BiE,EAAA,CAAA,CAAA,EAAA,UAAA,MAAA,CAAA,CAAA,SAAA,EA0B3B,SA1B2B,CA0BjB,CA1BiB,CAAA,EAAA,GAAA,CAAA,CAAA,KAAA,EA0BH,CA1BG,EAAA,GAAA,KAAA,IA0BY,OA1BZ,CA0BoB,CA1BpB,EA0BuB,CA1BvB,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwEjE,mBAAoB,qCACpB,UAAU,QAAQ,sCACI,QAAQ,4BAC/B,QAAQ,OAAO,OAAW,GAAG,WAAW,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;cAmC/C;4BAlIkB,iCAAiC,QAAQ,OAAK;kCAoBxC,iCAAiC,QAAQ,OAAK;gDA0BhC,UAAU,gBAAc,eAAe,QAAQ,GAAG;8BA8CpE,qCACpB,UAAU,QAAQ,sCACI,QAAQ,4BAC/B,QAAQ,OAAO,OAAW,GAAG,WAAW,QAAQ"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./chunk-DAexk1S7.mjs";import{t}from"./fx.types-CDVjDn_3.mjs";import{n,t as r}from"./pipeable-BA0mXhs4.mjs";import{n as i}from"./flow-CYjiodlC.mjs";var a=class extends Error{_tag=`NoSuchElementError`;[t]={_A:()=>void 0,_E:()=>this,_R:()=>void 0};constructor(){super(`Option is None - no element present`),this.name=`NoSuchElementError`}},o=e({Option:()=>C,all:()=>g,filter:()=>h,flatMap:()=>f,fromNullable:()=>x,fromTry:()=>S,isNone:()=>u,isSome:()=>l,map:()=>d,match:()=>y,none:()=>c,orElse:()=>m,some:()=>s,tap:()=>p,unwrapOr:()=>_,unwrapOrElse:()=>v});const s=e=>({_tag:`Some`,value:e,[t]:{_A:()=>e,_E:()=>void 0,_R:()=>void 0},pipe:r,*[Symbol.iterator](){return e}}),c=()=>({_tag:`None`,[t]:{_A:()=>void 0,_E:()=>void 0,_R:()=>void 0},pipe:r,*[Symbol.iterator](){throw yield new a,Error(`Unreachable: Fx.gen should short-circuit on NoSuchElementError`)}}),l=e=>e._tag===`Some`,u=e=>e._tag===`None`,d=n(2,(e,t)=>{if(e._tag===`None`)return e;let n=t(e.value);return i(n)?Promise.resolve(n).then(s):s(n)}),f=n(2,(e,t)=>e._tag===`Some`?t(e.value):e),p=n(2,(e,t)=>{if(e._tag===`None`)return e;let n=t(e.value);return i(n)?Promise.resolve(n).then(()=>e):e}),m=n(2,(e,t)=>e._tag===`Some`?e:t()),h=n(2,(e,t)=>e._tag===`None`||t(e.value)?e:c()),g=e=>{if(Array.isArray(e)){let t=[];for(let n of e){if(n._tag===`None`)return n;t.push(n.value)}return s(t)}let t={};for(let[n,r]of Object.entries(e)){let e=r;if(e._tag===`None`)return r;t[n]=e.value}return s(t)},_=n(2,(e,t)=>e._tag===`Some`?e.value:t),v=n(2,(e,t)=>e._tag===`Some`?e.value:t()),y=n(2,(e,t)=>e._tag===`Some`?t.Some(e.value):t.None()),b=e=>e!=null,x=e=>b(e)?s(e):c(),S=e=>{try{let t=e();return i(t)?Promise.resolve(t).then(s).catch(()=>c()):s(t)}catch{return c()}},C={some:s,none:c,isSome:l,isNone:u,map:d,flatMap:f,tap:p,orElse:m,filter:h,all:g,unwrapOr:_,unwrapOrElse:v,match:y,fromNullable:x,fromTry:S};export{a,s as i,c as n,o as r,x as t};
2
- //# sourceMappingURL=option-DawZC1cE.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"option-DawZC1cE.mjs","names":["values"],"sources":["../src/option/option.types.ts","../src/option/option.ts"],"sourcesContent":["import { FxTypeId } from \"../fx/fx.types\"\nimport type { Fx } from \"../fx/fx.types\"\nimport type { Pipeable } from \"../shared/pipeable\"\n\n/* oxlint-disable no-unsafe-type-assertion -- Option types expose Fx phantom channels through compile-time-only marker fields. */\n\n// ============================================================================\n// NoSuchElementError\n// ============================================================================\n\n/**\n * Error thrown when attempting to access a value from None.\n * Used as the error type when Option is yielded in Fx.gen().\n *\n * When you yield* Option.none() in Fx.gen(), the computation short-circuits\n * with this error, which becomes part of the error union type.\n *\n * Implements Fx protocol so it can be yielded in Fx.gen() directly.\n */\nexport class NoSuchElementError extends Error implements Fx<never, NoSuchElementError> {\n readonly _tag = \"NoSuchElementError\"\n\n readonly [FxTypeId] = {\n _A: () => undefined as never,\n _E: () => this as NoSuchElementError,\n _R: () => undefined as never,\n }\n\n constructor() {\n super(\"Option is None - no element present\")\n this.name = \"NoSuchElementError\"\n }\n}\n\n// ============================================================================\n// Option Variant Types\n// ============================================================================\n\n/**\n * Represents an Option with a value.\n */\nexport type Some<T> = {\n readonly _tag: \"Some\"\n readonly value: T\n}\n\n/**\n * Represents an Option with no value.\n */\ntype None = {\n readonly _tag: \"None\"\n}\n\n// ============================================================================\n// Option Type\n// ============================================================================\n\n/**\n * A discriminated union representing either a value (Some) or absence (None).\n * Uses _tag discriminator for unified API compatibility.\n * Compatible with ts-pattern for exhaustive matching.\n *\n * Implements Fx protocol: Option<T> is Fx<T, NoSuchElementError, never>\n * - Yielding Some in Fx.gen() returns the value\n * - Yielding None in Fx.gen() short-circuits with NoSuchElementError\n *\n * When yielded in a generator, yields NoSuchElementError (which implements Fx)\n * for proper type inference in both gen() and Fx.gen().\n */\nexport type Option<T> = (Some<T> | None) &\n Fx<T, NoSuchElementError> &\n Pipeable & {\n [Symbol.iterator](): Generator<NoSuchElementError, T, unknown>\n }\n\n/**\n * Compute the return type of `fromTry` based on whether fn returns a Promise.\n * - If fn returns Promise<T>, result is Promise<Option<T>>\n * - If fn returns T, result is Option<T>\n */\nexport type FromTryReturn<T> = T extends Promise<infer U> ? Promise<Option<U>> : Option<T>\n\n// ============================================================================\n// All/Combine types\n// ============================================================================\n\n/**\n * Extract the value type from an Option.\n * Uses structural matching to extract the value type from the Some branch.\n */\ntype OptionValue<O> = O extends { readonly _tag: \"Some\"; readonly value: infer T } ? T : never\n\n/**\n * Overloaded all() type with explicit tuple arities for better inference.\n * Provides tuple overloads for 1-6 elements so `as const` is not required.\n */\nexport type OptionAll = {\n // Tuple overloads (1-6 elements)\n <A>(options: readonly [Option<A>]): Option<[A]>\n <A, B>(options: readonly [Option<A>, Option<B>]): Option<[A, B]>\n <A, B, C>(options: readonly [Option<A>, Option<B>, Option<C>]): Option<[A, B, C]>\n <A, B, C, D>(options: readonly [Option<A>, Option<B>, Option<C>, Option<D>]): Option<[A, B, C, D]>\n <A, B, C, D, E>(options: readonly [Option<A>, Option<B>, Option<C>, Option<D>, Option<E>]): Option<[A, B, C, D, E]>\n <A, B, C, D, E, F>(\n options: readonly [Option<A>, Option<B>, Option<C>, Option<D>, Option<E>, Option<F>],\n ): Option<[A, B, C, D, E, F]>\n\n // Array fallback (longer tuples need `as const`)\n <T extends readonly Option<unknown>[]>(options: T): Option<{ -readonly [K in keyof T]: OptionValue<T[K]> }>\n\n // Object form\n <T extends Record<string, Option<unknown>>>(options: T): Option<{ -readonly [K in keyof T]: OptionValue<T[K]> }>\n}\n\n// ============================================================================\n// Function Interfaces for improved pipe inference\n// ============================================================================\n\n/**\n * Interface for flatMap - using method syntax improves generic inference in pipe chains.\n * Supports both data-first and data-last (curried) calling styles via dual().\n * Note: Async overload must come first for proper overload resolution.\n */\nexport type OptionFlatMap = {\n // Data-first overloads (async first)\n <A, B>(option: Option<A>, fn: (value: A) => Promise<Option<B>>): Promise<Option<B>>\n <A, B>(option: Option<A>, fn: (value: A) => Option<B>): Option<B>\n // Data-last overloads (curried for pipe)\n <A, B>(fn: (value: A) => Promise<Option<B>>): (option: Option<A>) => Promise<Option<B>>\n <A, B>(fn: (value: A) => Option<B>): (option: Option<A>) => Option<B>\n}\n\n/**\n * Interface for map function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n * Note: Async overload must come first for proper overload resolution.\n */\nexport type OptionMap = {\n // Data-first overloads (async first)\n <A, B>(option: Option<A>, fn: (value: A) => Promise<B>): Promise<Option<B>>\n <A, B>(option: Option<A>, fn: (value: A) => B): Option<B>\n // Data-last overloads (curried for pipe)\n <A, B>(fn: (value: A) => Promise<B>): (option: Option<A>) => Promise<Option<B>>\n <A, B>(fn: (value: A) => B): (option: Option<A>) => Option<B>\n}\n\n/* oxlint-enable no-unsafe-type-assertion */\n\n/**\n * Interface for tap function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n */\nexport type OptionTap = {\n // Data-first overload\n <A, R>(option: Option<A>, fn: (value: A) => R): R extends Promise<unknown> ? Promise<Option<A>> : Option<A>\n // Data-last overload (curried for pipe)\n <A, R>(fn: (value: A) => R): (option: Option<A>) => R extends Promise<unknown> ? Promise<Option<A>> : Option<A>\n}\n\n/**\n * Interface for orElse function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n * Note: Async overload must come first for proper overload resolution.\n */\nexport type OptionOrElse = {\n // Data-first overloads (async first)\n <A, B>(option: Option<A>, fn: () => Promise<Option<B>>): Promise<Option<A | B>>\n <A, B>(option: Option<A>, fn: () => Option<B>): Option<A | B>\n // Data-last overloads (curried for pipe)\n <A, B>(fn: () => Promise<Option<B>>): (option: Option<A>) => Promise<Option<A | B>>\n <A, B>(fn: () => Option<B>): (option: Option<A>) => Option<A | B>\n}\n\n/**\n * Interface for filter function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n */\nexport type OptionFilter = {\n // Data-first overload\n <A>(option: Option<A>, predicate: (value: A) => boolean): Option<A>\n // Data-last overload (curried for pipe)\n <A>(predicate: (value: A) => boolean): (option: Option<A>) => Option<A>\n}\n\n/**\n * Interface for unwrapOr function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n * Uses NoInfer to prevent type inference from the default value.\n */\nexport type OptionUnwrapOr = {\n // Data-first overload\n <T>(option: Option<T>, defaultValue: NoInfer<T>): T\n // Data-last overload (curried for pipe)\n <T>(defaultValue: NoInfer<T>): (option: Option<T>) => T\n}\n\n/**\n * Interface for unwrapOrElse function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n */\nexport type OptionUnwrapOrElse = {\n // Data-first overload\n <T>(option: Option<T>, fn: () => T): T\n // Data-last overload (curried for pipe)\n <T>(fn: () => T): (option: Option<T>) => T\n}\n\n/**\n * Interface for match function.\n * Supports both data-first and data-last (curried) calling styles via dual().\n */\nexport type OptionMatch = {\n // Data-first overload\n <T, U>(option: Option<T>, handlers: { Some: (value: T) => U; None: () => U }): U\n // Data-last overload (curried for pipe)\n <T, U>(handlers: { Some: (value: T) => U; None: () => U }): (option: Option<T>) => U\n}\n","import { FxTypeId } from \"../fx/fx.types\"\nimport { dual } from \"../shared/dual\"\nimport { isPromise } from \"../shared/is-promise\"\nimport { pipeMethod } from \"../shared/pipeable\"\nimport { NoSuchElementError } from \"./option.types\"\nimport type {\n Option as OptionType,\n OptionAll,\n OptionFlatMap,\n OptionMap,\n OptionMatch,\n OptionTap,\n OptionOrElse,\n OptionFilter,\n OptionUnwrapOr,\n OptionUnwrapOrElse,\n FromTryReturn,\n} from \"./option.types\"\n\n/* oxlint-disable no-unsafe-type-assertion -- Option runtime values carry erased Fx phantom channels that require explicit marker assertions. */\n\n// ============================================================================\n// Constructors\n// ============================================================================\n\n/**\n * Create an Option with a value.\n *\n * @param value - The value to wrap\n * @returns An Option with `_tag: \"Some\"`\n *\n * @example\n * ```ts\n * some(42) // { _tag: \"Some\", value: 42 }\n * ```\n */\nexport const some = <T>(value: T): OptionType<T> => ({\n _tag: \"Some\",\n value,\n [FxTypeId]: {\n _A: () => value,\n _E: () => undefined as never,\n _R: () => undefined as never,\n },\n pipe: pipeMethod,\n // oxlint-disable-next-line require-yield\n *[Symbol.iterator](): Generator<NoSuchElementError, T, unknown> {\n return value\n },\n})\n\n/**\n * Create an Option with no value.\n *\n * @returns An Option with `_tag: \"None\"`\n *\n * @example\n * ```ts\n * none() // { _tag: \"None\" }\n * ```\n */\nexport const none = <T = never>(): OptionType<T> => ({\n _tag: \"None\",\n [FxTypeId]: {\n _A: () => undefined as never,\n _E: () => undefined as unknown as NoSuchElementError,\n _R: () => undefined as never,\n },\n pipe: pipeMethod,\n *[Symbol.iterator](): Generator<NoSuchElementError, never, unknown> {\n yield new NoSuchElementError()\n throw new Error(\"Unreachable: Fx.gen should short-circuit on NoSuchElementError\")\n },\n})\n\n// ============================================================================\n// Type Guards\n// ============================================================================\n\n/**\n * Check if an Option has a value.\n *\n * @param option - The Option to check\n * @returns true if the Option is some\n *\n * @example\n * ```ts\n * const option = some(42)\n * if (isSome(option)) {\n * console.log(option.value) // TypeScript knows value exists\n * }\n * ```\n */\nexport const isSome = <T>(option: OptionType<T>): option is Extract<OptionType<T>, { _tag: \"Some\" }> =>\n option._tag === \"Some\"\n\nexport const isNone = <T>(option: OptionType<T>): option is Extract<OptionType<T>, { _tag: \"None\" }> =>\n option._tag === \"None\"\n\n// ============================================================================\n// Transformations (curried for pipe)\n// ============================================================================\n\n/**\n * Transform the value of an Option.\n * If the Option is none, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `map(option, fn)`\n * - Data-last: `pipe(option, map(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Option<U>\n * - Async fn: returns Promise<Option<U>>\n *\n * @param fn - Function to transform the value\n * @returns A function that takes an Option and returns a new Option\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * map(some(5), n => n * 2) // { _tag: \"Some\", value: 10 }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * some(5),\n * map(n => n * 2)\n * ) // { _tag: \"Some\", value: 10 }\n *\n * // Async usage\n * await pipe(\n * some(userId),\n * map(async id => await fetchName(id))\n * ) // Promise<Option<string>>\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types in curried functions */\nexport const map: OptionMap = dual(2, (option: OptionType<unknown>, fn: (value: unknown) => unknown) => {\n if (option._tag === \"None\") return option as any\n const mapped = fn(option.value)\n if (isPromise(mapped)) {\n return Promise.resolve(mapped).then(some) as any\n }\n return some(mapped) as any\n})\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion */\n\n/**\n * Chain operations that return Options.\n * If the Option is none, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `flatMap(option, fn)`\n * - Data-last: `pipe(option, flatMap(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Option<U>\n * - Async fn: returns Promise<Option<U>>\n *\n * @param fn - Function that takes a value and returns an Option (or Promise<Option>)\n * @returns A function that takes an Option and returns a new Option\n *\n * @example\n * ```ts\n * const findUser = (id: number) =>\n * id > 0 ? some({ id, name: 'Alice' }) : none()\n *\n * // Data-first (direct call)\n * flatMap(some(10), id => findUser(id))\n * // { _tag: \"Some\", value: { id: 10, name: 'Alice' } }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * some(10),\n * flatMap(id => findUser(id))\n * ) // { _tag: \"Some\", value: { id: 10, name: 'Alice' } }\n *\n * // Async usage\n * await pipe(\n * some(userId),\n * flatMap(async id => some(await fetchUser(id)))\n * ) // Promise<Option<User>>\n * ```\n */\n// oxlint-disable-next-line no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types\nexport const flatMap: OptionFlatMap = dual(2, (option: OptionType<unknown>, fn: (value: unknown) => unknown) =>\n option._tag === \"Some\" ? fn(option.value) : option,\n)\n\n/**\n * Perform a side effect on the value without modifying the Option.\n * Useful for debugging, logging, or other side effects in a pipeline.\n * If the Option is none, the function is not called.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `tap(option, fn)`\n * - Data-last: `pipe(option, tap(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Option<T>\n * - Async fn: returns Promise<Option<T>>\n *\n * @param fn - Function to call with the value (return value is ignored)\n * @returns A function that takes an Option and returns the same Option\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * tap(some(42), console.log) // logs 42, returns { _tag: \"Some\", value: 42 }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * some(42),\n * tap(console.log), // logs 42\n * map(n => n * 2)\n * ) // { _tag: \"Some\", value: 84 }\n *\n * // Async usage\n * await pipe(\n * some(42),\n * tap(async v => await logToServer(v)),\n * map(n => n * 2)\n * ) // Promise<Option<84>>\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types in curried functions */\nexport const tap: OptionTap = dual(2, (option: OptionType<unknown>, fn: (value: unknown) => unknown) => {\n if (option._tag === \"None\") return option as any\n const sideEffect = fn(option.value)\n if (isPromise(sideEffect)) {\n return Promise.resolve(sideEffect).then(() => option) as any\n }\n return option as any\n})\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion */\n\n/**\n * Recover from none by providing an alternative Option.\n * If the Option is some, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `orElse(option, fn)`\n * - Data-last: `pipe(option, orElse(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Option<T | U>\n * - Async fn: returns Promise<Option<T | U>>\n *\n * @param fn - Function that returns an alternative Option\n * @returns A function that takes an Option and returns a new Option\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * orElse(none(), () => some(defaultValue))\n * // { _tag: \"Some\", value: defaultValue }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * none(),\n * orElse(() => some(defaultValue))\n * ) // { _tag: \"Some\", value: defaultValue }\n *\n * // Async recovery\n * await pipe(\n * none(),\n * orElse(async () => some(await fetchFromAPI()))\n * ) // Promise<Option<T>>\n *\n * // Chain multiple fallbacks\n * pipe(\n * none(),\n * orElse(() => tryCache()),\n * orElse(() => tryAPI()),\n * orElse(() => some(fallback))\n * )\n * ```\n */\n// oxlint-disable-next-line no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types\nexport const orElse: OptionOrElse = dual(2, (option: OptionType<unknown>, fn: () => unknown) =>\n option._tag === \"Some\" ? option : fn(),\n)\n\n/**\n * Filter an Option based on a predicate.\n * If the predicate returns false, converts to none.\n * If the Option is already none, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `filter(option, predicate)`\n * - Data-last: `pipe(option, filter(predicate))`\n *\n * @param predicate - Function that returns true to keep the value\n * @returns A function that takes an Option and returns a new Option\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * filter(some(5), n => n > 10) // { _tag: \"None\" }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * some(5),\n * filter(n => n > 10)\n * ) // { _tag: \"None\" }\n *\n * pipe(\n * some(15),\n * filter(n => n > 10)\n * ) // { _tag: \"Some\", value: 15 }\n *\n * // With complex validation\n * pipe(\n * some(user),\n * filter(u => u.age >= 18)\n * )\n * ```\n */\nexport const filter: OptionFilter = dual(2, (option: OptionType<unknown>, predicate: (value: unknown) => boolean) => {\n if (option._tag === \"None\") return option\n return predicate(option.value) ? option : none()\n})\n\n// ============================================================================\n// Combinators\n// ============================================================================\n\n/**\n * Combine multiple Options into a single Option.\n * Supports both array and object inputs.\n *\n * - If all Options are some, returns some with all values\n * - If any Option is none, returns none (short-circuits)\n *\n * For arrays of 1-6 elements, tuple types are inferred automatically.\n * For longer arrays, use `as const` to preserve tuple structure.\n *\n * @example\n * ```ts\n * // Array form - tuple types inferred automatically for up to 6 elements\n * const [num, str] = pipe(\n * Option.all([parseNumber(input), parseString(other)]),\n * Option.unwrapOr([0, ''])\n * )\n *\n * // Object form - returns Option<{ user: User, config: Config }>\n * pipe(\n * Option.all({ user: findUser(id), config: loadConfig() }),\n * Option.tap(({ user, config }) => console.log(user.name, config.theme))\n * )\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-member-access, strict-boolean-expressions, no-unsafe-type-assertion, no-unsafe-argument -- Required for handling union types in overloaded function */\nexport const all: OptionAll = (options: any): any => {\n if (Array.isArray(options)) {\n const values: unknown[] = []\n for (const option of options) {\n if (option._tag === \"None\") return option\n values.push(option.value)\n }\n return some(values)\n }\n\n const values: Record<string, unknown> = {}\n for (const [key, option] of Object.entries(options)) {\n const o = option as OptionType<unknown>\n if (o._tag === \"None\") return option\n values[key] = o.value\n }\n return some(values)\n}\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-member-access, strict-boolean-expressions, no-unsafe-type-assertion */\n\n// ============================================================================\n// Extraction\n// ============================================================================\n\n/**\n * Get the value or a default value.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `unwrapOr(option, defaultValue)`\n * - Data-last: `pipe(option, unwrapOr(defaultValue))`\n *\n * Uses NoInfer to prevent type inference from the default value.\n *\n * @param defaultValue - Value to return if the Option is none\n * @returns A function that takes an Option and returns the value or default\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * unwrapOr(some(42), 0) // 42\n * unwrapOr(none(), 0) // 0\n *\n * // Data-last (curried for pipe)\n * pipe(some(42), unwrapOr(0)) // 42\n * pipe(none(), unwrapOr(0)) // 0\n * ```\n */\nexport const unwrapOr: OptionUnwrapOr = dual(\n 2,\n <T>(option: OptionType<T>, defaultValue: NoInfer<T>): T => (option._tag === \"Some\" ? option.value : defaultValue),\n)\n\n/**\n * Get the value or compute a value.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `unwrapOrElse(option, fn)`\n * - Data-last: `pipe(option, unwrapOrElse(fn))`\n *\n * @param fn - Function to compute a value\n * @returns A function that takes an Option and returns the value or computed value\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * unwrapOrElse(none(), () => generateDefault()) // generateDefault()\n *\n * // Data-last (curried for pipe)\n * pipe(\n * none(),\n * unwrapOrElse(() => generateDefault())\n * ) // generateDefault()\n * ```\n */\nexport const unwrapOrElse: OptionUnwrapOrElse = dual(\n 2,\n <T>(option: OptionType<T>, fn: () => T): T => (option._tag === \"Some\" ? option.value : fn()),\n)\n\n/**\n * Pattern match on an Option, handling both some and none cases.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `match(option, { Some: ..., None: ... })`\n * - Data-last: `pipe(option, match({ Some: ..., None: ... }))`\n *\n * @param handlers - Object with `Some` and `None` handlers\n * @returns A function that takes an Option and returns the handler result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * match(some(42), {\n * Some: n => `Got ${n}`,\n * None: () => 'No value'\n * }) // 'Got 42'\n *\n * // Data-last (curried for pipe)\n * pipe(\n * some(42),\n * match({\n * Some: n => `Got ${n}`,\n * None: () => 'No value'\n * })\n * ) // 'Got 42'\n * ```\n */\nexport const match: OptionMatch = dual(\n 2,\n <T, U>(option: OptionType<T>, handlers: { Some: (value: T) => U; None: () => U }): U =>\n option._tag === \"Some\" ? handlers.Some(option.value) : handlers.None(),\n)\n\n// ============================================================================\n// Conversions\n// ============================================================================\n\n/**\n * Convert a nullable value to an Option.\n * `null` and `undefined` become `Option.none()`, other values become `Option.some(value)`.\n * The return type narrows to `Option<NonNullable<T>>`.\n *\n * @param value - The value to convert\n * @returns An Option\n *\n * @example\n * ```ts\n * fromNullable(42) // { _tag: \"Some\", value: 42 }\n * fromNullable(null) // { _tag: \"None\" }\n * fromNullable(undefined) // { _tag: \"None\" }\n *\n * const maybeName = \"Alice\" as string | undefined\n * const option = fromNullable(maybeName) // Option<string>\n * ```\n */\nconst isNonNullable = <T>(value: T): value is NonNullable<T> => value !== null && value !== undefined\n\nexport const fromNullable = <T>(value: T): OptionType<NonNullable<T>> => (isNonNullable(value) ? some(value) : none())\n\n/**\n * Wrap a function that might throw into an Option.\n * Supports both sync and async functions with automatic type inference.\n *\n * - Sync fn: returns Option<T>\n * - Async fn: returns Promise<Option<T>>\n *\n * **Note on `any` return types:** If your function returns `any` (e.g., `JSON.parse`),\n * you should add an explicit return type annotation. This is because TypeScript's\n * conditional types cannot determine if `any` is a Promise or not, resulting in a\n * union type `Promise<Option<unknown>> | Option<any>` that won't work\n * with Option utilities like `isSome` or `isNone`.\n *\n * @param fn - Function that might throw (sync or async)\n * @returns An Option with the return value or none\n *\n * @example\n * ```ts\n * // Sync usage\n * fromTry(() => JSON.parse('{\"valid\": true}'))\n * // { _tag: \"Some\", value: { valid: true } }\n *\n * fromTry(() => JSON.parse('not json'))\n * // { _tag: \"None\" }\n *\n * // When fn returns `any`, add explicit return type:\n * fromTry((): unknown => JSON.parse(input))\n * fromTry((): MyType => JSON.parse(input))\n *\n * // Async usage\n * await fromTry(async () => await fetch('/api/user'))\n * // Promise<Option<Response>>\n *\n * await fromTry(async () => {\n * throw new Error('network error')\n * })\n * // Promise<{ _tag: \"None\" }>\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-type-assertion -- Required for conditional return type */\nexport const fromTry = <T>(fn: () => T): FromTryReturn<T> => {\n try {\n const result = fn()\n if (isPromise(result)) {\n return Promise.resolve(result)\n .then(some)\n .catch(() => none()) as unknown as FromTryReturn<T>\n }\n return some(result) as unknown as FromTryReturn<T>\n } catch {\n return none() as unknown as FromTryReturn<T>\n }\n}\n\n// ============================================================================\n// Namespace\n// ============================================================================\n\n/**\n * Option namespace containing all utility functions for working with Option types.\n *\n * Option represents either the presence (some) or absence (none) of a value.\n * Use this for optional values without needing to track why the value is missing.\n *\n * @see {@link Result} for success/failure with error information\n * @see {@link Either} for two valid outcomes\n *\n * @example\n * ```ts\n * import { Option, pipe } from '@nicolastoulemont/std'\n * import type { Option as OptionType } from '@nicolastoulemont/std'\n *\n * const findUser = (id: number): OptionType<User> =>\n * id > 0 ? Option.some({ id, name: 'Alice' }) : Option.none()\n *\n * const result = pipe(\n * Option.some(10),\n * Option.flatMap(findUser),\n * Option.map(user => user.name),\n * Option.unwrapOr('Unknown')\n * )\n * ```\n */\nexport const Option = {\n some,\n none,\n isSome,\n isNone,\n map,\n flatMap,\n tap,\n orElse,\n filter,\n all,\n unwrapOr,\n unwrapOrElse,\n match,\n fromNullable,\n fromTry,\n} as const\n\n/* oxlint-enable no-unsafe-type-assertion */\n"],"mappings":"sKAmBA,IAAa,EAAb,cAAwC,KAA+C,CACrF,KAAgB,qBAEhB,CAAU,GAAY,CACpB,OAAU,IAAA,GACV,OAAU,KACV,OAAU,IAAA,GACX,CAED,aAAc,CACZ,MAAM,sCAAsC,CAC5C,KAAK,KAAO,gPCMhB,MAAa,EAAW,IAA6B,CACnD,KAAM,OACN,SACC,GAAW,CACV,OAAU,EACV,OAAU,IAAA,GACV,OAAU,IAAA,GACX,CACD,KAAM,EAEN,EAAE,OAAO,WAAuD,CAC9D,OAAO,GAEV,EAYY,OAAwC,CACnD,KAAM,QACL,GAAW,CACV,OAAU,IAAA,GACV,OAAU,IAAA,GACV,OAAU,IAAA,GACX,CACD,KAAM,EACN,EAAE,OAAO,WAA2D,CAElE,MADA,MAAM,IAAI,EACA,MAAM,iEAAiE,EAEpF,EAoBY,EAAa,GACxB,EAAO,OAAS,OAEL,EAAa,GACxB,EAAO,OAAS,OAwCL,EAAiB,EAAK,GAAI,EAA6B,IAAoC,CACtG,GAAI,EAAO,OAAS,OAAQ,OAAO,EACnC,IAAM,EAAS,EAAG,EAAO,MAAM,CAI/B,OAHI,EAAU,EAAO,CACZ,QAAQ,QAAQ,EAAO,CAAC,KAAK,EAAK,CAEpC,EAAK,EAAO,EACnB,CAyCW,EAAyB,EAAK,GAAI,EAA6B,IAC1E,EAAO,OAAS,OAAS,EAAG,EAAO,MAAM,CAAG,EAC7C,CAuCY,EAAiB,EAAK,GAAI,EAA6B,IAAoC,CACtG,GAAI,EAAO,OAAS,OAAQ,OAAO,EACnC,IAAM,EAAa,EAAG,EAAO,MAAM,CAInC,OAHI,EAAU,EAAW,CAChB,QAAQ,QAAQ,EAAW,CAAC,SAAW,EAAO,CAEhD,GACP,CA8CW,EAAuB,EAAK,GAAI,EAA6B,IACxE,EAAO,OAAS,OAAS,EAAS,GAAI,CACvC,CAqCY,EAAuB,EAAK,GAAI,EAA6B,IACpE,EAAO,OAAS,QACb,EAAU,EAAO,MAAM,CADK,EACO,GAAM,CAChD,CAgCW,EAAkB,GAAsB,CACnD,GAAI,MAAM,QAAQ,EAAQ,CAAE,CAC1B,IAAMA,EAAoB,EAAE,CAC5B,IAAK,IAAM,KAAU,EAAS,CAC5B,GAAI,EAAO,OAAS,OAAQ,OAAO,EACnC,EAAO,KAAK,EAAO,MAAM,CAE3B,OAAO,EAAKA,EAAO,CAGrB,IAAM,EAAkC,EAAE,CAC1C,IAAK,GAAM,CAAC,EAAK,KAAW,OAAO,QAAQ,EAAQ,CAAE,CACnD,IAAM,EAAI,EACV,GAAI,EAAE,OAAS,OAAQ,OAAO,EAC9B,EAAO,GAAO,EAAE,MAElB,OAAO,EAAK,EAAO,EA+BR,EAA2B,EACtC,GACI,EAAuB,IAAiC,EAAO,OAAS,OAAS,EAAO,MAAQ,EACrG,CAwBY,EAAmC,EAC9C,GACI,EAAuB,IAAoB,EAAO,OAAS,OAAS,EAAO,MAAQ,GAAI,CAC5F,CA8BY,EAAqB,EAChC,GACO,EAAuB,IAC5B,EAAO,OAAS,OAAS,EAAS,KAAK,EAAO,MAAM,CAAG,EAAS,MAAM,CACzE,CAwBK,EAAoB,GAAsC,GAAU,KAE7D,EAAmB,GAA0C,EAAc,EAAM,CAAG,EAAK,EAAM,CAAG,GAAM,CA0CxG,EAAc,GAAkC,CAC3D,GAAI,CACF,IAAM,EAAS,GAAI,CAMnB,OALI,EAAU,EAAO,CACZ,QAAQ,QAAQ,EAAO,CAC3B,KAAK,EAAK,CACV,UAAY,GAAM,CAAC,CAEjB,EAAK,EAAO,MACb,CACN,OAAO,GAAM,GAiCJ,EAAS,CACpB,OACA,OACA,SACA,SACA,MACA,UACA,MACA,SACA,SACA,MACA,WACA,eACA,QACA,eACA,UACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"option.types-ClJiBTdg.d.mts","names":[],"sources":["../src/option/option.types.ts"],"sourcesContent":[],"mappings":";;;;;;AAmBA;;;;;;;AAsBA;AAQK,cA9BQ,kBAAA,SAA2B,KAAA,YAAiB,EA8BhD,CAAA,KAAA,EA9B0D,kBA8B1D,CAAA,CAAA;EAoBG,SAAM,IAAA,GAAA,oBAAA;EAAY,UA/ClB,QAAA,CA+CkB,EAAA;IAAL,EAAA,EAAA,GAAA,GAAA,KAAA;IAAU,EAAA,EAAA,GAAA,GA7Cb,kBA6Ca;IAC9B,EAAA,EAAA,GAAA,GAAA,KAAA;EAAG,CAAA;EAAN,WAAA,CAAA;;;;;AAEgC,KA/BtB,IA+BsB,CAAA,CAAA,CAAA,GAAA;EAQtB,SAAA,IAAA,EAAA,MAAa;EAAM,SAAA,KAAA,EArCb,CAqCa;CAAU;;;;KA/BpC,IAAA,GA+BmF;EAAP,SAAA,IAAA,EAAA,MAAA;CAAM;AAAG;AAgB1F;;;;;;;;;;;AAGoD,KA9BxC,MA8BwC,CAAA,CAAA,CAAA,GAAA,CA9B3B,IA8B2B,CA9BtB,CA8BsB,CAAA,GA9BjB,IA8BiB,CAAA,GA7BlD,EA6BkD,CA7B/C,CA6B+C,EA7B5C,kBA6B4C,CAAA,GA5BlD,QA4BkD,GAAA;EACd,CAAA,MAAA,CAAA,QAAA,GAAA,EA5Bb,SA4Ba,CA5BH,kBA4BG,EA5BiB,CA4BjB,EAAA,OAAA,CAAA;CAAP;;;;;;AAA8C,KApBjE,aAoBiE,CAAA,CAAA,CAAA,GApB9C,CAoB8C,SApBpC,OAoBoC,CAAA,KAAA,EAAA,CAAA,GApBjB,OAoBiB,CApBT,MAoBS,CApBF,CAoBE,CAAA,CAAA,GApBI,MAoBJ,CApBW,CAoBX,CAAA;;;;;KAVxE,WAW+C,CAAA,CAAA,CAAA,GAX9B,CAW8B,SAAA;EAAP,SAAA,IAAA,EAAA,MAAA;EAAkB,SAAA,KAAA,EAAA,KAAA,EAAA;CAAP,GAAA,CAAA,GAAA,KAAA;;;;;AAAsC,KALlF,SAAA,GAKkF;EAAG,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CAHxE,MAGwE,CAHjE,CAGiE,CAAA,CAAA,CAAA,EAH3D,MAG2D,CAAA,CAHnD,CAGmD,CAAA,CAAA;EAAjB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CAFpD,MAEoD,CAF7C,CAE6C,CAAA,EAFzC,MAEyC,CAFlC,CAEkC,CAAA,CAAA,CAAA,EAF5B,MAE4B,CAAA,CAFpB,CAEoB,EAFjB,CAEiB,CAAA,CAAA;EACpC,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CAFb,MAEa,CAFN,CAEM,CAAA,EAFF,MAEE,CAFK,CAEL,CAAA,EAFS,MAET,CAFgB,CAEhB,CAAA,CAAA,CAAA,EAFsB,MAEtB,CAAA,CAF8B,CAE9B,EAFiC,CAEjC,EAFoC,CAEpC,CAAA,CAAA;EAAP,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CADH,MACG,CADI,CACJ,CAAA,EADQ,MACR,CADe,CACf,CAAA,EADmB,MACnB,CAD0B,CAC1B,CAAA,EAD8B,MAC9B,CADqC,CACrC,CAAA,CAAA,CAAA,EAD2C,MAC3C,CAAA,CADmD,CACnD,EADsD,CACtD,EADyD,CACzD,EAD4D,CAC5D,CAAA,CAAA;EAAkB,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CAAlB,MAAkB,CAAX,CAAW,CAAA,EAAP,MAAO,CAAA,CAAA,CAAA,EAAI,MAAJ,CAAW,CAAX,CAAA,EAAe,MAAf,CAAsB,CAAtB,CAAA,EAA0B,MAA1B,CAAiC,CAAjC,CAAA,CAAA,CAAA,EAAuC,MAAvC,CAAA,CAA+C,CAA/C,EAAkD,CAAlD,EAAqD,CAArD,EAAwD,CAAxD,EAA2D,CAA3D,CAAA,CAAA;EAAP,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CAEzB,MAFyB,CAElB,CAFkB,CAAA,EAEd,MAFc,CAEP,CAFO,CAAA,EAEH,MAFG,CAEI,CAFJ,CAAA,EAEQ,MAFR,CAEe,CAFf,CAAA,EAEmB,MAFnB,CAE0B,CAF1B,CAAA,EAE8B,MAF9B,CAEqC,CAFrC,CAAA,CAAA,CAAA,EAG3C,MAH2C,CAAA,CAGnC,CAHmC,EAGhC,CAHgC,EAG7B,CAH6B,EAG1B,CAH0B,EAGvB,CAHuB,EAGpB,CAHoB,CAAA,CAAA;EAAkB,CAAA,UAAA,SAM5C,MAN4C,CAAA,OAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAMhB,CANgB,CAAA,EAMZ,MANY,CAAA,kBAAP,MAM0B,CAN1B,GAM8B,WAN9B,CAM0C,CAN1C,CAM4C,CAN5C,CAAA,CAAA,EAAkB,CAAA;EAAP,CAAA,UASzD,MATyD,CAAA,MAAA,EAS1C,MAT0C,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EASf,CATe,CAAA,EASX,MATW,CAAA,kBAAkB,MASE,CATF,GASM,WATN,CASkB,CATlB,CASoB,CATpB,CAAA,CAAA,EAAP,CAAA;CAAqB;;;;;;AAExE,KAmBlB,aAAA,GAnBkB;EAAP,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAqBN,MArBM,CAqBC,CArBD,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,EAqBiB,CArBjB,EAAA,GAqBuB,OArBvB,CAqB+B,MArB/B,CAqBsC,CArBtC,CAAA,CAAA,CAAA,EAqB4C,OArB5C,CAqBoD,MArBpD,CAqB2D,CArB3D,CAAA,CAAA;EAAkB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAsBxB,MAtBwB,CAsBjB,CAtBiB,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,EAsBD,CAtBC,EAAA,GAsBK,MAtBL,CAsBY,CAtBZ,CAAA,CAAA,EAsBiB,MAtBjB,CAsBwB,CAtBxB,CAAA;EAAP,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,EAwBb,CAxBa,EAAA,GAwBP,OAxBO,CAwBC,MAxBD,CAwBQ,CAxBR,CAAA,CAAA,CAAA,EAAA,CAAA,MAAA,EAwBuB,MAxBvB,CAwB8B,CAxB9B,CAAA,EAAA,GAwBqC,OAxBrC,CAwB6C,MAxB7C,CAwBoD,CAxBpD,CAAA,CAAA;EAAkB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,EAyB/B,CAzB+B,EAAA,GAyBzB,MAzByB,CAyBlB,CAzBkB,CAAA,CAAA,EAAA,CAAA,MAAA,EAyBJ,MAzBI,CAyBG,CAzBH,CAAA,EAAA,GAyBU,MAzBV,CAyBiB,CAzBjB,CAAA;CAAP;;;;;;AAAiC,KAiClE,SAAA,GAjCkE;EACjE,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAkCI,MAlCJ,CAkCW,CAlCX,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,EAkC2B,CAlC3B,EAAA,GAkCiC,OAlCjC,CAkCyC,CAlCzC,CAAA,CAAA,EAkC8C,OAlC9C,CAkCsD,MAlCtD,CAkC6D,CAlC7D,CAAA,CAAA;EAAG,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAmCC,MAnCD,CAmCQ,CAnCR,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,EAmCwB,CAnCxB,EAAA,GAmC8B,CAnC9B,CAAA,EAmCkC,MAnClC,CAmCyC,CAnCzC,CAAA;EAAG,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,EAqCE,CArCF,EAAA,GAqCQ,OArCR,CAqCgB,CArChB,CAAA,CAAA,EAAA,CAAA,MAAA,EAqC8B,MArC9B,CAqCqC,CArCrC,CAAA,EAAA,GAqC4C,OArC5C,CAqCoD,MArCpD,CAqC2D,CArC3D,CAAA,CAAA;EAAG,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,EAsCD,CAtCC,EAAA,GAsCK,CAtCL,CAAA,EAAA,CAAA,MAAA,EAsCkB,MAtClB,CAsCyB,CAtCzB,CAAA,EAAA,GAsCgC,MAtChC,CAsCuC,CAtCvC,CAAA;CAAG;;;;;AAG4D,KA4CzE,SAAA,GA5CyE;EAAgB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EA8CpF,MA9CoF,CA8C7E,CA9C6E,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,EA8C7D,CA9C6D,EAAA,GA8CvD,CA9CuD,CAAA,EA8CnD,CA9CmD,SA8CzC,OA9CyC,CAAA,OAAA,CAAA,GA8CtB,OA9CsB,CA8Cd,MA9Cc,CA8CP,CA9CO,CAAA,CAAA,GA8CD,MA9CC,CA8CM,CA9CN,CAAA;EAAE,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,EAgDlF,CAhDkF,EAAA,GAgD5E,CAhD4E,CAAA,EAAA,CAAA,MAAA,EAgD/D,MAhD+D,CAgDxD,CAhDwD,CAAA,EAAA,GAgDjD,CAhDiD,SAgDvC,OAhDuC,CAAA,OAAA,CAAA,GAgDpB,OAhDoB,CAgDZ,MAhDY,CAgDL,CAhDK,CAAA,CAAA,GAgDC,MAhDD,CAgDQ,CAhDR,CAAA;CAAd;;;;;;AAGiB,KAqD9F,YAAA,GArD8F;EAAE,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAuD3F,MAvD2F,CAuDpF,CAvDoF,CAAA,EAAA,EAAA,EAAA,GAAA,GAuDtE,OAvDsE,CAuD9D,MAvD8D,CAuDvD,CAvDuD,CAAA,CAAA,CAAA,EAuDjD,OAvDiD,CAuDzC,MAvDyC,CAuDlC,CAvDkC,GAuD9B,CAvD8B,CAAA,CAAA;EAAd,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAwD7E,MAxD6E,CAwDtE,CAxDsE,CAAA,EAAA,EAAA,EAAA,GAAA,GAwDxD,MAxDwD,CAwDjD,CAxDiD,CAAA,CAAA,EAwD5C,MAxD4C,CAwDrC,CAxDqC,GAwDjC,CAxDiC,CAAA;EAAnC,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,GA0DxC,OA1DwC,CA0DhC,MA1DgC,CA0DzB,CA1DyB,CAAA,CAAA,CAAA,EAAA,CAAA,MAAA,EA0DV,MA1DU,CA0DH,CA1DG,CAAA,EAAA,GA0DI,OA1DJ,CA0DY,MA1DZ,CA0DmB,CA1DnB,GA0DuB,CA1DvB,CAAA,CAAA;EAAM,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,GA2D9C,MA3D8C,CA2DvC,CA3DuC,CAAA,CAAA,EAAA,CAAA,MAAA,EA2DzB,MA3DyB,CA2DlB,CA3DkB,CAAA,EAAA,GA2DX,MA3DW,CA2DJ,CA3DI,GA2DA,CA3DA,CAAA;AAYjE,CAAA;;;;;AAEsD,KAoD1C,YAAA,GApD0C;EAAR,CAAA,CAAA,CAAA,CAAA,MAAA,EAsDhC,MAtDgC,CAsDzB,CAtDyB,CAAA,EAAA,SAAA,EAAA,CAAA,KAAA,EAsDF,CAtDE,EAAA,GAAA,OAAA,CAAA,EAsDc,MAtDd,CAsDqB,CAtDrB,CAAA;EAAoC,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,KAAA,EAwDzD,CAxDyD,EAAA,GAAA,OAAA,CAAA,EAAA,CAAA,MAAA,EAwDhC,MAxDgC,CAwDzB,CAxDyB,CAAA,EAAA,GAwDlB,MAxDkB,CAwDX,CAxDW,CAAA;CAAP;;;;;;AAC7B,KA+DlC,cAAA,GA/DkC;EAAmB,CAAA,CAAA,CAAA,CAAA,MAAA,EAiEnD,MAjEmD,CAiE5C,CAjE4C,CAAA,EAAA,YAAA,EAiE1B,OAjE0B,CAiElB,CAjEkB,CAAA,CAAA,EAiEb,CAjEa;EAAP,CAAA,CAAA,CAAA,CAAA,YAAA,EAmEtC,OAnEsC,CAmE9B,CAnE8B,CAAA,CAAA,EAAA,CAAA,MAAA,EAmEhB,MAnEgB,CAmET,CAnES,CAAA,EAAA,GAmEF,CAnEE;CAErC;;;;;AAAoC,KAwE7C,kBAAA,GAxE6C;EAA6B,CAAA,CAAA,CAAA,CAAA,MAAA,EA0ExE,MA1EwE,CA0EjE,CA1EiE,CAAA,EAAA,EAAA,EAAA,GAAA,GA0EnD,CA1EmD,CAAA,EA0E/C,CA1E+C;EAAP,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,GA4E/D,CA5E+D,CAAA,EAAA,CAAA,MAAA,EA4ElD,MA5EkD,CA4E3C,CA5E2C,CAAA,EAAA,GA4EpC,CA5EoC;CAAR;;;;;AACvB,KAkFpC,WAAA,GAlFoC;EAAqB,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA,MAAA,EAoFpD,MApFoD,CAoF7C,CApF6C,CAAA,EAAA,QAAA,EAAA;IAAP,IAAA,EAAA,CAAA,KAAA,EAoFR,CApFQ,EAAA,GAoFF,GApFE;IAAM,IAAA,EAAA,GAAA,GAoFO,GApFP;EAQxD,CAAA,CAAA,EA4EqE,GA5ErE;EAEY,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA,QAAA,EAAA;IAAP,IAAA,EAAA,CAAA,KAAA,EA4EkB,CA5ElB,EAAA,GA4EwB,GA5ExB;IAAuB,IAAA,EAAA,GAAA,GA4EgB,GA5EhB;EAAc,CAAA,CAAA,EAAA,CAAA,MAAA,EA4EiB,MA5EjB,CA4EwB,CA5ExB,CAAA,EAAA,GA4E+B,GA5E/B;CAAR"}
@@ -1,2 +0,0 @@
1
- import { t as pipe } from "../index-DZdmFtjA.mjs";
2
- export { pipe };
@@ -1 +0,0 @@
1
- import{t as e}from"../pipe-BPpJyZf7.mjs";export{e as pipe};
@@ -1,2 +0,0 @@
1
- import{t as e}from"./flow-CYjiodlC.mjs";function t(t,...n){return e(...n)(t)}export{t};
2
- //# sourceMappingURL=pipe-BPpJyZf7.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipe-BPpJyZf7.mjs","names":[],"sources":["../src/pipe/pipe.ts"],"sourcesContent":["import { flow } from \"../flow/flow\"\nimport type { PipeReturn } from \"../pipe/pipe.types\"\nimport type { λ } from \"../shared/lambda.types\"\n\n/**\n * Like `flow` but takes an argument as its first parameter and invokes the pipe\n * with it.\n *\n * Note: unlike in `flow`, the first function of the pipe must take exactly one\n * argument.\n *\n * Type inference: This function provides automatic type inference for chains of\n * 1-15 functions. Each function's parameter type is automatically inferred from\n * the previous function's return type. For chains longer than 15 functions,\n * types must be explicitly specified.\n *\n * Async support: Functions can return Promises. The runtime automatically awaits\n * Promises before passing values to subsequent functions, and parameter types\n * use `Awaited<T>` to reflect this behavior. The final return type will be\n * Promise<T> if any function returns a Promise.\n *\n * @see {@link flow} for point-free function composition (returns a function)\n *\n * @example\n * ```typescript\n * // Type inference in action\n * pipe(\n * 2,\n * (n) => n * 2, // n: number (inferred from initial value)\n * (n) => n + 1, // n: number (inferred from previous return)\n * (n) => n.toString() // n: number (inferred from previous return)\n * ) // -> \"5\"\n *\n * // With type transformations\n * pipe(\n * 5,\n * (n) => n.toString(), // number -> string\n * (s) => s.length, // string -> number (inferred!)\n * (n) => n * 2 // number -> number (inferred!)\n * )\n *\n * // With async functions - Promises are automatically unwrapped\n * await pipe(\n * 5,\n * async (n) => n * 2, // number -> Promise<number>\n * (n) => n.toString(), // n: number (Promise unwrapped!)\n * async (s) => s.length // string -> Promise<number>\n * )\n * ```\n */\n// 1 function\nexport function pipe<A, B>(arg: A, f1: (arg: A) => B): PipeReturn<[typeof f1], A>\n// 2 functions\nexport function pipe<A, B, C>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n): PipeReturn<[typeof f1, typeof f2], A>\n// 3 functions\nexport function pipe<A, B, C, D>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n): PipeReturn<[typeof f1, typeof f2, typeof f3], A>\n// 4 functions\nexport function pipe<A, B, C, D, E>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4], A>\n// 5 functions\nexport function pipe<A, B, C, D, E, F>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5], A>\n// 6 functions\nexport function pipe<A, B, C, D, E, F, G>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6], A>\n// 7 functions\nexport function pipe<A, B, C, D, E, F, G, H>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7], A>\n// 8 functions\nexport function pipe<A, B, C, D, E, F, G, H, I>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8], A>\n// 9 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n): PipeReturn<[typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9], A>\n// 10 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J, K>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n f10: (arg: Awaited<J>) => K,\n): PipeReturn<\n [typeof f1, typeof f2, typeof f3, typeof f4, typeof f5, typeof f6, typeof f7, typeof f8, typeof f9, typeof f10],\n A\n>\n// 11 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J, K, L>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n f10: (arg: Awaited<J>) => K,\n f11: (arg: Awaited<K>) => L,\n): PipeReturn<\n [\n typeof f1,\n typeof f2,\n typeof f3,\n typeof f4,\n typeof f5,\n typeof f6,\n typeof f7,\n typeof f8,\n typeof f9,\n typeof f10,\n typeof f11,\n ],\n A\n>\n// 12 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n f10: (arg: Awaited<J>) => K,\n f11: (arg: Awaited<K>) => L,\n f12: (arg: Awaited<L>) => M,\n): PipeReturn<\n [\n typeof f1,\n typeof f2,\n typeof f3,\n typeof f4,\n typeof f5,\n typeof f6,\n typeof f7,\n typeof f8,\n typeof f9,\n typeof f10,\n typeof f11,\n typeof f12,\n ],\n A\n>\n// 13 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n f10: (arg: Awaited<J>) => K,\n f11: (arg: Awaited<K>) => L,\n f12: (arg: Awaited<L>) => M,\n f13: (arg: Awaited<M>) => N,\n): PipeReturn<\n [\n typeof f1,\n typeof f2,\n typeof f3,\n typeof f4,\n typeof f5,\n typeof f6,\n typeof f7,\n typeof f8,\n typeof f9,\n typeof f10,\n typeof f11,\n typeof f12,\n typeof f13,\n ],\n A\n>\n// 14 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n f10: (arg: Awaited<J>) => K,\n f11: (arg: Awaited<K>) => L,\n f12: (arg: Awaited<L>) => M,\n f13: (arg: Awaited<M>) => N,\n f14: (arg: Awaited<N>) => O,\n): PipeReturn<\n [\n typeof f1,\n typeof f2,\n typeof f3,\n typeof f4,\n typeof f5,\n typeof f6,\n typeof f7,\n typeof f8,\n typeof f9,\n typeof f10,\n typeof f11,\n typeof f12,\n typeof f13,\n typeof f14,\n ],\n A\n>\n// 15 functions\nexport function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(\n arg: A,\n f1: (arg: A) => B,\n f2: (arg: Awaited<B>) => C,\n f3: (arg: Awaited<C>) => D,\n f4: (arg: Awaited<D>) => E,\n f5: (arg: Awaited<E>) => F,\n f6: (arg: Awaited<F>) => G,\n f7: (arg: Awaited<G>) => H,\n f8: (arg: Awaited<H>) => I,\n f9: (arg: Awaited<I>) => J,\n f10: (arg: Awaited<J>) => K,\n f11: (arg: Awaited<K>) => L,\n f12: (arg: Awaited<L>) => M,\n f13: (arg: Awaited<M>) => N,\n f14: (arg: Awaited<N>) => O,\n f15: (arg: Awaited<O>) => P,\n): PipeReturn<\n [\n typeof f1,\n typeof f2,\n typeof f3,\n typeof f4,\n typeof f5,\n typeof f6,\n typeof f7,\n typeof f8,\n typeof f9,\n typeof f10,\n typeof f11,\n typeof f12,\n typeof f13,\n typeof f14,\n typeof f15,\n ],\n A\n>\n// Implementation signature (fallback for 16+ functions)\n// oxlint-disable-next-line no-explicit-any\nexport function pipe<A, Fns extends [(arg: A) => any, ...λ[]]>(arg: A, ...fns: Fns): PipeReturn<Fns, A> {\n // @ts-expect-error - we want to use the any type here\n // oxlint-disable-next-line no-explicit-any, no-unsafe-return, no-unsafe-call, no-unsafe-type-assertion -- Required for pipe implementation\n return (flow(...(fns as [λ, ...λ[]])) as any)(arg)\n}\n"],"mappings":"wCA6TA,SAAgB,EAA+C,EAAQ,GAAG,EAA8B,CAGtG,OAAQ,EAAK,GAAI,EAAoB,CAAS,EAAI"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./flow-CYjiodlC.mjs";const t=function(e,t){if(typeof e==`function`)return function(){return e(arguments)?t.apply(this,arguments):(e=>t(e,...arguments))};switch(e){case 0:return t;case 1:return function(e){return arguments.length>0?t.call(this,e):t.bind(this)};case 2:return function(e,n){return arguments.length>=2?t.call(this,e,n):n=>t(n,e)};case 3:return function(e,n,r){return arguments.length>=3?t.call(this,e,n,r):r=>t(r,e,n)};case 4:return function(e,n,r,i){return arguments.length>=4?t.call(this,e,n,r,i):i=>t(i,e,n,r)};case 5:return function(e,n,r,i,a){return arguments.length>=5?t.call(this,e,n,r,i,a):a=>t(a,e,n,r,i)};default:return function(){if(arguments.length>=e)return t.apply(this,arguments);let n=arguments;return e=>t(e,...n)}}};function n(...t){return t.length===0?this:e(...t)(this)}export{t as n,n as t};
2
- //# sourceMappingURL=pipeable-BA0mXhs4.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeable-BA0mXhs4.mjs","names":[],"sources":["../src/shared/dual.ts","../src/shared/pipeable.ts"],"sourcesContent":["/**\n * Dual function utility for creating functions that support both\n * data-first and data-last (curried) calling styles.\n *\n * This pattern is inspired by Effect's dual function implementation.\n * It enables better ergonomics by allowing direct function calls\n * without requiring pipe() for simple operations.\n *\n * @example\n * ```ts\n * // Define a dual function\n * const map = dual<\n * <T, U>(self: Option<T>, fn: (value: T) => U) => Option<U>,\n * <T, U>(fn: (value: T) => U) => (self: Option<T>) => Option<U>\n * >(2, (self, fn) => self.some ? some(fn(self.value)) : none())\n *\n * // Use data-first (direct call)\n * map(some(5), x => x * 2) // Option<10>\n *\n * // Use data-last (curried for pipe)\n * pipe(some(5), map(x => x * 2)) // Option<10>\n * ```\n */\n\n/**\n * Creates a function that can be called with all arguments (data-first)\n * or partially applied (data-last) for use in pipe chains.\n *\n * @param arity - The number of arguments in the data-first version (including self)\n * @param body - The implementation function that receives all arguments\n * @returns A function that supports both calling styles\n *\n * @remarks\n * The arity parameter is used to determine whether the function is being\n * called in data-first mode (all arguments provided) or data-last mode\n * (partial application for piping).\n *\n * TypeScript 5.4+ NoInfer is used where appropriate in consuming code\n * to prevent inference from fallback positions.\n */\n/* oxlint-disable no-explicit-any, ban-types, no-unsafe-function-type, no-unsafe-assignment, no-unsafe-return, no-unsafe-call, no-unsafe-type-assertion -- Required for highly polymorphic dual implementation that relies on runtime arity dispatch */\nexport const dual: {\n <DataFirst extends (...args: any) => any, DataLast extends (...args: any) => any>(\n arity: Parameters<DataFirst>[\"length\"],\n body: DataFirst,\n ): DataFirst & DataLast\n <DataFirst extends (...args: any) => any, DataLast extends (...args: any) => any>(\n isDataFirst: (args: IArguments) => boolean,\n body: DataFirst,\n ): DataFirst & DataLast\n} = function (arityOrIsDataFirst: number | ((args: IArguments) => boolean), body: Function) {\n if (typeof arityOrIsDataFirst === \"function\") {\n return function (this: unknown) {\n // oxlint-disable-next-line prefer-rest-params\n if (arityOrIsDataFirst(arguments)) {\n // oxlint-disable-next-line prefer-rest-params\n return body.apply(this, arguments)\n }\n // oxlint-disable-next-line prefer-rest-params\n return ((self: unknown) => body(self, ...arguments)) as unknown\n }\n }\n switch (arityOrIsDataFirst) {\n case 0:\n return body\n case 1:\n return function (this: unknown, a: unknown) {\n if (arguments.length > 0) {\n return body.call(this, a)\n }\n return body.bind(this)\n }\n case 2:\n return function (this: unknown, a: unknown, b: unknown) {\n if (arguments.length >= 2) {\n return body.call(this, a, b)\n }\n return (self: unknown) => body(self, a)\n }\n case 3:\n return function (this: unknown, a: unknown, b: unknown, c: unknown) {\n if (arguments.length >= 3) {\n return body.call(this, a, b, c)\n }\n return (self: unknown) => body(self, a, b)\n }\n case 4:\n return function (this: unknown, a: unknown, b: unknown, c: unknown, d: unknown) {\n if (arguments.length >= 4) {\n return body.call(this, a, b, c, d)\n }\n return (self: unknown) => body(self, a, b, c)\n }\n case 5:\n return function (this: unknown, a: unknown, b: unknown, c: unknown, d: unknown, e: unknown) {\n if (arguments.length >= 5) {\n return body.call(this, a, b, c, d, e)\n }\n return (self: unknown) => body(self, a, b, c, d)\n }\n default:\n return function (this: unknown) {\n // oxlint-disable-next-line prefer-rest-params\n if (arguments.length >= arityOrIsDataFirst) {\n // oxlint-disable-next-line prefer-rest-params\n return body.apply(this, arguments)\n }\n const args = arguments\n return (self: unknown) => body(self, ...args)\n }\n }\n} as any\n/* oxlint-enable no-explicit-any, ban-types, no-unsafe-function-type, no-unsafe-assignment, no-unsafe-return, no-unsafe-call, no-unsafe-type-assertion */\n","import { flow } from \"../flow/flow\"\n\n/**\n * Pipeable interface for fluent method chaining.\n * Enables: value.pipe(fn1, fn2, fn3) as alternative to pipe(value, fn1, fn2, fn3)\n */\nexport type Pipeable = {\n pipe<A>(this: A): A\n pipe<A, B>(this: A, ab: (a: A) => B): B\n pipe<A, B, C>(this: A, ab: (a: A) => B, bc: (b: B) => C): C\n pipe<A, B, C, D>(this: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D): D\n pipe<A, B, C, D, E>(this: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E): E\n pipe<A, B, C, D, E, F>(\n this: A,\n ab: (a: A) => B,\n bc: (b: B) => C,\n cd: (c: C) => D,\n de: (d: D) => E,\n ef: (e: E) => F,\n ): F\n pipe<A, B, C, D, E, F, G>(\n this: A,\n ab: (a: A) => B,\n bc: (b: B) => C,\n cd: (c: C) => D,\n de: (d: D) => E,\n ef: (e: E) => F,\n fg: (f: F) => G,\n ): G\n pipe<A, B, C, D, E, F, G, H>(\n this: A,\n ab: (a: A) => B,\n bc: (b: B) => C,\n cd: (c: C) => D,\n de: (d: D) => E,\n ef: (e: E) => F,\n fg: (f: F) => G,\n gh: (g: G) => H,\n ): H\n pipe<A, B, C, D, E, F, G, H, I>(\n this: A,\n ab: (a: A) => B,\n bc: (b: B) => C,\n cd: (c: C) => D,\n de: (d: D) => E,\n ef: (e: E) => F,\n fg: (f: F) => G,\n gh: (g: G) => H,\n hi: (h: H) => I,\n ): I\n pipe<A, B, C, D, E, F, G, H, I, J>(\n this: A,\n ab: (a: A) => B,\n bc: (b: B) => C,\n cd: (c: C) => D,\n de: (d: D) => E,\n ef: (e: E) => F,\n fg: (f: F) => G,\n gh: (g: G) => H,\n hi: (h: H) => I,\n ij: (i: I) => J,\n ): J\n}\n\ntype UnaryFn = (arg: unknown) => unknown\n\n/**\n * Create a pipe method implementation.\n * Returns a function that pipes the value through provided functions.\n * This is designed to be used as an object method, so it uses `this` binding.\n */\n// oxlint-disable no-explicit-any, no-this-in-exported-function\nexport function pipeMethod<A>(this: A, ...fns: UnaryFn[]): any {\n if (fns.length === 0) return this\n // oxlint-disable-next-line no-unsafe-return, no-unsafe-call, no-unsafe-type-assertion\n return (flow as any)(...fns)(this)\n}\n// oxlint-enable no-explicit-any, no-this-in-exported-function\n"],"mappings":"wCAyCA,MAAa,EAST,SAAU,EAA8D,EAAgB,CAC1F,GAAI,OAAO,GAAuB,WAChC,OAAO,UAAyB,CAO9B,OALI,EAAmB,UAAU,CAExB,EAAK,MAAM,KAAM,UAAU,EAG3B,GAAkB,EAAK,EAAM,GAAG,UAAU,GAGvD,OAAQ,EAAR,CACE,IAAK,GACH,OAAO,EACT,IAAK,GACH,OAAO,SAAyB,EAAY,CAI1C,OAHI,UAAU,OAAS,EACd,EAAK,KAAK,KAAM,EAAE,CAEpB,EAAK,KAAK,KAAK,EAE1B,IAAK,GACH,OAAO,SAAyB,EAAY,EAAY,CAItD,OAHI,UAAU,QAAU,EACf,EAAK,KAAK,KAAM,EAAG,EAAE,CAEtB,GAAkB,EAAK,EAAM,EAAE,EAE3C,IAAK,GACH,OAAO,SAAyB,EAAY,EAAY,EAAY,CAIlE,OAHI,UAAU,QAAU,EACf,EAAK,KAAK,KAAM,EAAG,EAAG,EAAE,CAEzB,GAAkB,EAAK,EAAM,EAAG,EAAE,EAE9C,IAAK,GACH,OAAO,SAAyB,EAAY,EAAY,EAAY,EAAY,CAI9E,OAHI,UAAU,QAAU,EACf,EAAK,KAAK,KAAM,EAAG,EAAG,EAAG,EAAE,CAE5B,GAAkB,EAAK,EAAM,EAAG,EAAG,EAAE,EAEjD,IAAK,GACH,OAAO,SAAyB,EAAY,EAAY,EAAY,EAAY,EAAY,CAI1F,OAHI,UAAU,QAAU,EACf,EAAK,KAAK,KAAM,EAAG,EAAG,EAAG,EAAG,EAAE,CAE/B,GAAkB,EAAK,EAAM,EAAG,EAAG,EAAG,EAAE,EAEpD,QACE,OAAO,UAAyB,CAE9B,GAAI,UAAU,QAAU,EAEtB,OAAO,EAAK,MAAM,KAAM,UAAU,CAEpC,IAAM,EAAO,UACb,MAAQ,IAAkB,EAAK,EAAM,GAAG,EAAK,ICpCrD,SAAgB,EAAuB,GAAG,EAAqB,CAG7D,OAFI,EAAI,SAAW,EAAU,KAErB,EAAa,GAAG,EAAI,CAAC,KAAK"}
@@ -1,2 +0,0 @@
1
- const e=e=>t=>!e(t),t=(...e)=>t=>{for(let n of e)if(!n(t))return!1;return!0},n=(...e)=>t=>{for(let n of e)if(n(t))return!0;return!1},r=e=>t=>t.every(e),i=e=>t=>t.some(e),a=e=>t=>!t.some(e),o=(...e)=>t=>{for(let n of e)if(!n(t))return!1;return!0},s=(...e)=>t=>{for(let n of e)if(n(t))return!0;return!1},c=e=>()=>e,l=e=>t=>t===e,u={not:e,and:t,or:n,all:r,some:i,none:a,andRefinement:o,orRefinement:s,constant:c,equals:l};export{c as a,e as c,i as d,o as i,n as l,r as n,l as o,t as r,a as s,u as t,s as u};
2
- //# sourceMappingURL=predicate-Cy_oHA1Q.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"predicate-Cy_oHA1Q.mjs","names":[],"sources":["../src/predicate/predicate.ts"],"sourcesContent":["import type { Predicate as PredicateType, Refinement } from \"./predicate.types\"\n\n/**\n * Negate a predicate.\n * Returns true when the original predicate returns false, and vice versa.\n *\n * @template T - The type being tested\n * @param predicate - The predicate to negate\n * @returns A new predicate that returns the opposite boolean\n *\n * @example\n * ```ts\n * const isEven = (n: number) => n % 2 === 0\n * const isOdd = Predicate.not(isEven)\n *\n * isOdd(3) // true\n * isOdd(4) // false\n *\n * // Works in filter\n * [1, 2, 3, 4].filter(Predicate.not(isEven)) // [1, 3]\n * ```\n */\nexport const not = <T>(predicate: PredicateType<T>): PredicateType<T> => {\n return (value: T): boolean => !predicate(value)\n}\n\n/**\n * Combine predicates with logical AND.\n * Returns true only when ALL predicates return true.\n * Short-circuits on first false (lazy evaluation).\n *\n * @template T - The type being tested\n * @param predicates - The predicates to combine\n * @returns A new predicate that returns true if all predicates pass\n *\n * @example\n * ```ts\n * const isPositive = (n: number) => n > 0\n * const isEven = (n: number) => n % 2 === 0\n * const isLessThan100 = (n: number) => n < 100\n *\n * const isValidNumber = Predicate.and(isPositive, isEven, isLessThan100)\n *\n * isValidNumber(42) // true\n * isValidNumber(-2) // false (not positive)\n * isValidNumber(101) // false (not less than 100)\n * ```\n */\nexport const and = <T>(...predicates: readonly PredicateType<T>[]): PredicateType<T> => {\n return (value: T): boolean => {\n for (const predicate of predicates) {\n if (!predicate(value)) return false\n }\n return true\n }\n}\n\n/**\n * Combine predicates with logical OR.\n * Returns true when ANY predicate returns true.\n * Short-circuits on first true (lazy evaluation).\n *\n * @template T - The type being tested\n * @param predicates - The predicates to combine\n * @returns A new predicate that returns true if any predicate passes\n *\n * @example\n * ```ts\n * const isZero = (n: number) => n === 0\n * const isNegative = (n: number) => n < 0\n *\n * const isNotPositive = Predicate.or(isZero, isNegative)\n *\n * isNotPositive(0) // true\n * isNotPositive(-5) // true\n * isNotPositive(5) // false\n * ```\n */\nexport const or = <T>(...predicates: readonly PredicateType<T>[]): PredicateType<T> => {\n return (value: T): boolean => {\n for (const predicate of predicates) {\n if (predicate(value)) return true\n }\n return false\n }\n}\n\n/**\n * Create a predicate that tests if ALL elements in an array match.\n * Returns true for empty arrays (vacuous truth).\n *\n * @template T - The element type\n * @param predicate - The predicate to test each element\n * @returns A predicate that takes an array and returns true if all match\n *\n * @example\n * ```ts\n * const isPositive = (n: number) => n > 0\n * const allPositive = Predicate.all(isPositive)\n *\n * allPositive([1, 2, 3]) // true\n * allPositive([1, -2, 3]) // false\n * allPositive([]) // true (vacuous truth)\n *\n * // Useful for validation\n * const areAllAdults = Predicate.all((u: User) => u.age >= 18)\n * ```\n */\nexport const all = <T>(predicate: PredicateType<T>): PredicateType<readonly T[]> => {\n return (arr: readonly T[]): boolean => arr.every(predicate)\n}\n\n/**\n * Create a predicate that tests if ANY element in an array matches.\n * Returns false for empty arrays.\n *\n * @template T - The element type\n * @param predicate - The predicate to test each element\n * @returns A predicate that takes an array and returns true if any match\n *\n * @example\n * ```ts\n * const isNegative = (n: number) => n < 0\n * const hasNegative = Predicate.some(isNegative)\n *\n * hasNegative([1, -2, 3]) // true\n * hasNegative([1, 2, 3]) // false\n * hasNegative([]) // false\n * ```\n */\nexport const some = <T>(predicate: PredicateType<T>): PredicateType<readonly T[]> => {\n return (arr: readonly T[]): boolean => arr.some(predicate)\n}\n\n/**\n * Create a predicate that tests if NO elements in an array match.\n * Returns true for empty arrays (vacuous truth).\n * Equivalent to `not(some(predicate))`.\n *\n * @template T - The element type\n * @param predicate - The predicate that should NOT match any element\n * @returns A predicate that takes an array and returns true if none match\n *\n * @example\n * ```ts\n * const isNegative = (n: number) => n < 0\n * const noNegatives = Predicate.none(isNegative)\n *\n * noNegatives([1, 2, 3]) // true\n * noNegatives([1, -2, 3]) // false\n * noNegatives([]) // true (vacuous truth)\n * ```\n */\nexport const none = <T>(predicate: PredicateType<T>): PredicateType<readonly T[]> => {\n return (arr: readonly T[]): boolean => !arr.some(predicate)\n}\n\n/**\n * Combine refinements with logical AND, preserving type narrowing.\n * Use this instead of `and` when you need to preserve type guard behavior.\n *\n * @template T - The base type\n * @template U - The narrowed type (must extend T)\n * @param refinements - The refinements to combine\n * @returns A refinement that narrows to U if all refinements pass\n *\n * @example\n * ```ts\n * type User = { name: string; age: number; verified?: boolean }\n * type Adult = User & { age: number } // age >= 18\n * type VerifiedAdult = Adult & { verified: true }\n *\n * const isAdult = (u: User): u is Adult => u.age >= 18\n * const isVerified = (u: User): u is User & { verified: true } => u.verified === true\n *\n * // Combined refinement preserves type narrowing\n * const isVerifiedAdult = Predicate.andRefinement<User, VerifiedAdult>(isAdult, isVerified)\n *\n * if (isVerifiedAdult(user)) {\n * user.verified // TypeScript knows this is true\n * }\n * ```\n */\nexport const andRefinement = <T, U extends T>(...refinements: readonly Refinement<T, U>[]): Refinement<T, U> => {\n return (value: T): value is U => {\n for (const refinement of refinements) {\n if (!refinement(value)) return false\n }\n return true\n }\n}\n\n/**\n * Combine refinements with logical OR, preserving type narrowing.\n * Use this instead of `or` when you need to preserve type guard behavior.\n *\n * @template T - The base type\n * @template U - The narrowed type (must extend T)\n * @param refinements - The refinements to combine\n * @returns A refinement that narrows to U if any refinement passes\n *\n * @example\n * ```ts\n * const isString = (v: unknown): v is string => typeof v === \"string\"\n * const isNumber = (v: unknown): v is number => typeof v === \"number\"\n *\n * const isStringOrNumber = Predicate.orRefinement<unknown, string | number>(isString, isNumber)\n *\n * if (isStringOrNumber(value)) {\n * // value is string | number\n * }\n * ```\n */\nexport const orRefinement = <T, U extends T>(...refinements: readonly Refinement<T, U>[]): Refinement<T, U> => {\n return (value: T): value is U => {\n for (const refinement of refinements) {\n if (refinement(value)) return true\n }\n return false\n }\n}\n\n/**\n * Create a predicate from a constant boolean value.\n * Useful for testing or as a placeholder.\n *\n * @template T - The type (can be anything)\n * @param value - The constant boolean to return\n * @returns A predicate that always returns the given value\n *\n * @example\n * ```ts\n * const alwaysTrue = Predicate.constant(true)\n * const alwaysFalse = Predicate.constant(false)\n *\n * alwaysTrue(\"anything\") // true\n * alwaysFalse(42) // false\n * ```\n */\nexport const constant = <T>(value: boolean): PredicateType<T> => {\n return (): boolean => value\n}\n\n/**\n * Create a predicate that checks strict equality.\n *\n * @template T - The type being compared\n * @param expected - The value to compare against\n * @returns A predicate that returns true if value === expected\n *\n * @example\n * ```ts\n * const isZero = Predicate.equals(0)\n * const isHello = Predicate.equals(\"hello\")\n *\n * isZero(0) // true\n * isZero(1) // false\n *\n * // Works with references too\n * const obj = { a: 1 }\n * const isObj = Predicate.equals(obj)\n * isObj(obj) // true\n * isObj({ a: 1 }) // false (different reference)\n * ```\n */\nexport const equals = <T>(expected: T): PredicateType<T> => {\n return (value: T): boolean => value === expected\n}\n\n/**\n * Predicate namespace containing composable boolean functions.\n *\n * Predicates are functions that test values and return booleans.\n * This namespace provides combinators to build complex predicates\n * from simple ones, with support for type guards (refinements).\n *\n * @example\n * ```ts\n * import { Predicate, pipe } from \"@nicolastoulemont/std\"\n *\n * // Basic predicates\n * const isPositive = (n: number) => n > 0\n * const isEven = (n: number) => n % 2 === 0\n *\n * // Combine with and/or\n * const isPositiveEven = Predicate.and(isPositive, isEven)\n * const isZeroOrNegative = Predicate.or(Predicate.equals(0), Predicate.not(isPositive))\n *\n * // Array predicates\n * const allPositive = Predicate.all(isPositive)\n * const hasNegative = Predicate.some(Predicate.not(isPositive))\n *\n * // Use with filter\n * [1, 2, 3, 4, 5].filter(isPositiveEven) // [2, 4]\n * ```\n */\nexport const Predicate = {\n not,\n and,\n or,\n all,\n some,\n none,\n andRefinement,\n orRefinement,\n constant,\n equals,\n} as const\n"],"mappings":"AAsBA,MAAa,EAAU,GACb,GAAsB,CAAC,EAAU,EAAM,CAyBpC,GAAU,GAAG,IAChB,GAAsB,CAC5B,IAAK,IAAM,KAAa,EACtB,GAAI,CAAC,EAAU,EAAM,CAAE,MAAO,GAEhC,MAAO,IAyBE,GAAS,GAAG,IACf,GAAsB,CAC5B,IAAK,IAAM,KAAa,EACtB,GAAI,EAAU,EAAM,CAAE,MAAO,GAE/B,MAAO,IAyBE,EAAU,GACb,GAA+B,EAAI,MAAM,EAAU,CAqBhD,EAAW,GACd,GAA+B,EAAI,KAAK,EAAU,CAsB/C,EAAW,GACd,GAA+B,CAAC,EAAI,KAAK,EAAU,CA6BhD,GAAiC,GAAG,IACvC,GAAyB,CAC/B,IAAK,IAAM,KAAc,EACvB,GAAI,CAAC,EAAW,EAAM,CAAE,MAAO,GAEjC,MAAO,IAyBE,GAAgC,GAAG,IACtC,GAAyB,CAC/B,IAAK,IAAM,KAAc,EACvB,GAAI,EAAW,EAAM,CAAE,MAAO,GAEhC,MAAO,IAqBE,EAAe,OACJ,EAyBX,EAAa,GAChB,GAAsB,IAAU,EA8B7B,EAAY,CACvB,MACA,MACA,KACA,MACA,OACA,OACA,gBACA,eACA,WACA,SACD"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./fx.types-CDVjDn_3.mjs";import{n as t,t as n}from"./pipeable-BA0mXhs4.mjs";import{n as r}from"./flow-CYjiodlC.mjs";const i=t=>({_tag:`Ok`,value:t,pipe:n,[e]:{_A:()=>t,_E:()=>void 0,_R:()=>void 0},*[Symbol.iterator](){return t}}),a=t=>{let r={_tag:`Err`,error:t,pipe:n,[e]:{_A:()=>void 0,_E:()=>t,_R:()=>void 0},*[Symbol.iterator](){throw yield r,Error(`Unreachable: Fx.gen should short-circuit on error`)}};return r},o=e=>e._tag===`Ok`,s=e=>e._tag===`Err`,c=t(2,(e,t)=>{if(e._tag===`Err`)return e;let n=t(e.value);return r(n)?Promise.resolve(n).then(i):i(n)}),l=t(2,(e,t)=>{if(e._tag===`Ok`)return e;let n=t(e.error);return r(n)?Promise.resolve(n).then(a):a(n)}),u=t(2,(e,t)=>e._tag===`Ok`?t(e.value):e),d=t(2,(e,t)=>{if(e._tag===`Err`)return e;let n=t(e.value);return r(n)?Promise.resolve(n).then(()=>e):e}),f=t(2,(e,t)=>e._tag===`Ok`?e:t(e.error)),p=t(3,(e,t,n)=>e._tag===`Err`||t(e.value)?e:a(n(e.value))),m=e=>{if(Array.isArray(e)){let t=[];for(let n of e){if(n._tag===`Err`)return n;t.push(n.value)}return i(t)}let t={};for(let[n,r]of Object.entries(e)){let e=r;if(e._tag===`Err`)return r;t[n]=e.value}return i(t)},h=t(2,(e,t)=>e._tag===`Ok`?e.value:t),g=t(2,(e,t)=>e._tag===`Ok`?e.value:t(e.error)),_=t(2,(e,t)=>e._tag===`Ok`?t.Ok(e.value):t.Err(e.error)),v=e=>{let t=typeof e==`function`?e:e.try,n=typeof e==`function`?e=>e instanceof Error?e:Error(String(e)):e.catch,o=typeof e==`function`?void 0:e.finally,s=!1;try{let e=t();if(r(e)){s=!0;let t=Promise.resolve(e).then(i).catch(e=>a(n(e)));return o?t.finally(o):t}return i(e)}catch(e){return a(n(e))}finally{o&&!s&&o()}},y={ok:i,err:a,isOk:o,isErr:s,map:c,mapErr:l,flatMap:u,tap:d,orElse:f,filter:p,all:m,unwrapOr:h,unwrapOrElse:g,match:_,try:v};export{u as a,o as c,_ as d,i as f,g,h,p as i,c as l,d as m,m as n,v as o,f as p,a as r,s,y as t,l as u};
2
- //# sourceMappingURL=result-CgGYLp0L.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result-CgGYLp0L.mjs","names":["values"],"sources":["../src/result/result.ts"],"sourcesContent":["import { FxTypeId } from \"../fx/fx.types\"\nimport { dual } from \"../shared/dual\"\nimport { isPromise } from \"../shared/is-promise\"\nimport { pipeMethod } from \"../shared/pipeable\"\nimport type {\n FromTryOptions,\n Result as ResultType,\n ResultAll,\n ResultFlatMap,\n ResultFromTry,\n ResultMap,\n ResultMapErr,\n ResultMatch,\n ResultTap,\n ResultOrElse,\n ResultFilter,\n ResultUnwrapOr,\n ResultUnwrapOrElse,\n} from \"./result.types\"\n\n/* oxlint-disable no-unsafe-type-assertion -- Result constructors encode Fx phantom channels and iterator contracts via type-level markers. */\n\n// ============================================================================\n// Constructors\n// ============================================================================\n\n/**\n * Create a successful Result.\n *\n * @param value - The success value\n * @returns A Result with _tag: \"Ok\"\n *\n * @example\n * ```ts\n * ok(42) // { _tag: \"Ok\", value: 42 }\n * ```\n */\nexport const ok = <T>(value: T): ResultType<T, never> => {\n const result: ResultType<T, never> = {\n _tag: \"Ok\",\n value,\n pipe: pipeMethod,\n [FxTypeId]: {\n _A: () => value,\n _E: () => undefined as never,\n _R: () => undefined as never,\n },\n // oxlint-disable-next-line require-yield\n *[Symbol.iterator](): Generator<ResultType<T, never>, T, unknown> {\n return value\n },\n }\n return result\n}\n\n/**\n * Create an error Result.\n *\n * @param error - The error value\n * @returns A Result with _tag: \"Err\"\n *\n * @example\n * ```ts\n * err('something went wrong') // { _tag: \"Err\", error: 'something went wrong' }\n * ```\n */\nexport const err = <E>(error: E): ResultType<never, E> => {\n const result: ResultType<never, E> = {\n _tag: \"Err\",\n error,\n pipe: pipeMethod,\n [FxTypeId]: {\n _A: () => undefined as never,\n _E: () => error,\n _R: () => undefined as never,\n },\n *[Symbol.iterator](): Generator<ResultType<never, E>, never, unknown> {\n yield result\n throw new Error(\"Unreachable: Fx.gen should short-circuit on error\")\n },\n }\n return result\n}\n\n// ============================================================================\n// Type Guards\n// ============================================================================\n\n/**\n * Check if a Result is successful.\n *\n * @param result - The Result to check\n * @returns true if the Result is Ok\n *\n * @example\n * ```ts\n * const result = ok(42)\n * if (isOk(result)) {\n * console.log(result.value) // TypeScript knows value exists\n * }\n * ```\n */\nexport const isOk = <T, E>(result: ResultType<T, E>): result is Extract<ResultType<T, E>, { _tag: \"Ok\" }> =>\n result._tag === \"Ok\"\n\n/**\n * Check if a Result is an error.\n *\n * @param result - The Result to check\n * @returns true if the Result is an error\n *\n * @example\n * ```ts\n * const result = err('oops')\n * if (isErr(result)) {\n * console.log(result.error) // TypeScript knows error exists\n * }\n * ```\n */\nexport const isErr = <T, E>(result: ResultType<T, E>): result is Extract<ResultType<T, E>, { _tag: \"Err\" }> =>\n result._tag === \"Err\"\n\n// ============================================================================\n// Transformations (curried for pipe)\n// ============================================================================\n\n/**\n * Transform the success value of a Result.\n * If the Result is an error, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `map(result, fn)`\n * - Data-last: `pipe(result, map(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Result<U, E>\n * - Async fn: returns Promise<Result<U, E>>\n *\n * @param fn - Function to transform the success value\n * @returns A function that takes a Result and returns a new Result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * map(ok(5), n => n * 2) // { _tag: \"Ok\", value: 10 }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * ok(5),\n * map(n => n * 2)\n * ) // { _tag: \"Ok\", value: 10 }\n *\n * // Async usage\n * await pipe(\n * ok(userId),\n * map(async id => await fetchName(id))\n * ) // Promise<Result<string, E>>\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types in curried functions */\nexport const map: ResultMap = dual(2, (result: ResultType<unknown, unknown>, fn: (value: unknown) => unknown) => {\n if (result._tag === \"Err\") return result as any\n const mapped = fn(result.value)\n if (isPromise(mapped)) {\n return Promise.resolve(mapped).then(ok) as any\n }\n return ok(mapped) as any\n})\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion */\n\n/**\n * Transform the error value of a Result.\n * If the Result is successful, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `mapErr(result, fn)`\n * - Data-last: `pipe(result, mapErr(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Result<T, F>\n * - Async fn: returns Promise<Result<T, F>>\n *\n * @param fn - Function to transform the error value\n * @returns A function that takes a Result and returns a new Result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * mapErr(err({ code: 404 }), e => `Error: ${e.code}`)\n * // { _tag: \"Err\", error: 'Error: 404' }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * err({ code: 404 }),\n * mapErr(e => `Error: ${e.code}`)\n * ) // { _tag: \"Err\", error: 'Error: 404' }\n *\n * // Async usage\n * await pipe(\n * err(errorCode),\n * mapErr(async code => await translateError(code))\n * ) // Promise<Result<T, string>>\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types in curried functions */\nexport const mapErr: ResultMapErr = dual(2, (result: ResultType<unknown, unknown>, fn: (error: unknown) => unknown) => {\n if (result._tag === \"Ok\") return result as any\n const mapped = fn(result.error)\n if (isPromise(mapped)) {\n return Promise.resolve(mapped).then(err) as any\n }\n return err(mapped) as any\n})\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion */\n\n/**\n * Chain operations that return Results.\n * If the Result is an error, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `flatMap(result, fn)`\n * - Data-last: `pipe(result, flatMap(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Result<U, E | E2>\n * - Async fn: returns Promise<Result<U, E | E2>>\n *\n * @param fn - Function that takes a value and returns a Result (or Promise<Result>)\n * @returns A function that takes a Result and returns a new Result\n *\n * @example\n * ```ts\n * const divide = (a: number, b: number) =>\n * b === 0 ? err('division by zero') : ok(a / b)\n *\n * // Data-first (direct call)\n * flatMap(ok(10), n => divide(n, 2)) // { _tag: \"Ok\", value: 5 }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * ok(10),\n * flatMap(n => divide(n, 2))\n * ) // { _tag: \"Ok\", value: 5 }\n *\n * // Async usage\n * await pipe(\n * ok(userId),\n * flatMap(async id => ok(await fetchUser(id)))\n * ) // Promise<Result<User, E>>\n * ```\n */\n// oxlint-disable-next-line no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types\nexport const flatMap: ResultFlatMap = dual(2, (result: ResultType<unknown, unknown>, fn: (value: unknown) => unknown) =>\n result._tag === \"Ok\" ? fn(result.value) : result,\n)\n\n/**\n * Perform a side effect on the success value without modifying the Result.\n * Useful for debugging, logging, or other side effects in a pipeline.\n * If the Result is an error, the function is not called.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `tap(result, fn)`\n * - Data-last: `pipe(result, tap(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Result<T, E>\n * - Async fn: returns Promise<Result<T, E>>\n *\n * @param fn - Function to call with the success value (return value is ignored)\n * @returns A function that takes a Result and returns the same Result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * tap(ok(42), console.log) // logs 42, returns { _tag: \"Ok\", value: 42 }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * ok(42),\n * tap(console.log), // logs 42\n * map(n => n * 2)\n * ) // { _tag: \"Ok\", value: 84 }\n *\n * // Async usage\n * await pipe(\n * ok(42),\n * tap(async v => await logToServer(v)),\n * map(n => n * 2)\n * ) // Promise<Result<84, E>>\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types in curried functions */\nexport const tap: ResultTap = dual(2, (result: ResultType<unknown, unknown>, fn: (value: unknown) => unknown) => {\n if (result._tag === \"Err\") return result as any\n const sideEffect = fn(result.value)\n if (isPromise(sideEffect)) {\n return Promise.resolve(sideEffect).then(() => result) as any\n }\n return result as any\n})\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-type-assertion */\n\n/**\n * Recover from an error by providing an alternative Result.\n * If the Result is successful, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `orElse(result, fn)`\n * - Data-last: `pipe(result, orElse(fn))`\n *\n * Supports both sync and async functions:\n * - Sync fn: returns Result<T | U, E2>\n * - Async fn: returns Promise<Result<T | U, E2>>\n *\n * @param fn - Function that takes the error and returns an alternative Result\n * @returns A function that takes a Result and returns a new Result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * orElse(err('cache miss'), () => ok(defaultValue))\n * // { _tag: \"Ok\", value: defaultValue }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * err('cache miss'),\n * orElse(() => ok(defaultValue))\n * ) // { _tag: \"Ok\", value: defaultValue }\n *\n * // Async recovery\n * await pipe(\n * err('cache miss'),\n * orElse(async () => ok(await fetchFromAPI()))\n * ) // Promise<Result<T, E2>>\n *\n * // Chain multiple fallbacks\n * pipe(\n * err('not found'),\n * orElse(() => tryCache()),\n * orElse(() => tryAPI()),\n * orElse(() => ok(fallback))\n * )\n * ```\n */\n// oxlint-disable-next-line no-explicit-any, no-unsafe-return, no-unsafe-type-assertion -- Required for overloaded return types\nexport const orElse: ResultOrElse = dual(2, (result: ResultType<unknown, unknown>, fn: (error: unknown) => unknown) =>\n result._tag === \"Ok\" ? result : fn(result.error),\n)\n\n/**\n * Filter a successful Result based on a predicate.\n * If the predicate returns false, converts the success to an error.\n * If the Result is already an error, it passes through unchanged.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `filter(result, predicate, onFail)`\n * - Data-last: `pipe(result, filter(predicate, onFail))`\n *\n * @param predicate - Function that returns true to keep the value\n * @param onFail - Function that creates the error when predicate fails\n * @returns A function that takes a Result and returns a new Result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * filter(ok(5), n => n > 10, n => `${n} is too small`)\n * // { _tag: \"Err\", error: '5 is too small' }\n *\n * // Data-last (curried for pipe)\n * pipe(\n * ok(5),\n * filter(n => n > 10, n => `${n} is too small`)\n * ) // { _tag: \"Err\", error: '5 is too small' }\n *\n * pipe(\n * ok(15),\n * filter(n => n > 10, n => `${n} is too small`)\n * ) // { _tag: \"Ok\", value: 15 }\n *\n * // With complex validation\n * pipe(\n * ok(user),\n * filter(u => u.age >= 18, u => ({ code: 'UNDERAGE', user: u }))\n * )\n * ```\n */\nexport const filter: ResultFilter = dual(\n 3,\n (\n result: ResultType<unknown, unknown>,\n predicate: (value: unknown) => boolean,\n onFail: (value: unknown) => unknown,\n ) => {\n if (result._tag === \"Err\") return result\n return predicate(result.value) ? result : err(onFail(result.value))\n },\n)\n\n// ============================================================================\n// Combinators\n// ============================================================================\n\n/**\n * Combine multiple Results into a single Result.\n * Supports both array and object inputs.\n *\n * - If all Results are ok, returns ok with all values\n * - If any Result is an error, returns the first error (short-circuits)\n *\n * For arrays of 1-6 elements, tuple types are inferred automatically.\n * For longer arrays, use `as const` to preserve tuple structure.\n *\n * @example\n * ```ts\n * // Array form - tuple types inferred automatically for up to 6 elements\n * const [num, str] = pipe(\n * Result.all([parseNumber(input), parseString(other)]),\n * Result.unwrapOr([0, ''])\n * )\n *\n * // Object form - returns Result<{ user: User, config: Config }, E>\n * pipe(\n * Result.all({ user: fetchUser(id), config: loadConfig() }),\n * Result.tap(({ user, config }) => console.log(user.name, config.theme))\n * )\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-return, no-unsafe-member-access, strict-boolean-expressions, no-unsafe-type-assertion, no-unsafe-argument -- Required for handling union types in overloaded function */\nexport const all: ResultAll = (results: any): any => {\n if (Array.isArray(results)) {\n const values: unknown[] = []\n for (const result of results) {\n if (result._tag === \"Err\") return result\n values.push(result.value)\n }\n return ok(values)\n }\n\n const values: Record<string, unknown> = {}\n for (const [key, result] of Object.entries(results)) {\n const r = result as ResultType<unknown, unknown>\n if (r._tag === \"Err\") return result\n values[key] = r.value\n }\n return ok(values)\n}\n/* oxlint-enable no-explicit-any, no-unsafe-return, no-unsafe-member-access, strict-boolean-expressions, no-unsafe-type-assertion, no-unsafe-argument */\n\n// ============================================================================\n// Extraction\n// ============================================================================\n\n/**\n * Get the success value or a default value.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `unwrapOr(result, defaultValue)`\n * - Data-last: `pipe(result, unwrapOr(defaultValue))`\n *\n * Uses NoInfer to prevent type inference from the default value.\n *\n * @param defaultValue - Value to return if the Result is an error\n * @returns A function that takes a Result and returns the value or default\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * unwrapOr(ok(42), 0) // 42\n * unwrapOr(err('oops'), 0) // 0\n *\n * // Data-last (curried for pipe)\n * pipe(ok(42), unwrapOr(0)) // 42\n * pipe(err('oops'), unwrapOr(0)) // 0\n * ```\n */\nexport const unwrapOr: ResultUnwrapOr = dual(\n 2,\n <T, E>(result: ResultType<T, E>, defaultValue: NoInfer<T>): T => (result._tag === \"Ok\" ? result.value : defaultValue),\n)\n\n/**\n * Get the success value or compute a value from the error.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `unwrapOrElse(result, fn)`\n * - Data-last: `pipe(result, unwrapOrElse(fn))`\n *\n * @param fn - Function to compute a value from the error\n * @returns A function that takes a Result and returns the value or computed value\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * unwrapOrElse(err({ code: 404 }), e => `Error ${e.code}`) // 'Error 404'\n *\n * // Data-last (curried for pipe)\n * pipe(\n * err({ code: 404 }),\n * unwrapOrElse(e => `Error ${e.code}`)\n * ) // 'Error 404'\n * ```\n */\nexport const unwrapOrElse: ResultUnwrapOrElse = dual(\n 2,\n <T, E>(result: ResultType<T, E>, fn: (error: E) => T): T => (result._tag === \"Ok\" ? result.value : fn(result.error)),\n)\n\n/**\n * Pattern match on a Result, handling both success and error cases.\n *\n * Supports both data-first and data-last calling styles:\n * - Data-first: `match(result, { Ok: ..., Err: ... })`\n * - Data-last: `pipe(result, match({ Ok: ..., Err: ... }))`\n *\n * @param handlers - Object with `Ok` and `Err` handlers\n * @returns A function that takes a Result and returns the handler result\n *\n * @example\n * ```ts\n * // Data-first (direct call)\n * match(ok(42), {\n * Ok: n => `Got ${n}`,\n * Err: e => `Error: ${e}`\n * }) // 'Got 42'\n *\n * // Data-last (curried for pipe)\n * pipe(\n * ok(42),\n * match({\n * Ok: n => `Got ${n}`,\n * Err: e => `Error: ${e}`\n * })\n * ) // 'Got 42'\n * ```\n */\nexport const match: ResultMatch = dual(\n 2,\n <T, E, U>(result: ResultType<T, E>, handlers: { Ok: (value: T) => U; Err: (error: E) => U }): U =>\n result._tag === \"Ok\" ? handlers.Ok(result.value) : handlers.Err(result.error),\n)\n\n// ============================================================================\n// Error Boundary\n// ============================================================================\n\n/**\n * Wrap a function that might throw into a Result.\n * Supports both sync and async functions with automatic type inference.\n *\n * Can be called with a simple callback or an object with `try` and `catch`:\n * - Simple: `fromTry(() => riskyOp())` — errors are wrapped as `Error`\n * - Object: `fromTry({ try: () => riskyOp(), catch: (e) => mapError(e) })` — custom error mapping\n *\n * @param fnOrOptions - Function that might throw, or object with `try` and `catch`\n * @returns A Result with the return value or the caught/mapped error\n *\n * @example\n * ```ts\n * // Simple callback\n * fromTry(() => JSON.parse('{\"valid\": true}'))\n *\n * // Object form with custom error mapping\n * fromTry({\n * try: () => JSON.parse(input),\n * catch: (e) => ({ type: \"ParseError\" as const, message: String(e) })\n * })\n *\n * // Async with custom catch\n * await fromTry({\n * try: () => fetch('/api/user'),\n * catch: (e) => new NetworkError(String(e))\n * })\n * ```\n */\n/* oxlint-disable no-explicit-any, no-unsafe-type-assertion -- Required for overloaded return type */\nexport const fromTry: ResultFromTry = (fnOrOptions: (() => unknown) | FromTryOptions<unknown, unknown>): any => {\n const fn = typeof fnOrOptions === \"function\" ? fnOrOptions : fnOrOptions.try\n const catchFn =\n typeof fnOrOptions === \"function\"\n ? (e: unknown) => (e instanceof Error ? e : new Error(String(e)))\n : fnOrOptions.catch\n const finallyFn = typeof fnOrOptions === \"function\" ? undefined : fnOrOptions.finally\n\n let isAsync = false\n try {\n const result = fn()\n if (isPromise(result)) {\n isAsync = true\n const promise = Promise.resolve(result)\n .then(ok)\n .catch((e: unknown) => err(catchFn(e)))\n return finallyFn ? promise.finally(finallyFn) : promise\n }\n return ok(result)\n } catch (e) {\n return err(catchFn(e))\n } finally {\n if (finallyFn && !isAsync) {\n finallyFn()\n }\n }\n}\n/* oxlint-enable no-explicit-any, no-unsafe-type-assertion */\n\n// ============================================================================\n// Namespace\n// ============================================================================\n\n/**\n * Result namespace containing all utility functions for working with Result types.\n *\n * Result represents either success (`Ok`) or failure (`Err`). Use this for operations\n * that can fail with typed errors.\n *\n * @see {@link Option} for presence/absence semantics (no error information)\n * @see {@link Either} for two valid outcomes (not just success/failure)\n *\n * @example\n * ```ts\n * import { Result, pipe } from '@nicolastoulemont/std'\n * import type { Result as ResultType } from '@nicolastoulemont/std'\n *\n * const divide = (a: number, b: number): ResultType<number, string> =>\n * b === 0 ? Result.err('division by zero') : Result.ok(a / b)\n *\n * const result = pipe(\n * divide(10, 2),\n * Result.map(n => n * 2),\n * Result.unwrapOr(0)\n * )\n * ```\n */\nexport const Result = {\n ok,\n err,\n isOk,\n isErr,\n map,\n mapErr,\n flatMap,\n tap,\n orElse,\n filter,\n all,\n unwrapOr,\n unwrapOrElse,\n match,\n try: fromTry,\n} as const\n\n/* oxlint-enable no-unsafe-type-assertion */\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.types-HHDzgSTV.d.mts","names":[],"sources":["../src/shared/type-utils.types.ts","../src/result/result.types.ts"],"sourcesContent":[],"mappings":"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A,EAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CCGjD,MDHiD,CCG1C,CDH0C,ECGvC,EDHuC,CAAA,ECGlC,MDHkC,CCG3B,CDH2B,ECGxB,EDHwB,CAAA,ECGnB,MDHmB,CCGZ,CDHY,ECGT,EDHS,CAAA,ECGJ,MDHI,CCGG,CDHH,ECGM,EDHN,CAAA,ECGW,MDHX,CCGkB,CDHlB,ECGqB,EDHrB,CAAA,CAAA,CAAA,ECInE,MDJmE,CAAA,CCI3D,CDJ2D,ECIxD,CDJwD,ECIrD,CDJqD,ECIlD,CDJkD,ECI/C,CDJ+C,CAAA,ECI3C,EDJ2C,GCItC,EDJsC,GCIjC,EDJiC,GCI5B,EDJ4B,GCIvB,EDJuB,CAAA;EAAgB,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CCMjE,MDNiE,CCM1D,CDN0D,ECMvD,EDNuD,CAAA,ECMlD,MDNkD,CCM3C,CDN2C,ECMxC,EDNwC,CAAA,ECMnC,MDNmC,CCM5B,CDN4B,ECMzB,EDNyB,CAAA,ECMpB,MDNoB,CCMb,CDNa,ECMV,EDNU,CAAA,ECML,MDNK,CCME,CDNF,ECMK,EDNL,CAAA,ECMU,MDNV,CCMiB,CDNjB,ECMoB,EDNpB,CAAA,CAAA,CAAA,ECOnF,MDPmF,CAAA,CCO3E,CDP2E,ECOxE,CDPwE,ECOrE,CDPqE,ECOlE,CDPkE,ECO/D,CDP+D,ECO5D,CDP4D,CAAA,ECOxD,EDPwD,GCOnD,EDPmD,GCO9C,EDP8C,GCOzC,EDPyC,GCOpC,EDPoC,GCO/B,EDP+B,CAAA;EAAE,CAAA,UAAA,SCUpE,MDVoE,CAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,OAAA,ECW7E,CDX6E,CAAA,ECYrF,MDZqF,CAAA,kBAAd,MCYxC,CDZwC,GCYpC,WDZoC,CCYxB,CDZwB,CCYtB,CDZsB,CAAA,CAAA,EAAsB,ECYrC,WDZqC,CCYzB,CDZyB,CAAA,MAAA,CAAA,CAAA,CAAA;EAAC,CAAA,UCetF,M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d,CC2CqB,CD3CrB,EC2CwB,CD3CxB,CAAA;EAAmB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,EC8C/C,CD9C+C,EAAA,GC8CzC,CD9CyC,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,MAAA,EC+C9C,MD/C8C,CC+CvC,CD/CuC,EC+CpC,CD/CoC,CAAA,EAAA,GC+C7B,CD/C6B,SC+CnB,OD/CmB,CAAA,OAAA,CAAA,GC+CA,OD/CA,CC+CQ,MD/CR,CC+Ce,CD/Cf,EC+CkB,CD/ClB,CAAA,CAAA,GC+CwB,MD/CxB,CC+C+B,CD/C/B,EC+CkC,CD/ClC,CAAA;CAAG;;;;;;AAAjB,KCuDrC,YAAA,GDvDqC;EAAQ,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,MAAA,ECyD/B,MDzD+B,CCyDxB,CDzDwB,ECyDrB,EDzDqB,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,ECyDJ,EDzDI,EAAA,GCyDG,ODzDH,CCyDW,MDzDX,CCyDkB,EDzDlB,ECyDsB,EDzDtB,CAAA,CAAA,CAAA,ECyD6B,ODzD7B,CCyDqC,MDzDrC,CCyD4C,CDzD5C,GCyDgD,EDzDhD,ECyDoD,EDzDpD,CAAA,CAAA;EAU7C,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,MAAe,ECgDD,MDhDC,CCgDM,CDhDN,ECgDS,EDhDT,CAAA,EAAA,EAAA,EAAA,CAAA,KAAA,ECgD0B,EDhD1B,EAAA,GCgDiC,MDhDjC,CCgDwC,EDhDxC,ECgD4C,EDhD5C,CAAA,CAAA,ECgDkD,MDhDlD,CCgDyD,CDhDzD,GCgD6D,EDhD7D,ECgDiE,EDhDjE,CAAA;EAA+B,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,KAAA,ECkD/B,EDlD+B,EAAA,GCkDxB,ODlDwB,CCkDhB,MDlDgB,CCkDT,EDlDS,ECkDL,EDlDK,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,MAAA,ECkDc,MDlDd,CCkDqB,CDlDrB,ECkDwB,EDlDxB,CAAA,EAAA,GCkDgC,ODlDhC,CCk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"}
File without changes