ts-data-forge 9.0.0 → 9.0.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 (409) hide show
  1. package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
  2. package/dist/array/impl/array-utils-creation.mjs +17 -112
  3. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  4. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -1
  5. package/dist/array/impl/array-utils-element-access.mjs +22 -61
  6. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  7. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -1
  8. package/dist/array/impl/array-utils-iterators.mjs +9 -63
  9. package/dist/array/impl/array-utils-iterators.mjs.map +1 -1
  10. package/dist/array/impl/array-utils-modification.mjs +78 -78
  11. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  12. package/dist/array/impl/array-utils-reducing-value.mjs +95 -89
  13. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  14. package/dist/array/impl/array-utils-search.mjs +100 -92
  15. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  16. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
  17. package/dist/array/impl/array-utils-set-op.mjs +31 -141
  18. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-size.d.mts.map +1 -1
  20. package/dist/array/impl/array-utils-size.mjs +4 -8
  21. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  22. package/dist/array/impl/array-utils-slice-clamped.mjs +11 -12
  23. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  24. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  25. package/dist/array/impl/array-utils-slicing.mjs +44 -96
  26. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  27. package/dist/array/impl/array-utils-transformation.d.mts +1 -1
  28. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  29. package/dist/array/impl/array-utils-transformation.mjs +150 -292
  30. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  31. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  32. package/dist/array/impl/array-utils-validation.mjs +18 -169
  33. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  34. package/dist/collections/imap-mapped.d.mts.map +1 -1
  35. package/dist/collections/imap-mapped.mjs +243 -330
  36. package/dist/collections/imap-mapped.mjs.map +1 -1
  37. package/dist/collections/imap.d.mts.map +1 -1
  38. package/dist/collections/imap.mjs +190 -275
  39. package/dist/collections/imap.mjs.map +1 -1
  40. package/dist/collections/iset-mapped.d.mts +1 -1
  41. package/dist/collections/iset-mapped.d.mts.map +1 -1
  42. package/dist/collections/iset-mapped.mjs +222 -444
  43. package/dist/collections/iset-mapped.mjs.map +1 -1
  44. package/dist/collections/iset.d.mts +1 -1
  45. package/dist/collections/iset.d.mts.map +1 -1
  46. package/dist/collections/iset.mjs +158 -324
  47. package/dist/collections/iset.mjs.map +1 -1
  48. package/dist/collections/queue.d.mts.map +1 -1
  49. package/dist/collections/queue.mjs +106 -178
  50. package/dist/collections/queue.mjs.map +1 -1
  51. package/dist/collections/stack.d.mts.map +1 -1
  52. package/dist/collections/stack.mjs +95 -165
  53. package/dist/collections/stack.mjs.map +1 -1
  54. package/dist/expect-type.d.mts +1 -1
  55. package/dist/expect-type.d.mts.map +1 -1
  56. package/dist/expect-type.mjs +1 -69
  57. package/dist/expect-type.mjs.map +1 -1
  58. package/dist/functional/match.mjs +9 -9
  59. package/dist/functional/match.mjs.map +1 -1
  60. package/dist/functional/optional/impl/optional-expect-to-be.mjs +13 -14
  61. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  62. package/dist/functional/optional/impl/optional-filter.mjs +14 -15
  63. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  64. package/dist/functional/optional/impl/optional-flat-map.mjs +10 -11
  65. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  66. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -1
  67. package/dist/functional/optional/impl/optional-from-nullable.mjs +1 -25
  68. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  69. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -1
  70. package/dist/functional/optional/impl/optional-is-none.mjs +0 -19
  71. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  72. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -1
  73. package/dist/functional/optional/impl/optional-is-optional.mjs +1 -23
  74. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  75. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -1
  76. package/dist/functional/optional/impl/optional-is-some.mjs +0 -20
  77. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  78. package/dist/functional/optional/impl/optional-map.mjs +13 -14
  79. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  80. package/dist/functional/optional/impl/optional-none.mjs +0 -16
  81. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  82. package/dist/functional/optional/impl/optional-or-else.mjs +10 -11
  83. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  84. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -1
  85. package/dist/functional/optional/impl/optional-some.mjs +2 -21
  86. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  87. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -1
  88. package/dist/functional/optional/impl/optional-to-nullable.mjs +1 -27
  89. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  90. package/dist/functional/optional/impl/optional-unwrap-or.mjs +9 -10
  91. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  92. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -1
  93. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +4 -32
  94. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  95. package/dist/functional/optional/impl/optional-unwrap.mjs +4 -4
  96. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  97. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -1
  98. package/dist/functional/optional/impl/optional-zip.mjs +1 -35
  99. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  100. package/dist/functional/optional/impl/tag.mjs +2 -3
  101. package/dist/functional/optional/impl/tag.mjs.map +1 -1
  102. package/dist/functional/pipe.d.mts.map +1 -1
  103. package/dist/functional/pipe.mjs +9 -34
  104. package/dist/functional/pipe.mjs.map +1 -1
  105. package/dist/functional/result/impl/result-err.d.mts.map +1 -1
  106. package/dist/functional/result/impl/result-err.mjs +2 -27
  107. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  108. package/dist/functional/result/impl/result-expect-to-be.mjs +13 -15
  109. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  110. package/dist/functional/result/impl/result-flat-map.mjs +16 -16
  111. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  112. package/dist/functional/result/impl/result-fold.mjs +16 -16
  113. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  114. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -1
  115. package/dist/functional/result/impl/result-from-promise.mjs +4 -31
  116. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  117. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -1
  118. package/dist/functional/result/impl/result-from-throwable.mjs +8 -38
  119. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  120. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -1
  121. package/dist/functional/result/impl/result-is-err.mjs +0 -19
  122. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  123. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -1
  124. package/dist/functional/result/impl/result-is-ok.mjs +0 -19
  125. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  126. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -1
  127. package/dist/functional/result/impl/result-is-result.mjs +1 -23
  128. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  129. package/dist/functional/result/impl/result-map-err.mjs +16 -16
  130. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  131. package/dist/functional/result/impl/result-map.mjs +16 -16
  132. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  133. package/dist/functional/result/impl/result-ok.d.mts.map +1 -1
  134. package/dist/functional/result/impl/result-ok.mjs +2 -27
  135. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  136. package/dist/functional/result/impl/result-or-else.mjs +10 -12
  137. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  138. package/dist/functional/result/impl/result-swap.d.mts.map +1 -1
  139. package/dist/functional/result/impl/result-swap.mjs +4 -22
  140. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  141. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -1
  142. package/dist/functional/result/impl/result-to-optional.mjs +0 -27
  143. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  144. package/dist/functional/result/impl/result-unwrap-err-or.mjs +9 -11
  145. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  146. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -1
  147. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +13 -40
  148. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  149. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -1
  150. package/dist/functional/result/impl/result-unwrap-err.mjs +4 -32
  151. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  152. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +9 -11
  153. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  154. package/dist/functional/result/impl/result-unwrap-ok.mjs +4 -4
  155. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  156. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -1
  157. package/dist/functional/result/impl/result-unwrap-throw.mjs +4 -35
  158. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  159. package/dist/functional/result/impl/result-zip.d.mts.map +1 -1
  160. package/dist/functional/result/impl/result-zip.mjs +1 -34
  161. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  162. package/dist/functional/result/impl/tag.mjs +2 -3
  163. package/dist/functional/result/impl/tag.mjs.map +1 -1
  164. package/dist/functional/ternary-result/impl/tag.mjs +3 -5
  165. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  166. package/dist/functional/ternary-result/impl/ternary-result-err.d.mts.map +1 -1
  167. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +2 -15
  168. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  169. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +13 -13
  170. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  171. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +27 -26
  172. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  173. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +21 -22
  174. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  175. package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts.map +1 -1
  176. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +4 -20
  177. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  178. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts.map +1 -1
  179. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +7 -25
  180. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  181. package/dist/functional/ternary-result/impl/ternary-result-is-err.d.mts.map +1 -1
  182. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +0 -17
  183. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +1 -1
  184. package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts.map +1 -1
  185. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +0 -19
  186. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  187. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts.map +1 -1
  188. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +1 -25
  189. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  190. package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts.map +1 -1
  191. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +0 -18
  192. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  193. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +13 -15
  194. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  195. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +18 -18
  196. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  197. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +21 -22
  198. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  199. package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts.map +1 -1
  200. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +2 -16
  201. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  202. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +9 -9
  203. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  204. package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts.map +1 -1
  205. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +4 -22
  206. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  207. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +9 -9
  208. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  209. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts.map +1 -1
  210. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +12 -27
  211. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  212. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts.map +1 -1
  213. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +4 -19
  214. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  215. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +9 -9
  216. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  217. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +4 -5
  218. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  219. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts.map +1 -1
  220. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +15 -27
  221. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  222. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +9 -9
  223. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  224. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts.map +1 -1
  225. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +10 -24
  226. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  227. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts.map +1 -1
  228. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +4 -19
  229. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  230. package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts.map +1 -1
  231. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +3 -19
  232. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  233. package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts.map +1 -1
  234. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +14 -45
  235. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  236. package/dist/functional/ternary-result/impl/variant-name.d.mts +1 -1
  237. package/dist/functional/ternary-result/impl/variant-name.d.mts.map +1 -1
  238. package/dist/functional/ternary-result/impl/variant-name.mjs +8 -9
  239. package/dist/functional/ternary-result/impl/variant-name.mjs.map +1 -1
  240. package/dist/guard/has-key.d.mts.map +1 -1
  241. package/dist/guard/has-key.mjs +0 -41
  242. package/dist/guard/has-key.mjs.map +1 -1
  243. package/dist/guard/is-length-bounded-string.d.mts.map +1 -1
  244. package/dist/guard/is-length-bounded-string.mjs +0 -157
  245. package/dist/guard/is-length-bounded-string.mjs.map +1 -1
  246. package/dist/guard/is-non-empty-string.d.mts +1 -1
  247. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  248. package/dist/guard/is-non-empty-string.mjs +1 -38
  249. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  250. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  251. package/dist/guard/is-non-null-object.mjs +1 -35
  252. package/dist/guard/is-non-null-object.mjs.map +1 -1
  253. package/dist/guard/is-primitive.d.mts.map +1 -1
  254. package/dist/guard/is-primitive.mjs +12 -43
  255. package/dist/guard/is-primitive.mjs.map +1 -1
  256. package/dist/guard/is-record.d.mts.map +1 -1
  257. package/dist/guard/is-record.mjs +0 -86
  258. package/dist/guard/is-record.mjs.map +1 -1
  259. package/dist/guard/is-type.d.mts.map +1 -1
  260. package/dist/guard/is-type.mjs +12 -399
  261. package/dist/guard/is-type.mjs.map +1 -1
  262. package/dist/guard/key-is-in.d.mts.map +1 -1
  263. package/dist/guard/key-is-in.mjs +0 -40
  264. package/dist/guard/key-is-in.mjs.map +1 -1
  265. package/dist/iterator/range.mjs +16 -16
  266. package/dist/iterator/range.mjs.map +1 -1
  267. package/dist/json/json.d.mts.map +1 -1
  268. package/dist/json/json.mjs +52 -340
  269. package/dist/json/json.mjs.map +1 -1
  270. package/dist/number/branded-types/finite-number.d.mts +3 -3
  271. package/dist/number/branded-types/finite-number.mjs +135 -154
  272. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  273. package/dist/number/branded-types/int.d.mts +4 -4
  274. package/dist/number/branded-types/int.mjs +205 -245
  275. package/dist/number/branded-types/int.mjs.map +1 -1
  276. package/dist/number/branded-types/int16.d.mts +15 -15
  277. package/dist/number/branded-types/int16.mjs +116 -123
  278. package/dist/number/branded-types/int16.mjs.map +1 -1
  279. package/dist/number/branded-types/int32.d.mts +11 -11
  280. package/dist/number/branded-types/int32.mjs +116 -123
  281. package/dist/number/branded-types/int32.mjs.map +1 -1
  282. package/dist/number/branded-types/negative-finite-number.d.mts +4 -4
  283. package/dist/number/branded-types/negative-finite-number.mjs +129 -144
  284. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  285. package/dist/number/branded-types/negative-int.d.mts +5 -5
  286. package/dist/number/branded-types/negative-int.mjs +94 -113
  287. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  288. package/dist/number/branded-types/negative-safe-int.d.mts +5 -5
  289. package/dist/number/branded-types/negative-safe-int.mjs +103 -124
  290. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  291. package/dist/number/branded-types/non-negative-finite-number.d.mts +5 -5
  292. package/dist/number/branded-types/non-negative-finite-number.mjs +136 -142
  293. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  294. package/dist/number/branded-types/non-negative-int16.d.mts +16 -16
  295. package/dist/number/branded-types/non-negative-int16.mjs +109 -118
  296. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  297. package/dist/number/branded-types/non-negative-int32.d.mts +12 -12
  298. package/dist/number/branded-types/non-negative-int32.mjs +110 -119
  299. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  300. package/dist/number/branded-types/non-positive-finite-number.d.mts +3 -3
  301. package/dist/number/branded-types/non-positive-finite-number.mjs +120 -124
  302. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  303. package/dist/number/branded-types/non-positive-int.d.mts +4 -4
  304. package/dist/number/branded-types/non-positive-int.mjs +167 -212
  305. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  306. package/dist/number/branded-types/non-positive-safe-int.d.mts +4 -4
  307. package/dist/number/branded-types/non-positive-safe-int.mjs +95 -106
  308. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  309. package/dist/number/branded-types/non-zero-finite-number.d.mts +4 -4
  310. package/dist/number/branded-types/non-zero-finite-number.mjs +114 -123
  311. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  312. package/dist/number/branded-types/non-zero-int.d.mts +2 -2
  313. package/dist/number/branded-types/non-zero-int.mjs +72 -83
  314. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  315. package/dist/number/branded-types/non-zero-int16.d.mts +7 -7
  316. package/dist/number/branded-types/non-zero-int16.mjs +96 -107
  317. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  318. package/dist/number/branded-types/non-zero-int32.d.mts +5 -5
  319. package/dist/number/branded-types/non-zero-int32.mjs +97 -108
  320. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  321. package/dist/number/branded-types/non-zero-safe-int.d.mts +2 -2
  322. package/dist/number/branded-types/non-zero-safe-int.mjs +100 -111
  323. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  324. package/dist/number/branded-types/non-zero-uint16.d.mts +8 -8
  325. package/dist/number/branded-types/non-zero-uint16.mjs +96 -107
  326. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  327. package/dist/number/branded-types/non-zero-uint32.d.mts +6 -6
  328. package/dist/number/branded-types/non-zero-uint32.mjs +96 -107
  329. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  330. package/dist/number/branded-types/positive-finite-number.d.mts +8 -8
  331. package/dist/number/branded-types/positive-finite-number.mjs +139 -141
  332. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  333. package/dist/number/branded-types/positive-int.d.mts +11 -11
  334. package/dist/number/branded-types/positive-int.mjs +228 -271
  335. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  336. package/dist/number/branded-types/positive-int16.d.mts +19 -19
  337. package/dist/number/branded-types/positive-int16.mjs +109 -118
  338. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  339. package/dist/number/branded-types/positive-int32.d.mts +15 -15
  340. package/dist/number/branded-types/positive-int32.mjs +109 -118
  341. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  342. package/dist/number/branded-types/positive-safe-int.d.mts +11 -11
  343. package/dist/number/branded-types/positive-safe-int.mjs +244 -275
  344. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  345. package/dist/number/branded-types/positive-uint16.d.mts +17 -17
  346. package/dist/number/branded-types/positive-uint16.mjs +109 -118
  347. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  348. package/dist/number/branded-types/positive-uint32.d.mts +13 -13
  349. package/dist/number/branded-types/positive-uint32.mjs +110 -119
  350. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  351. package/dist/number/branded-types/safe-int.d.mts +4 -4
  352. package/dist/number/branded-types/safe-int.mjs +251 -292
  353. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  354. package/dist/number/branded-types/safe-uint.d.mts +8 -8
  355. package/dist/number/branded-types/safe-uint.mjs +111 -119
  356. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  357. package/dist/number/branded-types/uint.d.mts +8 -8
  358. package/dist/number/branded-types/uint.mjs +198 -225
  359. package/dist/number/branded-types/uint.mjs.map +1 -1
  360. package/dist/number/branded-types/uint16.d.mts +14 -14
  361. package/dist/number/branded-types/uint16.mjs +109 -119
  362. package/dist/number/branded-types/uint16.mjs.map +1 -1
  363. package/dist/number/branded-types/uint32.d.mts +10 -10
  364. package/dist/number/branded-types/uint32.mjs +110 -117
  365. package/dist/number/branded-types/uint32.mjs.map +1 -1
  366. package/dist/number/enum/int8.mjs +119 -145
  367. package/dist/number/enum/int8.mjs.map +1 -1
  368. package/dist/number/enum/uint8.mjs +107 -121
  369. package/dist/number/enum/uint8.mjs.map +1 -1
  370. package/dist/number/num.d.mts +2 -2
  371. package/dist/number/num.d.mts.map +1 -1
  372. package/dist/number/num.mjs +76 -537
  373. package/dist/number/num.mjs.map +1 -1
  374. package/dist/number/refined-number-utils.d.mts +1 -1
  375. package/dist/number/refined-number-utils.d.mts.map +1 -1
  376. package/dist/number/refined-number-utils.mjs +127 -263
  377. package/dist/number/refined-number-utils.mjs.map +1 -1
  378. package/dist/object/object.d.mts.map +1 -1
  379. package/dist/object/object.mjs +107 -222
  380. package/dist/object/object.mjs.map +1 -1
  381. package/dist/others/cast-mutable.d.mts.map +1 -1
  382. package/dist/others/cast-mutable.mjs +8 -37
  383. package/dist/others/cast-mutable.mjs.map +1 -1
  384. package/dist/others/cast-readonly.d.mts.map +1 -1
  385. package/dist/others/cast-readonly.mjs +8 -36
  386. package/dist/others/cast-readonly.mjs.map +1 -1
  387. package/dist/others/debounce-function.d.mts.map +1 -1
  388. package/dist/others/debounce-function.mjs +7 -16
  389. package/dist/others/debounce-function.mjs.map +1 -1
  390. package/dist/others/fast-deep-equal.d.mts.map +1 -1
  391. package/dist/others/fast-deep-equal.mjs +43 -59
  392. package/dist/others/fast-deep-equal.mjs.map +1 -1
  393. package/dist/others/if-then.d.mts.map +1 -1
  394. package/dist/others/if-then.mjs +0 -29
  395. package/dist/others/if-then.mjs.map +1 -1
  396. package/dist/others/map-nullable.mjs +9 -9
  397. package/dist/others/map-nullable.mjs.map +1 -1
  398. package/dist/others/memoize-function.mjs +12 -12
  399. package/dist/others/memoize-function.mjs.map +1 -1
  400. package/dist/others/tuple.d.mts.map +1 -1
  401. package/dist/others/tuple.mjs +0 -50
  402. package/dist/others/tuple.mjs.map +1 -1
  403. package/dist/others/unknown-to-string.d.mts.map +1 -1
  404. package/dist/others/unknown-to-string.mjs +41 -88
  405. package/dist/others/unknown-to-string.mjs.map +1 -1
  406. package/dist/promise/promise.d.mts.map +1 -1
  407. package/dist/promise/promise.mjs +4 -49
  408. package/dist/promise/promise.mjs.map +1 -1
  409. package/package.json +8 -7
