ts-data-forge 14.6.1 → 14.6.3

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 (420) hide show
  1. package/dist/array/impl/array-utils-creation.mjs +126 -26
  2. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  3. package/dist/array/impl/array-utils-element-access.mjs +63 -30
  4. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  5. package/dist/array/impl/array-utils-iterators.mjs +68 -52
  6. package/dist/array/impl/array-utils-iterators.mjs.map +1 -1
  7. package/dist/array/impl/array-utils-length-bounded-array-cast.mjs +109 -73
  8. package/dist/array/impl/array-utils-length-bounded-array-cast.mjs.map +1 -1
  9. package/dist/array/impl/array-utils-length-bounded-array-guard.mjs +70 -32
  10. package/dist/array/impl/array-utils-length-bounded-array-guard.mjs.map +1 -1
  11. package/dist/array/impl/array-utils-length-bounded-tuple-cast.mjs +102 -73
  12. package/dist/array/impl/array-utils-length-bounded-tuple-cast.mjs.map +1 -1
  13. package/dist/array/impl/array-utils-length-bounded-tuple-guard.mjs +77 -33
  14. package/dist/array/impl/array-utils-length-bounded-tuple-guard.mjs.map +1 -1
  15. package/dist/array/impl/array-utils-modification.mjs +75 -122
  16. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  17. package/dist/array/impl/array-utils-reducing-value.mjs +99 -149
  18. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-search.mjs +112 -136
  20. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  21. package/dist/array/impl/array-utils-set-op.mjs +146 -38
  22. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  23. package/dist/array/impl/array-utils-size.mjs +10 -8
  24. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  25. package/dist/array/impl/array-utils-slice-clamped.mjs +13 -50
  26. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  27. package/dist/array/impl/array-utils-slicing.mjs +92 -76
  28. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  29. package/dist/array/impl/array-utils-transformation.mjs +291 -199
  30. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  31. package/dist/array/impl/array-utils-validation.mjs +53 -55
  32. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  33. package/dist/array/impl/index.mjs +17 -17
  34. package/dist/array/impl/index.mjs.map +1 -1
  35. package/dist/array/index.mjs +2 -3
  36. package/dist/array/index.mjs.map +1 -1
  37. package/dist/collections/imap-mapped.mjs +335 -292
  38. package/dist/collections/imap-mapped.mjs.map +1 -1
  39. package/dist/collections/imap.mjs +280 -239
  40. package/dist/collections/imap.mjs.map +1 -1
  41. package/dist/collections/index.mjs +7 -7
  42. package/dist/collections/index.mjs.map +1 -1
  43. package/dist/collections/iset-mapped.mjs +448 -265
  44. package/dist/collections/iset-mapped.mjs.map +1 -1
  45. package/dist/collections/iset.mjs +328 -201
  46. package/dist/collections/iset.mjs.map +1 -1
  47. package/dist/collections/queue.mjs +181 -149
  48. package/dist/collections/queue.mjs.map +1 -1
  49. package/dist/collections/stack.mjs +167 -138
  50. package/dist/collections/stack.mjs.map +1 -1
  51. package/dist/entry-point.mjs +4 -77
  52. package/dist/entry-point.mjs.map +1 -1
  53. package/dist/expect-type.mjs +69 -3
  54. package/dist/expect-type.mjs.map +1 -1
  55. package/dist/functional/async-result/async-result.mjs +2 -3
  56. package/dist/functional/async-result/async-result.mjs.map +1 -1
  57. package/dist/functional/async-result/impl/async-result-flat-map.mjs +18 -20
  58. package/dist/functional/async-result/impl/async-result-flat-map.mjs.map +1 -1
  59. package/dist/functional/async-result/impl/async-result-from-promise.mjs +9 -10
  60. package/dist/functional/async-result/impl/async-result-from-promise.mjs.map +1 -1
  61. package/dist/functional/async-result/impl/async-result-from-throwable.mjs +12 -14
  62. package/dist/functional/async-result/impl/async-result-from-throwable.mjs.map +1 -1
  63. package/dist/functional/async-result/impl/async-result-map-err.mjs +15 -18
  64. package/dist/functional/async-result/impl/async-result-map-err.mjs.map +1 -1
  65. package/dist/functional/async-result/impl/async-result-map.mjs +15 -18
  66. package/dist/functional/async-result/impl/async-result-map.mjs.map +1 -1
  67. package/dist/functional/async-result/impl/async-result-unwrap-or.mjs +35 -8
  68. package/dist/functional/async-result/impl/async-result-unwrap-or.mjs.map +1 -1
  69. package/dist/functional/async-result/impl/index.mjs +8 -7
  70. package/dist/functional/async-result/impl/index.mjs.map +1 -1
  71. package/dist/functional/async-result/impl/types.mjs +2 -2
  72. package/dist/functional/async-result/impl/types.mjs.map +1 -1
  73. package/dist/functional/async-result/index.mjs +2 -3
  74. package/dist/functional/async-result/index.mjs.map +1 -1
  75. package/dist/functional/index.mjs +7 -11
  76. package/dist/functional/index.mjs.map +1 -1
  77. package/dist/functional/match.mjs +27 -13
  78. package/dist/functional/match.mjs.map +1 -1
  79. package/dist/functional/optional/impl/index.mjs +19 -18
  80. package/dist/functional/optional/impl/index.mjs.map +1 -1
  81. package/dist/functional/optional/impl/optional-expect-to-be.mjs +15 -17
  82. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  83. package/dist/functional/optional/impl/optional-filter.mjs +16 -18
  84. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  85. package/dist/functional/optional/impl/optional-flat-map.mjs +12 -14
  86. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  87. package/dist/functional/optional/impl/optional-from-nullable.mjs +24 -3
  88. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  89. package/dist/functional/optional/impl/optional-is-none.mjs +19 -3
  90. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  91. package/dist/functional/optional/impl/optional-is-optional.mjs +24 -6
  92. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  93. package/dist/functional/optional/impl/optional-is-some.mjs +20 -3
  94. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  95. package/dist/functional/optional/impl/optional-map.mjs +15 -17
  96. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  97. package/dist/functional/optional/impl/optional-match.mjs +15 -17
  98. package/dist/functional/optional/impl/optional-match.mjs.map +1 -1
  99. package/dist/functional/optional/impl/optional-none.mjs +16 -3
  100. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  101. package/dist/functional/optional/impl/optional-or-else.mjs +12 -14
  102. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  103. package/dist/functional/optional/impl/optional-some.mjs +22 -6
  104. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  105. package/dist/functional/optional/impl/optional-to-nullable.mjs +26 -3
  106. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  107. package/dist/functional/optional/impl/optional-unwrap-or.mjs +11 -13
  108. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  109. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +33 -8
  110. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  111. package/dist/functional/optional/impl/optional-unwrap.mjs +6 -9
  112. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  113. package/dist/functional/optional/impl/optional-zip.mjs +34 -3
  114. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  115. package/dist/functional/optional/impl/tag.mjs +3 -4
  116. package/dist/functional/optional/impl/tag.mjs.map +1 -1
  117. package/dist/functional/optional/impl/types.mjs +2 -2
  118. package/dist/functional/optional/impl/types.mjs.map +1 -1
  119. package/dist/functional/optional/index.mjs +2 -3
  120. package/dist/functional/optional/index.mjs.map +1 -1
  121. package/dist/functional/optional/optional.mjs +2 -3
  122. package/dist/functional/optional/optional.mjs.map +1 -1
  123. package/dist/functional/pipe.mjs +42 -14
  124. package/dist/functional/pipe.mjs.map +1 -1
  125. package/dist/functional/result/impl/index.mjs +28 -27
  126. package/dist/functional/result/impl/index.mjs.map +1 -1
  127. package/dist/functional/result/impl/result-err.mjs +28 -6
  128. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  129. package/dist/functional/result/impl/result-expect-to-be.mjs +16 -17
  130. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  131. package/dist/functional/result/impl/result-flat-map.mjs +17 -20
  132. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  133. package/dist/functional/result/impl/result-fold.mjs +17 -20
  134. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  135. package/dist/functional/result/impl/result-from-optional.mjs +16 -19
  136. package/dist/functional/result/impl/result-from-optional.mjs.map +1 -1
  137. package/dist/functional/result/impl/result-from-promise.mjs +35 -6
  138. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  139. package/dist/functional/result/impl/result-from-throwable.mjs +40 -13
  140. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  141. package/dist/functional/result/impl/result-is-err.mjs +19 -3
  142. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  143. package/dist/functional/result/impl/result-is-ok.mjs +19 -3
  144. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  145. package/dist/functional/result/impl/result-is-result.mjs +23 -5
  146. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  147. package/dist/functional/result/impl/result-map-err.mjs +17 -20
  148. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  149. package/dist/functional/result/impl/result-map.mjs +17 -20
  150. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  151. package/dist/functional/result/impl/result-match.mjs +16 -20
  152. package/dist/functional/result/impl/result-match.mjs.map +1 -1
  153. package/dist/functional/result/impl/result-ok.mjs +28 -6
  154. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  155. package/dist/functional/result/impl/result-or-else.mjs +13 -14
  156. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  157. package/dist/functional/result/impl/result-safe-try.mjs +32 -21
  158. package/dist/functional/result/impl/result-safe-try.mjs.map +1 -1
  159. package/dist/functional/result/impl/result-safe-unwrap.mjs +39 -11
  160. package/dist/functional/result/impl/result-safe-unwrap.mjs.map +1 -1
  161. package/dist/functional/result/impl/result-swap.mjs +21 -6
  162. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  163. package/dist/functional/result/impl/result-to-optional.mjs +28 -5
  164. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  165. package/dist/functional/result/impl/result-unwrap-err-or.mjs +12 -13
  166. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  167. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +42 -19
  168. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  169. package/dist/functional/result/impl/result-unwrap-err.mjs +31 -6
  170. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  171. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +12 -13
  172. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  173. package/dist/functional/result/impl/result-unwrap-ok.mjs +6 -9
  174. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  175. package/dist/functional/result/impl/result-unwrap-throw.mjs +37 -10
  176. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  177. package/dist/functional/result/impl/result-zip.mjs +33 -3
  178. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  179. package/dist/functional/result/impl/tag.mjs +3 -4
  180. package/dist/functional/result/impl/tag.mjs.map +1 -1
  181. package/dist/functional/result/impl/types.mjs +2 -2
  182. package/dist/functional/result/impl/types.mjs.map +1 -1
  183. package/dist/functional/result/index.mjs +2 -3
  184. package/dist/functional/result/index.mjs.map +1 -1
  185. package/dist/functional/result/result.mjs +2 -3
  186. package/dist/functional/result/result.mjs.map +1 -1
  187. package/dist/functional/ternary-result/impl/index.mjs +29 -28
  188. package/dist/functional/ternary-result/impl/index.mjs.map +1 -1
  189. package/dist/functional/ternary-result/impl/tag.mjs +5 -5
  190. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  191. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +16 -6
  192. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  193. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +15 -18
  194. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  195. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +29 -33
  196. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  197. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +24 -26
  198. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  199. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +19 -6
  200. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  201. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +27 -12
  202. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  203. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +17 -3
  204. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +1 -1
  205. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +19 -3
  206. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  207. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +26 -6
  208. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  209. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +18 -3
  210. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  211. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +17 -18
  212. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  213. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +20 -23
  214. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  215. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +24 -26
  216. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  217. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +17 -6
  218. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  219. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +11 -14
  220. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  221. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +22 -8
  222. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  223. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +11 -14
  224. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  225. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +29 -18
  226. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  227. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +18 -6
  228. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  229. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +11 -14
  230. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  231. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +6 -8
  232. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  233. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +31 -23
  234. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  235. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +11 -14
  236. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  237. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +26 -16
  238. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  239. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +18 -6
  240. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  241. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +20 -7
  242. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  243. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +46 -18
  244. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  245. package/dist/functional/ternary-result/impl/types.mjs +2 -2
  246. package/dist/functional/ternary-result/impl/types.mjs.map +1 -1
  247. package/dist/functional/ternary-result/impl/variant-name.mjs +11 -13
  248. package/dist/functional/ternary-result/impl/variant-name.mjs.map +1 -1
  249. package/dist/functional/ternary-result/index.mjs +2 -3
  250. package/dist/functional/ternary-result/index.mjs.map +1 -1
  251. package/dist/functional/ternary-result/ternary-result.mjs +2 -3
  252. package/dist/functional/ternary-result/ternary-result.mjs.map +1 -1
  253. package/dist/guard/has-key.mjs +42 -3
  254. package/dist/guard/has-key.mjs.map +1 -1
  255. package/dist/guard/index.mjs +8 -8
  256. package/dist/guard/index.mjs.map +1 -1
  257. package/dist/guard/is-non-empty-string.mjs +38 -3
  258. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  259. package/dist/guard/is-non-null-object.mjs +35 -3
  260. package/dist/guard/is-non-null-object.mjs.map +1 -1
  261. package/dist/guard/is-primitive.mjs +46 -15
  262. package/dist/guard/is-primitive.mjs.map +1 -1
  263. package/dist/guard/is-record.mjs +87 -4
  264. package/dist/guard/is-record.mjs.map +1 -1
  265. package/dist/guard/is-type.mjs +404 -19
  266. package/dist/guard/is-type.mjs.map +1 -1
  267. package/dist/guard/key-is-in.mjs +41 -3
  268. package/dist/guard/key-is-in.mjs.map +1 -1
  269. package/dist/index.mjs +12 -65
  270. package/dist/index.mjs.map +1 -1
  271. package/dist/iterator/index.mjs +2 -2
  272. package/dist/iterator/index.mjs.map +1 -1
  273. package/dist/iterator/range.mjs +18 -56
  274. package/dist/iterator/range.mjs.map +1 -1
  275. package/dist/json/index.mjs +2 -2
  276. package/dist/json/index.mjs.map +1 -1
  277. package/dist/json/json.mjs +346 -105
  278. package/dist/json/json.mjs.map +1 -1
  279. package/dist/number/branded-types/finite-number.mjs +148 -137
  280. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  281. package/dist/number/branded-types/index.mjs +33 -33
  282. package/dist/number/branded-types/index.mjs.map +1 -1
  283. package/dist/number/branded-types/int.mjs +245 -209
  284. package/dist/number/branded-types/int.mjs.map +1 -1
  285. package/dist/number/branded-types/int16.mjs +141 -131
  286. package/dist/number/branded-types/int16.mjs.map +1 -1
  287. package/dist/number/branded-types/int32.mjs +141 -131
  288. package/dist/number/branded-types/int32.mjs.map +1 -1
  289. package/dist/number/branded-types/negative-finite-number.mjs +155 -149
  290. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  291. package/dist/number/branded-types/negative-int.mjs +125 -110
  292. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  293. package/dist/number/branded-types/negative-safe-int.mjs +126 -115
  294. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  295. package/dist/number/branded-types/non-negative-finite-number.mjs +164 -154
  296. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  297. package/dist/number/branded-types/non-negative-int16.mjs +137 -125
  298. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  299. package/dist/number/branded-types/non-negative-int32.mjs +137 -125
  300. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  301. package/dist/number/branded-types/non-positive-finite-number.mjs +143 -139
  302. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  303. package/dist/number/branded-types/non-positive-int.mjs +116 -99
  304. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  305. package/dist/number/branded-types/non-positive-safe-int.mjs +118 -107
  306. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  307. package/dist/number/branded-types/non-zero-finite-number.mjs +144 -129
  308. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  309. package/dist/number/branded-types/non-zero-int.mjs +102 -82
  310. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  311. package/dist/number/branded-types/non-zero-int16.mjs +118 -105
  312. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  313. package/dist/number/branded-types/non-zero-int32.mjs +118 -105
  314. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  315. package/dist/number/branded-types/non-zero-safe-int.mjs +121 -107
  316. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  317. package/dist/number/branded-types/non-zero-uint16.mjs +118 -104
  318. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  319. package/dist/number/branded-types/non-zero-uint32.mjs +118 -104
  320. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  321. package/dist/number/branded-types/positive-finite-number.mjs +167 -160
  322. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  323. package/dist/number/branded-types/positive-int.mjs +260 -224
  324. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  325. package/dist/number/branded-types/positive-int16.mjs +134 -122
  326. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  327. package/dist/number/branded-types/positive-int32.mjs +134 -122
  328. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  329. package/dist/number/branded-types/positive-safe-int.mjs +291 -257
  330. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  331. package/dist/number/branded-types/positive-uint16.mjs +134 -122
  332. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  333. package/dist/number/branded-types/positive-uint32.mjs +134 -122
  334. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  335. package/dist/number/branded-types/safe-int.mjs +283 -254
  336. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  337. package/dist/number/branded-types/safe-uint.mjs +134 -123
  338. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  339. package/dist/number/branded-types/uint.mjs +248 -211
  340. package/dist/number/branded-types/uint.mjs.map +1 -1
  341. package/dist/number/branded-types/uint16.mjs +132 -121
  342. package/dist/number/branded-types/uint16.mjs.map +1 -1
  343. package/dist/number/branded-types/uint32.mjs +132 -121
  344. package/dist/number/branded-types/uint32.mjs.map +1 -1
  345. package/dist/number/enum/index.mjs +3 -3
  346. package/dist/number/enum/index.mjs.map +1 -1
  347. package/dist/number/enum/int8.mjs +146 -131
  348. package/dist/number/enum/int8.mjs.map +1 -1
  349. package/dist/number/enum/uint8.mjs +133 -119
  350. package/dist/number/enum/uint8.mjs.map +1 -1
  351. package/dist/number/index.mjs +6 -37
  352. package/dist/number/index.mjs.map +1 -1
  353. package/dist/number/num-arithmetic-types.mjs +42 -1
  354. package/dist/number/num-arithmetic-types.mjs.map +1 -1
  355. package/dist/number/num.mjs +549 -91
  356. package/dist/number/num.mjs.map +1 -1
  357. package/dist/number/refined-number-utils.mjs +294 -133
  358. package/dist/number/refined-number-utils.mjs.map +1 -1
  359. package/dist/object/index.mjs +2 -2
  360. package/dist/object/index.mjs.map +1 -1
  361. package/dist/object/object.mjs +356 -203
  362. package/dist/object/object.mjs.map +1 -1
  363. package/dist/others/cast-mutable.mjs +38 -11
  364. package/dist/others/cast-mutable.mjs.map +1 -1
  365. package/dist/others/cast-readonly.mjs +37 -11
  366. package/dist/others/cast-readonly.mjs.map +1 -1
  367. package/dist/others/debounce-function.mjs +22 -11
  368. package/dist/others/debounce-function.mjs.map +1 -1
  369. package/dist/others/fast-deep-equal.mjs +70 -51
  370. package/dist/others/fast-deep-equal.mjs.map +1 -1
  371. package/dist/others/if-then.mjs +31 -4
  372. package/dist/others/if-then.mjs.map +1 -1
  373. package/dist/others/index.mjs +10 -10
  374. package/dist/others/index.mjs.map +1 -1
  375. package/dist/others/map-nullable.mjs +11 -13
  376. package/dist/others/map-nullable.mjs.map +1 -1
  377. package/dist/others/memoize-function.mjs +14 -16
  378. package/dist/others/memoize-function.mjs.map +1 -1
  379. package/dist/others/tuple.mjs +51 -3
  380. package/dist/others/tuple.mjs.map +1 -1
  381. package/dist/others/unknown-to-string.mjs +91 -47
  382. package/dist/others/unknown-to-string.mjs.map +1 -1
  383. package/dist/promise/index.mjs +2 -2
  384. package/dist/promise/index.mjs.map +1 -1
  385. package/dist/promise/promise.mjs +49 -8
  386. package/dist/promise/promise.mjs.map +1 -1
  387. package/dist/string/index.mjs +2 -2
  388. package/dist/string/index.mjs.map +1 -1
  389. package/dist/string/str.mjs +250 -83
  390. package/dist/string/str.mjs.map +1 -1
  391. package/dist/types.mjs +2 -1
  392. package/dist/types.mjs.map +1 -1
  393. package/package.json +6 -7
  394. package/src/guard/is-type.test.mts +2 -2
  395. package/src/number/branded-types/finite-number.test.mts +1 -1
  396. package/src/number/branded-types/int.test.mts +1 -1
  397. package/src/number/branded-types/int16.test.mts +1 -1
  398. package/src/number/branded-types/int32.test.mts +1 -1
  399. package/src/number/branded-types/non-negative-finite-number.test.mts +1 -1
  400. package/src/number/branded-types/non-negative-int16.test.mts +1 -1
  401. package/src/number/branded-types/non-negative-int32.test.mts +1 -1
  402. package/src/number/branded-types/non-zero-finite-number.test.mts +1 -1
  403. package/src/number/branded-types/non-zero-int.test.mts +1 -1
  404. package/src/number/branded-types/non-zero-int16.test.mts +1 -1
  405. package/src/number/branded-types/non-zero-int32.test.mts +1 -1
  406. package/src/number/branded-types/non-zero-safe-int.test.mts +1 -1
  407. package/src/number/branded-types/non-zero-uint16.test.mts +1 -1
  408. package/src/number/branded-types/non-zero-uint32.test.mts +1 -1
  409. package/src/number/branded-types/positive-finite-number.test.mts +1 -1
  410. package/src/number/branded-types/positive-int.test.mts +1 -1
  411. package/src/number/branded-types/positive-int16.test.mts +1 -1
  412. package/src/number/branded-types/positive-int32.test.mts +1 -1
  413. package/src/number/branded-types/positive-safe-int.test.mts +1 -1
  414. package/src/number/branded-types/positive-uint16.test.mts +1 -1
  415. package/src/number/branded-types/positive-uint32.test.mts +1 -1
  416. package/src/number/branded-types/safe-int.test.mts +1 -1
  417. package/src/number/branded-types/safe-uint.test.mts +1 -1
  418. package/src/number/branded-types/uint.test.mts +1 -1
  419. package/src/number/branded-types/uint16.test.mts +1 -1
  420. package/src/number/branded-types/uint32.test.mts +1 -1
