ts-data-forge 3.3.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/README.md +37 -13
  2. package/dist/array/impl/array-utils-creation.d.mts +116 -0
  3. package/dist/array/impl/array-utils-creation.d.mts.map +1 -0
  4. package/dist/array/impl/array-utils-creation.mjs +110 -0
  5. package/dist/array/impl/array-utils-creation.mjs.map +1 -0
  6. package/dist/array/impl/array-utils-element-access.d.mts +60 -0
  7. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -0
  8. package/dist/array/impl/array-utils-element-access.mjs +66 -0
  9. package/dist/array/impl/array-utils-element-access.mjs.map +1 -0
  10. package/dist/array/impl/array-utils-iterators.d.mts +59 -0
  11. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -0
  12. package/dist/array/impl/array-utils-iterators.mjs +104 -0
  13. package/dist/array/impl/array-utils-iterators.mjs.map +1 -0
  14. package/dist/array/impl/array-utils-modification.d.mts +154 -0
  15. package/dist/array/impl/array-utils-modification.d.mts.map +1 -0
  16. package/dist/array/impl/array-utils-modification.mjs +139 -0
  17. package/dist/array/impl/array-utils-modification.mjs.map +1 -0
  18. package/dist/array/impl/array-utils-reducing-value.d.mts +213 -0
  19. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -0
  20. package/dist/array/impl/array-utils-reducing-value.mjs +162 -0
  21. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
  22. package/dist/array/impl/array-utils-search.d.mts +178 -0
  23. package/dist/array/impl/array-utils-search.d.mts.map +1 -0
  24. package/dist/array/impl/array-utils-search.mjs +153 -0
  25. package/dist/array/impl/array-utils-search.mjs.map +1 -0
  26. package/dist/array/impl/array-utils-set-op.d.mts +100 -0
  27. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -0
  28. package/dist/array/impl/array-utils-set-op.mjs +137 -0
  29. package/dist/array/impl/array-utils-set-op.mjs.map +1 -0
  30. package/dist/array/impl/array-utils-size.d.mts +24 -0
  31. package/dist/array/impl/array-utils-size.d.mts.map +1 -0
  32. package/dist/array/impl/array-utils-size.mjs +28 -0
  33. package/dist/array/impl/array-utils-size.mjs.map +1 -0
  34. package/dist/array/impl/array-utils-slice-clamped.d.mts +18 -0
  35. package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -0
  36. package/dist/array/impl/array-utils-slice-clamped.mjs +49 -0
  37. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -0
  38. package/dist/array/impl/array-utils-slicing.d.mts +120 -0
  39. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -0
  40. package/dist/array/impl/array-utils-slicing.mjs +140 -0
  41. package/dist/array/impl/array-utils-slicing.mjs.map +1 -0
  42. package/dist/array/impl/array-utils-transformation.d.mts +348 -0
  43. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -0
  44. package/dist/array/impl/array-utils-transformation.mjs +329 -0
  45. package/dist/array/impl/array-utils-transformation.mjs.map +1 -0
  46. package/dist/array/impl/array-utils-validation.d.mts +149 -0
  47. package/dist/array/impl/array-utils-validation.d.mts.map +1 -0
  48. package/dist/array/impl/array-utils-validation.mjs +166 -0
  49. package/dist/array/impl/array-utils-validation.mjs.map +1 -0
  50. package/dist/array/impl/index.d.mts +13 -0
  51. package/dist/array/impl/index.d.mts.map +1 -0
  52. package/dist/array/impl/index.mjs +13 -0
  53. package/dist/array/impl/index.mjs.map +1 -0
  54. package/dist/array/index.d.mts +1 -1
  55. package/dist/array/index.d.mts.map +1 -1
  56. package/dist/array/index.mjs +2 -1
  57. package/dist/array/index.mjs.map +1 -1
  58. package/dist/collections/imap-mapped.d.mts +83 -254
  59. package/dist/collections/imap-mapped.d.mts.map +1 -1
  60. package/dist/collections/imap-mapped.mjs +40 -170
  61. package/dist/collections/imap-mapped.mjs.map +1 -1
  62. package/dist/collections/imap.d.mts +436 -164
  63. package/dist/collections/imap.d.mts.map +1 -1
  64. package/dist/collections/imap.mjs +83 -101
  65. package/dist/collections/imap.mjs.map +1 -1
  66. package/dist/collections/iset-mapped.d.mts +828 -345
  67. package/dist/collections/iset-mapped.d.mts.map +1 -1
  68. package/dist/collections/iset-mapped.mjs +200 -242
  69. package/dist/collections/iset-mapped.mjs.map +1 -1
  70. package/dist/collections/iset.d.mts +397 -205
  71. package/dist/collections/iset.d.mts.map +1 -1
  72. package/dist/collections/iset.mjs +102 -184
  73. package/dist/collections/iset.mjs.map +1 -1
  74. package/dist/collections/queue.d.mts +155 -136
  75. package/dist/collections/queue.d.mts.map +1 -1
  76. package/dist/collections/queue.mjs +59 -160
  77. package/dist/collections/queue.mjs.map +1 -1
  78. package/dist/collections/stack.d.mts +154 -155
  79. package/dist/collections/stack.d.mts.map +1 -1
  80. package/dist/collections/stack.mjs +58 -207
  81. package/dist/collections/stack.mjs.map +1 -1
  82. package/dist/entry-point.d.mts +2 -0
  83. package/dist/entry-point.d.mts.map +1 -1
  84. package/dist/entry-point.mjs +8 -5
  85. package/dist/entry-point.mjs.map +1 -1
  86. package/dist/expect-type.d.mts +43 -172
  87. package/dist/expect-type.d.mts.map +1 -1
  88. package/dist/expect-type.mjs +43 -172
  89. package/dist/expect-type.mjs.map +1 -1
  90. package/dist/functional/index.d.mts +2 -2
  91. package/dist/functional/index.d.mts.map +1 -1
  92. package/dist/functional/index.mjs +4 -2
  93. package/dist/functional/index.mjs.map +1 -1
  94. package/dist/functional/match.d.mts +35 -140
  95. package/dist/functional/match.d.mts.map +1 -1
  96. package/dist/functional/match.mjs.map +1 -1
  97. package/dist/functional/optional/impl/index.d.mts +18 -0
  98. package/dist/functional/optional/impl/index.d.mts.map +1 -0
  99. package/dist/functional/optional/impl/index.mjs +17 -0
  100. package/dist/functional/optional/impl/index.mjs.map +1 -0
  101. package/dist/functional/optional/impl/optional-expect-to-be.d.mts +29 -0
  102. package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +1 -0
  103. package/dist/functional/optional/impl/optional-expect-to-be.mjs +25 -0
  104. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -0
  105. package/dist/functional/optional/impl/optional-filter.d.mts +29 -0
  106. package/dist/functional/optional/impl/optional-filter.d.mts.map +1 -0
  107. package/dist/functional/optional/impl/optional-filter.mjs +28 -0
  108. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -0
  109. package/dist/functional/optional/impl/optional-flat-map.d.mts +33 -0
  110. package/dist/functional/optional/impl/optional-flat-map.d.mts.map +1 -0
  111. package/dist/functional/optional/impl/optional-flat-map.mjs +21 -0
  112. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -0
  113. package/dist/functional/optional/impl/optional-from-nullable.d.mts +24 -0
  114. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -0
  115. package/dist/functional/optional/impl/optional-from-nullable.mjs +29 -0
  116. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -0
  117. package/dist/functional/optional/impl/optional-is-none.d.mts +22 -0
  118. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -0
  119. package/dist/functional/optional/impl/optional-is-none.mjs +25 -0
  120. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -0
  121. package/dist/functional/optional/impl/optional-is-optional.d.mts +18 -0
  122. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -0
  123. package/dist/functional/optional/impl/optional-is-optional.mjs +27 -0
  124. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -0
  125. package/dist/functional/optional/impl/optional-is-some.d.mts +22 -0
  126. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -0
  127. package/dist/functional/optional/impl/optional-is-some.mjs +25 -0
  128. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -0
  129. package/dist/functional/optional/impl/optional-map.d.mts +31 -0
  130. package/dist/functional/optional/impl/optional-map.d.mts.map +1 -0
  131. package/dist/functional/optional/impl/optional-map.mjs +25 -0
  132. package/dist/functional/optional/impl/optional-map.mjs.map +1 -0
  133. package/dist/functional/optional/impl/optional-none.d.mts +16 -0
  134. package/dist/functional/optional/impl/optional-none.d.mts.map +1 -0
  135. package/dist/functional/optional/impl/optional-none.mjs +20 -0
  136. package/dist/functional/optional/impl/optional-none.mjs.map +1 -0
  137. package/dist/functional/optional/impl/optional-or-else.d.mts +35 -0
  138. package/dist/functional/optional/impl/optional-or-else.d.mts.map +1 -0
  139. package/dist/functional/optional/impl/optional-or-else.mjs +19 -0
  140. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -0
  141. package/dist/functional/optional/impl/optional-some.d.mts +19 -0
  142. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -0
  143. package/dist/functional/optional/impl/optional-some.mjs +26 -0
  144. package/dist/functional/optional/impl/optional-some.mjs.map +1 -0
  145. package/dist/functional/optional/impl/optional-to-nullable.d.mts +27 -0
  146. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -0
  147. package/dist/functional/optional/impl/optional-to-nullable.mjs +31 -0
  148. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -0
  149. package/dist/functional/optional/impl/optional-unwrap-or.d.mts +33 -0
  150. package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +1 -0
  151. package/dist/functional/optional/impl/optional-unwrap-or.mjs +19 -0
  152. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -0
  153. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +29 -0
  154. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -0
  155. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +38 -0
  156. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -0
  157. package/dist/functional/optional/impl/optional-unwrap.d.mts +28 -0
  158. package/dist/functional/optional/impl/optional-unwrap.d.mts.map +1 -0
  159. package/dist/functional/optional/impl/optional-unwrap.mjs +11 -0
  160. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -0
  161. package/dist/functional/optional/impl/optional-zip.d.mts +31 -0
  162. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -0
  163. package/dist/functional/optional/impl/optional-zip.mjs +39 -0
  164. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -0
  165. package/dist/functional/optional/impl/tag.d.mts +5 -0
  166. package/dist/functional/optional/impl/tag.d.mts.map +1 -0
  167. package/dist/functional/optional/impl/tag.mjs +7 -0
  168. package/dist/functional/optional/impl/tag.mjs.map +1 -0
  169. package/dist/functional/optional/impl/types.d.mts +22 -0
  170. package/dist/functional/optional/impl/types.d.mts.map +1 -0
  171. package/dist/functional/optional/impl/types.mjs +2 -0
  172. package/dist/functional/optional/impl/types.mjs.map +1 -0
  173. package/dist/functional/optional/index.d.mts +2 -0
  174. package/dist/functional/optional/index.d.mts.map +1 -0
  175. package/dist/functional/optional/index.mjs +3 -0
  176. package/dist/functional/optional/index.mjs.map +1 -0
  177. package/dist/functional/pipe.d.mts +63 -117
  178. package/dist/functional/pipe.d.mts.map +1 -1
  179. package/dist/functional/pipe.mjs +4 -3
  180. package/dist/functional/pipe.mjs.map +1 -1
  181. package/dist/functional/result/impl/index.d.mts +24 -0
  182. package/dist/functional/result/impl/index.d.mts.map +1 -0
  183. package/dist/functional/result/impl/index.mjs +23 -0
  184. package/dist/functional/result/impl/index.mjs.map +1 -0
  185. package/dist/functional/result/impl/result-err.d.mts +25 -0
  186. package/dist/functional/result/impl/result-err.d.mts.map +1 -0
  187. package/dist/functional/result/impl/result-err.mjs +32 -0
  188. package/dist/functional/result/impl/result-err.mjs.map +1 -0
  189. package/dist/functional/result/impl/result-expect-to-be.d.mts +27 -0
  190. package/dist/functional/result/impl/result-expect-to-be.d.mts.map +1 -0
  191. package/dist/functional/result/impl/result-expect-to-be.mjs +26 -0
  192. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -0
  193. package/dist/functional/result/impl/result-flat-map.d.mts +39 -0
  194. package/dist/functional/result/impl/result-flat-map.d.mts.map +1 -0
  195. package/dist/functional/result/impl/result-flat-map.mjs +24 -0
  196. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -0
  197. package/dist/functional/result/impl/result-fold.d.mts +45 -0
  198. package/dist/functional/result/impl/result-fold.d.mts.map +1 -0
  199. package/dist/functional/result/impl/result-fold.mjs +26 -0
  200. package/dist/functional/result/impl/result-fold.mjs.map +1 -0
  201. package/dist/functional/result/impl/result-from-promise.d.mts +32 -0
  202. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -0
  203. package/dist/functional/result/impl/result-from-promise.mjs +32 -0
  204. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -0
  205. package/dist/functional/result/impl/result-from-throwable.d.mts +29 -0
  206. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -0
  207. package/dist/functional/result/impl/result-from-throwable.mjs +46 -0
  208. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -0
  209. package/dist/functional/result/impl/result-is-err.d.mts +20 -0
  210. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -0
  211. package/dist/functional/result/impl/result-is-err.mjs +23 -0
  212. package/dist/functional/result/impl/result-is-err.mjs.map +1 -0
  213. package/dist/functional/result/impl/result-is-ok.d.mts +20 -0
  214. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -0
  215. package/dist/functional/result/impl/result-is-ok.mjs +23 -0
  216. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -0
  217. package/dist/functional/result/impl/result-is-result.d.mts +17 -0
  218. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -0
  219. package/dist/functional/result/impl/result-is-result.mjs +26 -0
  220. package/dist/functional/result/impl/result-is-result.mjs.map +1 -0
  221. package/dist/functional/result/impl/result-map-err.d.mts +33 -0
  222. package/dist/functional/result/impl/result-map-err.d.mts.map +1 -0
  223. package/dist/functional/result/impl/result-map-err.mjs +25 -0
  224. package/dist/functional/result/impl/result-map-err.mjs.map +1 -0
  225. package/dist/functional/result/impl/result-map.d.mts +34 -0
  226. package/dist/functional/result/impl/result-map.d.mts.map +1 -0
  227. package/dist/functional/result/impl/result-map.mjs +25 -0
  228. package/dist/functional/result/impl/result-map.mjs.map +1 -0
  229. package/dist/functional/result/impl/result-ok.d.mts +25 -0
  230. package/dist/functional/result/impl/result-ok.d.mts.map +1 -0
  231. package/dist/functional/result/impl/result-ok.mjs +32 -0
  232. package/dist/functional/result/impl/result-ok.mjs.map +1 -0
  233. package/dist/functional/result/impl/result-or-else.d.mts +32 -0
  234. package/dist/functional/result/impl/result-or-else.d.mts.map +1 -0
  235. package/dist/functional/result/impl/result-or-else.mjs +20 -0
  236. package/dist/functional/result/impl/result-or-else.mjs.map +1 -0
  237. package/dist/functional/result/impl/result-swap.d.mts +20 -0
  238. package/dist/functional/result/impl/result-swap.d.mts.map +1 -0
  239. package/dist/functional/result/impl/result-swap.mjs +28 -0
  240. package/dist/functional/result/impl/result-swap.mjs.map +1 -0
  241. package/dist/functional/result/impl/result-to-optional.d.mts +28 -0
  242. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -0
  243. package/dist/functional/result/impl/result-to-optional.mjs +34 -0
  244. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -0
  245. package/dist/functional/result/impl/result-unwrap-err-or.d.mts +29 -0
  246. package/dist/functional/result/impl/result-unwrap-err-or.d.mts.map +1 -0
  247. package/dist/functional/result/impl/result-unwrap-err-or.mjs +20 -0
  248. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -0
  249. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts +30 -0
  250. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -0
  251. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +47 -0
  252. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -0
  253. package/dist/functional/result/impl/result-unwrap-err.d.mts +31 -0
  254. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -0
  255. package/dist/functional/result/impl/result-unwrap-err.mjs +36 -0
  256. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -0
  257. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts +29 -0
  258. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts.map +1 -0
  259. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +20 -0
  260. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -0
  261. package/dist/functional/result/impl/result-unwrap-ok.d.mts +23 -0
  262. package/dist/functional/result/impl/result-unwrap-ok.d.mts.map +1 -0
  263. package/dist/functional/result/impl/result-unwrap-ok.mjs +11 -0
  264. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -0
  265. package/dist/functional/result/impl/result-unwrap-throw.d.mts +30 -0
  266. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -0
  267. package/dist/functional/result/impl/result-unwrap-throw.mjs +41 -0
  268. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -0
  269. package/dist/functional/result/impl/result-zip.d.mts +29 -0
  270. package/dist/functional/result/impl/result-zip.d.mts.map +1 -0
  271. package/dist/functional/result/impl/result-zip.mjs +38 -0
  272. package/dist/functional/result/impl/result-zip.mjs.map +1 -0
  273. package/dist/functional/result/impl/tag.d.mts +5 -0
  274. package/dist/functional/result/impl/tag.d.mts.map +1 -0
  275. package/dist/functional/result/impl/tag.mjs +7 -0
  276. package/dist/functional/result/impl/tag.mjs.map +1 -0
  277. package/dist/functional/result/impl/types.d.mts +29 -0
  278. package/dist/functional/result/impl/types.d.mts.map +1 -0
  279. package/dist/functional/result/impl/types.mjs +2 -0
  280. package/dist/functional/result/impl/types.mjs.map +1 -0
  281. package/dist/functional/result/index.d.mts +2 -0
  282. package/dist/functional/result/index.d.mts.map +1 -0
  283. package/dist/functional/result/index.mjs +3 -0
  284. package/dist/functional/result/index.mjs.map +1 -0
  285. package/dist/globals.d.mts +95 -5
  286. package/dist/guard/has-key.d.mts +23 -74
  287. package/dist/guard/has-key.d.mts.map +1 -1
  288. package/dist/guard/has-key.mjs +23 -74
  289. package/dist/guard/has-key.mjs.map +1 -1
  290. package/dist/guard/is-non-empty-string.d.mts +20 -87
  291. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  292. package/dist/guard/is-non-empty-string.mjs +20 -87
  293. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  294. package/dist/guard/is-non-null-object.d.mts +14 -84
  295. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  296. package/dist/guard/is-non-null-object.mjs +14 -84
  297. package/dist/guard/is-non-null-object.mjs.map +1 -1
  298. package/dist/guard/is-primitive.d.mts +13 -126
  299. package/dist/guard/is-primitive.d.mts.map +1 -1
  300. package/dist/guard/is-primitive.mjs +13 -126
  301. package/dist/guard/is-primitive.mjs.map +1 -1
  302. package/dist/guard/is-record.d.mts +21 -132
  303. package/dist/guard/is-record.d.mts.map +1 -1
  304. package/dist/guard/is-record.mjs +21 -132
  305. package/dist/guard/is-record.mjs.map +1 -1
  306. package/dist/guard/is-type.d.mts +201 -238
  307. package/dist/guard/is-type.d.mts.map +1 -1
  308. package/dist/guard/is-type.mjs +201 -238
  309. package/dist/guard/is-type.mjs.map +1 -1
  310. package/dist/guard/key-is-in.d.mts +22 -139
  311. package/dist/guard/key-is-in.d.mts.map +1 -1
  312. package/dist/guard/key-is-in.mjs +22 -139
  313. package/dist/guard/key-is-in.mjs.map +1 -1
  314. package/dist/index.d.mts +0 -2
  315. package/dist/index.d.mts.map +1 -1
  316. package/dist/index.mjs +0 -5
  317. package/dist/index.mjs.map +1 -1
  318. package/dist/iterator/range.d.mts +29 -62
  319. package/dist/iterator/range.d.mts.map +1 -1
  320. package/dist/iterator/range.mjs.map +1 -1
  321. package/dist/json/json.d.mts +191 -122
  322. package/dist/json/json.d.mts.map +1 -1
  323. package/dist/json/json.mjs +246 -144
  324. package/dist/json/json.mjs.map +1 -1
  325. package/dist/number/branded-types/finite-number.d.mts +24 -156
  326. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  327. package/dist/number/branded-types/finite-number.mjs +28 -160
  328. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  329. package/dist/number/branded-types/int.d.mts +122 -120
  330. package/dist/number/branded-types/int.d.mts.map +1 -1
  331. package/dist/number/branded-types/int.mjs +123 -121
  332. package/dist/number/branded-types/int.mjs.map +1 -1
  333. package/dist/number/branded-types/int16.d.mts +22 -30
  334. package/dist/number/branded-types/int16.d.mts.map +1 -1
  335. package/dist/number/branded-types/int16.mjs +23 -31
  336. package/dist/number/branded-types/int16.mjs.map +1 -1
  337. package/dist/number/branded-types/int32.d.mts +22 -31
  338. package/dist/number/branded-types/int32.d.mts.map +1 -1
  339. package/dist/number/branded-types/int32.mjs +23 -32
  340. package/dist/number/branded-types/int32.mjs.map +1 -1
  341. package/dist/number/branded-types/non-negative-finite-number.d.mts +28 -36
  342. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  343. package/dist/number/branded-types/non-negative-finite-number.mjs +32 -40
  344. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  345. package/dist/number/branded-types/non-negative-int16.d.mts +24 -34
  346. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  347. package/dist/number/branded-types/non-negative-int16.mjs +25 -35
  348. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  349. package/dist/number/branded-types/non-negative-int32.d.mts +26 -35
  350. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  351. package/dist/number/branded-types/non-negative-int32.mjs +27 -36
  352. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  353. package/dist/number/branded-types/non-zero-finite-number.d.mts +22 -37
  354. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  355. package/dist/number/branded-types/non-zero-finite-number.mjs +26 -41
  356. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  357. package/dist/number/branded-types/non-zero-int.d.mts +15 -30
  358. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  359. package/dist/number/branded-types/non-zero-int.mjs +16 -31
  360. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  361. package/dist/number/branded-types/non-zero-int16.d.mts +27 -35
  362. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  363. package/dist/number/branded-types/non-zero-int16.mjs +28 -36
  364. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  365. package/dist/number/branded-types/non-zero-int32.d.mts +29 -36
  366. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  367. package/dist/number/branded-types/non-zero-int32.mjs +30 -37
  368. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  369. package/dist/number/branded-types/non-zero-safe-int.d.mts +37 -38
  370. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  371. package/dist/number/branded-types/non-zero-safe-int.mjs +40 -41
  372. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  373. package/dist/number/branded-types/non-zero-uint16.d.mts +24 -35
  374. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  375. package/dist/number/branded-types/non-zero-uint16.mjs +25 -36
  376. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  377. package/dist/number/branded-types/non-zero-uint32.d.mts +24 -35
  378. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  379. package/dist/number/branded-types/non-zero-uint32.mjs +25 -36
  380. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  381. package/dist/number/branded-types/positive-finite-number.d.mts +26 -40
  382. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  383. package/dist/number/branded-types/positive-finite-number.mjs +30 -44
  384. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  385. package/dist/number/branded-types/positive-int.d.mts +133 -123
  386. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  387. package/dist/number/branded-types/positive-int.mjs +134 -124
  388. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  389. package/dist/number/branded-types/positive-int16.d.mts +24 -35
  390. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  391. package/dist/number/branded-types/positive-int16.mjs +25 -36
  392. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  393. package/dist/number/branded-types/positive-int32.d.mts +24 -35
  394. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  395. package/dist/number/branded-types/positive-int32.mjs +25 -36
  396. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  397. package/dist/number/branded-types/positive-safe-int.d.mts +159 -33
  398. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  399. package/dist/number/branded-types/positive-safe-int.mjs +161 -35
  400. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  401. package/dist/number/branded-types/positive-uint16.d.mts +24 -35
  402. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  403. package/dist/number/branded-types/positive-uint16.mjs +25 -36
  404. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  405. package/dist/number/branded-types/positive-uint32.d.mts +26 -36
  406. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  407. package/dist/number/branded-types/positive-uint32.mjs +27 -37
  408. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  409. package/dist/number/branded-types/safe-int.d.mts +140 -99
  410. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  411. package/dist/number/branded-types/safe-int.mjs +143 -102
  412. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  413. package/dist/number/branded-types/safe-uint.d.mts +24 -33
  414. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  415. package/dist/number/branded-types/safe-uint.mjs +26 -35
  416. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  417. package/dist/number/branded-types/uint.d.mts +121 -30
  418. package/dist/number/branded-types/uint.d.mts.map +1 -1
  419. package/dist/number/branded-types/uint.mjs +122 -31
  420. package/dist/number/branded-types/uint.mjs.map +1 -1
  421. package/dist/number/branded-types/uint16.d.mts +26 -34
  422. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  423. package/dist/number/branded-types/uint16.mjs +27 -35
  424. package/dist/number/branded-types/uint16.mjs.map +1 -1
  425. package/dist/number/branded-types/uint32.d.mts +26 -68
  426. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  427. package/dist/number/branded-types/uint32.mjs +27 -69
  428. package/dist/number/branded-types/uint32.mjs.map +1 -1
  429. package/dist/number/enum/int8.d.mts +37 -101
  430. package/dist/number/enum/int8.d.mts.map +1 -1
  431. package/dist/number/enum/int8.mjs +40 -171
  432. package/dist/number/enum/int8.mjs.map +1 -1
  433. package/dist/number/enum/uint8.d.mts +45 -55
  434. package/dist/number/enum/uint8.d.mts.map +1 -1
  435. package/dist/number/enum/uint8.mjs +47 -156
  436. package/dist/number/enum/uint8.mjs.map +1 -1
  437. package/dist/number/num.d.mts +145 -206
  438. package/dist/number/num.d.mts.map +1 -1
  439. package/dist/number/num.mjs +143 -199
  440. package/dist/number/num.mjs.map +1 -1
  441. package/dist/number/refined-number-utils.d.mts +97 -21
  442. package/dist/number/refined-number-utils.d.mts.map +1 -1
  443. package/dist/number/refined-number-utils.mjs +91 -22
  444. package/dist/number/refined-number-utils.mjs.map +1 -1
  445. package/dist/object/object.d.mts +126 -208
  446. package/dist/object/object.d.mts.map +1 -1
  447. package/dist/object/object.mjs +68 -102
  448. package/dist/object/object.mjs.map +1 -1
  449. package/dist/others/cast-mutable.d.mts +12 -88
  450. package/dist/others/cast-mutable.d.mts.map +1 -1
  451. package/dist/others/cast-mutable.mjs +13 -89
  452. package/dist/others/cast-mutable.mjs.map +1 -1
  453. package/dist/others/cast-readonly.d.mts +12 -168
  454. package/dist/others/cast-readonly.d.mts.map +1 -1
  455. package/dist/others/cast-readonly.mjs +13 -169
  456. package/dist/others/cast-readonly.mjs.map +1 -1
  457. package/dist/others/if-then.d.mts +6 -83
  458. package/dist/others/if-then.d.mts.map +1 -1
  459. package/dist/others/if-then.mjs +6 -83
  460. package/dist/others/if-then.mjs.map +1 -1
  461. package/dist/others/map-nullable.d.mts +12 -136
  462. package/dist/others/map-nullable.d.mts.map +1 -1
  463. package/dist/others/map-nullable.mjs.map +1 -1
  464. package/dist/others/memoize-function.d.mts +14 -157
  465. package/dist/others/memoize-function.d.mts.map +1 -1
  466. package/dist/others/memoize-function.mjs +14 -157
  467. package/dist/others/memoize-function.mjs.map +1 -1
  468. package/dist/others/tuple.d.mts +33 -151
  469. package/dist/others/tuple.d.mts.map +1 -1
  470. package/dist/others/tuple.mjs +33 -151
  471. package/dist/others/tuple.mjs.map +1 -1
  472. package/dist/others/unknown-to-string.d.mts +11 -125
  473. package/dist/others/unknown-to-string.d.mts.map +1 -1
  474. package/dist/others/unknown-to-string.mjs +12 -126
  475. package/dist/others/unknown-to-string.mjs.map +1 -1
  476. package/dist/promise/promise.d.mts +33 -21
  477. package/dist/promise/promise.d.mts.map +1 -1
  478. package/dist/promise/promise.mjs +36 -24
  479. package/dist/promise/promise.mjs.map +1 -1
  480. package/package.json +58 -44
  481. package/src/array/impl/array-utils-creation.mts +192 -0
  482. package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
  483. package/src/array/impl/array-utils-element-access.mts +115 -0
  484. package/src/array/impl/array-utils-element-access.test.mts +151 -0
  485. package/src/array/impl/array-utils-iterators.mts +79 -0
  486. package/src/array/impl/array-utils-iterators.test.mts +98 -0
  487. package/src/array/impl/array-utils-modification.mts +434 -0
  488. package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
  489. package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
  490. package/src/array/impl/array-utils-reducing-value.mts +535 -0
  491. package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +53 -58
  492. package/src/array/impl/array-utils-search.mts +509 -0
  493. package/src/array/impl/array-utils-search.test.mts +346 -0
  494. package/src/array/impl/array-utils-set-op.mts +166 -0
  495. package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
  496. package/src/array/impl/array-utils-size.mts +30 -0
  497. package/src/array/impl/array-utils-size.test.mts +9 -0
  498. package/src/array/impl/array-utils-slice-clamped.mts +51 -0
  499. package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +13 -13
  500. package/src/array/impl/array-utils-slicing.mts +275 -0
  501. package/src/array/impl/array-utils-slicing.test.mts +158 -0
  502. package/src/array/impl/array-utils-transformation.mts +746 -0
  503. package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
  504. package/src/array/impl/array-utils-validation.mts +241 -0
  505. package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
  506. package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
  507. package/src/array/impl/index.mts +12 -0
  508. package/src/array/index.mts +1 -1
  509. package/src/collections/imap-mapped.mts +99 -265
  510. package/src/collections/imap.mts +477 -174
  511. package/src/collections/imap.test.mts +12 -19
  512. package/src/collections/iset-mapped.mts +892 -358
  513. package/src/collections/iset.mts +429 -213
  514. package/src/collections/queue.mts +174 -200
  515. package/src/collections/stack.mts +172 -245
  516. package/src/collections/stack.test.mts +9 -1
  517. package/src/entry-point.mts +2 -0
  518. package/src/expect-type.mts +43 -172
  519. package/src/functional/index.mts +2 -2
  520. package/src/functional/match.mts +35 -145
  521. package/src/functional/optional/impl/index.mts +17 -0
  522. package/src/functional/optional/impl/optional-expect-to-be.mts +65 -0
  523. package/src/functional/optional/impl/optional-filter.mts +71 -0
  524. package/src/functional/optional/impl/optional-flat-map.mts +67 -0
  525. package/src/functional/optional/impl/optional-from-nullable.mts +28 -0
  526. package/src/functional/optional/impl/optional-is-none.mts +25 -0
  527. package/src/functional/optional/impl/optional-is-optional.mts +27 -0
  528. package/src/functional/optional/impl/optional-is-some.mts +25 -0
  529. package/src/functional/optional/impl/optional-map.mts +69 -0
  530. package/src/functional/optional/impl/optional-none.mts +17 -0
  531. package/src/functional/optional/impl/optional-or-else.mts +73 -0
  532. package/src/functional/optional/impl/optional-some.mts +23 -0
  533. package/src/functional/optional/impl/optional-to-nullable.mts +31 -0
  534. package/src/functional/optional/impl/optional-unwrap-or.mts +64 -0
  535. package/src/functional/optional/impl/optional-unwrap-throw.mts +39 -0
  536. package/src/functional/optional/impl/optional-unwrap.mts +41 -0
  537. package/src/functional/optional/impl/optional-zip.mts +40 -0
  538. package/src/functional/optional/impl/tag.mts +6 -0
  539. package/src/functional/optional/impl/types.mts +28 -0
  540. package/src/functional/optional/index.mts +1 -0
  541. package/src/functional/optional.test.mts +11 -9
  542. package/src/functional/pipe.mts +65 -118
  543. package/src/functional/pipe.test.mts +1 -1
  544. package/src/functional/result/impl/index.mts +23 -0
  545. package/src/functional/result/impl/result-err.mts +29 -0
  546. package/src/functional/result/impl/result-expect-to-be.mts +63 -0
  547. package/src/functional/result/impl/result-flat-map.mts +79 -0
  548. package/src/functional/result/impl/result-fold.mts +95 -0
  549. package/src/functional/result/impl/result-from-promise.mts +39 -0
  550. package/src/functional/result/impl/result-from-throwable.mts +42 -0
  551. package/src/functional/result/impl/result-is-err.mts +23 -0
  552. package/src/functional/result/impl/result-is-ok.mts +23 -0
  553. package/src/functional/result/impl/result-is-result.mts +23 -0
  554. package/src/functional/result/impl/result-map-err.mts +72 -0
  555. package/src/functional/result/impl/result-map.mts +73 -0
  556. package/src/functional/result/impl/result-ok.mts +29 -0
  557. package/src/functional/result/impl/result-or-else.mts +63 -0
  558. package/src/functional/result/impl/result-swap.mts +28 -0
  559. package/src/functional/result/impl/result-to-optional.mts +34 -0
  560. package/src/functional/result/impl/result-unwrap-err-or.mts +60 -0
  561. package/src/functional/result/impl/result-unwrap-err-throw.mts +53 -0
  562. package/src/functional/result/impl/result-unwrap-err.mts +36 -0
  563. package/src/functional/result/impl/result-unwrap-ok-or.mts +60 -0
  564. package/src/functional/result/impl/result-unwrap-ok.mts +35 -0
  565. package/src/functional/result/impl/result-unwrap-throw.mts +43 -0
  566. package/src/functional/result/impl/result-zip.mts +39 -0
  567. package/src/functional/result/impl/tag.mts +6 -0
  568. package/src/functional/result/impl/types.mts +35 -0
  569. package/src/functional/result/index.mts +1 -0
  570. package/src/functional/result.test.mts +14 -6
  571. package/src/globals.d.mts +95 -5
  572. package/src/guard/has-key.mts +23 -74
  573. package/src/guard/is-non-empty-string.mts +20 -87
  574. package/src/guard/is-non-empty-string.test.mts +1 -1
  575. package/src/guard/is-non-null-object.mts +14 -84
  576. package/src/guard/is-non-null-object.test.mts +4 -4
  577. package/src/guard/is-primitive.mts +13 -126
  578. package/src/guard/is-primitive.test.mts +4 -4
  579. package/src/guard/is-record.mts +21 -132
  580. package/src/guard/is-type.mts +201 -238
  581. package/src/guard/is-type.test.mts +10 -10
  582. package/src/guard/key-is-in.mts +22 -139
  583. package/src/index.mts +0 -2
  584. package/src/iterator/range.mts +29 -62
  585. package/src/json/json.mts +202 -134
  586. package/src/json/json.test.mts +1 -3
  587. package/src/number/branded-types/finite-number.mts +34 -166
  588. package/src/number/branded-types/int.mts +129 -127
  589. package/src/number/branded-types/int16.mts +31 -39
  590. package/src/number/branded-types/int16.test.mts +24 -24
  591. package/src/number/branded-types/int32.mts +31 -40
  592. package/src/number/branded-types/int32.test.mts +39 -39
  593. package/src/number/branded-types/non-negative-finite-number.mts +39 -47
  594. package/src/number/branded-types/non-negative-int16.mts +33 -43
  595. package/src/number/branded-types/non-negative-int16.test.mts +16 -16
  596. package/src/number/branded-types/non-negative-int32.mts +35 -44
  597. package/src/number/branded-types/non-negative-int32.test.mts +30 -30
  598. package/src/number/branded-types/non-zero-finite-number.mts +32 -47
  599. package/src/number/branded-types/non-zero-int.mts +22 -37
  600. package/src/number/branded-types/non-zero-int16.mts +36 -44
  601. package/src/number/branded-types/non-zero-int16.test.mts +26 -26
  602. package/src/number/branded-types/non-zero-int32.mts +38 -45
  603. package/src/number/branded-types/non-zero-int32.test.mts +45 -42
  604. package/src/number/branded-types/non-zero-safe-int.mts +48 -49
  605. package/src/number/branded-types/non-zero-uint16.mts +33 -44
  606. package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
  607. package/src/number/branded-types/non-zero-uint32.mts +33 -44
  608. package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
  609. package/src/number/branded-types/positive-finite-number.mts +37 -51
  610. package/src/number/branded-types/positive-int.mts +142 -132
  611. package/src/number/branded-types/positive-int16.mts +33 -44
  612. package/src/number/branded-types/positive-int16.test.mts +14 -14
  613. package/src/number/branded-types/positive-int32.mts +33 -44
  614. package/src/number/branded-types/positive-int32.test.mts +26 -26
  615. package/src/number/branded-types/positive-safe-int.mts +169 -43
  616. package/src/number/branded-types/positive-uint16.mts +33 -44
  617. package/src/number/branded-types/positive-uint16.test.mts +16 -16
  618. package/src/number/branded-types/positive-uint32.mts +35 -45
  619. package/src/number/branded-types/positive-uint32.test.mts +31 -28
  620. package/src/number/branded-types/safe-int.mts +151 -110
  621. package/src/number/branded-types/safe-uint.mts +34 -43
  622. package/src/number/branded-types/uint.mts +129 -38
  623. package/src/number/branded-types/uint16.mts +35 -43
  624. package/src/number/branded-types/uint16.test.mts +16 -16
  625. package/src/number/branded-types/uint32.mts +35 -77
  626. package/src/number/branded-types/uint32.test.mts +28 -28
  627. package/src/number/enum/int8.mts +42 -173
  628. package/src/number/enum/int8.test.mts +9 -9
  629. package/src/number/enum/uint8.mts +49 -158
  630. package/src/number/enum/uint8.test.mts +8 -8
  631. package/src/number/num.mts +157 -212
  632. package/src/number/num.test.mts +4 -4
  633. package/src/number/refined-number-utils.mts +109 -26
  634. package/src/object/object.mts +130 -212
  635. package/src/object/object.test.mts +29 -0
  636. package/src/others/cast-mutable.mts +13 -89
  637. package/src/others/cast-mutable.test.mts +80 -0
  638. package/src/others/cast-readonly.mts +13 -169
  639. package/src/others/if-then.mts +6 -83
  640. package/src/others/map-nullable.mts +12 -136
  641. package/src/others/map-nullable.test.mts +6 -6
  642. package/src/others/memoize-function.mts +14 -157
  643. package/src/others/tuple.mts +33 -151
  644. package/src/others/unknown-to-string.mts +12 -126
  645. package/src/others/unknown-to-string.test.mts +13 -1
  646. package/src/promise/promise.mts +34 -21
  647. package/src/promise/promise.test.mts +43 -0
  648. package/dist/array/array-utils.d.mts +0 -2956
  649. package/dist/array/array-utils.d.mts.map +0 -1
  650. package/dist/array/array-utils.mjs +0 -1838
  651. package/dist/array/array-utils.mjs.map +0 -1
  652. package/dist/functional/optional.d.mts +0 -360
  653. package/dist/functional/optional.d.mts.map +0 -1
  654. package/dist/functional/optional.mjs +0 -268
  655. package/dist/functional/optional.mjs.map +0 -1
  656. package/dist/functional/result.d.mts +0 -611
  657. package/dist/functional/result.d.mts.map +0 -1
  658. package/dist/functional/result.mjs +0 -545
  659. package/dist/functional/result.mjs.map +0 -1
  660. package/src/array/array-utils-search.test.mts +0 -169
  661. package/src/array/array-utils-slicing.test.mts +0 -274
  662. package/src/array/array-utils.mts +0 -4834
  663. package/src/functional/optional.mts +0 -591
  664. package/src/functional/result.mts +0 -986