@@ -1,18 +1,16 @@
1
1
  import { unwrapErr } from './result-unwrap-err.mjs';
2
2
 
3
3
  function unwrapErrOr(...args) {
4
- switch (args.length) {
5
- case 2: {
6
- // Direct version: first argument is result
7
- const [result, defaultValue] = args;
8
- return unwrapErrOrImpl(result, defaultValue);
9
- }
10
- case 1: {
11
- // Curried version
12
- const [defaultValue] = args;
13
- return (result) => unwrapErrOrImpl(result, defaultValue);
14
- }
4
+ switch (args.length) {
5
+ case 2: {
6
+ const [result, defaultValue] = args;
7
+ return unwrapErrOrImpl(result, defaultValue);
15
8
  }
9
+ case 1: {
10
+ const [defaultValue] = args;
11
+ return (result) => unwrapErrOrImpl(result, defaultValue);
12
+ }
13
+ }
16
14
  }
17
15
  const unwrapErrOrImpl = (result, defaultValue) => unwrapErr(result) ?? defaultValue;
18
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-err-or.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err-or.mts"],"sourcesContent":[null],"names":[],"mappings":";;AA0CM,SAAU,WAAW,CACzB,GAAG,IAAwE,EAAA;AAE3E,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI;AAEnC,YAAA,OAAO,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9C;QAEA,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI;YAE3B,OAAO,CAAC,MAAS,KAAK,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC;QAC7D;;AAEJ;AAEA,MAAM,eAAe,GAAG,CACtB,MAAS,EACT,YAAe,KACM,SAAS,CAAC,MAAM,CAAC,IAAI,YAAY;;;;"}
1
+ {"version":3,"file":"result-unwrap-err-or.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err-or.mts"],"sourcesContent":["import { type UnknownResult } from '../result.mjs';\nimport { unwrapErr } from './result-unwrap-err.mjs';\nimport { type UnwrapErr } from './types.mjs';\n\n/**\n * Unwraps a `Result`, returning the error value or a default value if it is\n * `Result.Ok`.\n *\n * @example\n *\n * ```ts\n * const okResult = Result.ok('success');\n *\n * const errResult = Result.err('failure');\n *\n * assert.isTrue(Result.unwrapErrOr(okResult, 'default') === 'default');\n *\n * assert.isTrue(Result.unwrapErrOr(errResult, 'default') === 'failure');\n *\n * const unwrapError = Result.unwrapErrOr('fallback error');\n *\n * assert.isTrue(unwrapError(Result.err('boom')) === 'boom');\n *\n * assert.isTrue(unwrapError(Result.ok('no error')) === 'fallback error');\n * ```\n *\n * @template R The `UnknownResult` type to unwrap.\n * @template D The type of the default value.\n * @param result The `Result` to unwrap.\n * @param defaultValue The value to return if `result` is `Result.Ok`.\n * @returns The error value if `Result.Err`, otherwise `defaultValue`.\n */\nexport function unwrapErrOr<R extends UnknownResult, D>(\n result: R,\n defaultValue: D,\n): D | UnwrapErr<R>;\n\n// Curried version\nexport function unwrapErrOr<D>(\n defaultValue: D,\n): <R extends UnknownResult>(result: R) => D | UnwrapErr<R>;\n\nexport function unwrapErrOr<R extends UnknownResult, D>(\n ...args: readonly [result: R, defaultValue: D] | readonly [defaultValue: D]\n): D | UnwrapErr<R> | ((result: R) => D | UnwrapErr<R>) {\n switch (args.length) {\n case 2: {\n // Direct version: first argument is result\n const [result, defaultValue] = args;\n\n return unwrapErrOrImpl(result, defaultValue);\n }\n\n case 1: {\n // Curried version\n const [defaultValue] = args;\n\n return (result: R) => unwrapErrOrImpl(result, defaultValue);\n }\n }\n}\n\nconst unwrapErrOrImpl = <R extends UnknownResult, D>(\n result: R,\n defaultValue: D,\n): D | UnwrapErr<R> => unwrapErr(result) ?? defaultValue;\n"],"names":[],"mappings":";;AA0CO,SAAS,eACX,IAAA,EACmD;AACtD,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AAEN,MAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAI,IAAA;AAE/B,MAAA,OAAO,eAAA,CAAgB,QAAQ,YAAY,CAAA;AAAA,IAC7C;AAAA,IAEA,KAAK,CAAA,EAAG;AAEN,MAAA,MAAM,CAAC,YAAY,CAAA,GAAI,IAAA;AAEvB,MAAA,OAAO,CAAC,MAAA,KAAc,eAAA,CAAgB,MAAA,EAAQ,YAAY,CAAA;AAAA,IAC5D;AAAA;AAEJ;AAEA,MAAM,kBAAkB,CACtB,MAAA,EACA,YAAA,KACqB,SAAA,CAAU,MAAM,CAAA,IAAK,YAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-err-throw.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,aAAa,EACpD,QAAQ,CAAC,EACT,QAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAwB,KAClD,SAAS,CAAC,CAAC,CAiBb,CAAC"}
1
+ {"version":3,"file":"result-unwrap-err-throw.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,aAAa,UAC5C,CAAC,UACF,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,KAChC,SAAS,CAAC,CAAC,CAiBb,CAAC"}
@@ -3,47 +3,20 @@ import { unknownToString } from '../../../others/unknown-to-string.mjs';
3
3
  import { match } from '../../match.mjs';
