ts-data-forge 3.2.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 (426) hide show
  1. package/README.md +45 -21
  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 +3 -0
  83. package/dist/entry-point.d.mts.map +1 -0
  84. package/dist/entry-point.mjs +62 -0
  85. package/dist/entry-point.mjs.map +1 -0
  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 +14 -127
  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/dist/types.d.mts +1 -1
  300. package/package.json +54 -50
  301. package/src/array/impl/array-utils-creation.mts +192 -0
  302. package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
  303. package/src/array/impl/array-utils-element-access.mts +115 -0
  304. package/src/array/impl/array-utils-element-access.test.mts +151 -0
  305. package/src/array/impl/array-utils-iterators.mts +79 -0
  306. package/src/array/impl/array-utils-iterators.test.mts +98 -0
  307. package/src/array/impl/array-utils-modification.mts +434 -0
  308. package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
  309. package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
  310. package/src/array/impl/array-utils-reducing-value.mts +551 -0
  311. package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +45 -50
  312. package/src/array/impl/array-utils-search.mts +509 -0
  313. package/src/array/impl/array-utils-search.test.mts +346 -0
  314. package/src/array/impl/array-utils-set-op.mts +166 -0
  315. package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
  316. package/src/array/impl/array-utils-size.mts +30 -0
  317. package/src/array/impl/array-utils-size.test.mts +9 -0
  318. package/src/array/impl/array-utils-slice-clamped.mts +51 -0
  319. package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +12 -12
  320. package/src/array/impl/array-utils-slicing.mts +275 -0
  321. package/src/array/impl/array-utils-slicing.test.mts +158 -0
  322. package/src/array/impl/array-utils-transformation.mts +746 -0
  323. package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
  324. package/src/array/impl/array-utils-validation.mts +241 -0
  325. package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
  326. package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
  327. package/src/array/impl/index.mts +12 -0
  328. package/src/array/index.mts +1 -1
  329. package/src/collections/imap-mapped.mts +99 -265
  330. package/src/collections/imap.mts +477 -174
  331. package/src/collections/imap.test.mts +12 -19
  332. package/src/collections/iset-mapped.mts +892 -358
  333. package/src/collections/iset.mts +429 -213
  334. package/src/collections/queue.mts +174 -200
  335. package/src/collections/stack.mts +172 -245
  336. package/src/collections/stack.test.mts +9 -1
  337. package/src/entry-point.mts +2 -0
  338. package/src/expect-type.mts +43 -172
  339. package/src/functional/match.mts +35 -145
  340. package/src/functional/optional.mts +285 -163
  341. package/src/functional/optional.test.mts +4 -1
  342. package/src/functional/pipe.mts +60 -113
  343. package/src/functional/result.mts +452 -351
  344. package/src/functional/result.test.mts +9 -2
  345. package/src/globals.d.mts +12 -5
  346. package/src/guard/has-key.mts +23 -74
  347. package/src/guard/is-non-empty-string.mts +20 -87
  348. package/src/guard/is-non-null-object.mts +14 -84
  349. package/src/guard/is-non-null-object.test.mts +1 -1
  350. package/src/guard/is-primitive.mts +13 -126
  351. package/src/guard/is-primitive.test.mts +1 -1
  352. package/src/guard/is-record.mts +21 -132
  353. package/src/guard/is-record.test.mts +0 -1
  354. package/src/guard/is-type.mts +201 -238
  355. package/src/guard/is-type.test.mts +7 -7
  356. package/src/guard/key-is-in.mts +22 -139
  357. package/src/index.mts +0 -1
  358. package/src/iterator/range.mts +29 -62
  359. package/src/json/json.mts +202 -134
  360. package/src/json/json.test.mts +1 -3
  361. package/src/number/branded-types/finite-number.mts +27 -159
  362. package/src/number/branded-types/int.mts +122 -120
  363. package/src/number/branded-types/int16.mts +22 -30
  364. package/src/number/branded-types/int16.test.mts +24 -24
  365. package/src/number/branded-types/int32.mts +22 -31
  366. package/src/number/branded-types/int32.test.mts +39 -39
  367. package/src/number/branded-types/non-negative-finite-number.mts +31 -39
  368. package/src/number/branded-types/non-negative-int16.mts +24 -34
  369. package/src/number/branded-types/non-negative-int16.test.mts +16 -16
  370. package/src/number/branded-types/non-negative-int32.mts +26 -35
  371. package/src/number/branded-types/non-negative-int32.test.mts +30 -30
  372. package/src/number/branded-types/non-zero-finite-number.mts +25 -40
  373. package/src/number/branded-types/non-zero-int.mts +15 -30
  374. package/src/number/branded-types/non-zero-int16.mts +27 -35
  375. package/src/number/branded-types/non-zero-int16.test.mts +26 -26
  376. package/src/number/branded-types/non-zero-int32.mts +29 -36
  377. package/src/number/branded-types/non-zero-int32.test.mts +45 -42
  378. package/src/number/branded-types/non-zero-safe-int.mts +39 -40
  379. package/src/number/branded-types/non-zero-uint16.mts +24 -35
  380. package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
  381. package/src/number/branded-types/non-zero-uint32.mts +24 -35
  382. package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
  383. package/src/number/branded-types/positive-finite-number.mts +29 -43
  384. package/src/number/branded-types/positive-int.mts +134 -124
  385. package/src/number/branded-types/positive-int16.mts +24 -35
  386. package/src/number/branded-types/positive-int16.test.mts +14 -14
  387. package/src/number/branded-types/positive-int32.mts +24 -35
  388. package/src/number/branded-types/positive-int32.test.mts +26 -26
  389. package/src/number/branded-types/positive-safe-int.mts +160 -34
  390. package/src/number/branded-types/positive-uint16.mts +24 -35
  391. package/src/number/branded-types/positive-uint16.test.mts +16 -16
  392. package/src/number/branded-types/positive-uint32.mts +26 -36
  393. package/src/number/branded-types/positive-uint32.test.mts +31 -28
  394. package/src/number/branded-types/safe-int.mts +142 -101
  395. package/src/number/branded-types/safe-uint.mts +25 -34
  396. package/src/number/branded-types/uint.mts +121 -30
  397. package/src/number/branded-types/uint16.mts +26 -34
  398. package/src/number/branded-types/uint16.test.mts +16 -16
  399. package/src/number/branded-types/uint32.mts +26 -68
  400. package/src/number/branded-types/uint32.test.mts +28 -28
  401. package/src/number/enum/int8.mts +39 -170
  402. package/src/number/enum/uint8.mts +46 -155
  403. package/src/number/num.mts +157 -212
  404. package/src/number/num.test.mts +4 -4
  405. package/src/number/refined-number-utils.mts +109 -26
  406. package/src/object/object.mts +130 -212
  407. package/src/object/object.test.mts +29 -0
  408. package/src/others/cast-mutable.mts +13 -89
  409. package/src/others/cast-mutable.test.mts +80 -0
  410. package/src/others/cast-readonly.mts +13 -169
  411. package/src/others/if-then.mts +6 -83
  412. package/src/others/map-nullable.mts +12 -136
  413. package/src/others/map-nullable.test.mts +6 -6
  414. package/src/others/memoize-function.mts +14 -157
  415. package/src/others/tuple.mts +33 -151
  416. package/src/others/unknown-to-string.mts +15 -127
  417. package/src/others/unknown-to-string.test.mts +14 -2
  418. package/src/promise/promise.mts +34 -21
  419. package/src/promise/promise.test.mts +43 -0
  420. package/dist/array/array-utils.d.mts +0 -2956
  421. package/dist/array/array-utils.d.mts.map +0 -1
  422. package/dist/array/array-utils.mjs +0 -1838
  423. package/dist/array/array-utils.mjs.map +0 -1
  424. package/src/array/array-utils-search.test.mts +0 -169
  425. package/src/array/array-utils-slicing.test.mts +0 -274
  426. package/src/array/array-utils.mts +0 -4834
