ts-data-forge 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/README.md +37 -13
  2. package/dist/array/impl/array-utils-creation.d.mts +116 -0
  3. package/dist/array/impl/array-utils-creation.d.mts.map +1 -0
  4. package/dist/array/impl/array-utils-creation.mjs +110 -0
  5. package/dist/array/impl/array-utils-creation.mjs.map +1 -0
  6. package/dist/array/impl/array-utils-element-access.d.mts +61 -0
  7. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -0
  8. package/dist/array/impl/array-utils-element-access.mjs +66 -0
  9. package/dist/array/impl/array-utils-element-access.mjs.map +1 -0
  10. package/dist/array/impl/array-utils-iterators.d.mts +59 -0
  11. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -0
  12. package/dist/array/impl/array-utils-iterators.mjs +104 -0
  13. package/dist/array/impl/array-utils-iterators.mjs.map +1 -0
  14. package/dist/array/impl/array-utils-modification.d.mts +154 -0
  15. package/dist/array/impl/array-utils-modification.d.mts.map +1 -0
  16. package/dist/array/impl/array-utils-modification.mjs +139 -0
  17. package/dist/array/impl/array-utils-modification.mjs.map +1 -0
  18. package/dist/array/impl/array-utils-reducing-value.d.mts +214 -0
  19. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -0
  20. package/dist/array/impl/array-utils-reducing-value.mjs +160 -0
  21. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
  22. package/dist/array/impl/array-utils-search.d.mts +179 -0
  23. package/dist/array/impl/array-utils-search.d.mts.map +1 -0
  24. package/dist/array/impl/array-utils-search.mjs +153 -0
  25. package/dist/array/impl/array-utils-search.mjs.map +1 -0
  26. package/dist/array/impl/array-utils-set-op.d.mts +100 -0
  27. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -0
  28. package/dist/array/impl/array-utils-set-op.mjs +137 -0
  29. package/dist/array/impl/array-utils-set-op.mjs.map +1 -0
  30. package/dist/array/impl/array-utils-size.d.mts +24 -0
  31. package/dist/array/impl/array-utils-size.d.mts.map +1 -0
  32. package/dist/array/impl/array-utils-size.mjs +28 -0
  33. package/dist/array/impl/array-utils-size.mjs.map +1 -0
  34. package/dist/array/impl/array-utils-slice-clamped.d.mts +18 -0
  35. package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -0
  36. package/dist/array/impl/array-utils-slice-clamped.mjs +49 -0
  37. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -0
  38. package/dist/array/impl/array-utils-slicing.d.mts +120 -0
  39. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -0
  40. package/dist/array/impl/array-utils-slicing.mjs +140 -0
  41. package/dist/array/impl/array-utils-slicing.mjs.map +1 -0
  42. package/dist/array/impl/array-utils-transformation.d.mts +348 -0
  43. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -0
  44. package/dist/array/impl/array-utils-transformation.mjs +331 -0
  45. package/dist/array/impl/array-utils-transformation.mjs.map +1 -0
  46. package/dist/array/impl/array-utils-validation.d.mts +149 -0
  47. package/dist/array/impl/array-utils-validation.d.mts.map +1 -0
  48. package/dist/array/impl/array-utils-validation.mjs +166 -0
  49. package/dist/array/impl/array-utils-validation.mjs.map +1 -0
  50. package/dist/array/impl/index.d.mts +13 -0
  51. package/dist/array/impl/index.d.mts.map +1 -0
  52. package/dist/array/impl/index.mjs +13 -0
  53. package/dist/array/impl/index.mjs.map +1 -0
  54. package/dist/array/index.d.mts +1 -1
  55. package/dist/array/index.d.mts.map +1 -1
  56. package/dist/array/index.mjs +2 -1
  57. package/dist/array/index.mjs.map +1 -1
  58. package/dist/collections/imap-mapped.d.mts +83 -253
  59. package/dist/collections/imap-mapped.d.mts.map +1 -1
  60. package/dist/collections/imap-mapped.mjs +33 -164
  61. package/dist/collections/imap-mapped.mjs.map +1 -1
  62. package/dist/collections/imap.d.mts +436 -163
  63. package/dist/collections/imap.d.mts.map +1 -1
  64. package/dist/collections/imap.mjs +74 -94
  65. package/dist/collections/imap.mjs.map +1 -1
  66. package/dist/collections/iset-mapped.d.mts +828 -345
  67. package/dist/collections/iset-mapped.d.mts.map +1 -1
  68. package/dist/collections/iset-mapped.mjs +200 -242
  69. package/dist/collections/iset-mapped.mjs.map +1 -1
  70. package/dist/collections/iset.d.mts +397 -205
  71. package/dist/collections/iset.d.mts.map +1 -1
  72. package/dist/collections/iset.mjs +102 -184
  73. package/dist/collections/iset.mjs.map +1 -1
  74. package/dist/collections/queue.d.mts +155 -135
  75. package/dist/collections/queue.d.mts.map +1 -1
  76. package/dist/collections/queue.mjs +55 -156
  77. package/dist/collections/queue.mjs.map +1 -1
  78. package/dist/collections/stack.d.mts +154 -154
  79. package/dist/collections/stack.d.mts.map +1 -1
  80. package/dist/collections/stack.mjs +54 -203
  81. package/dist/collections/stack.mjs.map +1 -1
  82. package/dist/entry-point.d.mts +1 -0
  83. package/dist/entry-point.d.mts.map +1 -1
  84. package/dist/entry-point.mjs +2 -1
  85. package/dist/entry-point.mjs.map +1 -1
  86. package/dist/expect-type.d.mts +43 -172
  87. package/dist/expect-type.d.mts.map +1 -1
  88. package/dist/expect-type.mjs +43 -172
  89. package/dist/expect-type.mjs.map +1 -1
  90. package/dist/functional/match.d.mts +35 -140
  91. package/dist/functional/match.d.mts.map +1 -1
  92. package/dist/functional/match.mjs.map +1 -1
  93. package/dist/functional/optional.d.mts +282 -160
  94. package/dist/functional/optional.d.mts.map +1 -1
  95. package/dist/functional/optional.mjs +131 -71
  96. package/dist/functional/optional.mjs.map +1 -1
  97. package/dist/functional/pipe.d.mts +59 -113
  98. package/dist/functional/pipe.d.mts.map +1 -1
  99. package/dist/functional/pipe.mjs.map +1 -1
  100. package/dist/functional/result.d.mts +433 -332
  101. package/dist/functional/result.d.mts.map +1 -1
  102. package/dist/functional/result.mjs +233 -239
  103. package/dist/functional/result.mjs.map +1 -1
  104. package/dist/globals.d.mts +12 -5
  105. package/dist/guard/has-key.d.mts +23 -74
  106. package/dist/guard/has-key.d.mts.map +1 -1
  107. package/dist/guard/has-key.mjs +23 -74
  108. package/dist/guard/has-key.mjs.map +1 -1
  109. package/dist/guard/is-non-empty-string.d.mts +20 -87
  110. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  111. package/dist/guard/is-non-empty-string.mjs +20 -87
  112. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  113. package/dist/guard/is-non-null-object.d.mts +14 -84
  114. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  115. package/dist/guard/is-non-null-object.mjs +14 -84
  116. package/dist/guard/is-non-null-object.mjs.map +1 -1
  117. package/dist/guard/is-primitive.d.mts +13 -126
  118. package/dist/guard/is-primitive.d.mts.map +1 -1
  119. package/dist/guard/is-primitive.mjs +13 -126
  120. package/dist/guard/is-primitive.mjs.map +1 -1
  121. package/dist/guard/is-record.d.mts +21 -132
  122. package/dist/guard/is-record.d.mts.map +1 -1
  123. package/dist/guard/is-record.mjs +21 -132
  124. package/dist/guard/is-record.mjs.map +1 -1
  125. package/dist/guard/is-type.d.mts +201 -238
  126. package/dist/guard/is-type.d.mts.map +1 -1
  127. package/dist/guard/is-type.mjs +201 -238
  128. package/dist/guard/is-type.mjs.map +1 -1
  129. package/dist/guard/key-is-in.d.mts +22 -139
  130. package/dist/guard/key-is-in.d.mts.map +1 -1
  131. package/dist/guard/key-is-in.mjs +22 -139
  132. package/dist/guard/key-is-in.mjs.map +1 -1
  133. package/dist/index.d.mts +0 -1
  134. package/dist/index.d.mts.map +1 -1
  135. package/dist/index.mjs +0 -1
  136. package/dist/index.mjs.map +1 -1
  137. package/dist/iterator/range.d.mts +29 -62
  138. package/dist/iterator/range.d.mts.map +1 -1
  139. package/dist/iterator/range.mjs.map +1 -1
  140. package/dist/json/json.d.mts +191 -121
  141. package/dist/json/json.d.mts.map +1 -1
  142. package/dist/json/json.mjs +238 -136
  143. package/dist/json/json.mjs.map +1 -1
  144. package/dist/number/branded-types/finite-number.d.mts +24 -156
  145. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  146. package/dist/number/branded-types/finite-number.mjs +27 -159
  147. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  148. package/dist/number/branded-types/int.d.mts +122 -120
  149. package/dist/number/branded-types/int.d.mts.map +1 -1
  150. package/dist/number/branded-types/int.mjs +122 -120
  151. package/dist/number/branded-types/int.mjs.map +1 -1
  152. package/dist/number/branded-types/int16.d.mts +22 -30
  153. package/dist/number/branded-types/int16.d.mts.map +1 -1
  154. package/dist/number/branded-types/int16.mjs +22 -30
  155. package/dist/number/branded-types/int16.mjs.map +1 -1
  156. package/dist/number/branded-types/int32.d.mts +22 -31
  157. package/dist/number/branded-types/int32.d.mts.map +1 -1
  158. package/dist/number/branded-types/int32.mjs +22 -31
  159. package/dist/number/branded-types/int32.mjs.map +1 -1
  160. package/dist/number/branded-types/non-negative-finite-number.d.mts +28 -36
  161. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  162. package/dist/number/branded-types/non-negative-finite-number.mjs +31 -39
  163. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  164. package/dist/number/branded-types/non-negative-int16.d.mts +24 -34
  165. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  166. package/dist/number/branded-types/non-negative-int16.mjs +24 -34
  167. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  168. package/dist/number/branded-types/non-negative-int32.d.mts +26 -35
  169. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  170. package/dist/number/branded-types/non-negative-int32.mjs +26 -35
  171. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  172. package/dist/number/branded-types/non-zero-finite-number.d.mts +22 -37
  173. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  174. package/dist/number/branded-types/non-zero-finite-number.mjs +25 -40
  175. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  176. package/dist/number/branded-types/non-zero-int.d.mts +15 -30
  177. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  178. package/dist/number/branded-types/non-zero-int.mjs +15 -30
  179. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  180. package/dist/number/branded-types/non-zero-int16.d.mts +27 -35
  181. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  182. package/dist/number/branded-types/non-zero-int16.mjs +27 -35
  183. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  184. package/dist/number/branded-types/non-zero-int32.d.mts +29 -36
  185. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  186. package/dist/number/branded-types/non-zero-int32.mjs +29 -36
  187. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  188. package/dist/number/branded-types/non-zero-safe-int.d.mts +37 -38
  189. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  190. package/dist/number/branded-types/non-zero-safe-int.mjs +39 -40
  191. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  192. package/dist/number/branded-types/non-zero-uint16.d.mts +24 -35
  193. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  194. package/dist/number/branded-types/non-zero-uint16.mjs +24 -35
  195. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  196. package/dist/number/branded-types/non-zero-uint32.d.mts +24 -35
  197. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  198. package/dist/number/branded-types/non-zero-uint32.mjs +24 -35
  199. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  200. package/dist/number/branded-types/positive-finite-number.d.mts +26 -40
  201. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  202. package/dist/number/branded-types/positive-finite-number.mjs +29 -43
  203. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  204. package/dist/number/branded-types/positive-int.d.mts +133 -123
  205. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  206. package/dist/number/branded-types/positive-int.mjs +133 -123
  207. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  208. package/dist/number/branded-types/positive-int16.d.mts +24 -35
  209. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  210. package/dist/number/branded-types/positive-int16.mjs +24 -35
  211. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  212. package/dist/number/branded-types/positive-int32.d.mts +24 -35
  213. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  214. package/dist/number/branded-types/positive-int32.mjs +24 -35
  215. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  216. package/dist/number/branded-types/positive-safe-int.d.mts +159 -33
  217. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  218. package/dist/number/branded-types/positive-safe-int.mjs +160 -34
  219. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  220. package/dist/number/branded-types/positive-uint16.d.mts +24 -35
  221. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  222. package/dist/number/branded-types/positive-uint16.mjs +24 -35
  223. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  224. package/dist/number/branded-types/positive-uint32.d.mts +26 -36
  225. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  226. package/dist/number/branded-types/positive-uint32.mjs +26 -36
  227. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  228. package/dist/number/branded-types/safe-int.d.mts +140 -99
  229. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  230. package/dist/number/branded-types/safe-int.mjs +142 -101
  231. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  232. package/dist/number/branded-types/safe-uint.d.mts +24 -33
  233. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  234. package/dist/number/branded-types/safe-uint.mjs +25 -34
  235. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  236. package/dist/number/branded-types/uint.d.mts +121 -30
  237. package/dist/number/branded-types/uint.d.mts.map +1 -1
  238. package/dist/number/branded-types/uint.mjs +121 -30
  239. package/dist/number/branded-types/uint.mjs.map +1 -1
  240. package/dist/number/branded-types/uint16.d.mts +26 -34
  241. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  242. package/dist/number/branded-types/uint16.mjs +26 -34
  243. package/dist/number/branded-types/uint16.mjs.map +1 -1
  244. package/dist/number/branded-types/uint32.d.mts +26 -68
  245. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  246. package/dist/number/branded-types/uint32.mjs +26 -68
  247. package/dist/number/branded-types/uint32.mjs.map +1 -1
  248. package/dist/number/enum/int8.d.mts +37 -101
  249. package/dist/number/enum/int8.d.mts.map +1 -1
  250. package/dist/number/enum/int8.mjs +39 -170
  251. package/dist/number/enum/int8.mjs.map +1 -1
  252. package/dist/number/enum/uint8.d.mts +45 -55
  253. package/dist/number/enum/uint8.d.mts.map +1 -1
  254. package/dist/number/enum/uint8.mjs +46 -155
  255. package/dist/number/enum/uint8.mjs.map +1 -1
  256. package/dist/number/num.d.mts +145 -206
  257. package/dist/number/num.d.mts.map +1 -1
  258. package/dist/number/num.mjs +143 -199
  259. package/dist/number/num.mjs.map +1 -1
  260. package/dist/number/refined-number-utils.d.mts +97 -21
  261. package/dist/number/refined-number-utils.d.mts.map +1 -1
  262. package/dist/number/refined-number-utils.mjs +91 -20
  263. package/dist/number/refined-number-utils.mjs.map +1 -1
  264. package/dist/object/object.d.mts +126 -208
  265. package/dist/object/object.d.mts.map +1 -1
  266. package/dist/object/object.mjs +68 -102
  267. package/dist/object/object.mjs.map +1 -1
  268. package/dist/others/cast-mutable.d.mts +12 -88
  269. package/dist/others/cast-mutable.d.mts.map +1 -1
  270. package/dist/others/cast-mutable.mjs +13 -89
  271. package/dist/others/cast-mutable.mjs.map +1 -1
  272. package/dist/others/cast-readonly.d.mts +12 -168
  273. package/dist/others/cast-readonly.d.mts.map +1 -1
  274. package/dist/others/cast-readonly.mjs +13 -169
  275. package/dist/others/cast-readonly.mjs.map +1 -1
  276. package/dist/others/if-then.d.mts +6 -83
  277. package/dist/others/if-then.d.mts.map +1 -1
  278. package/dist/others/if-then.mjs +6 -83
  279. package/dist/others/if-then.mjs.map +1 -1
  280. package/dist/others/map-nullable.d.mts +12 -136
  281. package/dist/others/map-nullable.d.mts.map +1 -1
  282. package/dist/others/map-nullable.mjs.map +1 -1
  283. package/dist/others/memoize-function.d.mts +14 -157
  284. package/dist/others/memoize-function.d.mts.map +1 -1
  285. package/dist/others/memoize-function.mjs +14 -157
  286. package/dist/others/memoize-function.mjs.map +1 -1
  287. package/dist/others/tuple.d.mts +33 -151
  288. package/dist/others/tuple.d.mts.map +1 -1
  289. package/dist/others/tuple.mjs +33 -151
  290. package/dist/others/tuple.mjs.map +1 -1
  291. package/dist/others/unknown-to-string.d.mts +11 -125
  292. package/dist/others/unknown-to-string.d.mts.map +1 -1
  293. package/dist/others/unknown-to-string.mjs +12 -126
  294. package/dist/others/unknown-to-string.mjs.map +1 -1
  295. package/dist/promise/promise.d.mts +33 -20
  296. package/dist/promise/promise.d.mts.map +1 -1
  297. package/dist/promise/promise.mjs +34 -21
  298. package/dist/promise/promise.mjs.map +1 -1
  299. package/package.json +47 -39
  300. package/src/array/impl/array-utils-creation.mts +192 -0
  301. package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
  302. package/src/array/impl/array-utils-element-access.mts +115 -0
  303. package/src/array/impl/array-utils-element-access.test.mts +151 -0
  304. package/src/array/impl/array-utils-iterators.mts +79 -0
  305. package/src/array/impl/array-utils-iterators.test.mts +98 -0
  306. package/src/array/impl/array-utils-modification.mts +434 -0
  307. package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
  308. package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
  309. package/src/array/impl/array-utils-reducing-value.mts +551 -0
  310. package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +45 -50
  311. package/src/array/impl/array-utils-search.mts +509 -0
  312. package/src/array/impl/array-utils-search.test.mts +346 -0
  313. package/src/array/impl/array-utils-set-op.mts +166 -0
  314. package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
  315. package/src/array/impl/array-utils-size.mts +30 -0
  316. package/src/array/impl/array-utils-size.test.mts +9 -0
  317. package/src/array/impl/array-utils-slice-clamped.mts +51 -0
  318. package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +12 -12
  319. package/src/array/impl/array-utils-slicing.mts +275 -0
  320. package/src/array/impl/array-utils-slicing.test.mts +158 -0
  321. package/src/array/impl/array-utils-transformation.mts +746 -0
  322. package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
  323. package/src/array/impl/array-utils-validation.mts +241 -0
  324. package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
  325. package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
  326. package/src/array/impl/index.mts +12 -0
  327. package/src/array/index.mts +1 -1
  328. package/src/collections/imap-mapped.mts +99 -265
  329. package/src/collections/imap.mts +477 -174
  330. package/src/collections/imap.test.mts +12 -19
  331. package/src/collections/iset-mapped.mts +892 -358
  332. package/src/collections/iset.mts +429 -213
  333. package/src/collections/queue.mts +174 -200
  334. package/src/collections/stack.mts +172 -245
  335. package/src/collections/stack.test.mts +9 -1
  336. package/src/entry-point.mts +1 -0
  337. package/src/expect-type.mts +43 -172
  338. package/src/functional/match.mts +35 -145
  339. package/src/functional/optional.mts +285 -163
  340. package/src/functional/optional.test.mts +4 -1
  341. package/src/functional/pipe.mts +60 -113
  342. package/src/functional/result.mts +452 -351
  343. package/src/functional/result.test.mts +9 -2
  344. package/src/globals.d.mts +12 -5
  345. package/src/guard/has-key.mts +23 -74
  346. package/src/guard/is-non-empty-string.mts +20 -87
  347. package/src/guard/is-non-null-object.mts +14 -84
  348. package/src/guard/is-non-null-object.test.mts +1 -1
  349. package/src/guard/is-primitive.mts +13 -126
  350. package/src/guard/is-primitive.test.mts +1 -1
  351. package/src/guard/is-record.mts +21 -132
  352. package/src/guard/is-type.mts +201 -238
  353. package/src/guard/is-type.test.mts +7 -7
  354. package/src/guard/key-is-in.mts +22 -139
  355. package/src/index.mts +0 -1
  356. package/src/iterator/range.mts +29 -62
  357. package/src/json/json.mts +202 -134
  358. package/src/json/json.test.mts +1 -3
  359. package/src/number/branded-types/finite-number.mts +27 -159
  360. package/src/number/branded-types/int.mts +122 -120
  361. package/src/number/branded-types/int16.mts +22 -30
  362. package/src/number/branded-types/int16.test.mts +24 -24
  363. package/src/number/branded-types/int32.mts +22 -31
  364. package/src/number/branded-types/int32.test.mts +39 -39
  365. package/src/number/branded-types/non-negative-finite-number.mts +31 -39
  366. package/src/number/branded-types/non-negative-int16.mts +24 -34
  367. package/src/number/branded-types/non-negative-int16.test.mts +16 -16
  368. package/src/number/branded-types/non-negative-int32.mts +26 -35
  369. package/src/number/branded-types/non-negative-int32.test.mts +30 -30
  370. package/src/number/branded-types/non-zero-finite-number.mts +25 -40
  371. package/src/number/branded-types/non-zero-int.mts +15 -30
  372. package/src/number/branded-types/non-zero-int16.mts +27 -35
  373. package/src/number/branded-types/non-zero-int16.test.mts +26 -26
  374. package/src/number/branded-types/non-zero-int32.mts +29 -36
  375. package/src/number/branded-types/non-zero-int32.test.mts +45 -42
  376. package/src/number/branded-types/non-zero-safe-int.mts +39 -40
  377. package/src/number/branded-types/non-zero-uint16.mts +24 -35
  378. package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
  379. package/src/number/branded-types/non-zero-uint32.mts +24 -35
  380. package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
  381. package/src/number/branded-types/positive-finite-number.mts +29 -43
  382. package/src/number/branded-types/positive-int.mts +134 -124
  383. package/src/number/branded-types/positive-int16.mts +24 -35
  384. package/src/number/branded-types/positive-int16.test.mts +14 -14
  385. package/src/number/branded-types/positive-int32.mts +24 -35
  386. package/src/number/branded-types/positive-int32.test.mts +26 -26
  387. package/src/number/branded-types/positive-safe-int.mts +160 -34
  388. package/src/number/branded-types/positive-uint16.mts +24 -35
  389. package/src/number/branded-types/positive-uint16.test.mts +16 -16
  390. package/src/number/branded-types/positive-uint32.mts +26 -36
  391. package/src/number/branded-types/positive-uint32.test.mts +31 -28
  392. package/src/number/branded-types/safe-int.mts +142 -101
  393. package/src/number/branded-types/safe-uint.mts +25 -34
  394. package/src/number/branded-types/uint.mts +121 -30
  395. package/src/number/branded-types/uint16.mts +26 -34
  396. package/src/number/branded-types/uint16.test.mts +16 -16
  397. package/src/number/branded-types/uint32.mts +26 -68
  398. package/src/number/branded-types/uint32.test.mts +28 -28
  399. package/src/number/enum/int8.mts +39 -170
  400. package/src/number/enum/uint8.mts +46 -155
  401. package/src/number/num.mts +157 -212
  402. package/src/number/num.test.mts +4 -4
  403. package/src/number/refined-number-utils.mts +109 -26
  404. package/src/object/object.mts +130 -212
  405. package/src/object/object.test.mts +29 -0
  406. package/src/others/cast-mutable.mts +13 -89
  407. package/src/others/cast-mutable.test.mts +80 -0
  408. package/src/others/cast-readonly.mts +13 -169
  409. package/src/others/if-then.mts +6 -83
  410. package/src/others/map-nullable.mts +12 -136
  411. package/src/others/map-nullable.test.mts +6 -6
  412. package/src/others/memoize-function.mts +14 -157
  413. package/src/others/tuple.mts +33 -151
  414. package/src/others/unknown-to-string.mts +12 -126
  415. package/src/others/unknown-to-string.test.mts +13 -1
  416. package/src/promise/promise.mts +34 -21
  417. package/src/promise/promise.test.mts +43 -0
  418. package/dist/array/array-utils.d.mts +0 -2956
  419. package/dist/array/array-utils.d.mts.map +0 -1
  420. package/dist/array/array-utils.mjs +0 -1838
  421. package/dist/array/array-utils.mjs.map +0 -1
  422. package/src/array/array-utils-search.test.mts +0 -169
  423. package/src/array/array-utils-slicing.test.mts +0 -274
  424. package/src/array/array-utils.mts +0 -4834