4
4
  import { isErr } from './result-is-err.mjs';
5
5
 
6
- /**
7
- * Unwraps a `Result`, returning the error value. Throws an error if the
8
- * `Result` is `Result.Ok`.
9
- *
10
- * This function is used when you expect a Result to be an error and want to
11
- * extract the error value. If the Result is unexpectedly Ok, it will throw an
12
- * error with information about the unexpected success value.
13
- *
14
- * @example
15
- *
16
- * ```ts
17
- * const errResult = Result.err(new Error('broken'));
18
- *
19
- * const okResult = Result.ok('value');
20
- *
21
- * assert.isTrue(Result.unwrapErrThrow(errResult).message === 'broken');
22
- *
23
- * assert.throws(() => Result.unwrapErrThrow(okResult), /Expected Err/u);
24
- * ```
25
- *
26
- * @template R The `UnknownResult` type to unwrap.
27
- * @param result The `Result` to unwrap.
28
- * @param toStr An optional function to convert the success value to a string
29
- * for the error message when the Result is unexpectedly Ok. Defaults to
30
- * `String`.
31
- * @returns The error value if `Result.Err`.
32
- * @throws {Error} Error with message "Expected Err but got Ok: {value}" if
33
- * the `Result` is `Result.Ok`.
34
- */
35
6
  const unwrapErrThrow = (result, toStr = unknownToString) => {
36
- if (isErr(result)) {
37
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
38
- return result.value;
39
- }
40
- const variant = match(result.$$tag, {
41
- 'ts-data-forge::Result.ok': 'Ok',
42
- 'ts-data-forge::Result.err': 'Err',
43
- });
44
- throw new Error(`Expected Err but got ${variant}: ${toStr(
45
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
46
- result.value)}`);
7
+ if (isErr(result)) {
8
+ return result.value;
9
+ }
10
+ const variant = match(result.$$tag, {
11
+ "ts-data-forge::Result.ok": "Ok",
12
+ "ts-data-forge::Result.err": "Err"
13
+ });
14
+ throw new Error(
15
+ `Expected Err but got ${variant}: ${toStr(
16
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
17
+ result.value
18
+ )}`
19
+ );
47
20
  };