@@ -8,73 +8,54 @@ const { MIN_VALUE, MAX_VALUE, min: min_, max: max_, pow, add, sub, mul, div, ran
8
8
  typeNameInMessage,
9
9
  });
10
10
  /**
11
- * Checks if a number is a PositiveInt16 (16-bit positive signed integer in the range [1, 2^15)).
11
+ * Checks if a number is a PositiveInt16 (16-bit positive signed integer in the
12
+ * range [1, 2^15)).
13
+ *
12
14
  * @param value The value to check.
13
15
  * @returns `true` if the value is a PositiveInt16, `false` otherwise.
14
16
  */
15
17
  const isPositiveInt16 = is;
16
18
  /**
17
19
  * Casts a number to a PositiveInt16 type.
20
+ *
18
21
  * @param value The value to cast.
19
22
  * @returns The value as a PositiveInt16 type.
20
23
  * @throws {TypeError} If the value is not a positive integer in [1, 2^15).
21
- * @example
22
- * ```typescript
23
- * const x = asPositiveInt16(1000); // PositiveInt16
24
- * const y = asPositiveInt16(32767); // PositiveInt16
25
- * // asPositiveInt16(0); // throws TypeError
26
- * // asPositiveInt16(-1); // throws TypeError
27
- * // asPositiveInt16(32768); // throws TypeError
28
- * ```
29
24
  */