@@ -1,23 +1,46 @@
1
- import '@sindresorhus/is';
2
- import { unknownToString } from '../../../others/unknown-to-string.mjs';
1
+ import { unknownToString } from '../../../others/index.mjs';
3
2
  import { match } from '../../match.mjs';
4
3
  import { isErr } from './result-is-err.mjs';
5
4
 
6
- const unwrapErrThrow = (result, toStr = unknownToString) => {
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
- );
20
- };
21
5
 
22
- export { unwrapErrThrow };
23
- //# sourceMappingURL=result-unwrap-err-throw.mjs.map
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ export const unwrapErrThrow = (result, toStr = unknownToString) => {
34
+ if (isErr(result)) {
35
+
36
+ return result.value;
37
+ }
38
+ const variant = match(result.$$tag, {
39
+ 'ts-data-forge::Result.ok': 'Ok',
40
+ 'ts-data-forge::Result.err': 'Err',
41
+ });
42
+ throw new Error(`Expected Err but got ${variant}: ${toStr(
43
+
44
+ result.value)}`);
45
+ };
46
+ //# sourceMappingURL=result-unwrap-err-throw.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"result-unwrap-err-throw.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err-throw.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAS,EACT,KAAK,GAA+B,eAAe,EACrC,EAAE;IAChB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,oEAAoE;QACpE,OAAO,MAAM,CAAC,KAAqB,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;QAClC,0BAA0B,EAAE,IAAI;QAChC,2BAA2B,EAAE,KAAK;KACnC,CAAC,CAAC;IAEH,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,KAAK,KAAK;IACvC,oEAAoE;IACpE,MAAM,CAAC,KAAoB,CAC5B,EAAE,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,9 +1,34 @@
1
1
  import { isErr } from './result-is-err.mjs';