48
21
 
49
22
  export { unwrapErrThrow };
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-err-throw.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,cAAc,GAAG,CAC5B,MAAS,EACT,KAAA,GAAoC,eAAe,KACnC;AAChB,IAAA,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;;QAEjB,OAAO,MAAM,CAAC,KAAqB;IACrC;AAEA,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;AAClC,QAAA,0BAA0B,EAAE,IAAI;AAChC,QAAA,2BAA2B,EAAE,KAAK;AACnC,KAAA,CAAC;AAEF,IAAA,MAAM,IAAI,KAAK,CACb,CAAA,qBAAA,EAAwB,OAAO,KAAK,KAAK;;AAEvC,IAAA,MAAM,CAAC,KAAoB,CAC5B,CAAA,CAAE,CACJ;AACH;;;;"}
1
+ {"version":3,"file":"result-unwrap-err-throw.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"sourcesContent":["import { unknownToString } from '../../../others/index.mjs';\nimport { match } from '../../match.mjs';\nimport { type UnknownResult } from '../result.mjs';\nimport { isErr } from './result-is-err.mjs';\nimport { type UnwrapErr, type UnwrapOk } from './types.mjs';\n\n/**\n * Unwraps a `Result`, returning the error value. Throws an error if the\n * `Result` is `Result.Ok`.\n *\n * This function is used when you expect a Result to be an error and want to\n * extract the error value. If the Result is unexpectedly Ok, it will throw an\n * error with information about the unexpected success value.\n *\n * @example\n *\n * ```ts\n * const errResult = Result.err(new Error('broken'));\n *\n * const okResult = Result.ok('value');\n *\n * assert.isTrue(Result.unwrapErrThrow(errResult).message === 'broken');\n *\n * assert.throws(() => Result.unwrapErrThrow(okResult), /Expected Err/u);\n * ```\n *\n * @template R The `UnknownResult` type to unwrap.\n * @param result The `Result` to unwrap.\n * @param toStr An optional function to convert the success value to a string\n * for the error message when the Result is unexpectedly Ok. Defaults to\n * `String`.\n * @returns The error value if `Result.Err`.\n * @throws {Error} Error with message \"Expected Err but got Ok: {value}\" if\n * the `Result` is `Result.Ok`.\n */\nexport const unwrapErrThrow = <R extends UnknownResult>(\n result: R,\n toStr: (v: UnwrapOk<R>) => string = unknownToString,\n): UnwrapErr<R> => {\n if (isErr(result)) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result.value as UnwrapErr<R>;\n }\n\n const variant = match(result.$$tag, {\n 'ts-data-forge::Result.ok': 'Ok',\n 'ts-data-forge::Result.err': 'Err',\n });\n\n throw new Error(\n `Expected Err but got ${variant}: ${toStr(\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.value as UnwrapOk<R>,\n )}`,\n );\n};\n"],"names":[],"mappings":";;;;;AAmCO,MAAM,cAAA,GAAiB,CAC5B,MAAA,EACA,KAAA,GAAoC,eAAA,KACnB;AACjB,EAAA,IAAI,KAAA,CAAM,MAAM,CAAA,EAAG;AAEjB,IAAA,OAAO,MAAA,CAAO,KAAA;AAAA,EAChB;AAEA,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,MAAA,CAAO,KAAA,EAAO;AAAA,IAClC,0BAAA,EAA4B,IAAA;AAAA,IAC5B,2BAAA,EAA6B;AAAA,GAC9B,CAAA;AAED,EAAA,MAAM,IAAI,KAAA;AAAA,IACR,CAAA,qBAAA,EAAwB,OAAO,CAAA,EAAA,EAAK,KAAA;AAAA;AAAA,MAElC,MAAA,CAAO;AAAA,KACR,CAAA;AAAA,GACH;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-err.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,aAAa,EAC/C,QAAQ,CAAC,KACR,SAAS,CAAC,CAAC,CAAC,GAAG,SAE0C,CAAC"}
1
+ {"version":3,"file":"result-unwrap-err.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,aAAa,UACvC,CAAC,KACR,SAAS,CAAC,CAAC,CAAC,GAAG,SAE0C,CAAC"}
@@ -1,37 +1,9 @@
1
1
  import { isErr } from './result-is-err.mjs';
2
2
 
3
- /**
4
- * Unwraps a `Result`, returning the error value or `undefined` if it is
5
- * `Result.Ok`.
6
- *
7
- * This provides a safe way to extract error values from Results without
8
- * throwing exceptions. Useful for error handling patterns where you want to
9
- * check for specific error conditions.
10
- *
11
- * @example
12
- *
13
- * ```ts
14
- * const okResult = Result.ok('data');
15
- *
16
- * const errResult = Result.err('problem');
17
- *
18
- * // Result.unwrapErr returns undefined for Ok results
19
- *
20
- * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
21
- * assert.isTrue(Result.unwrapErr(okResult) === undefined);
22
- *
23
- * // Result.unwrapErr returns the error value for Err results
24
- *
25
- * assert.isTrue(Result.unwrapErr(errResult) === 'problem');
26
- * ```
27
- *
28
- * @template R The `UnknownResult` type to unwrap.
29
- * @param result The `Result` to unwrap.
30
- * @returns The error value if `Result.Err`, otherwise `undefined`.
31
- */
32
- const unwrapErr = (result) =>
33
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
34
- isErr(result) ? result.value : undefined;
3
+ const unwrapErr = (result) => (
4
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
5
+ isErr(result) ? result.value : void 0
6
+ );
35
7
 
36
8
  export { unwrapErr };
37
9
  //# sourceMappingURL=result-unwrap-err.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-err.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,SAAS,GAAG,CACvB,MAAS;AAET;AACA,KAAK,CAAC,MAAM,CAAC,GAAI,MAAM,CAAC,KAAsB,GAAG;;;;"}
