ts-data-forge 14.6.0 → 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 (409) 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 -291
  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.d.mts.map +1 -1
  44. package/dist/collections/iset-mapped.mjs +448 -263
  45. package/dist/collections/iset-mapped.mjs.map +1 -1
  46. package/dist/collections/iset.mjs +328 -201
  47. package/dist/collections/iset.mjs.map +1 -1
  48. package/dist/collections/queue.mjs +183 -151
  49. package/dist/collections/queue.mjs.map +1 -1
  50. package/dist/collections/stack.mjs +169 -140
  51. package/dist/collections/stack.mjs.map +1 -1
  52. package/dist/entry-point.mjs +4 -77
  53. package/dist/entry-point.mjs.map +1 -1
  54. package/dist/expect-type.mjs +70 -4
  55. package/dist/expect-type.mjs.map +1 -1
  56. package/dist/functional/async-result/async-result.mjs +2 -3
  57. package/dist/functional/async-result/async-result.mjs.map +1 -1
  58. package/dist/functional/async-result/impl/async-result-flat-map.mjs +19 -21
  59. package/dist/functional/async-result/impl/async-result-flat-map.mjs.map +1 -1
  60. package/dist/functional/async-result/impl/async-result-from-promise.mjs +9 -10
  61. package/dist/functional/async-result/impl/async-result-from-promise.mjs.map +1 -1
  62. package/dist/functional/async-result/impl/async-result-from-throwable.mjs +12 -14
  63. package/dist/functional/async-result/impl/async-result-from-throwable.mjs.map +1 -1
  64. package/dist/functional/async-result/impl/async-result-map-err.mjs +16 -19
  65. package/dist/functional/async-result/impl/async-result-map-err.mjs.map +1 -1
  66. package/dist/functional/async-result/impl/async-result-map.mjs +16 -19
  67. package/dist/functional/async-result/impl/async-result-map.mjs.map +1 -1
  68. package/dist/functional/async-result/impl/async-result-unwrap-or.mjs +36 -9
  69. package/dist/functional/async-result/impl/async-result-unwrap-or.mjs.map +1 -1
  70. package/dist/functional/async-result/impl/index.mjs +8 -7
  71. package/dist/functional/async-result/impl/index.mjs.map +1 -1
  72. package/dist/functional/async-result/impl/types.mjs +2 -2
  73. package/dist/functional/async-result/impl/types.mjs.map +1 -1
  74. package/dist/functional/async-result/index.mjs +2 -3
  75. package/dist/functional/async-result/index.mjs.map +1 -1
  76. package/dist/functional/index.mjs +7 -11
  77. package/dist/functional/index.mjs.map +1 -1
  78. package/dist/functional/match.mjs +27 -13
  79. package/dist/functional/match.mjs.map +1 -1
  80. package/dist/functional/optional/impl/index.mjs +19 -18
  81. package/dist/functional/optional/impl/index.mjs.map +1 -1
  82. package/dist/functional/optional/impl/optional-expect-to-be.mjs +16 -18
  83. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  84. package/dist/functional/optional/impl/optional-filter.mjs +17 -19
  85. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  86. package/dist/functional/optional/impl/optional-flat-map.mjs +13 -15
  87. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  88. package/dist/functional/optional/impl/optional-from-nullable.mjs +26 -5
  89. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  90. package/dist/functional/optional/impl/optional-is-none.mjs +21 -5
  91. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  92. package/dist/functional/optional/impl/optional-is-optional.mjs +26 -8
  93. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  94. package/dist/functional/optional/impl/optional-is-some.mjs +22 -5
  95. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  96. package/dist/functional/optional/impl/optional-map.mjs +16 -18
  97. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  98. package/dist/functional/optional/impl/optional-match.mjs +16 -18
  99. package/dist/functional/optional/impl/optional-match.mjs.map +1 -1
  100. package/dist/functional/optional/impl/optional-none.mjs +18 -5
  101. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  102. package/dist/functional/optional/impl/optional-or-else.mjs +13 -15
  103. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  104. package/dist/functional/optional/impl/optional-some.mjs +23 -7
  105. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  106. package/dist/functional/optional/impl/optional-to-nullable.mjs +28 -5
  107. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  108. package/dist/functional/optional/impl/optional-unwrap-or.mjs +12 -14
  109. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  110. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +34 -9
  111. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  112. package/dist/functional/optional/impl/optional-unwrap.mjs +6 -9
  113. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  114. package/dist/functional/optional/impl/optional-zip.mjs +36 -5
  115. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  116. package/dist/functional/optional/impl/tag.mjs +4 -5
  117. package/dist/functional/optional/impl/tag.mjs.map +1 -1
  118. package/dist/functional/optional/impl/types.mjs +2 -2
  119. package/dist/functional/optional/impl/types.mjs.map +1 -1
  120. package/dist/functional/optional/index.mjs +2 -3
  121. package/dist/functional/optional/index.mjs.map +1 -1
  122. package/dist/functional/optional/optional.mjs +2 -3
  123. package/dist/functional/optional/optional.mjs.map +1 -1
  124. package/dist/functional/pipe.mjs +42 -14
  125. package/dist/functional/pipe.mjs.map +1 -1
  126. package/dist/functional/result/impl/index.mjs +28 -27
  127. package/dist/functional/result/impl/index.mjs.map +1 -1
  128. package/dist/functional/result/impl/result-err.mjs +29 -7
  129. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  130. package/dist/functional/result/impl/result-expect-to-be.mjs +17 -18
  131. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  132. package/dist/functional/result/impl/result-flat-map.mjs +18 -21
  133. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  134. package/dist/functional/result/impl/result-fold.mjs +18 -21
  135. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  136. package/dist/functional/result/impl/result-from-optional.mjs +17 -20
  137. package/dist/functional/result/impl/result-from-optional.mjs.map +1 -1
  138. package/dist/functional/result/impl/result-from-promise.mjs +37 -8
  139. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  140. package/dist/functional/result/impl/result-from-throwable.mjs +41 -14
  141. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  142. package/dist/functional/result/impl/result-is-err.mjs +21 -5
  143. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  144. package/dist/functional/result/impl/result-is-ok.mjs +21 -5
  145. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  146. package/dist/functional/result/impl/result-is-result.mjs +25 -7
  147. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  148. package/dist/functional/result/impl/result-map-err.mjs +18 -21
  149. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  150. package/dist/functional/result/impl/result-map.mjs +18 -21
  151. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  152. package/dist/functional/result/impl/result-match.mjs +17 -21
  153. package/dist/functional/result/impl/result-match.mjs.map +1 -1
  154. package/dist/functional/result/impl/result-ok.mjs +29 -7
  155. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  156. package/dist/functional/result/impl/result-or-else.mjs +14 -15
  157. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  158. package/dist/functional/result/impl/result-safe-try.mjs +32 -21
  159. package/dist/functional/result/impl/result-safe-try.mjs.map +1 -1
  160. package/dist/functional/result/impl/result-safe-unwrap.mjs +40 -12
  161. package/dist/functional/result/impl/result-safe-unwrap.mjs.map +1 -1
  162. package/dist/functional/result/impl/result-swap.mjs +23 -8
  163. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  164. package/dist/functional/result/impl/result-to-optional.mjs +30 -7
  165. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  166. package/dist/functional/result/impl/result-unwrap-err-or.mjs +13 -14
  167. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  168. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +43 -20
  169. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  170. package/dist/functional/result/impl/result-unwrap-err.mjs +33 -8
  171. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  172. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +13 -14
  173. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  174. package/dist/functional/result/impl/result-unwrap-ok.mjs +6 -9
  175. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  176. package/dist/functional/result/impl/result-unwrap-throw.mjs +38 -11
  177. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  178. package/dist/functional/result/impl/result-zip.mjs +35 -5
  179. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  180. package/dist/functional/result/impl/tag.mjs +4 -5
  181. package/dist/functional/result/impl/tag.mjs.map +1 -1
  182. package/dist/functional/result/impl/types.mjs +2 -2
  183. package/dist/functional/result/impl/types.mjs.map +1 -1
  184. package/dist/functional/result/index.mjs +2 -3
  185. package/dist/functional/result/index.mjs.map +1 -1
  186. package/dist/functional/result/result.mjs +2 -3
  187. package/dist/functional/result/result.mjs.map +1 -1
  188. package/dist/functional/ternary-result/impl/index.mjs +29 -28
  189. package/dist/functional/ternary-result/impl/index.mjs.map +1 -1
  190. package/dist/functional/ternary-result/impl/tag.mjs +6 -6
  191. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  192. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +17 -7
  193. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  194. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +15 -18
  195. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  196. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +28 -32
  197. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  198. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +24 -26
  199. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  200. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +21 -8
  201. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  202. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +28 -13
  203. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  204. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +19 -5
  205. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +1 -1
  206. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +21 -5
  207. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  208. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +28 -8
  209. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  210. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +20 -5
  211. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  212. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +17 -18
  213. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  214. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +20 -23
  215. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  216. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +24 -26
  217. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  218. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +18 -7
  219. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  220. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +11 -14
  221. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  222. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +24 -10
  223. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  224. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +11 -14
  225. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  226. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +30 -19
  227. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  228. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +20 -8
  229. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  230. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +11 -14
  231. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  232. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +7 -9
  233. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  234. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +30 -22
  235. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  236. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +11 -14
  237. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  238. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +27 -17
  239. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  240. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +20 -8
  241. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  242. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +21 -8
  243. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  244. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +47 -19
  245. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  246. package/dist/functional/ternary-result/impl/types.mjs +2 -2
  247. package/dist/functional/ternary-result/impl/types.mjs.map +1 -1
  248. package/dist/functional/ternary-result/impl/variant-name.mjs +12 -14
  249. package/dist/functional/ternary-result/impl/variant-name.mjs.map +1 -1
  250. package/dist/functional/ternary-result/index.mjs +2 -3
  251. package/dist/functional/ternary-result/index.mjs.map +1 -1
  252. package/dist/functional/ternary-result/ternary-result.mjs +2 -3
  253. package/dist/functional/ternary-result/ternary-result.mjs.map +1 -1
  254. package/dist/guard/has-key.mjs +43 -4
  255. package/dist/guard/has-key.mjs.map +1 -1
  256. package/dist/guard/index.mjs +8 -8
  257. package/dist/guard/index.mjs.map +1 -1
  258. package/dist/guard/is-non-empty-string.mjs +39 -4
  259. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  260. package/dist/guard/is-non-null-object.mjs +36 -4
  261. package/dist/guard/is-non-null-object.mjs.map +1 -1
  262. package/dist/guard/is-primitive.mjs +46 -15
  263. package/dist/guard/is-primitive.mjs.map +1 -1
  264. package/dist/guard/is-record.mjs +89 -6
  265. package/dist/guard/is-record.mjs.map +1 -1
  266. package/dist/guard/is-type.mjs +404 -19
  267. package/dist/guard/is-type.mjs.map +1 -1
  268. package/dist/guard/key-is-in.mjs +42 -4
  269. package/dist/guard/key-is-in.mjs.map +1 -1
  270. package/dist/index.mjs +12 -65
  271. package/dist/index.mjs.map +1 -1
  272. package/dist/iterator/index.mjs +2 -2
  273. package/dist/iterator/index.mjs.map +1 -1
  274. package/dist/iterator/range.mjs +19 -57
  275. package/dist/iterator/range.mjs.map +1 -1
  276. package/dist/json/index.mjs +2 -2
  277. package/dist/json/index.mjs.map +1 -1
  278. package/dist/json/json.mjs +346 -105
  279. package/dist/json/json.mjs.map +1 -1
  280. package/dist/number/branded-types/finite-number.mjs +148 -137
  281. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  282. package/dist/number/branded-types/index.mjs +33 -33
  283. package/dist/number/branded-types/index.mjs.map +1 -1
  284. package/dist/number/branded-types/int.mjs +245 -209
  285. package/dist/number/branded-types/int.mjs.map +1 -1
  286. package/dist/number/branded-types/int16.mjs +141 -131
  287. package/dist/number/branded-types/int16.mjs.map +1 -1
  288. package/dist/number/branded-types/int32.mjs +141 -131
  289. package/dist/number/branded-types/int32.mjs.map +1 -1
  290. package/dist/number/branded-types/negative-finite-number.mjs +155 -149
  291. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  292. package/dist/number/branded-types/negative-int.mjs +125 -110
  293. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  294. package/dist/number/branded-types/negative-safe-int.mjs +126 -115
  295. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  296. package/dist/number/branded-types/non-negative-finite-number.mjs +164 -154
  297. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  298. package/dist/number/branded-types/non-negative-int16.mjs +137 -125
  299. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  300. package/dist/number/branded-types/non-negative-int32.mjs +137 -125
  301. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  302. package/dist/number/branded-types/non-positive-finite-number.mjs +143 -139
  303. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  304. package/dist/number/branded-types/non-positive-int.mjs +116 -99
  305. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  306. package/dist/number/branded-types/non-positive-safe-int.mjs +118 -107
  307. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  308. package/dist/number/branded-types/non-zero-finite-number.mjs +144 -129
  309. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  310. package/dist/number/branded-types/non-zero-int.mjs +102 -82
  311. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  312. package/dist/number/branded-types/non-zero-int16.mjs +118 -105
  313. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  314. package/dist/number/branded-types/non-zero-int32.mjs +118 -105
  315. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  316. package/dist/number/branded-types/non-zero-safe-int.mjs +122 -108
  317. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  318. package/dist/number/branded-types/non-zero-uint16.mjs +118 -104
  319. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  320. package/dist/number/branded-types/non-zero-uint32.mjs +118 -104
  321. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  322. package/dist/number/branded-types/positive-finite-number.mjs +167 -160
  323. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  324. package/dist/number/branded-types/positive-int.mjs +260 -224
  325. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  326. package/dist/number/branded-types/positive-int16.mjs +134 -122
  327. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  328. package/dist/number/branded-types/positive-int32.mjs +134 -122
  329. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  330. package/dist/number/branded-types/positive-safe-int.mjs +292 -258
  331. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  332. package/dist/number/branded-types/positive-uint16.mjs +134 -122
  333. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  334. package/dist/number/branded-types/positive-uint32.mjs +134 -122
  335. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  336. package/dist/number/branded-types/safe-int.mjs +284 -255
  337. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  338. package/dist/number/branded-types/safe-uint.mjs +135 -124
  339. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  340. package/dist/number/branded-types/uint.mjs +248 -211
  341. package/dist/number/branded-types/uint.mjs.map +1 -1
  342. package/dist/number/branded-types/uint16.mjs +132 -121
  343. package/dist/number/branded-types/uint16.mjs.map +1 -1
  344. package/dist/number/branded-types/uint32.mjs +132 -121
  345. package/dist/number/branded-types/uint32.mjs.map +1 -1
  346. package/dist/number/enum/index.mjs +3 -3
  347. package/dist/number/enum/index.mjs.map +1 -1
  348. package/dist/number/enum/int8.mjs +146 -131
  349. package/dist/number/enum/int8.mjs.map +1 -1
  350. package/dist/number/enum/uint8.mjs +133 -119
  351. package/dist/number/enum/uint8.mjs.map +1 -1
  352. package/dist/number/index.mjs +6 -37
  353. package/dist/number/index.mjs.map +1 -1
  354. package/dist/number/num-arithmetic-types.mjs +42 -1
  355. package/dist/number/num-arithmetic-types.mjs.map +1 -1
  356. package/dist/number/num.mjs +541 -83
  357. package/dist/number/num.mjs.map +1 -1
  358. package/dist/number/refined-number-utils.mjs +294 -133
  359. package/dist/number/refined-number-utils.mjs.map +1 -1
  360. package/dist/object/index.mjs +2 -2
  361. package/dist/object/index.mjs.map +1 -1
  362. package/dist/object/object.mjs +355 -202
  363. package/dist/object/object.mjs.map +1 -1
  364. package/dist/others/cast-mutable.mjs +38 -11
  365. package/dist/others/cast-mutable.mjs.map +1 -1
  366. package/dist/others/cast-readonly.mjs +37 -11
  367. package/dist/others/cast-readonly.mjs.map +1 -1
  368. package/dist/others/debounce-function.mjs +22 -11
  369. package/dist/others/debounce-function.mjs.map +1 -1
  370. package/dist/others/fast-deep-equal.mjs +70 -51
  371. package/dist/others/fast-deep-equal.mjs.map +1 -1
  372. package/dist/others/if-then.mjs +32 -5
  373. package/dist/others/if-then.mjs.map +1 -1
  374. package/dist/others/index.mjs +10 -10
  375. package/dist/others/index.mjs.map +1 -1
  376. package/dist/others/map-nullable.mjs +11 -13
  377. package/dist/others/map-nullable.mjs.map +1 -1
  378. package/dist/others/memoize-function.mjs +14 -16
  379. package/dist/others/memoize-function.mjs.map +1 -1
  380. package/dist/others/tuple.mjs +52 -4
  381. package/dist/others/tuple.mjs.map +1 -1
  382. package/dist/others/unknown-to-string.mjs +91 -47
  383. package/dist/others/unknown-to-string.mjs.map +1 -1
  384. package/dist/promise/index.mjs +2 -2
  385. package/dist/promise/index.mjs.map +1 -1
  386. package/dist/promise/promise.mjs +51 -10
  387. package/dist/promise/promise.mjs.map +1 -1
  388. package/dist/string/index.mjs +2 -2
  389. package/dist/string/index.mjs.map +1 -1
  390. package/dist/string/str.mjs +250 -83
  391. package/dist/string/str.mjs.map +1 -1
  392. package/dist/types.mjs +3 -2
  393. package/dist/types.mjs.map +1 -1
  394. package/package.json +5 -6
  395. package/src/array/impl/array-utils-length-constraint-preservation.test.mts +2 -2
  396. package/src/collections/imap-mapped.mts +4 -4
  397. package/src/collections/imap.mts +1 -1
  398. package/src/collections/imap.test.mts +1 -1
  399. package/src/collections/iset-mapped.mts +2 -1
  400. package/src/collections/iset.mts +1 -1
  401. package/src/functional/async-result.test.mts +3 -2
  402. package/src/functional/optional.test.mts +2 -1
  403. package/src/functional/result.test.mts +0 -2
  404. package/src/guard/is-non-empty-string.test.mts +2 -2
  405. package/src/guard/is-non-null-object.test.mts +3 -3
  406. package/src/guard/is-primitive.test.mts +3 -3
  407. package/src/guard/is-type.test.mts +3 -3
  408. package/src/json/json.test.mts +1 -1
  409. package/src/number/enum/int8.mts +1 -1
@@ -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"}