30
25
  const asPositiveInt16 = castType;
31
26
  /**
32
- * Namespace providing type-safe arithmetic operations for 16-bit positive integers.
33
- *
34
- * All operations automatically clamp results to the valid PositiveInt16 range [1, 32767].
35
- * This ensures that all arithmetic maintains the 16-bit positive integer constraint,
36
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
37
- *
38
- * @example
39
- * ```typescript
40
- * const a = asPositiveInt16(30000);
41
- * const b = asPositiveInt16(5000);
42
- *
43
- * // Arithmetic operations with automatic clamping
44
- * const sum = PositiveInt16.add(a, b); // PositiveInt16 (32767 - clamped to MAX_VALUE)
45
- * const diff = PositiveInt16.sub(a, b); // PositiveInt16 (25000)
46
- * const reverseDiff = PositiveInt16.sub(b, a); // PositiveInt16 (1 - clamped to MIN_VALUE)
47
- * const product = PositiveInt16.mul(a, b); // PositiveInt16 (32767 - clamped due to overflow)
48
- *
49
- * // Range operations
50
- * const clamped = PositiveInt16.clamp(0); // PositiveInt16 (1)
51
- * const minimum = PositiveInt16.min(a, b); // PositiveInt16 (5000)
52
- * const maximum = PositiveInt16.max(a, b); // PositiveInt16 (30000)
27
+ * Namespace providing type-safe arithmetic operations for 16-bit positive
28
+ * integers.
53
29
  *
54
- * // Utility operations
55
- * const random = PositiveInt16.random(); // PositiveInt16 (random value in [1, 32767])
56
- * const power = PositiveInt16.pow(asPositiveInt16(2), asPositiveInt16(10)); // PositiveInt16 (1024)
57
- * ```
30
+ * All operations automatically clamp results to the valid PositiveInt16 range
31
+ * [1, 32767]. This ensures that all arithmetic maintains the 16-bit positive
32
+ * integer constraint, with results below 1 clamped to MIN_VALUE and overflow
33
+ * results clamped to MAX_VALUE.
58
34
  */