1
+ {"version":3,"file":"result-unwrap-err.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"sourcesContent":["import { type UnknownResult } from '../result.mjs';\nimport { isErr } from './result-is-err.mjs';\nimport { type UnwrapErr } from './types.mjs';\n\n/**\n * Unwraps a `Result`, returning the error value or `undefined` if it is\n * `Result.Ok`.\n *\n * This provides a safe way to extract error values from Results without\n * throwing exceptions. Useful for error handling patterns where you want to\n * check for specific error conditions.\n *\n * @example\n *\n * ```ts\n * const okResult = Result.ok('data');\n *\n * const errResult = Result.err('problem');\n *\n * // Result.unwrapErr returns undefined for Ok results\n *\n * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n * assert.isTrue(Result.unwrapErr(okResult) === undefined);\n *\n * // Result.unwrapErr returns the error value for Err results\n *\n * assert.isTrue(Result.unwrapErr(errResult) === 'problem');\n * ```\n *\n * @template R The `UnknownResult` type to unwrap.\n * @param result The `Result` to unwrap.\n * @returns The error value if `Result.Err`, otherwise `undefined`.\n */\nexport const unwrapErr = <R extends UnknownResult>(\n result: R,\n): UnwrapErr<R> | undefined =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n isErr(result) ? (result.value as UnwrapErr<R>) : undefined;\n"],"names":[],"mappings":";;AAiCO,MAAM,YAAY,CACvB,MAAA;AAAA;AAAA,EAGA,KAAA,CAAM,MAAM,CAAA,GAAK,MAAA,CAAO,KAAA,GAAyB;AAAA;;;;"}
@@ -1,18 +1,16 @@
1
1
  import { unwrapOk } from './result-unwrap-ok.mjs';
2
2
 
3
3
  function unwrapOkOr(...args) {
4
- switch (args.length) {
5
- case 2: {
6
- // Direct version: first argument is result
7
- const [result, defaultValue] = args;
8
- return unwrapOkOrImpl(result, defaultValue);
9
- }
10
- case 1: {
11
- // Curried version
12
- const [defaultValue] = args;
13
- return (result) => unwrapOkOrImpl(result, defaultValue);
14
- }
4
+ switch (args.length) {
5
+ case 2: {
6
+ const [result, defaultValue] = args;
7
+ return unwrapOkOrImpl(result, defaultValue);
15
8
  }
9
+ case 1: {
10
+ const [defaultValue] = args;
11
+ return (result) => unwrapOkOrImpl(result, defaultValue);
12
+ }
13
+ }
16
14
  }
17
15
  const unwrapOkOrImpl = (result, defaultValue) => unwrapOk(result) ?? defaultValue;
18
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-ok-or.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-ok-or.mts"],"sourcesContent":[null],"names":[],"mappings":";;AA0CM,SAAU,UAAU,CACxB,GAAG,IAAwE,EAAA;AAE3E,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI;AAEnC,YAAA,OAAO,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC;QAC7C;QAEA,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI;YAE3B,OAAO,CAAC,MAAS,KAAK,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC;QAC5D;;AAEJ;AAEA,MAAM,cAAc,GAAG,CACrB,MAAS,EACT,YAAe,KACK,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY;;;;"}
1
+ {"version":3,"file":"result-unwrap-ok-or.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-ok-or.mts"],"sourcesContent":["import { type UnknownResult } from '../result.mjs';\nimport { unwrapOk } from './result-unwrap-ok.mjs';\nimport { type UnwrapOk } from './types.mjs';\n\n/**\n * Unwraps a `Result`, returning the success value or a default value if it is\n * `Result.Err`.\n *\n * @example\n *\n * ```ts\n * const okValue = Result.ok(10);\n *\n * const errValue = Result.err('fail');\n *\n * assert.isTrue(Result.unwrapOkOr(okValue, 0) === 10);\n *\n * assert.isTrue(Result.unwrapOkOr(errValue, 0) === 0);\n *\n * const unwrapWithDefault = Result.unwrapOkOr(5);\n *\n * assert.isTrue(unwrapWithDefault(Result.ok(3)) === 3);\n *\n * assert.isTrue(unwrapWithDefault(Result.err('no data')) === 5);\n * ```\n *\n * @template R The `UnknownResult` type to unwrap.\n * @template D The type of the default value.\n * @param result The `Result` to unwrap.\n * @param defaultValue The value to return if `result` is `Result.Err`.\n * @returns The success value if `Result.Ok`, otherwise `defaultValue`.\n */\nexport function unwrapOkOr<R extends UnknownResult, D>(\n result: R,\n defaultValue: D,\n): D | UnwrapOk<R>;\n\n// Curried version\nexport function unwrapOkOr<D>(\n defaultValue: D,\n): <R extends UnknownResult>(result: R) => D | UnwrapOk<R>;\n\nexport function unwrapOkOr<R extends UnknownResult, D>(\n ...args: readonly [result: R, defaultValue: D] | readonly [defaultValue: D]\n): D | UnwrapOk<R> | ((result: R) => D | UnwrapOk<R>) {\n switch (args.length) {\n case 2: {\n // Direct version: first argument is result\n const [result, defaultValue] = args;\n\n return unwrapOkOrImpl(result, defaultValue);\n }\n\n case 1: {\n // Curried version\n const [defaultValue] = args;\n\n return (result: R) => unwrapOkOrImpl(result, defaultValue);\n }\n }\n}\n\nconst unwrapOkOrImpl = <R extends UnknownResult, D>(\n result: R,\n defaultValue: D,\n): D | UnwrapOk<R> => unwrapOk(result) ?? defaultValue;\n"],"names":[],"mappings":";;AA0CO,SAAS,cACX,IAAA,EACiD;AACpD,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AAEN,MAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAI,IAAA;AAE/B,MAAA,OAAO,cAAA,CAAe,QAAQ,YAAY,CAAA;AAAA,IAC5C;AAAA,IAEA,KAAK,CAAA,EAAG;AAEN,MAAA,MAAM,CAAC,YAAY,CAAA,GAAI,IAAA;AAEvB,MAAA,OAAO,CAAC,MAAA,KAAc,cAAA,CAAe,MAAA,EAAQ,YAAY,CAAA;AAAA,IAC3D;AAAA;AAEJ;AAEA,MAAM,iBAAiB,CACrB,MAAA,EACA,YAAA,KACoB,QAAA,CAAS,MAAM,CAAA,IAAK,YAAA;;;;"}
@@ -1,10 +1,10 @@
1
1
  import { isOk } from './result-is-ok.mjs';
2
2
 
3
3
  function unwrapOk(result) {
4
- return isOk(result)
5
- ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
6
- result.value
7
- : undefined;
4
+ return isOk(result) ? (
5
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
6
+ result.value
7
+ ) : void 0;
8
8
  }
9
9
 
10
10
  export { unwrapOk };
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-ok.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-ok.mts"],"sourcesContent":[null],"names":[],"mappings":";;AA+BM,SAAU,QAAQ,CACtB,MAAS,EAAA;IAET,OAAO,IAAI,CAAC,MAAM;AAChB;AACG,YAAA,MAAM,CAAC;UACR,SAAS;AACf;;;;"}
1
+ {"version":3,"file":"result-unwrap-ok.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-ok.mts"],"sourcesContent":["import { type Ok } from '../../../types.mjs';\nimport { type UnknownResult } from '../result.mjs';\nimport { isOk } from './result-is-ok.mjs';\nimport { type UnwrapOk } from './types.mjs';\n\n/**\n * Safely unwraps the success value, returning `undefined` for failures.\n *\n * @example\n *\n * ```ts\n * const okResult = Result.ok(42);\n *\n * const errResult = Result.err('oops');\n *\n * // Result.unwrapOk returns the value for Ok results\n *\n * assert.isTrue(Result.unwrapOk(okResult) === 42);\n *\n * // Result.unwrapOk returns undefined for Err results\n *\n * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n * assert.isTrue(Result.unwrapOk(errResult) === undefined);\n * ```\n */\nexport function unwrapOk<R extends Ok<unknown>>(result: R): UnwrapOk<R>;\n\nexport function unwrapOk<R extends UnknownResult>(\n result: R,\n): UnwrapOk<R> | undefined;\n\nexport function unwrapOk<R extends UnknownResult>(\n result: R,\n): UnwrapOk<R> | undefined {\n return isOk(result)\n ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n (result.value as UnwrapOk<R>)\n : undefined;\n}\n"],"names":[],"mappings":";;AA+BO,SAAS,SACd,MAAA,EACyB;AACzB,EAAA,OAAO,KAAK,MAAM,CAAA;AAAA;AAAA,IAEb,MAAA,CAAO;AAAA,MACR,MAAA;AACN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-throw.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-throw.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EACjD,QAAQ,CAAC,EACT,QAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAwB,KACnD,QAAQ,CAAC,CAAC,CAQZ,CAAC"}
1
+ {"version":3,"file":"result-unwrap-throw.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-throw.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,UACzC,CAAC,UACF,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,KACjC,QAAQ,CAAC,CAAC,CAQZ,CAAC"}
@@ -2,42 +2,11 @@ import '@sindresorhus/is';
2
2
  import { unknownToString } from '../../../others/unknown-to-string.mjs';
3
3
  import { isErr } from './result-is-err.mjs';
4
4
 
5
- /**
6
- * Unwraps a `Result`, returning the success value. Throws an error if the
7
- * `Result` is `Result.Err`.
8
- *
9
- * This is useful when you're confident that a Result should contain a success
10
- * value and want to treat errors as exceptional conditions. The error message
11
- * will be constructed from the error value using the provided string
12
- * conversion function.
13
- *
14
- * @example
15
- *
16
- * ```ts
17
- * const okResult = Result.ok('data');
18
- *
19
- * const errResult = Result.err(new Error('fail'));
20
- *
21
- * assert.isTrue(Result.unwrapThrow(okResult) === 'data');
22
- *
23
- * assert.throws(() => Result.unwrapThrow(errResult), Error, 'fail');
24
- * ```
25
- *
26
- * @template R The `UnknownResult` type to unwrap.
27
- * @param result The `Result` to unwrap.
28
- * @param toStr An optional function to convert the error value to a string
29
- * for the error message. Defaults to `String`.
30
- * @returns The success value if `Result.Ok`.
31
- * @throws {Error} Error with the stringified error value if the `Result` is
32
- * `Result.Err`.
33
- */
34
5
  const unwrapThrow = (result, toStr = unknownToString) => {
35
- if (isErr(result)) {
36
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
37
- throw new Error(toStr(result.value));
38
- }
39
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
40
- return result.value;
6
+ if (isErr(result)) {
7
+ throw new Error(toStr(result.value));
8
+ }
9
+ return result.value;
41
10
  };