@@ -0,0 +1,33 @@
1
+ import { type UnwrapErr, type UnwrapOk } from './types.mjs';
2
+ /**
3
+ * Maps a `Result<S, E>` to `Result<S, E2>` by applying a function to the
4
+ * error value. If the `Result` is `Result.Ok`, returns the original `Ok`.
5
+ *
6
+ * @example
7
+ *
8
+ * ```ts
9
+ * const okValue = Result.ok(3) as Result<number, string>;
10
+ * const errValue = Result.err('missing');
11
+ *
12
+ * const untouchedOk = Result.mapErr(okValue, (error) => error.toUpperCase());
13
+ * const uppercasedErr = Result.mapErr(errValue, (error) => error.toUpperCase());
14
+ *
15
+ * assert.deepStrictEqual(untouchedOk, Result.ok(3));
16
+ * assert.deepStrictEqual(uppercasedErr, Result.err('MISSING'));
17
+ *
18
+ * const mapError = Result.mapErr((error: Readonly<Error>) => error.message);
19
+ *
20
+ * const wrapped = mapError(Result.err(new Error('boom')));
21
+ *
22
+ * assert.deepStrictEqual(wrapped, Result.err('boom'));
23
+ * ```
24
+ *
25
+ * @template R The input `UnknownResult` type.
26
+ * @template E2 The type of the error value returned by the mapping function.
27
+ * @param result The `Result` to map.
28
+ * @param mapFn The function to apply to the error value if present.
29
+ * @returns A new `Result<UnwrapOk<R>, E2>`.
30
+ */
31
+ export declare function mapErr<R extends UnknownResult, E2>(result: R, mapFn: (error: UnwrapErr<R>) => E2): Result<UnwrapOk<R>, E2>;
32
+ export declare function mapErr<E, E2>(mapFn: (error: E) => E2): <S>(result: Result<S, E>) => Result<S, E2>;
33
+ //# sourceMappingURL=result-map-err.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-map-err.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-map-err.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAChD,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,GACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAG3B,wBAAgB,MAAM,CAAC,CAAC,EAAE,EAAE,EAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GACtB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { err } from './result-err.mjs';
2
+ import { isOk } from './result-is-ok.mjs';
3
+
4
+ function mapErr(...args) {
5
+ switch (args.length) {
6
+ case 2: {
7
+ // Direct version: first argument is result
8
+ const [result, mapFn] = args;
9
+ return mapErrImpl(result, mapFn);
10
+ }
11
+ case 1: {
12
+ // Curried version: first argument is mapping function
13
+ const [mapFn] = args;
14
+ return (result) => mapErrImpl(result, mapFn);
15
+ }
16
+ }
17
+ }
18
+ const mapErrImpl = (result, mapFn) => isOk(result)
19
+ ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
20
+ result
21
+ : // eslint-disable-next-line total-functions/no-unsafe-type-assertion
22
+ err(mapFn(result.value));
23
+
24
+ export { mapErr };
25
+ //# sourceMappingURL=result-map-err.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-map-err.mjs","sources":["../../../../src/functional/result/impl/result-map-err.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AA2CM,SAAU,MAAM,CACpB,GAAG,IAE8C,EAAA;AAEjD,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI;AAC5B,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC;QAClC;QAEA,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;YACpB,OAAO,CAAC,MAAS,KAAK,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC;QACjD;;AAEJ;AAEA,MAAM,UAAU,GAAG,CACjB,MAAS,EACT,KAAkC,KAElC,IAAI,CAAC,MAAM;AACT;QACG;AACH;QACE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAqB,CAAC,CAAC;;;;"}
@@ -0,0 +1,34 @@
1
+ import { type UnwrapErr, type UnwrapOk } from './types.mjs';
2
+ /**
3
+ * Maps a `Result<S, E>` to `Result<S2, E>` by applying a function to the
4
+ * success value. If the `Result` is `Result.Err`, returns the original
5
+ * `Err`.
6
+ *
7
+ * @example
8
+ *
9
+ * ```ts
10
+ * const okNumber = Result.ok(5);
11
+ * const errMessage = Result.err('error');
12
+ *
13
+ * const doubled = Result.map(okNumber, (value) => value * 2);
14
+ * const untouchedError = Result.map(errMessage, (value: number) => value * 2);
15
+ *
16
+ * assert.deepStrictEqual(doubled, Result.ok(10));
17
+ * assert.deepStrictEqual(untouchedError, errMessage);
18
+ *
19
+ * const mapToLength = Result.map((text: string) => text.length);
20
+ *
21
+ * assert.deepStrictEqual(mapToLength(Result.ok('abc')), Result.ok(3));
22
+ * assert.deepStrictEqual(mapToLength(Result.err('bad')), Result.err('bad'));
23
+ * ```
24
+ *
25
+ * @template R The input `UnknownResult` type.
26
+ * @template S2 The type of the success value returned by the mapping
27
+ * function.
28
+ * @param result The `Result` to map.
29
+ * @param mapFn The function to apply to the success value if present.
30
+ * @returns A new `Result<S2, UnwrapErr<R>>`.
31
+ */
32
+ export declare function map<R extends UnknownResult, S2>(result: R, mapFn: (value: UnwrapOk<R>) => S2): Result<S2, UnwrapErr<R>>;
33
+ export declare function map<S, S2>(mapFn: (value: S) => S2): <E>(result: Result<S, E>) => Result<S2, E>;
34
+ //# sourceMappingURL=result-map.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-map.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-map.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAC7C,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAChC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAG5B,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,EACvB,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GACtB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { isErr } from './result-is-err.mjs';
2
+ import { ok } from './result-ok.mjs';
3
+
4
+ function map(...args) {
5
+ switch (args.length) {
6
+ case 2: {
7
+ // Direct version: first argument is result
8
+ const [result, mapFn] = args;
9
+ return mapImpl(result, mapFn);
10
+ }
11
+ case 1: {
12
+ // Curried version
13
+ const [mapFn] = args;
14
+ return (result) => mapImpl(result, mapFn);
15
+ }
16
+ }
17
+ }
18
+ const mapImpl = (result, mapFn) => isErr(result)
19
+ ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
20
+ result
21
+ : // eslint-disable-next-line total-functions/no-unsafe-type-assertion
22
+ ok(mapFn(result.value));
23
+
24
+ export { map };
25
+ //# sourceMappingURL=result-map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-map.mjs","sources":["../../../../src/functional/result/impl/result-map.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AA4CM,SAAU,GAAG,CACjB,GAAG,IAE6C,EAAA;AAEhD,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI;AAC5B,YAAA,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QAC/B;QAEA,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;YACpB,OAAO,CAAC,MAAS,KAAK,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QAC9C;;AAEJ;AAEA,MAAM,OAAO,GAAG,CACd,MAAS,EACT,KAAiC,KAEjC,KAAK,CAAC,MAAM;AACV;QACG;AACH;QACE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAoB,CAAC,CAAC;;;;"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Creates a `Result.Ok` containing the given success value.
3
+ *
4
+ * Use this constructor when an operation succeeds and you want to wrap the
5
+ * successful result in a Result type for consistent error handling.
6
+ *
7
+ * @example
8
+ *
9
+ * ```ts
10
+ * const success = Result.ok({ id: 1 });
11
+ * const failure = Result.err(new Error('missing data'));
12
+ *
13
+ * assert.deepStrictEqual(success, {
14
+ * $$tag: 'ts-data-forge::Result.ok',
15
+ * value: { id: 1 },
16
+ * });
17
+ * assert.ok(Result.isErr(failure));
18
+ * ```
19
+ *
20
+ * @template S The type of the success value.
21
+ * @param value The success value.
22
+ * @returns A `Result.Ok<S>` containing the value.
23
+ */
24
+ export declare const ok: <S>(value: S) => Ok<S>;
25
+ //# sourceMappingURL=result-ok.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-ok.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-ok.mts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,EAAE,GAAI,CAAC,EAAG,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAGpC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { OkTypeTagName } from './tag.mjs';
2
+
3
+ /**
4
+ * Creates a `Result.Ok` containing the given success value.
5
+ *
6
+ * Use this constructor when an operation succeeds and you want to wrap the
7
+ * successful result in a Result type for consistent error handling.
8
+ *
9
+ * @example
10
+ *
11
+ * ```ts
12
+ * const success = Result.ok({ id: 1 });
13
+ * const failure = Result.err(new Error('missing data'));
14
+ *
15
+ * assert.deepStrictEqual(success, {
16
+ * $$tag: 'ts-data-forge::Result.ok',
17
+ * value: { id: 1 },
18
+ * });
19
+ * assert.ok(Result.isErr(failure));
20
+ * ```
21
+ *
22
+ * @template S The type of the success value.
23
+ * @param value The success value.
24
+ * @returns A `Result.Ok<S>` containing the value.
25
+ */
26
+ const ok = (value) => ({
27
+ $$tag: OkTypeTagName,
28
+ value,
29
+ });
30
+
31
+ export { ok };
32
+ //# sourceMappingURL=result-ok.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-ok.mjs","sources":["../../../../src/functional/result/impl/result-ok.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;MACU,EAAE,GAAG,CAAK,KAAQ,MAAa;AAC1C,IAAA,KAAK,EAAE,aAAa;IACpB,KAAK;AACN,CAAA;;;;"}
@@ -0,0 +1,32 @@
1
+ import { type NarrowToOk } from './types.mjs';
2
+ /**
3
+ * Returns the `Result` if it is `Ok`, otherwise returns the alternative.
4
+ *
5
+ * @example
6
+ *
7
+ * ```ts
8
+ * const primary = Result.ok('primary');
9
+ * const fallback = Result.ok('fallback');
10
+ * const failure = Result.err('failure');
11
+ *
12
+ * assert.deepStrictEqual(Result.orElse(primary, fallback), primary);
13
+ * assert.deepStrictEqual(Result.orElse(failure, fallback), fallback);
14
+ *
15
+ * const orElseFallback = Result.orElse(Result.ok('default'));
16
+ *
17
+ * assert.deepStrictEqual(
18
+ * orElseFallback(Result.err('missing')),
19
+ * Result.ok('default'),
20
+ * );
21
+ * assert.deepStrictEqual(orElseFallback(Result.ok('value')), Result.ok('value'));
22
+ * ```
23
+ *
24
+ * @template R The input `UnknownResult` type.
25
+ * @param result The `Result` to check.
26
+ * @param alternative The alternative `Result` to return if the first is
27
+ * `Err`.
28
+ * @returns The first `Result` if `Ok`, otherwise the alternative.
29
+ */
30
+ export declare function orElse<R extends UnknownResult, R2 extends UnknownResult>(result: R, alternative: R2): NarrowToOk<R> | R2;
31
+ export declare function orElse<S, E, S2, E2>(alternative: Result<S2, E2>): (result: Result<S, E>) => Result<S, E> | Result<S2, E2>;
32
+ //# sourceMappingURL=result-or-else.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-or-else.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-or-else.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,SAAS,aAAa,EACtE,MAAM,EAAE,CAAC,EACT,WAAW,EAAE,EAAE,GACd,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAGtB,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACjC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAC1B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { isOk } from './result-is-ok.mjs';
2
+
3
+ function orElse(...args) {
4
+ switch (args.length) {
5
+ case 2: {
6
+ // Direct version: first argument is result
7
+ const [result, alternative] = args;
8
+ return orElseImpl(result, alternative);
9
+ }
10
+ case 1: {
11
+ // Curried version
12
+ const [alternative] = args;
13
+ return (result) => orElseImpl(result, alternative);
14
+ }
15
+ }
16
+ }
17
+ const orElseImpl = (result, alternative) => (isOk(result) ? result : alternative);
18
+
19
+ export { orElse };
20
+ //# sourceMappingURL=result-or-else.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-or-else.mjs","sources":["../../../../src/functional/result/impl/result-or-else.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAyCM,SAAU,MAAM,CACpB,GAAG,IAAwE,EAAA;AAE3E,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI;AAClC,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;QACxC;QAEA,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI;YAC1B,OAAO,CAAC,MAAS,KAAK,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;QACvD;;AAEJ;AAEA,MAAM,UAAU,GAAG,CACjB,MAAS,EACT,WAAe,MACS,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC;;;;"}
@@ -0,0 +1,20 @@
1
+ import { type UnwrapErr, type UnwrapOk } from './types.mjs';
2
+ /**
3
+ * Swaps the success and error values of a `Result`.
4
+ *
5
+ * @example
6
+ *
7
+ * ```ts
8
+ * const okValue = Result.ok('value');
9
+ * const errValue = Result.err('error');
10
+ *
11
+ * assert.deepStrictEqual(Result.swap(okValue), Result.err('value'));
12
+ * assert.deepStrictEqual(Result.swap(errValue), Result.ok('error'));
13
+ * ```
14
+ *
15
+ * @template R The input `UnknownResult` type.
16
+ * @param result The `Result` to swap.
17
+ * @returns A new `Result` with success and error swapped.
18
+ */
19
+ export declare const swap: <R extends UnknownResult>(result: R) => Result<UnwrapErr<R>, UnwrapOk<R>>;
20
+ //# sourceMappingURL=result-swap.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-swap.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-swap.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,aAAa,EAC1C,QAAQ,CAAC,KACR,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAEsC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { err } from './result-err.mjs';
2
+ import { isOk } from './result-is-ok.mjs';
3
+ import { ok } from './result-ok.mjs';
4
+ import { unwrapOk } from './result-unwrap-ok.mjs';
5
+
6
+ /**
7
+ * Swaps the success and error values of a `Result`.
8
+ *
9
+ * @example
10
+ *
11
+ * ```ts
12
+ * const okValue = Result.ok('value');
13
+ * const errValue = Result.err('error');
14
+ *
15
+ * assert.deepStrictEqual(Result.swap(okValue), Result.err('value'));
16
+ * assert.deepStrictEqual(Result.swap(errValue), Result.ok('error'));
17
+ * ```
18
+ *
19
+ * @template R The input `UnknownResult` type.
20
+ * @param result The `Result` to swap.
21
+ * @returns A new `Result` with success and error swapped.
22
+ */
23
+ const swap = (result) =>
24
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
25
+ isOk(result) ? err(unwrapOk(result)) : ok(result.value);
26
+
27
+ export { swap };
28
+ //# sourceMappingURL=result-swap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-swap.mjs","sources":["../../../../src/functional/result/impl/result-swap.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAMA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,IAAI,GAAG,CAClB,MAAS;AAET;AACA,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAqB;;;;"}
@@ -0,0 +1,28 @@
1
+ import { type UnwrapOk } from './types.mjs';
2
+ /**
3
+ * Converts a `Result` to an `Optional`.
4
+ *
5
+ * This conversion is useful when you want to discard error information and
6
+ * only care about whether an operation succeeded. The error information is
7
+ * lost in this conversion, so use it when error details are not needed.
8
+ *
9
+ * If the `Result` is `Ok`, returns `Some` with the value. If the `Result` is
10
+ * `Err`, returns `None`.
11
+ *
12
+ * @example
13
+ *
14
+ * ```ts
15
+ * const okValue = Result.ok(7);
16
+ * const errValue = Result.err('fail');
17
+ *
18
+ * assert.deepStrictEqual(Result.toOptional(okValue), Optional.some(7));
19
+ * assert.deepStrictEqual(Result.toOptional(errValue), Optional.none);
20
+ * ```
21
+ *
22
+ * @template R The input `UnknownResult` type.
23
+ * @param result The `Result` to convert.
24
+ * @returns An `Optional<UnwrapOk<R>>` containing the success value or
25
+ * representing `None`.
26
+ */
27
+ export declare const toOptional: <R extends UnknownResult>(result: R) => Optional<UnwrapOk<R>>;
28
+ //# sourceMappingURL=result-to-optional.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-to-optional.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-to-optional.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,EAChD,QAAQ,CAAC,KACR,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CACyC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { none } from '../../optional/impl/optional-none.mjs';
2
+ import { some } from '../../optional/impl/optional-some.mjs';
3
+ import { isOk } from './result-is-ok.mjs';
4
+ import { unwrapOk } from './result-unwrap-ok.mjs';
5
+
6
+ /**
7
+ * Converts a `Result` to an `Optional`.
8
+ *
9
+ * This conversion is useful when you want to discard error information and
10
+ * only care about whether an operation succeeded. The error information is
11
+ * lost in this conversion, so use it when error details are not needed.
12
+ *
13
+ * If the `Result` is `Ok`, returns `Some` with the value. If the `Result` is
14
+ * `Err`, returns `None`.
15
+ *
16
+ * @example
17
+ *
18
+ * ```ts
19
+ * const okValue = Result.ok(7);
20
+ * const errValue = Result.err('fail');
21
+ *
22
+ * assert.deepStrictEqual(Result.toOptional(okValue), Optional.some(7));
23
+ * assert.deepStrictEqual(Result.toOptional(errValue), Optional.none);
24
+ * ```
25
+ *
26
+ * @template R The input `UnknownResult` type.
27
+ * @param result The `Result` to convert.
28
+ * @returns An `Optional<UnwrapOk<R>>` containing the success value or
29
+ * representing `None`.
30
+ */
31
+ const toOptional = (result) => isOk(result) ? some(unwrapOk(result)) : none;
32
+
33
+ export { toOptional };
34
+ //# sourceMappingURL=result-to-optional.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-to-optional.mjs","sources":["../../../../src/functional/result/impl/result-to-optional.mts"],"sourcesContent":[null],"names":["Optional.some","Optional.none"],"mappings":";;;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,MAAM,UAAU,GAAG,CACxB,MAAS,KAET,IAAI,CAAC,MAAM,CAAC,GAAGA,IAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAGC;;;;"}
@@ -0,0 +1,29 @@
1
+ import { type UnwrapErr } from './types.mjs';
2
+ /**
3
+ * Unwraps a `Result`, returning the error value or a default value if it is
4
+ * `Result.Ok`.
5
+ *
6
+ * @example
7
+ *
8
+ * ```ts
9
+ * const okResult = Result.ok('success');
10
+ * const errResult = Result.err('failure');
11
+ *
12
+ * assert(Result.unwrapErrOr(okResult, 'default') === 'default');
13
+ * assert(Result.unwrapErrOr(errResult, 'default') === 'failure');
14
+ *
15
+ * const unwrapError = Result.unwrapErrOr('fallback error');
16
+ *
17
+ * assert(unwrapError(Result.err('boom')) === 'boom');
18
+ * assert(unwrapError(Result.ok('no error')) === 'fallback error');
19
+ * ```
20
+ *
21
+ * @template R The `UnknownResult` type to unwrap.
22
+ * @template D The type of the default value.
23
+ * @param result The `Result` to unwrap.
24
+ * @param defaultValue The value to return if `result` is `Result.Ok`.
25
+ * @returns The error value if `Result.Err`, otherwise `defaultValue`.
26
+ */
27
+ export declare function unwrapErrOr<R extends UnknownResult, D>(result: R, defaultValue: D): D | UnwrapErr<R>;
28
+ export declare function unwrapErrOr<D>(defaultValue: D): <S, E>(result: Result<S, E>) => D | E;
29
+ //# sourceMappingURL=result-unwrap-err-or.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-unwrap-err-or.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err-or.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EACpD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,CAAC,GACd,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAGpB,wBAAgB,WAAW,CAAC,CAAC,EAC3B,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { unwrapErr } from './result-unwrap-err.mjs';
2
+
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
+ }
15
+ }
16
+ }
17
+ const unwrapErrOrImpl = (result, defaultValue) => unwrapErr(result) ?? defaultValue;
18
+
19
+ export { unwrapErrOr };
20
+ //# sourceMappingURL=result-unwrap-err-or.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-unwrap-err-or.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err-or.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAsCM,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;AACnC,YAAA,OAAO,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9C;QAEA,KAAK,CAAC,EAAE;;AAEN,YAAA,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI;YAC3B,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;;;;"}
@@ -0,0 +1,30 @@
1
+ import { type UnwrapErr, type UnwrapOk } from './types.mjs';
2
+ /**
3
+ * Unwraps a `Result`, returning the error value. Throws an error if the
4
+ * `Result` is `Result.Ok`.
5
+ *
6
+ * This function is used when you expect a Result to be an error and want to
7
+ * extract the error value. If the Result is unexpectedly Ok, it will throw an
8
+ * error with information about the unexpected success value.
9
+ *
10
+ * @example
11
+ *
12
+ * ```ts
13
+ * const errResult = Result.err(new Error('broken'));
14
+ * const okResult = Result.ok('value');
15
+ *
16
+ * assert(Result.unwrapErrThrow(errResult).message === 'broken');
17
+ * assert.throws(() => Result.unwrapErrThrow(okResult), /Expected Err/u);
18
+ * ```
19
+ *
20
+ * @template R The `UnknownResult` type to unwrap.
21
+ * @param result The `Result` to unwrap.
22
+ * @param toStr An optional function to convert the success value to a string
23
+ * for the error message when the Result is unexpectedly Ok. Defaults to
24
+ * `String`.
25
+ * @returns The error value if `Result.Err`.
26
+ * @throws {Error} Error with message "Expected Err but got Ok: {value}" if
27
+ * the `Result` is `Result.Ok`.
28
+ */
29
+ export declare const unwrapErrThrow: <R extends UnknownResult>(result: R, toStr?: (v: UnwrapOk<R>) => string) => UnwrapErr<R>;
30
+ //# sourceMappingURL=result-unwrap-err-throw.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-unwrap-err-throw.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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"}
@@ -0,0 +1,47 @@
1
+ import { unknownToString } from '../../../others/unknown-to-string.mjs';
2
+ import { match } from '../../match.mjs';
3
+ import { isErr } from './result-is-err.mjs';
4
+
5
+ /**
6
+ * Unwraps a `Result`, returning the error value. Throws an error if the
7
+ * `Result` is `Result.Ok`.
8
+ *
9
+ * This function is used when you expect a Result to be an error and want to
10
+ * extract the error value. If the Result is unexpectedly Ok, it will throw an
11
+ * error with information about the unexpected success value.
12
+ *
13
+ * @example
14
+ *
15
+ * ```ts
16
+ * const errResult = Result.err(new Error('broken'));
17
+ * const okResult = Result.ok('value');
18
+ *
19
+ * assert(Result.unwrapErrThrow(errResult).message === 'broken');
20
+ * assert.throws(() => Result.unwrapErrThrow(okResult), /Expected Err/u);
21
+ * ```
22
+ *
23
+ * @template R The `UnknownResult` type to unwrap.
24
+ * @param result The `Result` to unwrap.
25
+ * @param toStr An optional function to convert the success value to a string
26
+ * for the error message when the Result is unexpectedly Ok. Defaults to
27
+ * `String`.
28
+ * @returns The error value if `Result.Err`.
29
+ * @throws {Error} Error with message "Expected Err but got Ok: {value}" if
30
+ * the `Result` is `Result.Ok`.
31
+ */
32
+ const unwrapErrThrow = (result, toStr = unknownToString) => {
33
+ if (isErr(result)) {
34
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
35
+ return result.value;
36
+ }
37
+ const variant = match(result.$$tag, {
38
+ 'ts-data-forge::Result.ok': 'Ok',
39
+ 'ts-data-forge::Result.err': 'Err',
40
+ });
41
+ throw new Error(`Expected Err but got ${variant}: ${toStr(
42
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
43
+ result.value)}`);
44
+ };
45
+
46
+ export { unwrapErrThrow };
47
+ //# sourceMappingURL=result-unwrap-err-throw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-unwrap-err-throw.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;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;;;;"}
@@ -0,0 +1,31 @@
1
+ import { type UnwrapErr } from './types.mjs';
2
+ /**
3
+ * Unwraps a `Result`, returning the error value or `undefined` if it is
4
+ * `Result.Ok`.
5
+ *
6
+ * This provides a safe way to extract error values from Results without
7
+ * throwing exceptions. Useful for error handling patterns where you want to
8
+ * check for specific error conditions.
9
+ *
10
+ * @example
11
+ *
12
+ * ```ts
13
+ * const okResult = Result.ok('data');
14
+ * const errResult = Result.err('problem');
15
+ *
16
+ * // Result.unwrapErr returns undefined for Ok results
17
+ *
18
+ * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
19
+ * assert(Result.unwrapErr(okResult) === undefined);
20
+ *
21
+ * // Result.unwrapErr returns the error value for Err results
22
+ *
23
+ * assert(Result.unwrapErr(errResult) === 'problem');
24
+ * ```
25
+ *
26
+ * @template R The `UnknownResult` type to unwrap.
27
+ * @param result The `Result` to unwrap.
28
+ * @returns The error value if `Result.Err`, otherwise `undefined`.
29
+ */
30
+ export declare const unwrapErr: <R extends UnknownResult>(result: R) => UnwrapErr<R> | undefined;
31
+ //# sourceMappingURL=result-unwrap-err.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-unwrap-err.d.mts","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,aAAa,EAC/C,QAAQ,CAAC,KACR,SAAS,CAAC,CAAC,CAAC,GAAG,SAE0C,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { isErr } from './result-is-err.mjs';
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
+ * const errResult = Result.err('problem');
16
+ *
17
+ * // Result.unwrapErr returns undefined for Ok results
18
+ *
19
+ * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
20
+ * assert(Result.unwrapErr(okResult) === undefined);
21
+ *
22
+ * // Result.unwrapErr returns the error value for Err results
23
+ *
24
+ * assert(Result.unwrapErr(errResult) === 'problem');
25
+ * ```
26
+ *
27
+ * @template R The `UnknownResult` type to unwrap.
28
+ * @param result The `Result` to unwrap.
29
+ * @returns The error value if `Result.Err`, otherwise `undefined`.
30
+ */
31
+ const unwrapErr = (result) =>
32
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
33
+ isErr(result) ? result.value : undefined;
34
+
35
+ export { unwrapErr };
36
+ //# sourceMappingURL=result-unwrap-err.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-unwrap-err.mjs","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACI,MAAM,SAAS,GAAG,CACvB,MAAS;AAET;AACA,KAAK,CAAC,MAAM,CAAC,GAAI,MAAM,CAAC,KAAsB,GAAG;;;;"}