59
35
  const PositiveInt16 = {
60
36
  /**
61
37
  * Type guard to check if a value is a PositiveInt16.
38
+ *
62
39
  * @param value The value to check.
63
- * @returns `true` if the value is a 16-bit positive integer, `false` otherwise.
40
+ * @returns `true` if the value is a 16-bit positive integer, `false`
41
+ * otherwise.
64
42
  */
65
43
  is,
66
44
  /**
67
45
  * The minimum value for a 16-bit positive integer.
46
+ *
68
47
  * @readonly
69
48
  */
70
49
  MIN_VALUE,
71
50
  /**
72
51
  * The maximum value for a 16-bit positive integer.
52
+ *
73
53
  * @readonly
74
54
  */
75
55
  MAX_VALUE,
76
56
  /**
77
57
  * Returns the smaller of two PositiveInt16 values.
58
+ *
78
59
  * @param a The first PositiveInt16.
79
60
  * @param b The second PositiveInt16.
80
61
  * @returns The minimum value as a PositiveInt16.
@@ -82,6 +63,7 @@ const PositiveInt16 = {
82
63
  min: min_,
83
64
  /**
84
65
  * Returns the larger of two PositiveInt16 values.
66
+ *
85
67
  * @param a The first PositiveInt16.
86
68
  * @param b The second PositiveInt16.
87
69
  * @returns The maximum value as a PositiveInt16.
@@ -89,17 +71,20 @@ const PositiveInt16 = {
89
71
  max: max_,
90
72
  /**
91
73
  * Clamps a number to the PositiveInt16 range.
74
+ *
92
75
  * @param value The number to clamp.
93
76
  * @returns The value clamped to [1, 32767] as a PositiveInt16.
94
77
  */
95
78
  clamp,
96
79
  /**
97
80
  * Generates a random PositiveInt16 value within the valid range.
81
+ *
98
82
  * @returns A random PositiveInt16 between 1 and 32767.
99
83
  */
100
84
  random,
101
85
  /**
102
86
  * Raises a PositiveInt16 to the power of another PositiveInt16.
87
+ *
103
88
  * @param a The base PositiveInt16.
104
89
  * @param b The exponent PositiveInt16.
105
90
  * @returns `a ** b` clamped to [1, 32767] as a PositiveInt16.
@@ -107,6 +92,7 @@ const PositiveInt16 = {
107
92
  pow,
108
93
  /**
109
94
  * Adds two PositiveInt16 values.
95
+ *
110
96
  * @param a The first PositiveInt16.
111
97
  * @param b The second PositiveInt16.
112
98
  * @returns `a + b` clamped to [1, 32767] as a PositiveInt16.
@@ -114,6 +100,7 @@ const PositiveInt16 = {
114
100
  add,
115
101
  /**
116
102
  * Subtracts one PositiveInt16 from another.
103
+ *
117
104
  * @param a The minuend PositiveInt16.
118
105
  * @param b The subtrahend PositiveInt16.
119
106
  * @returns `a - b` clamped to [1, 32767] as a PositiveInt16 (minimum 1).
@@ -121,6 +108,7 @@ const PositiveInt16 = {
121
108
  sub,
122
109
  /**
123
110
  * Multiplies two PositiveInt16 values.
111
+ *
124
112
  * @param a The first PositiveInt16.
125
113
  * @param b The second PositiveInt16.
126
114
  * @returns `a * b` clamped to [1, 32767] as a PositiveInt16.
@@ -128,6 +116,7 @@ const PositiveInt16 = {
128
116
  mul,
129
117
  /**
130
118
  * Divides one PositiveInt16 by another using floor division.
119
+ *
131
120
  * @param a The dividend PositiveInt16.
132
121
  * @param b The divisor PositiveInt16.
133
122
  * @returns `⌊a / b⌋` clamped to [1, 32767] as a PositiveInt16.
@@ -1 +1 @@
1
- {"version":3,"file":"positive-int16.mjs","sources":["../../../src/number/branded-types/positive-int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;AAIG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;;;;;;AAaG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;AAIG;IACH,EAAE;AAEF;;;AAGG;IACH,SAAS;AAET;;;AAGG;IACH,SAAS;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;AAIG;IACH,KAAK;AAEL;;;AAGG;IACH,MAAM;AAEN;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"positive-int16.mjs","sources":["../../../src/number/branded-types/positive-int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;AAQG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
@@ -1,22 +1,17 @@
1
1
  /**
2
- * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the range [1, 2^31)).
2
+ * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
3
+ * range [1, 2^31)).
4
+ *
3
5
  * @param value The value to check.
4
6
  * @returns `true` if the value is a PositiveInt32, `false` otherwise.
5
7
  */
6
8
  export declare const isPositiveInt32: (a: number) => a is PositiveInt32;
7
9
  /**
8
10
  * Casts a number to a PositiveInt32 type.
11
+ *
9
12
  * @param value The value to cast.
10
13
  * @returns The value as a PositiveInt32 type.
11
14
  * @throws {TypeError} If the value is not a positive integer in [1, 2^31).
12
- * @example
13
- * ```typescript
14
- * const x = asPositiveInt32(1000); // PositiveInt32
15
- * const y = asPositiveInt32(2147483647); // PositiveInt32
16
- * // asPositiveInt32(0); // throws TypeError
17
- * // asPositiveInt32(-1); // throws TypeError
18
- * // asPositiveInt32(2147483648); // throws TypeError
19
- * ```
20
15
  */
21
16
  export declare const asPositiveInt32: <N extends number>(x: N) => number & {
22
17
  readonly NaNValue: false;
@@ -35,52 +30,38 @@ export declare const asPositiveInt32: <N extends number>(x: N) => number & {
35
30
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
36
31
  }> & N;
37
32
  /**
38
- * Namespace providing type-safe arithmetic operations for 32-bit positive integers.
39
- *
40
- * All operations automatically clamp results to the valid PositiveInt32 range [1, 2147483647].
41
- * This ensures that all arithmetic maintains the 32-bit positive integer constraint,
42
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
43
- *
44
- * @example
45
- * ```typescript
46
- * const a = asPositiveInt32(2000000000);
47
- * const b = asPositiveInt32(500000000);
48
- *
49
- * // Arithmetic operations with automatic clamping and positive constraint
50
- * const sum = PositiveInt32.add(a, b); // PositiveInt32 (2147483647 - clamped to MAX_VALUE)
51
- * const diff = PositiveInt32.sub(a, b); // PositiveInt32 (1500000000)
52
- * const reverseDiff = PositiveInt32.sub(b, a); // PositiveInt32 (1 - clamped to MIN_VALUE)
53
- * const product = PositiveInt32.mul(a, b); // PositiveInt32 (2147483647 - clamped due to overflow)
54
- *
55
- * // Range operations (maintaining positive constraint)
56
- * const clamped = PositiveInt32.clamp(-1000); // PositiveInt32 (1)
57
- * const minimum = PositiveInt32.min(a, b); // PositiveInt32 (500000000)
58
- * const maximum = PositiveInt32.max(a, b); // PositiveInt32 (2000000000)
33
+ * Namespace providing type-safe arithmetic operations for 32-bit positive
34
+ * integers.
59
35
  *
60
- * // Utility operations
61
- * const random = PositiveInt32.random(); // PositiveInt32 (random value in [1, 2147483647])
62
- * const power = PositiveInt32.pow(asPositiveInt32(2), asPositiveInt32(20)); // PositiveInt32 (1048576)
63
- * ```
36
+ * All operations automatically clamp results to the valid PositiveInt32 range
37
+ * [1, 2147483647]. This ensures that all arithmetic maintains the 32-bit
38
+ * positive integer constraint, with results below 1 clamped to MIN_VALUE and
39
+ * overflow results clamped to MAX_VALUE.
64
40
  */
65
41
  export declare const PositiveInt32: {
66
42
  /**
67
43
  * Type guard to check if a value is a PositiveInt32.
44
+ *
68
45
  * @param value The value to check.
69
- * @returns `true` if the value is a 32-bit positive integer, `false` otherwise.
46
+ * @returns `true` if the value is a 32-bit positive integer, `false`
47
+ * otherwise.
70
48
  */
71
49
  readonly is: (a: number) => a is PositiveInt32;
72
50
  /**
73
51
  * The minimum value for a 32-bit positive integer.
52
+ *
74
53
  * @readonly
75
54
  */
76
55
  readonly MIN_VALUE: 1;
77
56
  /**
78
57
  * The maximum value for a 32-bit positive integer.
58
+ *
79
59
  * @readonly
80
60
  */
81
61
  readonly MAX_VALUE: number;
82
62
  /**
83
63
  * Returns the smaller of two PositiveInt32 values.
64
+ *
84
65
  * @param a The first PositiveInt32.
85
66
  * @param b The second PositiveInt32.
86
67
  * @returns The minimum value as a PositiveInt32.
@@ -88,6 +69,7 @@ export declare const PositiveInt32: {
88
69
  readonly min: (...values: readonly WithSmallInt<PositiveInt32, 40>[]) => PositiveInt32;
89
70
  /**
90
71
  * Returns the larger of two PositiveInt32 values.
72
+ *
91
73
  * @param a The first PositiveInt32.
92
74
  * @param b The second PositiveInt32.
93
75
  * @returns The maximum value as a PositiveInt32.
@@ -95,17 +77,20 @@ export declare const PositiveInt32: {
95
77
  readonly max: (...values: readonly WithSmallInt<PositiveInt32, 40>[]) => PositiveInt32;
96
78
  /**
97
79
  * Clamps a number to the PositiveInt32 range.
80
+ *
98
81
  * @param value The number to clamp.
99
82
  * @returns The value clamped to [1, 2147483647] as a PositiveInt32.
100
83
  */
101
84
  readonly clamp: (x: number) => PositiveInt32;
102
85
  /**
103
86
  * Generates a random PositiveInt32 value within the valid range.
87
+ *
104
88
  * @returns A random PositiveInt32 between 1 and 2147483647.
105
89
  */
106
90
  readonly random: (min?: WithSmallInt<PositiveInt32, 40> | undefined, max?: WithSmallInt<PositiveInt32, 40> | undefined) => PositiveInt32;
107
91
  /**
108
92
  * Raises a PositiveInt32 to the power of another PositiveInt32.
93
+ *
109
94
  * @param a The base PositiveInt32.
110
95
  * @param b The exponent PositiveInt32.
111
96
  * @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -113,6 +98,7 @@ export declare const PositiveInt32: {
113
98
  readonly pow: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
114
99
  /**
115
100
  * Adds two PositiveInt32 values.
101
+ *
116
102
  * @param a The first PositiveInt32.
117
103
  * @param b The second PositiveInt32.
118
104
  * @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -120,6 +106,7 @@ export declare const PositiveInt32: {
120
106
  readonly add: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
121
107
  /**
122
108
  * Subtracts one PositiveInt32 from another.
109
+ *
123
110
  * @param a The minuend PositiveInt32.
124
111
  * @param b The subtrahend PositiveInt32.
125
112
  * @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).
@@ -127,6 +114,7 @@ export declare const PositiveInt32: {
127
114
  readonly sub: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
128
115
  /**
129
116
  * Multiplies two PositiveInt32 values.
117
+ *
130
118
  * @param a The first PositiveInt32.
131
119
  * @param b The second PositiveInt32.
132
120
  * @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -134,6 +122,7 @@ export declare const PositiveInt32: {
134
122
  readonly mul: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
135
123
  /**
136
124
  * Divides one PositiveInt32 by another using floor division.
125
+ *
137
126
  * @param a The dividend PositiveInt32.
138
127
  * @param b The divisor PositiveInt32.
139
128
  * @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.
@@ -1 +1 @@
1
- {"version":3,"file":"positive-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-int32.mts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,eAAO,MAAM,eAAe,mCAAK,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;MAAW,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa;IACxB;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"positive-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-int32.mts"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,mCAAK,CAAC;AAElC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;MAAW,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;IACxB;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;;;;CAEK,CAAC"}
@@ -8,73 +8,54 @@ const { MIN_VALUE, MAX_VALUE, min: min_, max: max_, pow, add, sub, mul, div, ran
8
8
  typeNameInMessage,
9
9
  });
10
10
  /**
11
- * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the range [1, 2^31)).
11
+ * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
12
+ * range [1, 2^31)).
13
+ *
12
14
  * @param value The value to check.
13
15
  * @returns `true` if the value is a PositiveInt32, `false` otherwise.
14
16
  */
15
17
  const isPositiveInt32 = is;
16
18
  /**
17
19
  * Casts a number to a PositiveInt32 type.
20
+ *
18
21
  * @param value The value to cast.
19
22
  * @returns The value as a PositiveInt32 type.
20
23
  * @throws {TypeError} If the value is not a positive integer in [1, 2^31).
21
- * @example
22
- * ```typescript
23
- * const x = asPositiveInt32(1000); // PositiveInt32
24
- * const y = asPositiveInt32(2147483647); // PositiveInt32
25
- * // asPositiveInt32(0); // throws TypeError
26
- * // asPositiveInt32(-1); // throws TypeError
27
- * // asPositiveInt32(2147483648); // throws TypeError
28
- * ```
29
24
  */
30
25
  const asPositiveInt32 = castType;
31
26
  /**
32
- * Namespace providing type-safe arithmetic operations for 32-bit positive integers.
33
- *
34
- * All operations automatically clamp results to the valid PositiveInt32 range [1, 2147483647].
35
- * This ensures that all arithmetic maintains the 32-bit positive integer constraint,
36
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
37
- *
38
- * @example
39
- * ```typescript
40
- * const a = asPositiveInt32(2000000000);
41
- * const b = asPositiveInt32(500000000);
42
- *
43
- * // Arithmetic operations with automatic clamping and positive constraint
44
- * const sum = PositiveInt32.add(a, b); // PositiveInt32 (2147483647 - clamped to MAX_VALUE)
45
- * const diff = PositiveInt32.sub(a, b); // PositiveInt32 (1500000000)
46
- * const reverseDiff = PositiveInt32.sub(b, a); // PositiveInt32 (1 - clamped to MIN_VALUE)
47
- * const product = PositiveInt32.mul(a, b); // PositiveInt32 (2147483647 - clamped due to overflow)
48
- *
49
- * // Range operations (maintaining positive constraint)
50
- * const clamped = PositiveInt32.clamp(-1000); // PositiveInt32 (1)
51
- * const minimum = PositiveInt32.min(a, b); // PositiveInt32 (500000000)
52
- * const maximum = PositiveInt32.max(a, b); // PositiveInt32 (2000000000)
27
+ * Namespace providing type-safe arithmetic operations for 32-bit positive
28
+ * integers.
53
29
  *
54
- * // Utility operations
55
- * const random = PositiveInt32.random(); // PositiveInt32 (random value in [1, 2147483647])
56
- * const power = PositiveInt32.pow(asPositiveInt32(2), asPositiveInt32(20)); // PositiveInt32 (1048576)
57
- * ```
30
+ * All operations automatically clamp results to the valid PositiveInt32 range
31
+ * [1, 2147483647]. This ensures that all arithmetic maintains the 32-bit
32
+ * positive integer constraint, with results below 1 clamped to MIN_VALUE and
33
+ * overflow results clamped to MAX_VALUE.
58
34
  */
59
35
  const PositiveInt32 = {
60
36
  /**
61
37
  * Type guard to check if a value is a PositiveInt32.
38
+ *
62
39
  * @param value The value to check.
63
- * @returns `true` if the value is a 32-bit positive integer, `false` otherwise.
40
+ * @returns `true` if the value is a 32-bit positive integer, `false`
41
+ * otherwise.
64
42
  */
65
43
  is,
66
44
  /**
67
45
  * The minimum value for a 32-bit positive integer.
46
+ *
68
47
  * @readonly
69
48
  */
70
49
  MIN_VALUE,
71
50
  /**
72
51
  * The maximum value for a 32-bit positive integer.
52
+ *
73
53
  * @readonly
74
54
  */
75
55
  MAX_VALUE,
76
56
  /**
77
57
  * Returns the smaller of two PositiveInt32 values.
58
+ *
78
59
  * @param a The first PositiveInt32.
79
60
  * @param b The second PositiveInt32.
80
61
  * @returns The minimum value as a PositiveInt32.
@@ -82,6 +63,7 @@ const PositiveInt32 = {
82
63
  min: min_,
83
64
  /**
84
65
  * Returns the larger of two PositiveInt32 values.
66
+ *
85
67
  * @param a The first PositiveInt32.
86
68
  * @param b The second PositiveInt32.
87
69
  * @returns The maximum value as a PositiveInt32.
@@ -89,17 +71,20 @@ const PositiveInt32 = {
89
71
  max: max_,
90
72
  /**
91
73
  * Clamps a number to the PositiveInt32 range.
74
+ *
92
75
  * @param value The number to clamp.
93
76
  * @returns The value clamped to [1, 2147483647] as a PositiveInt32.
94
77
  */
95
78
  clamp,
96
79
  /**
97
80
  * Generates a random PositiveInt32 value within the valid range.
81
+ *
98
82
  * @returns A random PositiveInt32 between 1 and 2147483647.
99
83
  */
100
84
  random,
101
85
  /**
102
86
  * Raises a PositiveInt32 to the power of another PositiveInt32.
87
+ *
103
88
  * @param a The base PositiveInt32.
104
89
  * @param b The exponent PositiveInt32.
105
90
  * @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -107,6 +92,7 @@ const PositiveInt32 = {
107
92
  pow,
108
93
  /**
109
94
  * Adds two PositiveInt32 values.
95
+ *
110
96
  * @param a The first PositiveInt32.
111
97
  * @param b The second PositiveInt32.
112
98
  * @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -114,6 +100,7 @@ const PositiveInt32 = {
114
100
  add,
115
101
  /**
116
102
  * Subtracts one PositiveInt32 from another.
103
+ *
117
104
  * @param a The minuend PositiveInt32.
118
105
  * @param b The subtrahend PositiveInt32.
119
106
  * @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).
@@ -121,6 +108,7 @@ const PositiveInt32 = {
121
108
  sub,
122
109
  /**
123
110
  * Multiplies two PositiveInt32 values.
111
+ *
124
112
  * @param a The first PositiveInt32.
125
113
  * @param b The second PositiveInt32.
126
114
  * @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -128,6 +116,7 @@ const PositiveInt32 = {
128
116
  mul,
129
117
  /**
130
118
  * Divides one PositiveInt32 by another using floor division.
119
+ *
131
120
  * @param a The dividend PositiveInt32.
132
121
  * @param b The divisor PositiveInt32.
133
122
  * @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.
@@ -1 +1 @@
1
- {"version":3,"file":"positive-int32.mjs","sources":["../../../src/number/branded-types/positive-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;AAIG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;;;;;;AAaG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;AAIG;IACH,EAAE;AAEF;;;AAGG;IACH,SAAS;AAET;;;AAGG;IACH,SAAS;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;AAIG;IACH,KAAK;AAEL;;;AAGG;IACH,MAAM;AAEN;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"positive-int32.mjs","sources":["../../../src/number/branded-types/positive-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;AAQG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}