42
11
 
43
12
  export { unwrapThrow };
@@ -1 +1 @@
1
- {"version":3,"file":"result-unwrap-throw.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-throw.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,WAAW,GAAG,CACzB,MAAS,EACT,KAAA,GAAqC,eAAe,KACrC;AACf,IAAA,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;;QAEjB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAqB,CAAC,CAAC;IACtD;;IAGA,OAAO,MAAM,CAAC,KAAoB;AACpC;;;;"}
1
+ {"version":3,"file":"result-unwrap-throw.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-throw.mts"],"sourcesContent":["import { unknownToString } from '../../../others/index.mjs';\nimport { type UnknownResult } from '../result.mjs';\nimport { isErr } from './result-is-err.mjs';\nimport { type UnwrapErr, type UnwrapOk } from './types.mjs';\n\n/**\n * Unwraps a `Result`, returning the success value. Throws an error if the\n * `Result` is `Result.Err`.\n *\n * This is useful when you're confident that a Result should contain a success\n * value and want to treat errors as exceptional conditions. The error message\n * will be constructed from the error value using the provided string\n * conversion function.\n *\n * @example\n *\n * ```ts\n * const okResult = Result.ok('data');\n *\n * const errResult = Result.err(new Error('fail'));\n *\n * assert.isTrue(Result.unwrapThrow(okResult) === 'data');\n *\n * assert.throws(() => Result.unwrapThrow(errResult), Error, 'fail');\n * ```\n *\n * @template R The `UnknownResult` type to unwrap.\n * @param result The `Result` to unwrap.\n * @param toStr An optional function to convert the error value to a string\n * for the error message. Defaults to `String`.\n * @returns The success value if `Result.Ok`.\n * @throws {Error} Error with the stringified error value if the `Result` is\n * `Result.Err`.\n */\nexport const unwrapThrow = <R extends UnknownResult>(\n result: R,\n toStr: (e: UnwrapErr<R>) => string = unknownToString,\n): UnwrapOk<R> => {\n if (isErr(result)) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n throw new Error(toStr(result.value as UnwrapErr<R>));\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result.value as UnwrapOk<R>;\n};\n"],"names":[],"mappings":";;;;AAkCO,MAAM,WAAA,GAAc,CACzB,MAAA,EACA,KAAA,GAAqC,eAAA,KACrB;AAChB,EAAA,IAAI,KAAA,CAAM,MAAM,CAAA,EAAG;AAEjB,IAAA,MAAM,IAAI,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,KAAqB,CAAC,CAAA;AAAA,EACrD;AAGA,EAAA,OAAO,MAAA,CAAO,KAAA;AAChB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-zip.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-zip.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAChC,SAAS,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EACvB,SAAS,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACtB,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAKvB,CAAC"}
1
+ {"version":3,"file":"result-zip.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-zip.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,GAAG,GAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,WACvB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,WACd,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACtB,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAKvB,CAAC"}
@@ -1,40 +1,7 @@
1
1
  import { isOk } from './result-is-ok.mjs';
2
2
  import { ok } from './result-ok.mjs';
3
3
 
4
- /**
5
- * Combines two `Result` values into a single `Result` containing a tuple. If
6
- * either `Result` is `Err`, returns the first `Err` encountered.
7
- *
8
- * @example
9
- *
10
- * ```ts
11
- * const first = Result.ok('left');
12
- *
13
- * const second = Result.ok(1);
14
- *
15
- * const expected = ['left', 1] as const;
16
- *
17
- * assert.deepStrictEqual(Result.zip(first, second), Result.ok(expected));
18
- *
19
- * assert.deepStrictEqual(
20
- * Result.zip(first, Result.err('error')),
21
- * Result.err('error'),
22
- * );
23
- * ```
24
- *
25
- * @template S1 The success type of the first `Result`.
26
- * @template E1 The error type of the first `Result`.
27
- * @template S2 The success type of the second `Result`.
28
- * @template E2 The error type of the second `Result`.
29
- * @param resultA The first `Result`.
30
- * @param resultB The second `Result`.
31
- * @returns A `Result` containing a tuple of both values, or the first `Err`.
32
- */
33
- const zip = (resultA, resultB) => isOk(resultA)
34
- ? isOk(resultB)
35
- ? ok([resultA.value, resultB.value])
36
- : resultB
37
- : resultA;
4
+ const zip = (resultA, resultB) => isOk(resultA) ? isOk(resultB) ? ok([resultA.value, resultB.value]) : resultB : resultA;
38
5
 
39
6
  export { zip };
40
7
  //# sourceMappingURL=result-zip.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-zip.mjs","sources":["../../../../src/functional/result/impl/result-zip.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,GAAG,GAAG,CACjB,OAAuB,EACvB,OAAuB,KAEvB,IAAI,CAAC,OAAO;AACV,MAAE,IAAI,CAAC,OAAO;AACZ,UAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAU;AAC5C,UAAE;MACF;;;;"}
1
+ {"version":3,"file":"result-zip.mjs","sources":["../../../../src/functional/result/impl/result-zip.mts"],"sourcesContent":["import { type Result } from '../result.mjs';\nimport { isOk } from './result-is-ok.mjs';\nimport { ok } from './result-ok.mjs';\n\n/**\n * Combines two `Result` values into a single `Result` containing a tuple. If\n * either `Result` is `Err`, returns the first `Err` encountered.\n *\n * @example\n *\n * ```ts\n * const first = Result.ok('left');\n *\n * const second = Result.ok(1);\n *\n * const expected = ['left', 1] as const;\n *\n * assert.deepStrictEqual(Result.zip(first, second), Result.ok(expected));\n *\n * assert.deepStrictEqual(\n * Result.zip(first, Result.err('error')),\n * Result.err('error'),\n * );\n * ```\n *\n * @template S1 The success type of the first `Result`.\n * @template E1 The error type of the first `Result`.\n * @template S2 The success type of the second `Result`.\n * @template E2 The error type of the second `Result`.\n * @param resultA The first `Result`.\n * @param resultB The second `Result`.\n * @returns A `Result` containing a tuple of both values, or the first `Err`.\n */\nexport const zip = <S1, E1, S2, E2>(\n resultA: Result<S1, E1>,\n resultB: Result<S2, E2>,\n): Result<readonly [S1, S2], E1 | E2> =>\n isOk(resultA)\n ? isOk(resultB)\n ? ok([resultA.value, resultB.value] as const)\n : resultB\n : resultA;\n"],"names":[],"mappings":";;;AAiCO,MAAM,MAAM,CACjB,OAAA,EACA,YAEA,IAAA,CAAK,OAAO,IACR,IAAA,CAAK,OAAO,CAAA,GACV,EAAA,CAAG,CAAC,OAAA,CAAQ,KAAA,EAAO,QAAQ,KAAK,CAAU,IAC1C,OAAA,GACF;;;;"}
@@ -1,6 +1,5 @@
1
- const OkTypeTagName = 'ts-data-forge::Result.ok';
2
- /** @internal Tag identifying the Err variant. */
3
- const ErrTypeTagName = 'ts-data-forge::Result.err';
1
+ const OkTypeTagName = "ts-data-forge::Result.ok";
2
+ const ErrTypeTagName = "ts-data-forge::Result.err";
4
3
 
5
4
  export { ErrTypeTagName, OkTypeTagName };
6
5
  //# sourceMappingURL=tag.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.mjs","sources":["../../../../src/functional/result/impl/tag.mts"],"sourcesContent":[null],"names":[],"mappings":"AAGO,MAAM,aAAa,GAAyB;AAEnD;AACO,MAAM,cAAc,GACzB;;;;"}
1
+ {"version":3,"file":"tag.mjs","sources":["../../../../src/functional/result/impl/tag.mts"],"sourcesContent":["/** @internal Tag identifying the Ok variant. */\nimport { type Err, type Ok } from '../../../types.mjs';\n\nexport const OkTypeTagName: Ok<unknown>['$$tag'] = 'ts-data-forge::Result.ok';\n\n/** @internal Tag identifying the Err variant. */\nexport const ErrTypeTagName: Err<unknown>['$$tag'] =\n 'ts-data-forge::Result.err';\n"],"names":[],"mappings":"AAGO,MAAM,aAAA,GAAsC;AAG5C,MAAM,cAAA,GACX;;;;"}
@@ -1,8 +1,6 @@
1
- const OkTypeTagName = 'ts-data-forge::Result.ok';
2
- /** @internal Tag identifying the Warn variant. */
3
- const WarnTypeTagName = 'ts-data-forge::Result.warn';
4
- /** @internal Tag identifying the Err variant. */
5
- const ErrTypeTagName = 'ts-data-forge::Result.err';
1
+ const OkTypeTagName = "ts-data-forge::Result.ok";
2
+ const WarnTypeTagName = "ts-data-forge::Result.warn";
3
+ const ErrTypeTagName = "ts-data-forge::Result.err";
6
4
 