@@ -5,13 +5,25 @@ const SomeTypeTagName = 'ts-data-forge::Optional.some';
5
5
  /** @internal String literal tag to identify the 'None' variant of Optional. */
6
6
  const NoneTypeTagName = 'ts-data-forge::Optional.none';
7
7
  /**
8
- * Namespace for the {@link Optional} type and related functions.
9
- * Provides utilities to handle values that might be absent, similar to Option types in other languages.
8
+ * Namespace for the {@link Optional} type and related functions. Provides
9
+ * utilities to handle values that might be absent, similar to Option types in
10
+ * other languages.
10
11
  */
11
12
  var Optional;
12
13
  (function (Optional) {
13
14
  /**
14
15
  * Checks if the given value is an {@link Optional}.
16
+ *
17
+ * @example
18
+ *
19
+ * ```ts
20
+ * const maybeOptional = Optional.some('value');
21
+ * const notOptional = { $$tag: 'ts-data-forge::Optional.some' };
22
+ *
23
+ * assert.ok(Optional.isOptional(maybeOptional));
24
+ * assert.notOk(Optional.isOptional(notOptional));
25
+ * ```
26
+ *
15
27
  * @param maybeOptional The value to check.
16
28
  * @returns `true` if the value is an {@link Optional}, otherwise `false`.
17
29
  */
@@ -22,81 +34,116 @@ var Optional;
22
34
  maybeOptional['$$tag'] === NoneTypeTagName);
23
35
  /**
24
36
  * Creates an {@link Optional.Some} containing the given value.
37
+ *
38
+ * @example
39
+ *
40
+ * ```ts
41
+ * const someValue = Optional.some({ id: 1 });
42
+ * const noneValue = Optional.none;
43
+ *
44
+ * assert.ok(Optional.isSome(someValue));
45
+ * assert.ok(Optional.isNone(noneValue));
46
+ * ```
47
+ *
25
48
  * @template S The type of the value.
26
49
  * @param value The value to wrap in an {@link Optional.Some}.
27
50
  * @returns An {@link Optional.Some}<S> containing the value.
28
- * @example
29
- * ```typescript
30
- * const someValue = Optional.some(42);
31
- * console.log(Optional.isSome(someValue)); // true
32
- * console.log(Optional.unwrap(someValue)); // 42
33
- * ```
34
51
  */
35
52
  Optional.some = (value) => ({
36
53
  $$tag: SomeTypeTagName,
37
54
  value,
38
55
  });
39
56
  /**
40
- * The singleton instance representing {@link Optional.None} (an empty Optional).
57
+ * The singleton instance representing {@link Optional.None} (an empty
58
+ * Optional).
59
+ *
41
60
  * @example
42
- * ```typescript
43
- * const emptyValue = Optional.none;
44
- * console.log(Optional.isNone(emptyValue)); // true
45
- * console.log(Optional.unwrapOr(emptyValue, "default")); // "default"
61
+ *
62
+ * ```ts
63
+ * const someValue = Optional.some({ id: 1 });
64
+ * const noneValue = Optional.none;
65
+ *
66
+ * assert.ok(Optional.isSome(someValue));
67
+ * assert.ok(Optional.isNone(noneValue));
46
68
  * ```
47
69
  */
48
70
  Optional.none = { $$tag: NoneTypeTagName };
49
71
  /**
50
- * Checks if an {@link Optional} is {@link Optional.Some}.
51
- * Acts as a type guard.
72
+ * Checks if an {@link Optional} is {@link Optional.Some}. Acts as a type guard.
73
+ *
74
+ * @example
75
+ *
76
+ * ```ts
77
+ * const optionalNumber = Optional.some(42);
78
+ *
79
+ * if (Optional.isSome(optionalNumber)) {
80
+ * const value: number = optionalNumber.value;
81
+ * assert(value === 42);
82
+ * }
83
+ * ```
84
+ *
52
85
  * @template O The {@link Optional.Base} type to check.
53
86
  * @param optional The {@link Optional} to check.
54
- * @returns `true` if the {@link Optional} is {@link Optional.Some}, `false` otherwise.
87
+ * @returns `true` if the {@link Optional} is {@link Optional.Some}, `false`
88
+ * otherwise.
55
89
  */
56
90
  Optional.isSome = (optional) => optional.$$tag === SomeTypeTagName;
57
91
  /**
58
- * Checks if an {@link Optional} is {@link Optional.None}.
59
- * Acts as a type guard.
92
+ * Checks if an {@link Optional} is {@link Optional.None}. Acts as a type guard.
93
+ *
94
+ * @example
95
+ *
96
+ * ```ts
97
+ * const optionalValue = Optional.none as Optional<number>;
98
+ *
99
+ * if (Optional.isNone(optionalValue)) {
100
+ * // Type narrowed to None
101
+ * assert.ok(true); // optionalValue is None
102
+ * }
103
+ * ```
104
+ *
60
105
  * @template O The {@link Optional.Base} type to check.
61
106
  * @param optional The {@link Optional} to check.
62
- * @returns `true` if the {@link Optional} is {@link Optional.None}, `false` otherwise.
107
+ * @returns `true` if the {@link Optional} is {@link Optional.None}, `false`
108
+ * otherwise.
63
109
  */
64
110
  Optional.isNone = (optional) => optional.$$tag === NoneTypeTagName;
65
111
  /**
66
- * Unwraps an `Optional`, returning the contained value.
67
- * Throws an error if the `Optional` is `Optional.None`.
112
+ * Unwraps an `Optional`, returning the contained value. Throws an error if
113
+ * the `Optional` is `Optional.None`.
68
114
  *
69
- * This is a safer alternative to direct value access when you know the Optional
70
- * should contain a value. Use this method when an empty Optional represents
71
- * a programming error or unexpected condition.
115
+ * This is a safer alternative to direct value access when you know the
116
+ * Optional should contain a value. Use this method when an empty Optional
117
+ * represents a programming error or unexpected condition.
118
+ *
119
+ * @example
120
+ *
121
+ * ```ts
122
+ * const present = Optional.some('available');
123
+ *
124
+ * assert(Optional.unwrapThrow(present) === 'available');
125
+ * assert.throws(
126
+ * () => Optional.unwrapThrow(Optional.none),
127
+ * /has failed because it is `None`/u,
128
+ * );
129
+ * ```
72
130
  *
73
131
  * @template O The `Optional.Base` type to unwrap.
74
132
  * @param optional The `Optional` to unwrap.
75
133
  * @returns The contained value if `Optional.Some`.
76
- * @throws {Error} Error with message "`unwrapThrow()` has failed because it is `None`" if the `Optional` is `Optional.None`.
77
- * @example
78
- * ```typescript
79
- * const userInput = Optional.some(42);
80
- * console.log(Optional.unwrapThrow(userInput)); // 42
81
- *
82
- * const empty = Optional.none;
83
- * try {
84
- * Optional.unwrapThrow(empty); // throws Error
85
- * } catch (error) {
86
- * console.log(error.message); // "`unwrapThrow()` has failed because it is `None`"
87
- * }
88
- * ```
134
+ * @throws {Error} Error with message "`unwrapThrow()` has failed because it
135
+ * is `None`" if the `Optional` is `Optional.None`.
89
136
  */
90
137
  Optional.unwrapThrow = (optional) => {
91
138
  if (Optional.isSome(optional)) {
92
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
139
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
93
140
  return optional.value;
94
141
  }
95
142
  throw new Error('`unwrapThrow()` has failed because it is `None`');
96
143
  };
97
144
  function unwrap(optional) {
98
145
  return Optional.isSome(optional)
99
- ? // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
146
+ ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
100
147
  optional.value
101
148
  : undefined;
102
149
  }
@@ -106,7 +153,7 @@ var Optional;
106
153
  case 2: {
107
154
  const [optional, defaultValue] = args;
108
155
  return Optional.isSome(optional)
109
- ? // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
156
+ ? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
110
157
  optional.value
111
158
  : defaultValue;
112
159
  }
@@ -198,21 +245,31 @@ var Optional;
198
245
  /**
199
246
  * Combines two `Optional` values into a single `Optional` containing a tuple.
200
247
  * If either `Optional` is `None`, returns `None`.
248
+ *
249
+ * @example
250
+ *
251
+ * ```ts
252
+ * const zipped = Optional.zip(Optional.some('left'), Optional.some(1));
253
+ *
254
+ * assert.ok(Optional.isSome(zipped));
255
+ * if (Optional.isSome(zipped)) {
256
+ * const expected: readonly [string, number] = ['left', 1];
257
+ * assert.deepStrictEqual(zipped.value, expected);
258
+ * }
259
+ *
260
+ * const missing = Optional.zip(
261
+ * Optional.some('value'),
262
+ * Optional.none as Optional<number>,
263
+ * );
264
+ *
265
+ * assert.deepStrictEqual(missing, Optional.none);
266
+ * ```
267
+ *
201
268
  * @template A The value type of the first `Optional`.
202
269
  * @template B The value type of the second `Optional`.
203
270
  * @param optionalA The first `Optional`.
204
271
  * @param optionalB The second `Optional`.
205
272
  * @returns An `Optional` containing a tuple of both values, or `None`.
206
- * @example
207
- * ```typescript
208
- * const a = Optional.some(1);
209
- * const b = Optional.some("hello");
210
- * const zipped = Optional.zip(a, b);
211
- * console.log(Optional.unwrap(zipped)); // [1, "hello"]
212
- *
213
- * const withNone = Optional.zip(a, Optional.none);
214
- * console.log(Optional.isNone(withNone)); // true
215
- * ```
216
273
  */
217
274
  Optional.zip = (optionalA, optionalB) => Optional.isSome(optionalA) && Optional.isSome(optionalB)
218
275
  ? Optional.some([optionalA.value, optionalB.value])
@@ -224,19 +281,20 @@ var Optional;
224
281
  * the Optional type system. The function treats both `null` and `undefined`
225
282
  * as empty values, converting them to `Optional.None`.
226
283
  *
227
- * @template T The type of the nullable value.
228
- * @param value The nullable value to convert.
229
- * @returns `Optional.Some<NonNullable<T>>` if the value is not null or undefined, otherwise `Optional.None`.
230
284
  * @example
231
- * ```typescript
232
- * const value: string | null = "hello";
233
- * const optional = Optional.fromNullable(value);
234
- * console.log(Optional.unwrap(optional)); // "hello"
235
- *
236
- * const nullValue: string | null = null;
237
- * const noneOptional = Optional.fromNullable(nullValue);
238
- * console.log(Optional.isNone(noneOptional)); // true
285
+ *
286
+ * ```ts
287
+ * const present = Optional.fromNullable('hello');
288
+ * const absent = Optional.fromNullable<string | null>(null);
289
+ *
290
+ * assert.deepStrictEqual(present, Optional.some('hello'));
291
+ * assert.deepStrictEqual(absent, Optional.none);
239
292
  * ```
293
+ *
294
+ * @template T The type of the nullable value.
295
+ * @param value The nullable value to convert.
296
+ * @returns `Optional.Some<NonNullable<T>>` if the value is not null or
297
+ * undefined, otherwise `Optional.None`.
240
298
  */
241
299
  Optional.fromNullable = (value) => (value == null ? Optional.none : Optional.some(value));
242
300
  /**
@@ -246,20 +304,22 @@ var Optional;
246
304
  * for empty Optionals. This is useful when interfacing with APIs or systems
247
305
  * that expect nullable values rather than Optional types.
248
306
  *
249
- * Note: This returns `undefined` (not `null`) for consistency with JavaScript's
250
- * undefined semantics and TypeScript's optional properties.
307
+ * Note: This returns `undefined` (not `null`) for consistency with
308
+ * JavaScript's undefined semantics and TypeScript's optional properties.
251
309
  *
252
- * @template O The `Optional.Base` type to convert.
253
- * @param optional The `Optional` to convert.
254
- * @returns The contained value if `Some`, otherwise `undefined`.
255
310
  * @example
256
- * ```typescript
257
- * const some = Optional.some(42);
258
- * console.log(Optional.toNullable(some)); // 42
259
311
  *
260
- * const none = Optional.none;
261
- * console.log(Optional.toNullable(none)); // undefined
312
+ * ```ts
313
+ * const someNumber = Optional.some(42);
314
+ * const noneNumber = Optional.none as Optional<number>;
315
+ *
316
+ * assert(Optional.toNullable(someNumber) === 42);
317
+ * assert(Optional.toNullable(noneNumber) === undefined);
262
318
  * ```
319
+ *
320
+ * @template O The `Optional.Base` type to convert.
321
+ * @param optional The `Optional` to convert.
322
+ * @returns The contained value if `Some`, otherwise `undefined`.
263
323
  */
264
324
  Optional.toNullable = (optional) => (Optional.isSome(optional) ? unwrap(optional) : undefined);
265
325
  })(Optional || (Optional = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"optional.mjs","sources":["../../src/functional/optional.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optional.mjs","sources":["../../src/functional/optional.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@ import { Optional } from './optional.mjs';
2
2
  /**
3
3
  * Creates a new pipe object that allows for chaining operations on a value.
4
4
  *
5
- * This function provides a fluent interface for applying transformations to values,
6
- * with intelligent method selection based on the input type:
7
- * - For `Optional` values: Provides `mapOptional` for safe Optional transformations
5
+ * This function provides a fluent interface for applying transformations to
6
+ * values, with intelligent method selection based on the input type:
7
+ *
8
+ * - For `Optional` values: Provides `mapOptional` for safe Optional
9
+ * transformations
8
10
  * - For other values: Provides `mapNullable` for null-safe transformations
9
11
  * - All types get the basic `map` method for general transformations
10
12
  *
@@ -14,132 +16,58 @@ import { Optional } from './optional.mjs';
14
16
  * @template A The type of the initial value to wrap in a pipe.
15
17
  * @param a The initial value to wrap in a pipe.
16
18
  * @returns A pipe object with chaining methods appropriate for the value type.
17
- *
18
- * @example
19
- * Basic value transformation chaining:
20
- * ```ts
21
- * // Simple sequential transformations
22
- * const result = pipe(10)
23
- * .map(x => x * 2) // 20
24
- * .map(x => x + 5) // 25
25
- * .map(x => x.toString()) // '25'
26
- * .value;
27
- * assert(result === '25');
28
- *
29
- * // String processing pipeline
30
- * const processed = pipe(" Hello World ")
31
- * .map(s => s.trim()) // "Hello World"
32
- * .map(s => s.toLowerCase()) // "hello world"
33
- * .map(s => s.split(' ')) // ["hello", "world"]
34
- * .map(arr => arr.join('-')) // "hello-world"
35
- * .value;
36
- * assert(processed === "hello-world");
37
- * ```
38
- *
39
- * @example
40
- * Nullable value handling with automatic null checking:
41
- * ```ts
42
- * // Safe operations on potentially nullish values
43
- * const maybeNumber: number | undefined = 10;
44
- * const result = pipe(maybeNumber)
45
- * .mapNullable(x => x * 2) // Only applies if not null
46
- * .mapNullable(x => `Result: ${x}`) // Only applies if previous step succeeded
47
- * .value; // 'Result: 20' or undefined
48
- * assert(result === 'Result: 20');
49
- *
50
- * // Handling null values
51
- * const nullValue: number | null = null;
52
- * const nullResult = pipe(nullValue)
53
- * .mapNullable(x => x * 2)
54
- * .value;
55
- * assert(nullResult === undefined);
56
- * ```
57
- *
58
- * @example
59
- * Optional value handling with monadic operations:
60
- * ```ts
61
- * // Working with Optional types
62
- * const optional = Optional.some(42);
63
- * const result = pipe(optional)
64
- * .mapOptional(x => x / 2) // Optional.some(21)
65
- * .mapOptional(x => Math.sqrt(x)) // Optional.some(~4.58)
66
- * .value; // Optional.some(4.58...)
67
- * assert(Optional.isSome(result) === true);
68
- * assert(Math.abs(Optional.unwrap(result)! - Math.sqrt(21)) < 0.01);
69
- *
70
- * // Optional with None
71
- * const noneOptional = Optional.none;
72
- * const noneResult = pipe(noneOptional)
73
- * .mapOptional(x => x * 2)
74
- * .value;
75
- * assert(Optional.isNone(noneResult) === true);
76
- * ```
77
- *
78
- * @example
79
- * Mixed type transformations:
80
- * ```ts
81
- * // Starting with a string, transforming through different types
82
- * const complex = pipe('hello')
83
- * .map(s => s.length) // number: 5
84
- * .map(n => n > 3 ? n : undefined) // number | undefined: 5
85
- * .mapNullable(n => n * 10) // number: 50 (or undefined if undefined)
86
- * .value; // 50 or undefined
87
- * assert(complex === 50);
88
- *
89
- * // Short string case
90
- * const shortString = pipe('hi')
91
- * .map(s => s.length) // number: 2
92
- * .map(n => n > 3 ? n : undefined) // number | undefined: undefined
93
- * .mapNullable(n => n * 10) // undefined
94
- * .value;
95
- * assert(shortString === undefined);
96
- * ```
97
- *
98
- * @example
99
- * Error-safe computation chains:
100
- * ```ts
101
- * // Building complex computations safely
102
- * const maybeNumber: number | undefined = 25;
103
- * const result = pipe(maybeNumber)
104
- * .mapNullable(n => n > 0 ? n : undefined) // Positive numbers only
105
- * .mapNullable(n => Math.sqrt(n)) // Safe square root
106
- * .mapNullable(n => n < 100 ? n : undefined) // Limit result
107
- * .mapNullable(n => Math.round(n * 100) / 100) // Round to 2 decimals
108
- * .value; // number | undefined
109
- *
110
- * assert(result === 5); // sqrt(25) = 5
111
- *
112
- * const negativeNumber: number | undefined = -5;
113
- * const negativeResult = pipe(negativeNumber)
114
- * .mapNullable(n => n > 0 ? n : undefined)
115
- * .value;
116
- * assert(negativeResult === undefined); // negative number
117
- * ```
118
- *
119
19
  */
120
20
  export declare function pipe<const A extends Optional.Base>(a: A): PipeWithMapOptional<A>;
121
21
  export declare function pipe<const A>(a: A): PipeBase<A>;
122
22
  type Pipe<A> = A extends Optional.Base ? PipeWithMapOptional<A> : PipeBase<A>;
123
23
  /**
24
+ * @template A The type of the current value in the pipe.
124
25
  * @internal
125
26
  * Base pipe interface providing core functionality.
126
27
  * All pipe types extend this interface.
127
- * @template A The type of the current value in the pipe.
128
28
  */
129
29
  type PipeBase<A> = Readonly<{
130
30
  /** The current value being piped. */
131
31
  value: A;
132
32
  /**
133
33
  * Maps the current value to a new value using the provided function.
34
+ *
35
+ * @example
36
+ *
37
+ * ```ts
38
+ * const result = pipe(2)
39
+ * .map((value) => value * 3)
40
+ * .map((value) => `value: ${value}`);
41
+ *
42
+ * assert.deepStrictEqual(result.value, 'value: 6');
43
+ * ```
44
+ *
134
45
  * @template B The type of the new value.
135
46
  * @param fn Function to transform the current value.
136
47
  * @returns A new pipe containing the transformed value.
137
48
  */
138
49
  map: <B>(fn: (a: A) => B) => Pipe<B>;
139
50
  /**
140
- * Maps the current value only if it's not null or undefined.
141
- * If the current value is null/undefined, the transformation is skipped
142
- * and undefined is propagated through the pipe.
51
+ * Maps the current value only if it's not null or undefined. If the current
52
+ * value is null/undefined, the transformation is skipped and undefined is
53
+ * propagated through the pipe.
54
+ *
55
+ * @example
56
+ *
57
+ * ```ts
58
+ * const result = pipe<string | undefined>('hello')
59
+ * .mapNullable((value) => value.toUpperCase())
60
+ * .mapNullable((value) => value.slice(0, 2));
61
+ *
62
+ * assert.deepStrictEqual(result.value, 'HE');
63
+ *
64
+ * const empty = pipe<string | undefined>(undefined).mapNullable((value) =>
65
+ * value.toUpperCase(),
66
+ * );
67
+ *
68
+ * assert(empty.value === undefined);
69
+ * ```
70
+ *
143
71
  * @template B The type of the transformed value.
144
72
  * @param fn Function to transform the non-null value.
145
73
  * @returns A new pipe containing the transformed value or undefined.
@@ -147,16 +75,34 @@ type PipeBase<A> = Readonly<{
147
75
  mapNullable: <B>(fn: (a: NonNullable<A>) => B) => Pipe<B | undefined>;
148
76
  }>;
149
77
  /**
78
+ * @template A The Optional type currently in the pipe.
150
79
  * @internal
151
80
  * Pipe interface for Optional values, providing Optional-aware mapping.
152
81
  * Extends PipeBase with mapOptional functionality for monadic operations.
153
- * @template A The Optional type currently in the pipe.
154
82
  */
155
83
  type PipeWithMapOptional<A extends Optional.Base> = MergeIntersection<PipeBase<A> & Readonly<{
156
84
  /**
157
- * Maps the value inside an Optional using Optional.map semantics.
158
- * If the Optional is None, the transformation is skipped and None is propagated.
159
- * If the Optional is Some, the transformation is applied to the inner value.
85
+ * Maps the value inside an Optional using Optional.map semantics. If the
86
+ * Optional is None, the transformation is skipped and None is propagated.
87
+ * If the Optional is Some, the transformation is applied to the inner
88
+ * value.
89
+ *
90
+ * @example
91
+ *
92
+ * ```ts
93
+ * const result = pipe(Optional.some(10))
94
+ * .mapOptional((value) => value * 2)
95
+ * .mapOptional((value) => value + 5);
96
+ *
97
+ * assert.deepStrictEqual(result.value, Optional.some(25));
98
+ *
99
+ * const empty = pipe(Optional.none as Optional<number>).mapOptional(
100
+ * (value) => value * 2,
101
+ * );
102
+ *
103
+ * assert.ok(Optional.isNone(empty.value));
104
+ * ```
105
+ *
160
106
  * @template B The type of the transformed inner value.
161
107
  * @param fn Function to transform the inner value of the Optional.
162
108
  * @returns A new pipe containing an Optional with the transformed value.
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.mts","sourceRoot":"","sources":["../../src/functional/pipe.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EAChD,CAAC,EAAE,CAAC,GACH,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE1B,wBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAkBjD,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC1B,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAC;IACT;;;;;OAKG;IACH,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACvE,CAAC,CAAC;AAEH;;;;;GAKG;AACH,KAAK,mBAAmB,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,IAAI,iBAAiB,CACnE,QAAQ,CAAC,CAAC,CAAC,GACT,QAAQ,CAAC;IACP;;;;;;;OAOG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACzE,CAAC,CACL,CAAC"}
1
+ {"version":3,"file":"pipe.d.mts","sourceRoot":"","sources":["../../src/functional/pipe.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EAChD,CAAC,EAAE,CAAC,GACH,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE1B,wBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAkBjD,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC1B,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAC;IAET;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACvE,CAAC,CAAC;AAEH;;;;;GAKG;AACH,KAAK,mBAAmB,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,IAAI,iBAAiB,CACnE,QAAQ,CAAC,CAAC,CAAC,GACT,QAAQ,CAAC;IACP;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACzE,CAAC,CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.mjs","sources":["../../src/functional/pipe.mts"],"sourcesContent":[null],"names":[],"mappings":";;AA8HM,SAAU,IAAI,CAAU,CAAI,EAAA;AAChC,IAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO;AACL,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxB,YAAA,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/C;IACH;SAAO;QACL,OAAO;AACL,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxB,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACzD;IACH;AACF;;;;"}
1
+ {"version":3,"file":"pipe.mjs","sources":["../../src/functional/pipe.mts"],"sourcesContent":[null],"names":[],"mappings":";;AA0BM,SAAU,IAAI,CAAU,CAAI,EAAA;AAChC,IAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO;AACL,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxB,YAAA,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/C;IACH;SAAO;QACL,OAAO;AACL,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxB,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACzD;IACH;AACF;;;;"}