ts-data-forge 14.6.1 → 14.6.2

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 (393) 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 +69 -53
  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 +71 -33
  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 +100 -150
  18. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-search.mjs +110 -134
  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 +94 -78
  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 +54 -56
  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 +183 -151
  48. package/dist/collections/queue.mjs.map +1 -1
  49. package/dist/collections/stack.mjs +169 -140
  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 +70 -4
  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 +19 -21
  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 +16 -19
  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 +16 -19
  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 +36 -9
  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 +16 -18
  82. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  83. package/dist/functional/optional/impl/optional-filter.mjs +17 -19
  84. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  85. package/dist/functional/optional/impl/optional-flat-map.mjs +13 -15
  86. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  87. package/dist/functional/optional/impl/optional-from-nullable.mjs +26 -5
  88. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  89. package/dist/functional/optional/impl/optional-is-none.mjs +21 -5
  90. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  91. package/dist/functional/optional/impl/optional-is-optional.mjs +26 -8
  92. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  93. package/dist/functional/optional/impl/optional-is-some.mjs +22 -5
  94. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  95. package/dist/functional/optional/impl/optional-map.mjs +16 -18
  96. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  97. package/dist/functional/optional/impl/optional-match.mjs +16 -18
  98. package/dist/functional/optional/impl/optional-match.mjs.map +1 -1
  99. package/dist/functional/optional/impl/optional-none.mjs +18 -5
  100. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  101. package/dist/functional/optional/impl/optional-or-else.mjs +13 -15
  102. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  103. package/dist/functional/optional/impl/optional-some.mjs +23 -7
  104. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  105. package/dist/functional/optional/impl/optional-to-nullable.mjs +28 -5
  106. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  107. package/dist/functional/optional/impl/optional-unwrap-or.mjs +12 -14
  108. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  109. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +34 -9
  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 +36 -5
  114. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  115. package/dist/functional/optional/impl/tag.mjs +4 -5
  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 +29 -7
  128. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  129. package/dist/functional/result/impl/result-expect-to-be.mjs +17 -18
  130. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  131. package/dist/functional/result/impl/result-flat-map.mjs +18 -21
  132. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  133. package/dist/functional/result/impl/result-fold.mjs +18 -21
  134. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  135. package/dist/functional/result/impl/result-from-optional.mjs +17 -20
  136. package/dist/functional/result/impl/result-from-optional.mjs.map +1 -1
  137. package/dist/functional/result/impl/result-from-promise.mjs +37 -8
  138. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  139. package/dist/functional/result/impl/result-from-throwable.mjs +41 -14
  140. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  141. package/dist/functional/result/impl/result-is-err.mjs +21 -5
  142. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  143. package/dist/functional/result/impl/result-is-ok.mjs +21 -5
  144. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  145. package/dist/functional/result/impl/result-is-result.mjs +25 -7
  146. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  147. package/dist/functional/result/impl/result-map-err.mjs +18 -21
  148. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  149. package/dist/functional/result/impl/result-map.mjs +18 -21
  150. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  151. package/dist/functional/result/impl/result-match.mjs +17 -21
  152. package/dist/functional/result/impl/result-match.mjs.map +1 -1
  153. package/dist/functional/result/impl/result-ok.mjs +29 -7
  154. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  155. package/dist/functional/result/impl/result-or-else.mjs +14 -15
  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 +40 -12
  160. package/dist/functional/result/impl/result-safe-unwrap.mjs.map +1 -1
  161. package/dist/functional/result/impl/result-swap.mjs +23 -8
  162. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  163. package/dist/functional/result/impl/result-to-optional.mjs +30 -7
  164. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  165. package/dist/functional/result/impl/result-unwrap-err-or.mjs +13 -14
  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 +43 -20
  168. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  169. package/dist/functional/result/impl/result-unwrap-err.mjs +33 -8
  170. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  171. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +13 -14
  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 +38 -11
  176. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  177. package/dist/functional/result/impl/result-zip.mjs +35 -5
  178. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  179. package/dist/functional/result/impl/tag.mjs +4 -5
  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 +6 -6
  190. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  191. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +17 -7
  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 +28 -32
  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 +21 -8
  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 +28 -13
  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 +19 -5
  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 +21 -5
  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 +28 -8
  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 +20 -5
  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 +18 -7
  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 +24 -10
  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 +30 -19
  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 +20 -8
  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 +7 -9
  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 +30 -22
  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 +27 -17
  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 +20 -8
  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 +21 -8
  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 +47 -19
  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 +12 -14
  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 +43 -4
  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 +39 -4
  258. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  259. package/dist/guard/is-non-null-object.mjs +36 -4
  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 +89 -6
  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 +42 -4
  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 +19 -57
  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 +122 -108
  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 +292 -258
  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 +284 -255
  336. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  337. package/dist/number/branded-types/safe-uint.mjs +135 -124
  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 +541 -83
  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 +355 -202
  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 +32 -5
  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 +52 -4
  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 +51 -10
  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 +3 -2
  392. package/dist/types.mjs.map +1 -1
  393. package/package.json +5 -6
@@ -1,29 +1,26 @@
1
1
  import { isWarn } from './ternary-result-is-warn.mjs';
2
2
  import { warn } from './ternary-result-warn.mjs';