7
5
  export { ErrTypeTagName, OkTypeTagName, WarnTypeTagName };
8
6
  //# sourceMappingURL=tag.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.mjs","sources":["../../../../src/functional/ternary-result/impl/tag.mts"],"sourcesContent":[null],"names":[],"mappings":"AAOO,MAAM,aAAa,GACxB;AAEF;AACO,MAAM,eAAe,GAC1B;AAEF;AACO,MAAM,cAAc,GACzB;;;;"}
1
+ {"version":3,"file":"tag.mjs","sources":["../../../../src/functional/ternary-result/impl/tag.mts"],"sourcesContent":["/** @internal Tag identifying the Ok variant. */\nimport {\n type TernaryErr,\n type TernaryOk,\n type TernaryWarn,\n} from '../ternary-result.mjs';\n\nexport const OkTypeTagName: TernaryOk<unknown>['$$tag'] =\n 'ts-data-forge::Result.ok';\n\n/** @internal Tag identifying the Warn variant. */\nexport const WarnTypeTagName: TernaryWarn<unknown, unknown>['$$tag'] =\n 'ts-data-forge::Result.warn';\n\n/** @internal Tag identifying the Err variant. */\nexport const ErrTypeTagName: TernaryErr<unknown>['$$tag'] =\n 'ts-data-forge::Result.err';\n"],"names":[],"mappings":"AAOO,MAAM,aAAA,GACX;AAGK,MAAM,eAAA,GACX;AAGK,MAAM,cAAA,GACX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-err.d.mts","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-err.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,EAAG,OAAO,CAAC,KAAG,UAAU,CAAC,CAAC,CAIxC,CAAC"}
1
+ {"version":3,"file":"ternary-result-err.d.mts","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-err.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,SAAU,CAAC,KAAG,UAAU,CAAC,CAAC,CAIxC,CAAC"}
@@ -1,21 +1,8 @@
1
1
  import { ErrTypeTagName } from './tag.mjs';
2
2
 
3
- /**
4
- * Creates a `TernaryResult.Err` containing the provided error value.
5
- *
6
- * @example
7
- *
8
- * ```ts
9
- * const failure = TernaryResult.err(new Error('missing data'));
10
- *
11
- * assert.strictEqual(failure.$$tag, 'ts-data-forge::Result.err');
12
- *
13
- * assert.isTrue(TernaryResult.isErr(failure));
14
- * ```
15
- */
16
3
  const err = (value) => ({
17
- $$tag: ErrTypeTagName,
18
- value,
4
+ $$tag: ErrTypeTagName,
5
+ value
19
6
  });
20
7
 
21
8
  export { err };
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-err.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-err.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;AAYG;MACU,GAAG,GAAG,CAAW,KAAQ,MACnC;AACC,IAAA,KAAK,EAAE,cAAc;IACrB,KAAK;AACN,CAAA;;;;"}
1
+ {"version":3,"file":"ternary-result-err.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-err.mts"],"sourcesContent":["import { type TernaryErr } from '../ternary-result.mjs';\nimport { ErrTypeTagName } from './tag.mjs';\n\n/**\n * Creates a `TernaryResult.Err` containing the provided error value.\n *\n * @example\n *\n * ```ts\n * const failure = TernaryResult.err(new Error('missing data'));\n *\n * assert.strictEqual(failure.$$tag, 'ts-data-forge::Result.err');\n *\n * assert.isTrue(TernaryResult.isErr(failure));\n * ```\n */\nexport const err = <const E,>(value: E): TernaryErr<E> =>\n ({\n $$tag: ErrTypeTagName,\n value,\n }) as const;\n"],"names":[],"mappings":";;AAgBO,MAAM,GAAA,GAAM,CAAW,KAAA,MAC3B;AAAA,EACC,KAAA,EAAO,cAAA;AAAA,EACP;AACF,CAAA;;;;"}
@@ -2,22 +2,22 @@ import { isOk } from './ternary-result-is-ok.mjs';
2
2
  import { unwrapOk } from './ternary-result-unwrap-ok.mjs';
3
3
 
4
4
  function expectToBe(...args) {
5
- switch (args.length) {
6
- case 2: {
7
- const [result, message] = args;
8
- return expectImpl(result, message);
9
- }
10
- case 1: {
11
- const [message] = args;
12
- return (result) => expectImpl(result, message);
13
- }
5
+ switch (args.length) {
6
+ case 2: {
7
+ const [result, message] = args;
8
+ return expectImpl(result, message);
14
9
  }
10
+ case 1: {
11
+ const [message] = args;
12
+ return (result) => expectImpl(result, message);
13
+ }
14
+ }
15
15
  }
16
16
  const expectImpl = (result, message) => {
17
- if (isOk(result)) {
18
- return unwrapOk(result);
19
- }
20
- throw new Error(message);
17
+ if (isOk(result)) {
18
+ return unwrapOk(result);
19
+ }
20
+ throw new Error(message);
21
21
  };
22
22
 
23
23
  export { expectToBe };
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-expect-to-be.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-expect-to-be.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAqCM,SAAU,UAAU,CACxB,GAAG,IAAwE,EAAA;AAE3E,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;AACN,YAAA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;AAE9B,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;QACpC;QAEA,KAAK,CAAC,EAAE;AACN,YAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI;YAEtB,OAAO,CAAC,MAAS,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;QACnD;;AAEJ;AAEA,MAAM,UAAU,GAAG,CACjB,MAAS,EACT,OAAe,KACA;AACf,IAAA,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;AAChB,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;AAC1B,CAAC;;;;"}
1
+ {"version":3,"file":"ternary-result-expect-to-be.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-expect-to-be.mts"],"sourcesContent":["import {\n type TernaryResult,\n type UnknownTernaryResult,\n} from '../ternary-result.mjs';\nimport { isOk } from './ternary-result-is-ok.mjs';\nimport { unwrapOk } from './ternary-result-unwrap-ok.mjs';\nimport { type UnwrapOk } from './types.mjs';\n\n/**\n * Unwraps the Ok value or throws with the provided message.\n *\n * @example\n *\n * ```ts\n * const okValue = TernaryResult.ok('ready');\n *\n * assert.strictEqual(TernaryResult.expectToBe(okValue, 'missing'), 'ready');\n *\n * const expectResult = TernaryResult.expectToBe('needs value');\n *\n * const throwTest = (): void => {\n * expectResult(TernaryResult.err('oops'));\n * };\n *\n * assert.throws(throwTest, /needs value/u);\n * ```\n */\nexport function expectToBe<R extends UnknownTernaryResult>(\n result: R,\n message: string,\n): UnwrapOk<R>;\n\n// Curried version\nexport function expectToBe(\n message: string,\n): <S, W, E>(result: TernaryResult<S, E, W>) => S;\n\nexport function expectToBe<R extends UnknownTernaryResult>(\n ...args: readonly [result: R, message: string] | readonly [message: string]\n): UnwrapOk<R> | ((result: R) => UnwrapOk<R>) {\n switch (args.length) {\n case 2: {\n const [result, message] = args;\n\n return expectImpl(result, message);\n }\n\n case 1: {\n const [message] = args;\n\n return (result: R) => expectImpl(result, message);\n }\n }\n}\n\nconst expectImpl = <R extends UnknownTernaryResult>(\n result: R,\n message: string,\n): UnwrapOk<R> => {\n if (isOk(result)) {\n return unwrapOk(result);\n }\n\n throw new Error(message);\n};\n"],"names":[],"mappings":";;;AAqCO,SAAS,cACX,IAAA,EACyC;AAC5C,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,OAAO,CAAA,GAAI,IAAA;AAE1B,MAAA,OAAO,UAAA,CAAW,QAAQ,OAAO,CAAA;AAAA,IACnC;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,OAAO,CAAA,GAAI,IAAA;AAElB,MAAA,OAAO,CAAC,MAAA,KAAc,UAAA,CAAW,MAAA,EAAQ,OAAO,CAAA;AAAA,IAClD;AAAA;AAEJ;AAEA,MAAM,UAAA,GAAa,CACjB,MAAA,EACA,OAAA,KACgB;AAChB,EAAA,IAAI,IAAA,CAAK,MAAM,CAAA,EAAG;AAChB,IAAA,OAAO,SAAS,MAAM,CAAA;AAAA,EACxB;AAEA,EAAA,MAAM,IAAI,MAAM,OAAO,CAAA;AACzB,CAAA;;;;"}
@@ -3,38 +3,39 @@ import { isWarn } from './ternary-result-is-warn.mjs';
3
3
  import { warn } from './ternary-result-warn.mjs';
4
4
 