2
2
 
3
- const unwrapErr = (result) => (
4
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
5
- isErr(result) ? result.value : void 0
6
- );
7
3
 
8
- export { unwrapErr };
9
- //# sourceMappingURL=result-unwrap-err.mjs.map
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ export const unwrapErr = (result) =>
32
+
33
+ isErr(result) ? result.value : undefined;
34
+ //# 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":["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
+ {"version":3,"file":"result-unwrap-err.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-err.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAS,EACiB,EAAE;AAC5B,oEAAoE;AACpE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,KAAsB,CAAC,CAAC,CAAC,SAAS,CAAC"}
@@ -1,18 +1,17 @@
1
1
  import { unwrapOk } from './result-unwrap-ok.mjs';
2
+ export function unwrapOkOr(...args) {
3
+ switch (args.length) {
4
+ case 2: {
2
5
 
3
- function unwrapOkOr(...args) {
4
- switch (args.length) {
5
- case 2: {
6
- const [result, defaultValue] = args;
7
- return unwrapOkOrImpl(result, defaultValue);
8
- }
9
- case 1: {
10
- const [defaultValue] = args;
11
- return (result) => unwrapOkOrImpl(result, defaultValue);
6
+ const [result, defaultValue] = args;
7
+ return unwrapOkOrImpl(result, defaultValue);
8
+ }
9
+ case 1: {
10
+
11
+ const [defaultValue] = args;
12
+ return (result) => unwrapOkOrImpl(result, defaultValue);
13
+ }
12
14
  }
13
- }
14
15
  }
15
16
  const unwrapOkOrImpl = (result, defaultValue) => unwrapOk(result) ?? defaultValue;
16
-
17
- export { unwrapOkOr };
18
- //# sourceMappingURL=result-unwrap-ok-or.mjs.map
17
+ //# sourceMappingURL=result-unwrap-ok-or.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"result-unwrap-ok-or.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-ok-or.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAyClD,MAAM,UAAU,UAAU,CACxB,GAAG,IAAwE;IAE3E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,2CAA2C;YAC3C,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;YAEpC,OAAO,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,kBAAkB;YAClB,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAE5B,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,CACrB,MAAS,EACT,YAAe,EACE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC"}
@@ -1,11 +1,8 @@
1
1
  import { isOk } from './result-is-ok.mjs';
2
-
3
- function unwrapOk(result) {
4
- return isOk(result) ? (
5
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
6
- result.value
7
- ) : void 0;
2
+ export function unwrapOk(result) {
3
+ return isOk(result)
4
+ ?
5
+ result.value
6
+ : undefined;
8
7
  }
9
-
10
- export { unwrapOk };
11
- //# sourceMappingURL=result-unwrap-ok.mjs.map
8
+ //# sourceMappingURL=result-unwrap-ok.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"result-unwrap-ok.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-ok.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA6B1C,MAAM,UAAU,QAAQ,CACtB,MAAS;IAET,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,CAAC,CAAC,oEAAoE;YACnE,MAAM,CAAC,KAAqB;QAC/B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -1,13 +1,40 @@
1
- import '@sindresorhus/is';
2
- import { unknownToString } from '../../../others/unknown-to-string.mjs';
1
+ import { unknownToString } from '../../../others/index.mjs';
3
2
  import { isErr } from './result-is-err.mjs';
4
3
 
5
- const unwrapThrow = (result, toStr = unknownToString) => {
6
- if (isErr(result)) {
7
- throw new Error(toStr(result.value));
8
- }
9
- return result.value;
10
- };
11
4
 
12
- export { unwrapThrow };
13
- //# sourceMappingURL=result-unwrap-throw.mjs.map
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+ export const unwrapThrow = (result, toStr = unknownToString) => {
33
+ if (isErr(result)) {
34
+
35
+ throw new Error(toStr(result.value));
36
+ }
37
+
38
+ return result.value;
39
+ };
40
+ //# sourceMappingURL=result-unwrap-throw.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"result-unwrap-throw.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-unwrap-throw.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAS,EACT,KAAK,GAAgC,eAAe,EACvC,EAAE;IACf,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,oEAAoE;QACpE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAqB,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,oEAAoE;IACpE,OAAO,MAAM,CAAC,KAAoB,CAAC;AACrC,CAAC,CAAC"}
@@ -1,7 +1,37 @@
1
1
  import { isOk } from './result-is-ok.mjs';
2
2
  import { ok } from './result-ok.mjs';
3
3
 
4
- const zip = (resultA, resultB) => isOk(resultA) ? isOk(resultB) ? ok([resultA.value, resultB.value]) : resultB : resultA;
5
4
 
6
- export { zip };
7
- //# sourceMappingURL=result-zip.mjs.map
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+ export const zip = (resultA, resultB) => isOk(resultA)
33
+ ? isOk(resultB)
34
+ ? ok([resultA.value, resultB.value])
35
+ : resultB
36
+ : resultA;
37
+ //# sourceMappingURL=result-zip.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"result-zip.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/result-zip.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,OAAuB,EACvB,OAAuB,EACa,EAAE,CACtC,IAAI,CAAC,OAAO,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACb,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAU,CAAC;QAC7C,CAAC,CAAC,OAAO;IACX,CAAC,CAAC,OAAO,CAAC"}
@@ -1,5 +1,4 @@
1
- const OkTypeTagName = "ts-data-forge::Result.ok";
2
- const ErrTypeTagName = "ts-data-forge::Result.err";
1
+ export const OkTypeTagName = 'ts-data-forge::Result.ok';
3
2
 
4
- export { ErrTypeTagName, OkTypeTagName };
5
- //# sourceMappingURL=tag.mjs.map
3
+ export const ErrTypeTagName = 'ts-data-forge::Result.err';
4
+ //# sourceMappingURL=tag.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"tag.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/tag.mts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,aAAa,GAAyB,0BAA0B,CAAC;AAE9E,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GACzB,2BAA2B,CAAC"}
@@ -1,2 +1,2 @@
1
-
2
- //# sourceMappingURL=types.mjs.map
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../../src/functional/result/impl/types.mts"],"names":[],"mappings":""}
@@ -1,3 +1,2 @@
1
- import * as index from './impl/index.mjs';
2
- export { index as Result };
3
- //# sourceMappingURL=index.mjs.map
1
+ export * from './result.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/functional/result/index.mts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,3 +1,2 @@
1
- import * as index from './impl/index.mjs';
2
- export { index as Result };
3
- //# sourceMappingURL=result.mjs.map
1
+ export * as Result from './impl/index.mjs';
2
+ //# sourceMappingURL=result.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"result.mjs","sourceRoot":"","sources":["../../../src/functional/result/result.mts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC"}
@@ -1,28 +1,29 @@
1
- export { err } from './ternary-result-err.mjs';
2
- export { expectToBe } from './ternary-result-expect-to-be.mjs';
3
- export { flatMap } from './ternary-result-flat-map.mjs';
4
- export { fold } from './ternary-result-fold.mjs';
5
- export { fromPromise } from './ternary-result-from-promise.mjs';
6
- export { fromThrowable } from './ternary-result-from-throwable.mjs';
7
- export { isErr } from './ternary-result-is-err.mjs';
8
- export { isOk } from './ternary-result-is-ok.mjs';
9
- export { isTernaryResult } from './ternary-result-is-ternary-result.mjs';
10
- export { isWarn } from './ternary-result-is-warn.mjs';
11
- export { mapErr } from './ternary-result-map-err.mjs';
12
- export { mapWarn } from './ternary-result-map-warn.mjs';
13
- export { map } from './ternary-result-map.mjs';
14
- export { ok } from './ternary-result-ok.mjs';
15
- export { orElse } from './ternary-result-or-else.mjs';
16
- export { toOptional } from './ternary-result-to-optional.mjs';
17
- export { unwrapErrOr } from './ternary-result-unwrap-err-or.mjs';
18
- export { unwrapErrThrow } from './ternary-result-unwrap-err-throw.mjs';
19
- export { unwrapErr } from './ternary-result-unwrap-err.mjs';
20
- export { unwrapOkOr } from './ternary-result-unwrap-ok-or.mjs';
21
- export { unwrapOk } from './ternary-result-unwrap-ok.mjs';
22
- export { unwrapThrow } from './ternary-result-unwrap-throw.mjs';
23
- export { unwrapWarnOr } from './ternary-result-unwrap-warn-or.mjs';
24
- export { unwrapWarnThrow } from './ternary-result-unwrap-warn-throw.mjs';
25
- export { unwrapWarn } from './ternary-result-unwrap-warn.mjs';
26
- export { warn } from './ternary-result-warn.mjs';
27
- export { zip } from './ternary-result-zip.mjs';
28
- //# sourceMappingURL=index.mjs.map
1
+ export * from './ternary-result-err.mjs';
2
+ export * from './ternary-result-expect-to-be.mjs';
3
+ export * from './ternary-result-flat-map.mjs';
4
+ export * from './ternary-result-fold.mjs';
5
+ export * from './ternary-result-from-promise.mjs';
6
+ export * from './ternary-result-from-throwable.mjs';
7
+ export * from './ternary-result-is-err.mjs';
8
+ export * from './ternary-result-is-ok.mjs';
9
+ export * from './ternary-result-is-ternary-result.mjs';
10
+ export * from './ternary-result-is-warn.mjs';
11
+ export * from './ternary-result-map-err.mjs';
12
+ export * from './ternary-result-map-warn.mjs';
13
+ export * from './ternary-result-map.mjs';
14
+ export * from './ternary-result-ok.mjs';
15
+ export * from './ternary-result-or-else.mjs';
16
+ export * from './ternary-result-to-optional.mjs';
17
+ export * from './ternary-result-unwrap-err-or.mjs';
18
+ export * from './ternary-result-unwrap-err-throw.mjs';
19
+ export * from './ternary-result-unwrap-err.mjs';
20
+ export * from './ternary-result-unwrap-ok-or.mjs';
21
+ export * from './ternary-result-unwrap-ok.mjs';
22
+ export * from './ternary-result-unwrap-throw.mjs';
23
+ export * from './ternary-result-unwrap-warn-or.mjs';
24
+ export * from './ternary-result-unwrap-warn-throw.mjs';
25
+ export * from './ternary-result-unwrap-warn.mjs';
26
+ export * from './ternary-result-warn.mjs';
27
+ export * from './ternary-result-zip.mjs';
28
+ export * from './types.mjs';
29
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/index.mts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
- const OkTypeTagName = "ts-data-forge::Result.ok";
2
- const WarnTypeTagName = "ts-data-forge::Result.warn";
3
- const ErrTypeTagName = "ts-data-forge::Result.err";
1
+ export const OkTypeTagName = 'ts-data-forge::Result.ok';
4
2
 
5
- export { ErrTypeTagName, OkTypeTagName, WarnTypeTagName };
6
- //# sourceMappingURL=tag.mjs.map
3
+ export const WarnTypeTagName = 'ts-data-forge::Result.warn';
4
+
5
+ export const ErrTypeTagName = 'ts-data-forge::Result.err';
6
+ //# sourceMappingURL=tag.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"tag.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/tag.mts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GACxB,0BAA0B,CAAC;AAE7B,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAC1B,4BAA4B,CAAC;AAE/B,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GACzB,2BAA2B,CAAC"}
@@ -1,9 +1,19 @@
1
1
  import { ErrTypeTagName } from './tag.mjs';
2
2
 
3
- const err = (value) => ({
4
- $$tag: ErrTypeTagName,
5
- value
6
- });
7
3
 
8
- export { err };
9
- //# sourceMappingURL=ternary-result-err.mjs.map
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ export const err = (value) => ({
16
+ $$tag: ErrTypeTagName,
17
+ value,
18
+ });
19
+ //# sourceMappingURL=ternary-result-err.mjs.map
@@ -1 +1 @@
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;;;;"}
1
+ {"version":3,"file":"ternary-result-err.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-err.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAW,KAAQ,EAAiB,EAAE,CACvD,CAAC;IACC,KAAK,EAAE,cAAc;IACrB,KAAK;CACN,CAAU,CAAC"}
@@ -1,24 +1,21 @@
1
1
  import { isOk } from './ternary-result-is-ok.mjs';
2
2
  import { unwrapOk } from './ternary-result-unwrap-ok.mjs';
3
-
4
- function expectToBe(...args) {
5
- switch (args.length) {
6
- case 2: {
7
- const [result, message] = args;
8
- return expectImpl(result, message);
3
+ export function expectToBe(...args) {
4
+ switch (args.length) {
5
+ case 2: {
6
+ const [result, message] = args;
7
+ return expectImpl(result, message);
8
+ }
9
+ case 1: {
10
+ const [message] = args;
11
+ return (result) => expectImpl(result, message);
12
+ }
9
13
  }
10
- case 1: {
11
- const [message] = args;
12
- return (result) => expectImpl(result, message);
13
- }
14
- }
15
14
  }
16
15
  const expectImpl = (result, message) => {
17
- if (isOk(result)) {
18
- return unwrapOk(result);
19
- }
20
- throw new Error(message);
16
+ if (isOk(result)) {
17
+ return unwrapOk(result);
18
+ }
19
+ throw new Error(message);
21
20
  };
22
-
23
- export { expectToBe };
24
- //# sourceMappingURL=ternary-result-expect-to-be.mjs.map
21
+ //# sourceMappingURL=ternary-result-expect-to-be.mjs.map
@@ -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":["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;;;;"}
1
+ {"version":3,"file":"ternary-result-expect-to-be.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-expect-to-be.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAgC1D,MAAM,UAAU,UAAU,CACxB,GAAG,IAAwE;IAE3E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;YAE/B,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YAEvB,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CACjB,MAAS,EACT,OAAe,EACF,EAAE;IACf,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,42 +1,38 @@
1
1
  import { isOk } from './ternary-result-is-ok.mjs';
2
2
  import { isWarn } from './ternary-result-is-warn.mjs';
3
3
  import { warn } from './ternary-result-warn.mjs';
4
-
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);
4
+ export function flatMap(...args) {
5
+ switch (args.length) {
6
+ case 2: {
7
+ const [result, flatMapFn] = args;
8
+ return flatMapImpl(result, flatMapFn);
9
+ }
10
+ case 1: {
11
+ const [flatMapFn] = args;
12
+ return (result) => flatMapImpl(result, flatMapFn);
13
+ }
14
14
  }
15
- }
16
15
  }
17
16
  const flatMapImpl = (result, flatMapFn) => {
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,
29
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
30
- result.warning
31
- );
17
+ if (isOk(result)) {
18
+
19
+ return flatMapFn(result.value);
32
20
  }
33
- if (isWarn(next)) {
34
- return warn(next.value, next.warning);
21
+ if (isWarn(result)) {
22
+ const next = flatMapFn(
23
+
24
+ result.value);
25
+ if (isOk(next)) {
26
+ return warn(next.value,
27
+
28
+ result.warning);
29
+ }
30
+ if (isWarn(next)) {
31
+ return warn(next.value, next.warning);
32
+ }
33
+ return next;
35
34
  }
36
- return next;
37
- }
38
- return result;
39
- };
40
35
 
41
- export { flatMap };
42
- //# sourceMappingURL=ternary-result-flat-map.mjs.map
36
+ return result;
37
+ };
38
+ //# sourceMappingURL=ternary-result-flat-map.mjs.map