3
-
4
- function mapWarn(...args) {
5
- switch (args.length) {
6
- case 2: {
7
- const [result, mapFn] = args;
8
- return mapWarnImpl(result, mapFn);
3
+ export function mapWarn(...args) {
4
+ switch (args.length) {
5
+ case 2: {
6
+ const [result, mapFn] = args;
7
+ return mapWarnImpl(result, mapFn);
8
+ }
9
+ case 1: {
10
+ const [mapFn] = args;
11
+ return (result) => mapWarnImpl(result, mapFn);
12
+ }
9
13
  }
10
- case 1: {
11
- const [mapFn] = args;
12
- return (result) => mapWarnImpl(result, mapFn);
13
- }
14
- }
15
14
  }
16
15
  const mapWarnImpl = (result, mapFn) => {
17
- if (isWarn(result)) {
18
- return warn(
19
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
20
- result.value,
21
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
22
- mapFn(result.warning)
23
- );
24
- }
25
- return result;
16
+ if (isWarn(result)) {
17
+ return warn(
18
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
19
+ result.value,
20
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
21
+ mapFn(result.warning));
22
+ }
23
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
24
+ return result;
26
25
  };
27
-
28
- export { mapWarn };
29
- //# sourceMappingURL=ternary-result-map-warn.mjs.map
26
+ //# sourceMappingURL=ternary-result-map-warn.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-map-warn.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-map-warn.mts"],"sourcesContent":["import {\n type TernaryResult,\n type UnknownTernaryResult,\n} from '../ternary-result.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { warn } from './ternary-result-warn.mjs';\nimport { type UnwrapErr, type UnwrapOk, type UnwrapWarn } from './types.mjs';\n\n/**\n * Maps the Warn variant while leaving Ok/Err untouched.\n *\n * @example\n *\n * ```ts\n * const warnValue = TernaryResult.warn(2, 'slow');\n *\n * const mappedWarn = TernaryResult.mapWarn(\n * warnValue,\n * (warning) => `${warning}!`,\n * );\n *\n * const okPassthrough = TernaryResult.mapWarn(\n * TernaryResult.ok(3),\n * (value: number) => value * 2,\n * );\n *\n * assert.deepStrictEqual(mappedWarn, TernaryResult.warn(2, 'slow!'));\n *\n * assert.deepStrictEqual(okPassthrough, TernaryResult.ok(3));\n * ```\n */\nexport function mapWarn<R extends UnknownTernaryResult, W2>(\n result: R,\n mapFn: (warning: UnwrapWarn<R>) => W2,\n): TernaryResult<UnwrapOk<R>, UnwrapErr<R>, W2>;\n\n// Curried version\nexport function mapWarn<W, W2>(\n mapFn: (warning: W) => W2,\n): <S, E>(result: TernaryResult<S, E, W>) => TernaryResult<S, E, W2>;\n\nexport function mapWarn<R extends UnknownTernaryResult, W2>(\n ...args:\n | readonly [result: R, mapFn: (warning: UnwrapWarn<R>) => W2]\n | readonly [mapFn: (warning: UnwrapWarn<R>) => W2]\n):\n | TernaryResult<UnwrapOk<R>, UnwrapErr<R>, W2>\n | ((result: R) => TernaryResult<UnwrapOk<R>, UnwrapErr<R>, W2>) {\n switch (args.length) {\n case 2: {\n const [result, mapFn] = args;\n\n return mapWarnImpl(result, mapFn);\n }\n\n case 1: {\n const [mapFn] = args;\n\n return (result: R) => mapWarnImpl(result, mapFn);\n }\n }\n}\n\nconst mapWarnImpl = <R extends UnknownTernaryResult, W2>(\n result: R,\n mapFn: (warning: UnwrapWarn<R>) => W2,\n): TernaryResult<UnwrapOk<R>, UnwrapErr<R>, W2> => {\n if (isWarn(result)) {\n return warn(\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.value as UnwrapOk<R>,\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n mapFn(result.warning as UnwrapWarn<R>),\n );\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result as TernaryResult<UnwrapOk<R>, UnwrapErr<R>, W2>;\n};\n"],"names":[],"mappings":";;;AAyCO,SAAS,WACX,IAAA,EAK6D;AAChE,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,KAAK,CAAA,GAAI,IAAA;AAExB,MAAA,OAAO,WAAA,CAAY,QAAQ,KAAK,CAAA;AAAA,IAClC;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,KAAK,CAAA,GAAI,IAAA;AAEhB,MAAA,OAAO,CAAC,MAAA,KAAc,WAAA,CAAY,MAAA,EAAQ,KAAK,CAAA;AAAA,IACjD;AAAA;AAEJ;AAEA,MAAM,WAAA,GAAc,CAClB,MAAA,EACA,KAAA,KACiD;AACjD,EAAA,IAAI,MAAA,CAAO,MAAM,CAAA,EAAG;AAClB,IAAA,OAAO,IAAA;AAAA;AAAA,MAEL,MAAA,CAAO,KAAA;AAAA;AAAA,MAEP,KAAA,CAAM,OAAO,OAAwB;AAAA,KACvC;AAAA,EACF;AAGA,EAAA,OAAO,MAAA;AACT,CAAA;;;;"}
1
+ {"version":3,"file":"ternary-result-map-warn.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-map-warn.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAoCjD,MAAM,UAAU,OAAO,CACrB,GAAG,IAEiD;IAIpD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAE7B,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAErB,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAClB,MAAS,EACT,KAAqC,EACS,EAAE;IAChD,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI;QACT,oEAAoE;QACpE,MAAM,CAAC,KAAoB;QAC3B,oEAAoE;QACpE,KAAK,CAAC,MAAM,CAAC,OAAwB,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,OAAO,MAAsD,CAAC;AAChE,CAAC,CAAC"}
@@ -2,33 +2,31 @@ import { isOk } from './ternary-result-is-ok.mjs';
2
2
  import { isWarn } from './ternary-result-is-warn.mjs';
3
3
  import { ok } from './ternary-result-ok.mjs';
4
4
  import { warn } from './ternary-result-warn.mjs';
5
-
6
- function map(...args) {
7
- switch (args.length) {
8
- case 2: {
9
- const [result, mapFn] = args;
10
- return mapImpl(result, mapFn);
5
+ export function map(...args) {
6
+ switch (args.length) {
7
+ case 2: {
8
+ const [result, mapFn] = args;
9
+ return mapImpl(result, mapFn);
10
+ }
11
+ case 1: {
12
+ const [mapFn] = args;
13
+ return (result) => mapImpl(result, mapFn);
14
+ }
11
15
  }
12
- case 1: {
13
- const [mapFn] = args;
14
- return (result) => mapImpl(result, mapFn);
15
- }
16
- }
17
16
  }
18
17
  const mapImpl = (result, mapFn) => {
19
- if (isOk(result)) {
20
- return ok(mapFn(result.value));
21
- }
22
- if (isWarn(result)) {
23
- return warn(
24
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
25
- mapFn(result.value),
26
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
27
- result.warning
28
- );
29
- }
30
- return result;
18
+ if (isOk(result)) {
19
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
20
+ return ok(mapFn(result.value));
21
+ }
22
+ if (isWarn(result)) {
23
+ return warn(
24
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
25
+ mapFn(result.value),
26
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
27
+ result.warning);
28
+ }
29
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
30
+ return result;
31
31
  };
32
-
33
- export { map };
34
- //# sourceMappingURL=ternary-result-map.mjs.map
32
+ //# sourceMappingURL=ternary-result-map.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-map.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-map.mts"],"sourcesContent":["import {\n type TernaryErr,\n type TernaryResult,\n type UnknownTernaryResult,\n} from '../ternary-result.mjs';\nimport { isOk } from './ternary-result-is-ok.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { ok } from './ternary-result-ok.mjs';\nimport { warn } from './ternary-result-warn.mjs';\nimport { type UnwrapErr, type UnwrapOk, type UnwrapWarn } from './types.mjs';\n\n/**\n * Maps the Ok variant while leaving Warn/Err untouched.\n *\n * @example\n *\n * ```ts\n * const okNumber = TernaryResult.ok(5);\n *\n * const warnValue = TernaryResult.warn(5, 'slow');\n *\n * const errValue = TernaryResult.err('bad');\n *\n * const doubled = TernaryResult.map(okNumber, (value) => value * 2);\n *\n * const warnPassthrough = TernaryResult.map(\n * warnValue,\n * (value: number) => value * 2,\n * );\n *\n * const errPassthrough = TernaryResult.map(\n * errValue,\n * (value: number) => value * 2,\n * );\n *\n * assert.deepStrictEqual(doubled, TernaryResult.ok(10));\n *\n * assert.deepStrictEqual(warnPassthrough, TernaryResult.warn(10, 'slow'));\n *\n * assert.deepStrictEqual(errPassthrough, errValue);\n * ```\n */\nexport function map<R extends UnknownTernaryResult, S2>(\n result: R,\n mapFn: (value: UnwrapOk<R>) => S2,\n): TernaryResult<S2, UnwrapErr<R>, UnwrapWarn<R>>;\n\n// Curried version\nexport function map<S, S2>(\n mapFn: (value: S) => S2,\n): <W, E>(result: TernaryResult<S, E, W>) => TernaryResult<S2, E, W>;\n\nexport function map<R extends UnknownTernaryResult, S2>(\n ...args:\n | readonly [result: R, mapFn: (value: UnwrapOk<R>) => S2]\n | readonly [mapFn: (value: UnwrapOk<R>) => S2]\n):\n | TernaryResult<S2, UnwrapErr<R>, UnwrapWarn<R>>\n | ((result: R) => TernaryResult<S2, UnwrapErr<R>, UnwrapWarn<R>>) {\n switch (args.length) {\n case 2: {\n const [result, mapFn] = args;\n\n return mapImpl(result, mapFn);\n }\n\n case 1: {\n const [mapFn] = args;\n\n return (result: R) => mapImpl(result, mapFn);\n }\n }\n}\n\nconst mapImpl = <R extends UnknownTernaryResult, S2>(\n result: R,\n mapFn: (value: UnwrapOk<R>) => S2,\n): TernaryResult<S2, UnwrapErr<R>, UnwrapWarn<R>> => {\n if (isOk(result)) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return ok(mapFn(result.value as UnwrapOk<R>));\n }\n\n if (isWarn(result)) {\n return warn(\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n mapFn(result.value as UnwrapOk<R>),\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.warning as UnwrapWarn<R>,\n );\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result as TernaryErr<UnwrapErr<R>>;\n};\n"],"names":[],"mappings":";;;;;AAoDO,SAAS,OACX,IAAA,EAK+D;AAClE,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,KAAK,CAAA,GAAI,IAAA;AAExB,MAAA,OAAO,OAAA,CAAQ,QAAQ,KAAK,CAAA;AAAA,IAC9B;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,KAAK,CAAA,GAAI,IAAA;AAEhB,MAAA,OAAO,CAAC,MAAA,KAAc,OAAA,CAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C;AAAA;AAEJ;AAEA,MAAM,OAAA,GAAU,CACd,MAAA,EACA,KAAA,KACmD;AACnD,EAAA,IAAI,IAAA,CAAK,MAAM,CAAA,EAAG;AAEhB,IAAA,OAAO,EAAA,CAAG,KAAA,CAAM,MAAA,CAAO,KAAoB,CAAC,CAAA;AAAA,EAC9C;AAEA,EAAA,IAAI,MAAA,CAAO,MAAM,CAAA,EAAG;AAClB,IAAA,OAAO,IAAA;AAAA;AAAA,MAEL,KAAA,CAAM,OAAO,KAAoB,CAAA;AAAA;AAAA,MAEjC,MAAA,CAAO;AAAA,KACT;AAAA,EACF;AAGA,EAAA,OAAO,MAAA;AACT,CAAA;;;;"}
1
+ {"version":3,"file":"ternary-result-map.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-map.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AA4CjD,MAAM,UAAU,GAAG,CACjB,GAAG,IAE6C;IAIhD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAE7B,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAErB,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CACd,MAAS,EACT,KAAiC,EACe,EAAE;IAClD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,oEAAoE;QACpE,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAoB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI;QACT,oEAAoE;QACpE,KAAK,CAAC,MAAM,CAAC,KAAoB,CAAC;QAClC,oEAAoE;QACpE,MAAM,CAAC,OAAwB,CAChC,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,OAAO,MAAkC,CAAC;AAC5C,CAAC,CAAC"}
@@ -1,9 +1,20 @@
1
1
  import { OkTypeTagName } from './tag.mjs';
2
-
3
- const ok = (value) => ({
4
- $$tag: OkTypeTagName,
5
- value
2
+ /**
3
+ * Creates a `TernaryResult.Ok` containing the provided value.
4
+ *
5
+ * @example
6
+ *
7
+ * ```ts
8
+ * const success = TernaryResult.ok({ id: 1 });
9
+ *
10
+ * assert.deepStrictEqual(success, {
11
+ * $$tag: 'ts-data-forge::Result.ok',
12
+ * value: { id: 1 },
13
+ * });
14
+ * ```
15
+ */
16
+ export const ok = (value) => ({
17
+ $$tag: OkTypeTagName,
18
+ value,
6
19
  });
7
-
8
- export { ok };
9
- //# sourceMappingURL=ternary-result-ok.mjs.map
20
+ //# sourceMappingURL=ternary-result-ok.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-ok.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-ok.mts"],"sourcesContent":["import { type TernaryOk } from '../ternary-result.mjs';\nimport { OkTypeTagName } from './tag.mjs';\n\n/**\n * Creates a `TernaryResult.Ok` containing the provided value.\n *\n * @example\n *\n * ```ts\n * const success = TernaryResult.ok({ id: 1 });\n *\n * assert.deepStrictEqual(success, {\n * $$tag: 'ts-data-forge::Result.ok',\n * value: { id: 1 },\n * });\n * ```\n */\nexport const ok = <const S,>(value: S): TernaryOk<S> =>\n ({\n $$tag: OkTypeTagName,\n value,\n }) as const;\n"],"names":[],"mappings":";;AAiBO,MAAM,EAAA,GAAK,CAAW,KAAA,MAC1B;AAAA,EACC,KAAA,EAAO,aAAA;AAAA,EACP;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"ternary-result-ok.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-ok.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAW,KAAQ,EAAgB,EAAE,CACrD,CAAC;IACC,KAAK,EAAE,aAAa;IACpB,KAAK;CACN,CAAU,CAAC"}
@@ -1,19 +1,16 @@
1
1
  import { isOk } from './ternary-result-is-ok.mjs';
2
2
  import { isWarn } from './ternary-result-is-warn.mjs';
3
-
4
- function orElse(...args) {
5
- switch (args.length) {
6
- case 2: {
7
- const [result, alternative] = args;
8
- return orElseImpl(result, alternative);
3
+ export function orElse(...args) {
4
+ switch (args.length) {
5
+ case 2: {
6
+ const [result, alternative] = args;
7
+ return orElseImpl(result, alternative);
8
+ }
9
+ case 1: {
10
+ const [alternative] = args;
11
+ return (result) => orElseImpl(result, alternative);
12
+ }
9
13
  }
10
- case 1: {
11
- const [alternative] = args;
12
- return (result) => orElseImpl(result, alternative);
13
- }
14
- }
15
14
  }
16
15
  const orElseImpl = (result, alternative) => isOk(result) || isWarn(result) ? result : alternative;
17
-
18
- export { orElse };
19
- //# sourceMappingURL=ternary-result-or-else.mjs.map
16
+ //# sourceMappingURL=ternary-result-or-else.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-or-else.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-or-else.mts"],"sourcesContent":["import { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { isOk } from './ternary-result-is-ok.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { type NarrowToOk, type NarrowToWarn } from './types.mjs';\n\n/**\n * Returns the original result if it is Ok, otherwise the provided fallback.\n *\n * @example\n *\n * ```ts\n * const fallback = TernaryResult.ok('fallback');\n *\n * assert.deepStrictEqual(\n * TernaryResult.orElse(TernaryResult.ok('value'), fallback),\n * TernaryResult.ok('value'),\n * );\n *\n * assert.deepStrictEqual(\n * TernaryResult.orElse(TernaryResult.warn('value', 'warn'), fallback),\n * TernaryResult.warn('value', 'warn'),\n * );\n *\n * assert.deepStrictEqual(\n * TernaryResult.orElse(TernaryResult.err('err'), fallback),\n * fallback,\n * );\n * ```\n */\nexport function orElse<\n R extends UnknownTernaryResult,\n R2 extends UnknownTernaryResult,\n>(result: R, alternative: R2): NarrowToOk<R> | NarrowToWarn<R> | R2;\n\n// Curried version\nexport function orElse<R2 extends UnknownTernaryResult>(\n alternative: R2,\n): <R extends UnknownTernaryResult>(\n result: R,\n) => NarrowToOk<R> | NarrowToWarn<R> | R2;\n\nexport function orElse<\n R extends UnknownTernaryResult,\n R2 extends UnknownTernaryResult,\n>(\n ...args: readonly [result: R, alternative: R2] | readonly [alternative: R2]\n):\n | (NarrowToOk<R> | NarrowToWarn<R> | R2)\n | ((result: R) => NarrowToOk<R> | NarrowToWarn<R> | R2) {\n switch (args.length) {\n case 2: {\n const [result, alternative] = args;\n\n return orElseImpl(result, alternative);\n }\n\n case 1: {\n const [alternative] = args;\n\n return (result: R) => orElseImpl(result, alternative);\n }\n }\n}\n\nconst orElseImpl = <\n R extends UnknownTernaryResult,\n R2 extends UnknownTernaryResult,\n>(\n result: R,\n alternative: R2,\n): NarrowToOk<R> | NarrowToWarn<R> | R2 =>\n isOk(result) || isWarn(result) ? result : alternative;\n"],"names":[],"mappings":";;;AAyCO,SAAS,UAIX,IAAA,EAGqD;AACxD,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,WAAW,CAAA,GAAI,IAAA;AAE9B,MAAA,OAAO,UAAA,CAAW,QAAQ,WAAW,CAAA;AAAA,IACvC;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,WAAW,CAAA,GAAI,IAAA;AAEtB,MAAA,OAAO,CAAC,MAAA,KAAc,UAAA,CAAW,MAAA,EAAQ,WAAW,CAAA;AAAA,IACtD;AAAA;AAEJ;AAEA,MAAM,UAAA,GAAa,CAIjB,MAAA,EACA,WAAA,KAEA,IAAA,CAAK,MAAM,CAAA,IAAK,MAAA,CAAO,MAAM,CAAA,GAAI,MAAA,GAAS,WAAA;;;;"}
1
+ {"version":3,"file":"ternary-result-or-else.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-or-else.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAuCtD,MAAM,UAAU,MAAM,CAIpB,GAAG,IAAwE;IAI3E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;YAEnC,OAAO,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAE3B,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAIjB,MAAS,EACT,WAAe,EACuB,EAAE,CACxC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC"}
@@ -1,12 +1,26 @@
1
- import { none } from '../../optional/impl/optional-none.mjs';
2
- import { some } from '../../optional/impl/optional-some.mjs';
1
+ import { Optional } from '../../optional/index.mjs';
3
2
  import { isOk } from './ternary-result-is-ok.mjs';
4
3
  import { isWarn } from './ternary-result-is-warn.mjs';
5
-
6
- const toOptional = (result) => isOk(result) || isWarn(result) ? (
7
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
8
- some(result.value)
9
- ) : none;
10
-
11
- export { toOptional };
12
- //# sourceMappingURL=ternary-result-to-optional.mjs.map
4
+ /**
5
+ * Converts a `TernaryResult` into an `Optional` by keeping only Ok values.
6
+ *
7
+ * @example
8
+ *
9
+ * ```ts
10
+ * const okValue = TernaryResult.ok(7);
11
+ *
12
+ * const warnValue = TernaryResult.warn(7, 'warn');
13
+ *
14
+ * assert.deepStrictEqual(TernaryResult.toOptional(okValue), Optional.some(7));
15
+ *
16
+ * assert.deepStrictEqual(
17
+ * TernaryResult.toOptional(warnValue),
18
+ * Optional.some(7),
19
+ * );
20
+ * ```
21
+ */
22
+ export const toOptional = (result) => isOk(result) || isWarn(result)
23
+ ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
24
+ Optional.some(result.value)
25
+ : Optional.none;
26
+ //# sourceMappingURL=ternary-result-to-optional.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-to-optional.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-to-optional.mts"],"sourcesContent":["import { Optional } from '../../optional/index.mjs';\nimport { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { isOk } from './ternary-result-is-ok.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { type UnwrapOk } from './types.mjs';\n\n/**\n * Converts a `TernaryResult` into an `Optional` by keeping only Ok values.\n *\n * @example\n *\n * ```ts\n * const okValue = TernaryResult.ok(7);\n *\n * const warnValue = TernaryResult.warn(7, 'warn');\n *\n * assert.deepStrictEqual(TernaryResult.toOptional(okValue), Optional.some(7));\n *\n * assert.deepStrictEqual(\n * TernaryResult.toOptional(warnValue),\n * Optional.some(7),\n * );\n * ```\n */\nexport const toOptional = <R extends UnknownTernaryResult>(\n result: R,\n): Optional<UnwrapOk<R>> =>\n isOk(result) || isWarn(result)\n ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Optional.some(result.value as UnwrapOk<R>)\n : Optional.none;\n"],"names":["Optional.some","Optional.none"],"mappings":";;;;;AAwBO,MAAM,aAAa,CACxB,MAAA,KAEA,KAAK,MAAM,CAAA,IAAK,OAAO,MAAM,CAAA;AAAA;AAAA,EAEzBA,IAAS,CAAK,MAAA,CAAO,KAAoB;AAAA,IACzCC;;;;"}
1
+ {"version":3,"file":"ternary-result-to-optional.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-to-optional.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAAS,EACc,EAAE,CACzB,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC,CAAC,oEAAoE;QACpE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAoB,CAAC;IAC5C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC"}
@@ -1,17 +1,14 @@
1
1
  import { unwrapErr } from './ternary-result-unwrap-err.mjs';
2
-
3
- function unwrapErrOr(...args) {
4
- switch (args.length) {
5
- case 2: {
6
- const [result, defaultValue] = args;
7
- return unwrapErr(result) ?? defaultValue;
2
+ export function unwrapErrOr(...args) {
3
+ switch (args.length) {
4
+ case 2: {
5
+ const [result, defaultValue] = args;
6
+ return unwrapErr(result) ?? defaultValue;
7
+ }
8
+ case 1: {
9
+ const [defaultValue] = args;
10
+ return (result) => unwrapErr(result) ?? defaultValue;
11
+ }
8
12
  }
9
- case 1: {
10
- const [defaultValue] = args;
11
- return (result) => unwrapErr(result) ?? defaultValue;
12
- }
13
- }
14
13
  }
15
-
16
- export { unwrapErrOr };
17
- //# sourceMappingURL=ternary-result-unwrap-err-or.mjs.map
14
+ //# sourceMappingURL=ternary-result-unwrap-err-or.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-err-or.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-err-or.mts"],"sourcesContent":["import { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { unwrapErr } from './ternary-result-unwrap-err.mjs';\nimport { type UnwrapErr } from './types.mjs';\n\n/**\n * Returns the Err value or the provided default.\n *\n * @example\n *\n * ```ts\n * const okValue = TernaryResult.ok('value');\n *\n * assert.strictEqual(\n * TernaryResult.unwrapErrOr(okValue, 'default'),\n * 'default',\n * );\n *\n * const unwrapErr = TernaryResult.unwrapErrOr('fallback error');\n *\n * assert.strictEqual(unwrapErr(TernaryResult.err('boom')), 'boom');\n *\n * assert.strictEqual(\n * unwrapErr(TernaryResult.warn('value', 'warn')),\n * 'fallback error',\n * );\n * ```\n */\nexport function unwrapErrOr<R extends UnknownTernaryResult, D>(\n result: R,\n defaultValue: D,\n): D | UnwrapErr<R>;\n\n// Curried version\nexport function unwrapErrOr<D>(\n defaultValue: D,\n): <R extends UnknownTernaryResult>(result: R) => D | UnwrapErr<R>;\n\nexport function unwrapErrOr<R extends UnknownTernaryResult, D>(\n ...args: readonly [result: R, defaultValue: D] | readonly [defaultValue: D]\n): D | UnwrapErr<R> | ((result: R) => D | UnwrapErr<R>) {\n switch (args.length) {\n case 2: {\n const [result, defaultValue] = args;\n\n return unwrapErr(result) ?? defaultValue;\n }\n\n case 1: {\n const [defaultValue] = args;\n\n return (result: R) => unwrapErr(result) ?? defaultValue;\n }\n }\n}\n"],"names":[],"mappings":";;AAqCO,SAAS,eACX,IAAA,EACmD;AACtD,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAI,IAAA;AAE/B,MAAA,OAAO,SAAA,CAAU,MAAM,CAAA,IAAK,YAAA;AAAA,IAC9B;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,YAAY,CAAA,GAAI,IAAA;AAEvB,MAAA,OAAO,CAAC,MAAA,KAAc,SAAA,CAAU,MAAM,CAAA,IAAK,YAAA;AAAA,IAC7C;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-err-or.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-err-or.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAoC5D,MAAM,UAAU,WAAW,CACzB,GAAG,IAAwE;IAE3E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;YAEpC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAE5B,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,23 +1,34 @@
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 './ternary-result-is-err.mjs';
4
3
  import { isWarn } from './ternary-result-is-warn.mjs';
5
4
  import { variantName } from './variant-name.mjs';
6
-
7
- const unwrapErrThrow = (result, toStr = unknownToString) => {
8
- if (isErr(result)) {
9
- return result.value;
10
- }
11
- const variant = variantName(result.$$tag);
12
- const payload = isWarn(result) ? (
13
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
14
- result.warning
15
- ) : (
16
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
17
- result.value
18
- );
19
- throw new Error(`Expected Err but got ${variant}: ${toStr(payload)}`);
5
+ /**
6
+ * Returns the Err value or throws if the result is not Err.
7
+ *
8
+ * @example
9
+ *
10
+ * ```ts
11
+ * const errValue = TernaryResult.err('boom');
12
+ *
13
+ * assert.strictEqual(TernaryResult.unwrapErrThrow(errValue), 'boom');
14
+ *
15
+ * assert.throws(
16
+ * () => TernaryResult.unwrapErrThrow(TernaryResult.ok('value')),
17
+ * /Expected Err/u,
18
+ * );
19
+ * ```
20
+ */
21
+ export const unwrapErrThrow = (result, toStr = unknownToString) => {
22
+ if (isErr(result)) {
23
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
24
+ return result.value;
25
+ }
26
+ const variant = variantName(result.$$tag);
27
+ const payload = isWarn(result)
28
+ ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
29
+ result.warning
30
+ : // eslint-disable-next-line total-functions/no-unsafe-type-assertion
31
+ result.value;
32
+ throw new Error(`Expected Err but got ${variant}: ${toStr(payload)}`);
20
33
  };
21
-
22
- export { unwrapErrThrow };
23
- //# sourceMappingURL=ternary-result-unwrap-err-throw.mjs.map
34
+ //# sourceMappingURL=ternary-result-unwrap-err-throw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-err-throw.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mts"],"sourcesContent":["import { unknownToString } from '../../../others/index.mjs';\nimport { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { isErr } from './ternary-result-is-err.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { type UnwrapErr, type UnwrapOk, type UnwrapWarn } from './types.mjs';\nimport { variantName } from './variant-name.mjs';\n\n/**\n * Returns the Err value or throws if the result is not Err.\n *\n * @example\n *\n * ```ts\n * const errValue = TernaryResult.err('boom');\n *\n * assert.strictEqual(TernaryResult.unwrapErrThrow(errValue), 'boom');\n *\n * assert.throws(\n * () => TernaryResult.unwrapErrThrow(TernaryResult.ok('value')),\n * /Expected Err/u,\n * );\n * ```\n */\nexport const unwrapErrThrow = <R extends UnknownTernaryResult>(\n result: R,\n toStr: (value: UnwrapOk<R> | UnwrapWarn<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 = variantName(result.$$tag);\n\n const payload = isWarn(result)\n ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n (result.warning as UnwrapWarn<R> as UnwrapOk<R> | UnwrapWarn<R>)\n : // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n (result.value as UnwrapOk<R> as UnwrapOk<R> | UnwrapWarn<R>);\n\n throw new Error(`Expected Err but got ${variant}: ${toStr(payload)}`);\n};\n"],"names":[],"mappings":";;;;;;AAuBO,MAAM,cAAA,GAAiB,CAC5B,MAAA,EACA,KAAA,GAAwD,eAAA,KACvC;AACjB,EAAA,IAAI,KAAA,CAAM,MAAM,CAAA,EAAG;AAEjB,IAAA,OAAO,MAAA,CAAO,KAAA;AAAA,EAChB;AAEA,EAAA,MAAM,OAAA,GAAU,WAAA,CAAY,MAAA,CAAO,KAAK,CAAA;AAExC,EAAA,MAAM,OAAA,GAAU,OAAO,MAAM,CAAA;AAAA;AAAA,IAExB,MAAA,CAAO;AAAA;AAAA;AAAA,IAEP,MAAA,CAAO;AAAA,GAAA;AAEZ,EAAA,MAAM,IAAI,MAAM,CAAA,qBAAA,EAAwB,OAAO,KAAK,KAAA,CAAM,OAAO,CAAC,CAAA,CAAE,CAAA;AACtE;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-err-throw.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAS,EACT,KAAK,GAAmD,eAAe,EACzD,EAAE;IAChB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,oEAAoE;QACpE,OAAO,MAAM,CAAC,KAAqB,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,oEAAoE;YACnE,MAAM,CAAC,OAAwD;QAClE,CAAC,CAAC,oEAAoE;YACnE,MAAM,CAAC,KAAoD,CAAC;IAEjE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC"}
@@ -1,9 +1,21 @@
1
1
  import { isErr } from './ternary-result-is-err.mjs';
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
-
8
- export { unwrapErr };
9
- //# sourceMappingURL=ternary-result-unwrap-err.mjs.map
2
+ /**
3
+ * Safely unwraps the Err value.
4
+ *
5
+ * @example
6
+ *
7
+ * ```ts
8
+ * const errValue = TernaryResult.err('fail');
9
+ *
10
+ * const okValue = TernaryResult.ok('value');
11
+ *
12
+ * assert.strictEqual(TernaryResult.unwrapErr(errValue), 'fail');
13
+ *
14
+ * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
15
+ * assert.strictEqual(TernaryResult.unwrapErr(okValue), undefined);
16
+ * ```
17
+ */
18
+ export const unwrapErr = (result) =>
19
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
20
+ isErr(result) ? result.value : undefined;
21
+ //# sourceMappingURL=ternary-result-unwrap-err.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-err.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-err.mts"],"sourcesContent":["import { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { isErr } from './ternary-result-is-err.mjs';\nimport { type UnwrapErr } from './types.mjs';\n\n/**\n * Safely unwraps the Err value.\n *\n * @example\n *\n * ```ts\n * const errValue = TernaryResult.err('fail');\n *\n * const okValue = TernaryResult.ok('value');\n *\n * assert.strictEqual(TernaryResult.unwrapErr(errValue), 'fail');\n *\n * // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n * assert.strictEqual(TernaryResult.unwrapErr(okValue), undefined);\n * ```\n */\nexport const unwrapErr = <R extends UnknownTernaryResult>(\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":";;AAoBO,MAAM,YAAY,CACvB,MAAA;AAAA;AAAA,EAGA,KAAA,CAAM,MAAM,CAAA,GAAK,MAAA,CAAO,KAAA,GAAyB;AAAA;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-err.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-err.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGpD;;;;;;;;;;;;;;;GAeG;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,17 +1,14 @@
1
1
  import { unwrapOk } from './ternary-result-unwrap-ok.mjs';
2
-
3
- function unwrapOkOr(...args) {
4
- switch (args.length) {
5
- case 2: {
6
- const [result, defaultValue] = args;
7
- return unwrapOk(result) ?? defaultValue;
2
+ export function unwrapOkOr(...args) {
3
+ switch (args.length) {
4
+ case 2: {
5
+ const [result, defaultValue] = args;
6
+ return unwrapOk(result) ?? defaultValue;
7
+ }
8
+ case 1: {
9
+ const [defaultValue] = args;
10
+ return (result) => unwrapOk(result) ?? defaultValue;
11
+ }
8
12
  }
9
- case 1: {
10
- const [defaultValue] = args;
11
- return (result) => unwrapOk(result) ?? defaultValue;
12
- }
13
- }
14
13
  }
15
-
16
- export { unwrapOkOr };
17
- //# sourceMappingURL=ternary-result-unwrap-ok-or.mjs.map
14
+ //# sourceMappingURL=ternary-result-unwrap-ok-or.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-ok-or.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mts"],"sourcesContent":["import { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { unwrapOk } from './ternary-result-unwrap-ok.mjs';\nimport { type UnwrapOk } from './types.mjs';\n\n/**\n * Returns the Ok value or the provided default.\n *\n * @example\n *\n * ```ts\n * const errValue = TernaryResult.err('err');\n *\n * assert.strictEqual(TernaryResult.unwrapOkOr(errValue, 0), 0);\n *\n * const unwrapWithDefault = TernaryResult.unwrapOkOr('fallback');\n *\n * assert.strictEqual(unwrapWithDefault(TernaryResult.ok(5)), 5);\n *\n * assert.strictEqual(\n * unwrapWithDefault(TernaryResult.warn('warn-value', 'warn')),\n * 'warn-value',\n * );\n * ```\n */\nexport function unwrapOkOr<R extends UnknownTernaryResult, 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 UnknownTernaryResult>(result: R) => D | UnwrapOk<R>;\n\nexport function unwrapOkOr<R extends UnknownTernaryResult, 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 const [result, defaultValue] = args;\n\n return unwrapOk(result) ?? defaultValue;\n }\n\n case 1: {\n const [defaultValue] = args;\n\n return (result: R) => unwrapOk(result) ?? defaultValue;\n }\n }\n}\n"],"names":[],"mappings":";;AAkCO,SAAS,cACX,IAAA,EACiD;AACpD,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAI,IAAA;AAE/B,MAAA,OAAO,QAAA,CAAS,MAAM,CAAA,IAAK,YAAA;AAAA,IAC7B;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,YAAY,CAAA,GAAI,IAAA;AAEvB,MAAA,OAAO,CAAC,MAAA,KAAc,QAAA,CAAS,MAAM,CAAA,IAAK,YAAA;AAAA,IAC5C;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-ok-or.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAiC1D,MAAM,UAAU,UAAU,CACxB,GAAG,IAAwE;IAE3E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;YAEpC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAE5B,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,12 +1,10 @@
1
1
  import { isOk } from './ternary-result-is-ok.mjs';
2
2
  import { isWarn } from './ternary-result-is-warn.mjs';
3
-
4
- function unwrapOk(result) {
5
- if (isOk(result) || isWarn(result)) {
6
- return result.value;
7
- }
8
- return void 0;
3
+ export function unwrapOk(result) {
4
+ if (isOk(result) || isWarn(result)) {
5
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
6
+ return result.value;
7
+ }
8
+ return undefined;
9
9
  }
10
-
11
- export { unwrapOk };
12
- //# sourceMappingURL=ternary-result-unwrap-ok.mjs.map
10
+ //# sourceMappingURL=ternary-result-unwrap-ok.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-ok.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-ok.mts"],"sourcesContent":["import {\n type TernaryOk,\n type UnknownTernaryResult,\n} from '../ternary-result.mjs';\nimport { isOk } from './ternary-result-is-ok.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { type UnwrapOk } from './types.mjs';\n\n/**\n * Safely unwraps the Ok value.\n *\n * @example\n *\n * ```ts\n * const okValue = TernaryResult.ok(3);\n *\n * const warnValue = TernaryResult.warn(4, 'warn');\n *\n * assert.strictEqual(TernaryResult.unwrapOk(okValue), 3);\n *\n * assert.strictEqual(TernaryResult.unwrapOk(warnValue), 4);\n * ```\n */\nexport function unwrapOk<R extends TernaryOk<unknown>>(result: R): UnwrapOk<R>;\n\nexport function unwrapOk<R extends UnknownTernaryResult>(\n result: R,\n): UnwrapOk<R> | undefined;\n\nexport function unwrapOk<R extends UnknownTernaryResult>(\n result: R,\n): UnwrapOk<R> | undefined {\n if (isOk(result) || isWarn(result)) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result.value as UnwrapOk<R>;\n }\n\n return undefined;\n}\n"],"names":[],"mappings":";;;AA6BO,SAAS,SACd,MAAA,EACyB;AACzB,EAAA,IAAI,IAAA,CAAK,MAAM,CAAA,IAAK,MAAA,CAAO,MAAM,CAAA,EAAG;AAElC,IAAA,OAAO,MAAA,CAAO,KAAA;AAAA,EAChB;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-ok.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-ok.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAwBtD,MAAM,UAAU,QAAQ,CACtB,MAAS;IAET,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,oEAAoE;QACpE,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,27 +1,35 @@
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 './ternary-result-is-err.mjs';
4
3
  import { isWarn } from './ternary-result-is-warn.mjs';
5
-
6
- const unwrapThrow = (result, toStr = unknownToString) => {
7
- if (isErr(result)) {
8
- throw new Error(
9
- `Expected Ok but got Err: ${toStr(
4
+ /**
5
+ * Returns the Ok value or throws if the result is Warn or Err.
6
+ *
7
+ * @example
8
+ *
9
+ * ```ts
10
+ * const okValue = TernaryResult.ok('ready');
11
+ *
12
+ * assert.strictEqual(TernaryResult.unwrapThrow(okValue), 'ready');
13
+ *
14
+ * const throwTest = (): void => {
15
+ * TernaryResult.unwrapThrow(TernaryResult.warn('warn', 'warned'));
16
+ * };
17
+ *
18
+ * assert.throws(throwTest, /Expected Ok/u);
19
+ * ```
20
+ */
21
+ export const unwrapThrow = (result, toStr = unknownToString) => {
22
+ if (isErr(result)) {
23
+ throw new Error(`Expected Ok but got Err: ${toStr(
10
24
  // eslint-disable-next-line total-functions/no-unsafe-type-assertion
11
- result.value
12
- )}`
13
- );
14
- }
15
- if (isWarn(result)) {
16
- throw new Error(
17
- `Expected Ok but got Warn: ${toStr(
25
+ result.value)}`);
26
+ }
27
+ if (isWarn(result)) {
28
+ throw new Error(`Expected Ok but got Warn: ${toStr(
18
29
  // eslint-disable-next-line total-functions/no-unsafe-type-assertion
19
- result.warning
20
- )}`
21
- );
22
- }
23
- return result.value;
30
+ result.warning)}`);
31
+ }
32
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
33
+ return result.value;
24
34
  };
25
-
26
- export { unwrapThrow };
27
- //# sourceMappingURL=ternary-result-unwrap-throw.mjs.map
35
+ //# sourceMappingURL=ternary-result-unwrap-throw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-throw.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-throw.mts"],"sourcesContent":["import { unknownToString } from '../../../others/index.mjs';\nimport { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { isErr } from './ternary-result-is-err.mjs';\nimport { isWarn } from './ternary-result-is-warn.mjs';\nimport { type UnwrapErr, type UnwrapOk, type UnwrapWarn } from './types.mjs';\n\n/**\n * Returns the Ok value or throws if the result is Warn or Err.\n *\n * @example\n *\n * ```ts\n * const okValue = TernaryResult.ok('ready');\n *\n * assert.strictEqual(TernaryResult.unwrapThrow(okValue), 'ready');\n *\n * const throwTest = (): void => {\n * TernaryResult.unwrapThrow(TernaryResult.warn('warn', 'warned'));\n * };\n *\n * assert.throws(throwTest, /Expected Ok/u);\n * ```\n */\nexport const unwrapThrow = <R extends UnknownTernaryResult>(\n result: R,\n toStr: (value: UnwrapWarn<R> | UnwrapErr<R>) => string = unknownToString,\n): UnwrapOk<R> => {\n if (isErr(result)) {\n throw new Error(\n `Expected Ok but got Err: ${toStr(\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.value as UnwrapErr<R>,\n )}`,\n );\n }\n\n if (isWarn(result)) {\n throw new Error(\n `Expected Ok but got Warn: ${toStr(\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n result.warning as UnwrapWarn<R>,\n )}`,\n );\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return result.value as UnwrapOk<R>;\n};\n"],"names":[],"mappings":";;;;;AAuBO,MAAM,WAAA,GAAc,CACzB,MAAA,EACA,KAAA,GAAyD,eAAA,KACzC;AAChB,EAAA,IAAI,KAAA,CAAM,MAAM,CAAA,EAAG;AACjB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,yBAAA,EAA4B,KAAA;AAAA;AAAA,QAE1B,MAAA,CAAO;AAAA,OACR,CAAA;AAAA,KACH;AAAA,EACF;AAEA,EAAA,IAAI,MAAA,CAAO,MAAM,CAAA,EAAG;AAClB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,0BAAA,EAA6B,KAAA;AAAA;AAAA,QAE3B,MAAA,CAAO;AAAA,OACR,CAAA;AAAA,KACH;AAAA,EACF;AAGA,EAAA,OAAO,MAAA,CAAO,KAAA;AAChB;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-throw.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-throw.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAS,EACT,KAAK,GAAoD,eAAe,EAC3D,EAAE;IACf,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK;QAC/B,oEAAoE;QACpE,MAAM,CAAC,KAAqB,CAC7B,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK;QAChC,oEAAoE;QACpE,MAAM,CAAC,OAAwB,CAChC,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,OAAO,MAAM,CAAC,KAAoB,CAAC;AACrC,CAAC,CAAC"}
@@ -1,17 +1,14 @@
1
1
  import { unwrapWarn } from './ternary-result-unwrap-warn.mjs';
2
-
3
- function unwrapWarnOr(...args) {
4
- switch (args.length) {
5
- case 2: {
6
- const [result, defaultValue] = args;
7
- return unwrapWarn(result) ?? defaultValue;
2
+ export function unwrapWarnOr(...args) {
3
+ switch (args.length) {
4
+ case 2: {
5
+ const [result, defaultValue] = args;
6
+ return unwrapWarn(result) ?? defaultValue;
7
+ }
8
+ case 1: {
9
+ const [defaultValue] = args;
10
+ return (result) => unwrapWarn(result) ?? defaultValue;
11
+ }
8
12
  }
9
- case 1: {
10
- const [defaultValue] = args;
11
- return (result) => unwrapWarn(result) ?? defaultValue;
12
- }
13
- }
14
13
  }
15
-
16
- export { unwrapWarnOr };
17
- //# sourceMappingURL=ternary-result-unwrap-warn-or.mjs.map
14
+ //# sourceMappingURL=ternary-result-unwrap-warn-or.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ternary-result-unwrap-warn-or.mjs","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mts"],"sourcesContent":["import { type UnknownTernaryResult } from '../ternary-result.mjs';\nimport { unwrapWarn } from './ternary-result-unwrap-warn.mjs';\nimport { type UnwrapWarn } from './types.mjs';\n\n/**\n * Returns the Warn value or the provided default.\n *\n * @example\n *\n * ```ts\n * const okValue = TernaryResult.ok('value');\n *\n * assert.strictEqual(TernaryResult.unwrapWarnOr(okValue, 'warn'), 'warn');\n *\n * const unwrapWarn = TernaryResult.unwrapWarnOr('fallback warn');\n *\n * assert.strictEqual(unwrapWarn(TernaryResult.warn('value', 'slow')), 'slow');\n *\n * assert.strictEqual(unwrapWarn(TernaryResult.err('err')), 'fallback warn');\n * ```\n */\nexport function unwrapWarnOr<R extends UnknownTernaryResult, D>(\n result: R,\n defaultValue: D,\n): D | UnwrapWarn<R>;\n\n// Curried version\nexport function unwrapWarnOr<D>(\n defaultValue: D,\n): <R extends UnknownTernaryResult>(result: R) => D | UnwrapWarn<R>;\n\nexport function unwrapWarnOr<R extends UnknownTernaryResult, D>(\n ...args: readonly [result: R, defaultValue: D] | readonly [defaultValue: D]\n): D | UnwrapWarn<R> | ((result: R) => D | UnwrapWarn<R>) {\n switch (args.length) {\n case 2: {\n const [result, defaultValue] = args;\n\n return unwrapWarn(result) ?? defaultValue;\n }\n\n case 1: {\n const [defaultValue] = args;\n\n return (result: R) => unwrapWarn(result) ?? defaultValue;\n }\n }\n}\n"],"names":[],"mappings":";;AA+BO,SAAS,gBACX,IAAA,EACqD;AACxD,EAAA,QAAQ,KAAK,MAAA;AAAQ,IACnB,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAI,IAAA;AAE/B,MAAA,OAAO,UAAA,CAAW,MAAM,CAAA,IAAK,YAAA;AAAA,IAC/B;AAAA,IAEA,KAAK,CAAA,EAAG;AACN,MAAA,MAAM,CAAC,YAAY,CAAA,GAAI,IAAA;AAEvB,MAAA,OAAO,CAAC,MAAA,KAAc,UAAA,CAAW,MAAM,CAAA,IAAK,YAAA;AAAA,IAC9C;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ternary-result-unwrap-warn-or.mjs","sourceRoot":"","sources":["../../../../src/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AA8B9D,MAAM,UAAU,YAAY,CAC1B,GAAG,IAAwE;IAE3E,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;YAEpC,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAE5B,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC"}