5
5
  function flatMap(...args) {
6
- switch (args.length) {
7
- case 2: {
8
- const [result, flatMapFn] = args;
9
- return flatMapImpl(result, flatMapFn);
10
- }
11
- case 1: {
12
- const [flatMapFn] = args;
13
- return (result) => flatMapImpl(result, flatMapFn);
14
- }
6
+ switch (args.length) {
7
+ case 2: {
8
+ const [result, flatMapFn] = args;
9
+ return flatMapImpl(result, flatMapFn);
15
10
  }
11
+ case 1: {
12
+ const [flatMapFn] = args;
13
+ return (result) => flatMapImpl(result, flatMapFn);
14
+ }
15
+ }
16
16
  }
17
17
  const flatMapImpl = (result, flatMapFn) => {
18
- if (isOk(result)) {
18
+ if (isOk(result)) {
19
+ return flatMapFn(result.value);
20
+ }
21
+ if (isWarn(result)) {
22
+ const next = flatMapFn(
23
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
24
+ result.value
25
+ );
26
+ if (isOk(next)) {
27
+ return warn(
28
+ next.value,
19
29
  // eslint-disable-next-line total-functions/no-unsafe-type-assertion
20
- return flatMapFn(result.value);
30
+ result.warning
31
+ );
21
32
  }
22
- if (isWarn(result)) {
23
- const next = flatMapFn(
24
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
25
- result.value);
26
- if (isOk(next)) {
27
- return warn(next.value,
28
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
29
- result.warning);
30
- }
31
- if (isWarn(next)) {
32
- return warn(next.value, next.warning);
33
- }
34
- return next;
33
+ if (isWarn(next)) {
34
+ return warn(next.value, next.warning);
35
35
  }
36
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
37
- return result;
36
+ return next;
37
+ }
38
+ return result;
38
39
  };
39
40
 
40
41
  export { flatMap };
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-flat-map.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-flat-map.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAsDM,SAAU,OAAO,CACrB,GAAG,IAKwE,EAAA;AAI3E,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;AACN,YAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;AAEhC,YAAA,OAAO,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC;QACvC;QAEA,KAAK,CAAC,EAAE;AACN,YAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI;YAExB,OAAO,CAAC,MAAS,KAAK,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC;QACtD;;AAEJ;AAEA,MAAM,WAAW,GAAG,CAClB,MAAS,EACT,SAA4D,KACA;AAC5D,IAAA,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;;AAEhB,QAAA,OAAO,SAAS,CAAC,MAAM,CAAC,KAAoB,CAAC;IAC/C;AAEA,IAAA,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;QAClB,MAAM,IAAI,GAAG,SAAS;;QAEpB,MAAM,CAAC,KAAoB,CAC5B;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;AACd,YAAA,OAAO,IAAI,CACT,IAAI,CAAC,KAAK;;YAEV,MAAM,CAAC,OAAwB,CAChC;QACH;AAEA,QAAA,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAoC,CAAC;QACpE;AAEA,QAAA,OAAO,IAAI;IACb;;AAGA,IAAA,OAAO,MAAuC;AAChD,CAAC;;;;"}
1
+ {"version":3,"file":"ternary-result-flat-map.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-flat-map.mts"],"sourcesContent":["import {\n type TernaryErr,\n type TernaryResult,\n type UnknownTernaryResult,\n} from '../ternary-result.mjs';\nimport { isOk } from './ternary-result-is-ok.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { warn } from './ternary-result-warn.mjs';\nimport { type UnwrapErr, type UnwrapOk, type UnwrapWarn } from './types.mjs';\n\n/**\n * Applies a function returning a `TernaryResult` to the Ok variant.\n *\n * @example\n *\n * ```ts\n * const parse = (value: string): TernaryResult<number, string, string> =>\n * pipe(Num.safeParseFloat(value)).map((result) =>\n * Result.isErr(result)\n * ? TernaryResult.err('NaN')\n * : TernaryResult.ok(result.value),\n * ).value;\n *\n * const doubled = TernaryResult.flatMap(TernaryResult.ok('3'), (text) =>\n * TernaryResult.map(parse(text), (num) => num * 2),\n * );\n *\n * const warnPassthrough = TernaryResult.flatMap(\n * TernaryResult.warn('3', 'retry'),\n * parse,\n * );\n *\n * const errPassthrough = TernaryResult.flatMap(\n * TernaryResult.err('oops'),\n * parse,\n * );\n *\n * assert.deepStrictEqual(doubled, TernaryResult.ok(6));\n *\n * assert.deepStrictEqual(warnPassthrough, TernaryResult.warn(3, 'retry'));\n *\n * assert.deepStrictEqual(errPassthrough, TernaryResult.err('oops'));\n * ```\n */\nexport function flatMap<R extends UnknownTernaryResult, S2, W2, E2>(\n result: R,\n flatMapFn: (value: UnwrapOk<R>) => TernaryResult<S2, E2, W2>,\n): TernaryResult<S2, E2 | UnwrapErr<R>, W2 | UnwrapWarn<R>>;\n\n// Curried version\nexport function flatMap<S, S2, W2, E2>(\n flatMapFn: (value: S) => TernaryResult<S2, E2, W2>,\n): <W, E>(result: TernaryResult<S, E, W>) => TernaryResult<S2, E | E2, W | W2>;\n\nexport function flatMap<R extends UnknownTernaryResult, S2, W2, E2>(\n ...args:\n | readonly [\n result: R,\n flatMapFn: (value: UnwrapOk<R>) => TernaryResult<S2, E2, W2>,\n ]\n | readonly [flatMapFn: (value: UnwrapOk<R>) => TernaryResult<S2, E2, W2>]\n):\n | TernaryResult<S2, E2 | UnwrapErr<R>, W2 | UnwrapWarn<R>>\n | ((result: R) => TernaryResult<S2, UnwrapErr<R> | E2, UnwrapWarn<R> | W2>) {\n switch (args.length) {\n case 2: {\n const [result, flatMapFn] = args;\n\n return flatMapImpl(result, flatMapFn);\n }\n\n case 1: {\n const [flatMapFn] = args;\n\n return (result: R) => flatMapImpl(result, flatMapFn);\n }\n }\n}\n\nconst flatMapImpl = <R extends UnknownTernaryResult, S2, W2, E2>(\n result: R,\n flatMapFn: (value: UnwrapOk<R>) => TernaryResult<S2, E2, W2>,\n): TernaryResult<S2, E2 | UnwrapErr<R>, W2 | UnwrapWarn<R>> => {\n if (isOk(result)) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return flatMapFn(result.value as UnwrapOk<R>);\n }\n\n if (isWarn(result)) {\n const next = flatMapFn(\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.value as UnwrapOk<R>,\n );\n\n if (isOk(next)) {\n return warn(\n next.value,\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.warning as UnwrapWarn<R>,\n );\n }\n\n if (isWarn(next)) {\n return warn(next.value, next.warning satisfies W2 | UnwrapWarn<R>);\n }\n\n return next;\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result as TernaryErr<E2 | UnwrapErr<R>>;\n};\n"],"names":[],"mappings":";;;;AAsDO,SAAS,WACX,IAAA,EAQyE;AAC5E,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,IAAA;AAE5B,MAAA,OAAO,WAAA,CAAY,QAAQ,SAAS,CAAA;AAAA,IACtC;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,SAAS,CAAA,GAAI,IAAA;AAEpB,MAAA,OAAO,CAAC,MAAA,KAAc,WAAA,CAAY,MAAA,EAAQ,SAAS,CAAA;AAAA,IACrD;AAAA;AAEJ;AAEA,MAAM,WAAA,GAAc,CAClB,MAAA,EACA,SAAA,KAC6D;AAC7D,EAAA,IAAI,IAAA,CAAK,MAAM,CAAA,EAAG;AAEhB,IAAA,OAAO,SAAA,CAAU,OAAO,KAAoB,CAAA;AAAA,EAC9C;AAEA,EAAA,IAAI,MAAA,CAAO,MAAM,CAAA,EAAG;AAClB,IAAA,MAAM,IAAA,GAAO,SAAA;AAAA;AAAA,MAEX,MAAA,CAAO;AAAA,KACT;AAEA,IAAA,IAAI,IAAA,CAAK,IAAI,CAAA,EAAG;AACd,MAAA,OAAO,IAAA;AAAA,QACL,IAAA,CAAK,KAAA;AAAA;AAAA,QAEL,MAAA,CAAO;AAAA,OACT;AAAA,IACF;AAEA,IAAA,IAAI,MAAA,CAAO,IAAI,CAAA,EAAG;AAChB,MAAA,OAAO,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO,IAAA,CAAK,OAAoC,CAAA;AAAA,IACnE;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,OAAO,MAAA;AACT,CAAA;;;;"}