ts-data-forge 1.0.0 → 1.0.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 (292) hide show
  1. package/README.md +1 -1
  2. package/dist/array/array-utils.d.mts +2617 -0
  3. package/dist/array/array-utils.d.mts.map +1 -0
  4. package/dist/array/array-utils.mjs +2915 -0
  5. package/dist/array/array-utils.mjs.map +1 -0
  6. package/dist/array/index.d.mts +3 -0
  7. package/dist/array/index.d.mts.map +1 -0
  8. package/dist/array/index.mjs +3 -0
  9. package/dist/array/index.mjs.map +1 -0
  10. package/dist/array/tuple-utils.d.mts +421 -0
  11. package/dist/array/tuple-utils.d.mts.map +1 -0
  12. package/dist/array/tuple-utils.mjs +391 -0
  13. package/dist/array/tuple-utils.mjs.map +1 -0
  14. package/dist/collections/imap-mapped.d.mts +445 -0
  15. package/dist/collections/imap-mapped.d.mts.map +1 -0
  16. package/dist/collections/imap-mapped.mjs +424 -0
  17. package/dist/collections/imap-mapped.mjs.map +1 -0
  18. package/dist/collections/imap.d.mts +359 -0
  19. package/dist/collections/imap.d.mts.map +1 -0
  20. package/dist/collections/imap.mjs +338 -0
  21. package/dist/collections/imap.mjs.map +1 -0
  22. package/dist/collections/index.d.mts +7 -0
  23. package/dist/collections/index.d.mts.map +1 -0
  24. package/dist/collections/index.mjs +7 -0
  25. package/dist/collections/index.mjs.map +1 -0
  26. package/dist/collections/iset-mapped.d.mts +576 -0
  27. package/dist/collections/iset-mapped.d.mts.map +1 -0
  28. package/dist/collections/iset-mapped.mjs +522 -0
  29. package/dist/collections/iset-mapped.mjs.map +1 -0
  30. package/dist/collections/iset.d.mts +426 -0
  31. package/dist/collections/iset.d.mts.map +1 -0
  32. package/dist/collections/iset.mjs +437 -0
  33. package/dist/collections/iset.mjs.map +1 -0
  34. package/dist/collections/queue.d.mts +190 -0
  35. package/dist/collections/queue.d.mts.map +1 -0
  36. package/dist/collections/queue.mjs +317 -0
  37. package/dist/collections/queue.mjs.map +1 -0
  38. package/dist/collections/stack.d.mts +210 -0
  39. package/dist/collections/stack.d.mts.map +1 -0
  40. package/dist/collections/stack.mjs +353 -0
  41. package/dist/collections/stack.mjs.map +1 -0
  42. package/dist/expect-type.d.mts +199 -0
  43. package/dist/expect-type.d.mts.map +1 -0
  44. package/dist/expect-type.mjs +201 -0
  45. package/dist/expect-type.mjs.map +1 -0
  46. package/dist/functional/index.d.mts +5 -0
  47. package/dist/functional/index.d.mts.map +1 -0
  48. package/dist/functional/index.mjs +5 -0
  49. package/dist/functional/index.mjs.map +1 -0
  50. package/dist/functional/match.d.mts +215 -0
  51. package/dist/functional/match.d.mts.map +1 -0
  52. package/dist/functional/match.mjs +139 -0
  53. package/dist/functional/match.mjs.map +1 -0
  54. package/dist/functional/optional.d.mts +517 -0
  55. package/dist/functional/optional.d.mts.map +1 -0
  56. package/dist/functional/optional.mjs +532 -0
  57. package/dist/functional/optional.mjs.map +1 -0
  58. package/dist/functional/pipe.d.mts +185 -0
  59. package/dist/functional/pipe.d.mts.map +1 -0
  60. package/dist/functional/pipe.mjs +129 -0
  61. package/dist/functional/pipe.mjs.map +1 -0
  62. package/dist/functional/result.d.mts +796 -0
  63. package/dist/functional/result.d.mts.map +1 -0
  64. package/dist/functional/result.mjs +844 -0
  65. package/dist/functional/result.mjs.map +1 -0
  66. package/dist/globals.d.mts +38 -0
  67. package/dist/guard/has-key.d.mts +100 -0
  68. package/dist/guard/has-key.d.mts.map +1 -0
  69. package/dist/guard/has-key.mjs +94 -0
  70. package/dist/guard/has-key.mjs.map +1 -0
  71. package/dist/guard/index.d.mts +8 -0
  72. package/dist/guard/index.d.mts.map +1 -0
  73. package/dist/guard/index.mjs +8 -0
  74. package/dist/guard/index.mjs.map +1 -0
  75. package/dist/guard/is-non-empty-string.d.mts +106 -0
  76. package/dist/guard/is-non-empty-string.d.mts.map +1 -0
  77. package/dist/guard/is-non-empty-string.mjs +108 -0
  78. package/dist/guard/is-non-empty-string.mjs.map +1 -0
  79. package/dist/guard/is-non-null-object.d.mts +105 -0
  80. package/dist/guard/is-non-null-object.d.mts.map +1 -0
  81. package/dist/guard/is-non-null-object.mjs +108 -0
  82. package/dist/guard/is-non-null-object.mjs.map +1 -0
  83. package/dist/guard/is-primitive.d.mts +146 -0
  84. package/dist/guard/is-primitive.d.mts.map +1 -0
  85. package/dist/guard/is-primitive.mjs +161 -0
  86. package/dist/guard/is-primitive.mjs.map +1 -0
  87. package/dist/guard/is-record.d.mts +151 -0
  88. package/dist/guard/is-record.d.mts.map +1 -0
  89. package/dist/guard/is-record.mjs +155 -0
  90. package/dist/guard/is-record.mjs.map +1 -0
  91. package/dist/guard/is-type.d.mts +430 -0
  92. package/dist/guard/is-type.d.mts.map +1 -0
  93. package/dist/guard/is-type.mjs +432 -0
  94. package/dist/guard/is-type.mjs.map +1 -0
  95. package/dist/guard/key-is-in.d.mts +158 -0
  96. package/dist/guard/key-is-in.d.mts.map +1 -0
  97. package/dist/guard/key-is-in.mjs +160 -0
  98. package/dist/guard/key-is-in.mjs.map +1 -0
  99. package/dist/index.d.mts +11 -0
  100. package/dist/index.d.mts.map +1 -0
  101. package/dist/index.mjs +61 -0
  102. package/dist/index.mjs.map +1 -0
  103. package/dist/iterator/index.d.mts +2 -0
  104. package/dist/iterator/index.d.mts.map +1 -0
  105. package/dist/iterator/index.mjs +2 -0
  106. package/dist/iterator/index.mjs.map +1 -0
  107. package/dist/iterator/range.d.mts +97 -0
  108. package/dist/iterator/range.d.mts.map +1 -0
  109. package/dist/iterator/range.mjs +130 -0
  110. package/dist/iterator/range.mjs.map +1 -0
  111. package/dist/json/index.d.mts +2 -0
  112. package/dist/json/index.d.mts.map +1 -0
  113. package/dist/json/index.mjs +2 -0
  114. package/dist/json/index.mjs.map +1 -0
  115. package/dist/json/json.d.mts +597 -0
  116. package/dist/json/json.d.mts.map +1 -0
  117. package/dist/json/json.mjs +687 -0
  118. package/dist/json/json.mjs.map +1 -0
  119. package/dist/number/branded-types/finite-number.d.mts +291 -0
  120. package/dist/number/branded-types/finite-number.d.mts.map +1 -0
  121. package/dist/number/branded-types/finite-number.mjs +296 -0
  122. package/dist/number/branded-types/finite-number.mjs.map +1 -0
  123. package/dist/number/branded-types/index.d.mts +27 -0
  124. package/dist/number/branded-types/index.d.mts.map +1 -0
  125. package/dist/number/branded-types/index.mjs +27 -0
  126. package/dist/number/branded-types/index.mjs.map +1 -0
  127. package/dist/number/branded-types/int.d.mts +242 -0
  128. package/dist/number/branded-types/int.d.mts.map +1 -0
  129. package/dist/number/branded-types/int.mjs +239 -0
  130. package/dist/number/branded-types/int.mjs.map +1 -0
  131. package/dist/number/branded-types/int16.d.mts +162 -0
  132. package/dist/number/branded-types/int16.d.mts.map +1 -0
  133. package/dist/number/branded-types/int16.mjs +141 -0
  134. package/dist/number/branded-types/int16.mjs.map +1 -0
  135. package/dist/number/branded-types/int32.d.mts +155 -0
  136. package/dist/number/branded-types/int32.d.mts.map +1 -0
  137. package/dist/number/branded-types/int32.mjs +142 -0
  138. package/dist/number/branded-types/int32.mjs.map +1 -0
  139. package/dist/number/branded-types/non-negative-finite-number.d.mts +165 -0
  140. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -0
  141. package/dist/number/branded-types/non-negative-finite-number.mjs +160 -0
  142. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -0
  143. package/dist/number/branded-types/non-negative-int16.d.mts +160 -0
  144. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -0
  145. package/dist/number/branded-types/non-negative-int16.mjs +138 -0
  146. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -0
  147. package/dist/number/branded-types/non-negative-int32.d.mts +156 -0
  148. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -0
  149. package/dist/number/branded-types/non-negative-int32.mjs +138 -0
  150. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -0
  151. package/dist/number/branded-types/non-zero-finite-number.d.mts +154 -0
  152. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -0
  153. package/dist/number/branded-types/non-zero-finite-number.mjs +160 -0
  154. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -0
  155. package/dist/number/branded-types/non-zero-int.d.mts +131 -0
  156. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -0
  157. package/dist/number/branded-types/non-zero-int.mjs +128 -0
  158. package/dist/number/branded-types/non-zero-int.mjs.map +1 -0
  159. package/dist/number/branded-types/non-zero-int16.d.mts +166 -0
  160. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -0
  161. package/dist/number/branded-types/non-zero-int16.mjs +145 -0
  162. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -0
  163. package/dist/number/branded-types/non-zero-int32.d.mts +158 -0
  164. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -0
  165. package/dist/number/branded-types/non-zero-int32.mjs +145 -0
  166. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -0
  167. package/dist/number/branded-types/non-zero-safe-int.d.mts +148 -0
  168. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -0
  169. package/dist/number/branded-types/non-zero-safe-int.mjs +145 -0
  170. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -0
  171. package/dist/number/branded-types/non-zero-uint16.d.mts +160 -0
  172. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -0
  173. package/dist/number/branded-types/non-zero-uint16.mjs +140 -0
  174. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -0
  175. package/dist/number/branded-types/non-zero-uint32.d.mts +156 -0
  176. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -0
  177. package/dist/number/branded-types/non-zero-uint32.mjs +140 -0
  178. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -0
  179. package/dist/number/branded-types/positive-finite-number.d.mts +171 -0
  180. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -0
  181. package/dist/number/branded-types/positive-finite-number.mjs +165 -0
  182. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -0
  183. package/dist/number/branded-types/positive-int.d.mts +270 -0
  184. package/dist/number/branded-types/positive-int.d.mts.map +1 -0
  185. package/dist/number/branded-types/positive-int.mjs +257 -0
  186. package/dist/number/branded-types/positive-int.mjs.map +1 -0
  187. package/dist/number/branded-types/positive-int16.d.mts +162 -0
  188. package/dist/number/branded-types/positive-int16.d.mts.map +1 -0
  189. package/dist/number/branded-types/positive-int16.mjs +139 -0
  190. package/dist/number/branded-types/positive-int16.mjs.map +1 -0
  191. package/dist/number/branded-types/positive-int32.d.mts +158 -0
  192. package/dist/number/branded-types/positive-int32.d.mts.map +1 -0
  193. package/dist/number/branded-types/positive-int32.mjs +139 -0
  194. package/dist/number/branded-types/positive-int32.mjs.map +1 -0
  195. package/dist/number/branded-types/positive-safe-int.d.mts +152 -0
  196. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -0
  197. package/dist/number/branded-types/positive-safe-int.mjs +138 -0
  198. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -0
  199. package/dist/number/branded-types/positive-uint16.d.mts +160 -0
  200. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -0
  201. package/dist/number/branded-types/positive-uint16.mjs +139 -0
  202. package/dist/number/branded-types/positive-uint16.mjs.map +1 -0
  203. package/dist/number/branded-types/positive-uint32.d.mts +156 -0
  204. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -0
  205. package/dist/number/branded-types/positive-uint32.mjs +139 -0
  206. package/dist/number/branded-types/positive-uint32.mjs.map +1 -0
  207. package/dist/number/branded-types/safe-int.d.mts +243 -0
  208. package/dist/number/branded-types/safe-int.d.mts.map +1 -0
  209. package/dist/number/branded-types/safe-int.mjs +240 -0
  210. package/dist/number/branded-types/safe-int.mjs.map +1 -0
  211. package/dist/number/branded-types/safe-uint.d.mts +151 -0
  212. package/dist/number/branded-types/safe-uint.d.mts.map +1 -0
  213. package/dist/number/branded-types/safe-uint.mjs +138 -0
  214. package/dist/number/branded-types/safe-uint.mjs.map +1 -0
  215. package/dist/number/branded-types/uint.d.mts +144 -0
  216. package/dist/number/branded-types/uint.d.mts.map +1 -0
  217. package/dist/number/branded-types/uint.mjs +132 -0
  218. package/dist/number/branded-types/uint.mjs.map +1 -0
  219. package/dist/number/branded-types/uint16.d.mts +157 -0
  220. package/dist/number/branded-types/uint16.d.mts.map +1 -0
  221. package/dist/number/branded-types/uint16.mjs +137 -0
  222. package/dist/number/branded-types/uint16.mjs.map +1 -0
  223. package/dist/number/branded-types/uint32.d.mts +185 -0
  224. package/dist/number/branded-types/uint32.d.mts.map +1 -0
  225. package/dist/number/branded-types/uint32.mjs +169 -0
  226. package/dist/number/branded-types/uint32.mjs.map +1 -0
  227. package/dist/number/enum/index.d.mts +3 -0
  228. package/dist/number/enum/index.d.mts.map +1 -0
  229. package/dist/number/enum/index.mjs +3 -0
  230. package/dist/number/enum/index.mjs.map +1 -0
  231. package/dist/number/enum/int8.d.mts +202 -0
  232. package/dist/number/enum/int8.d.mts.map +1 -0
  233. package/dist/number/enum/int8.mjs +296 -0
  234. package/dist/number/enum/int8.mjs.map +1 -0
  235. package/dist/number/enum/uint8.d.mts +128 -0
  236. package/dist/number/enum/uint8.d.mts.map +1 -0
  237. package/dist/number/enum/uint8.mjs +251 -0
  238. package/dist/number/enum/uint8.mjs.map +1 -0
  239. package/dist/number/index.d.mts +5 -0
  240. package/dist/number/index.d.mts.map +1 -0
  241. package/dist/number/index.mjs +31 -0
  242. package/dist/number/index.mjs.map +1 -0
  243. package/dist/number/num.d.mts +515 -0
  244. package/dist/number/num.d.mts.map +1 -0
  245. package/dist/number/num.mjs +513 -0
  246. package/dist/number/num.mjs.map +1 -0
  247. package/dist/number/refined-number-utils.d.mts +191 -0
  248. package/dist/number/refined-number-utils.d.mts.map +1 -0
  249. package/dist/number/refined-number-utils.mjs +179 -0
  250. package/dist/number/refined-number-utils.mjs.map +1 -0
  251. package/dist/object/index.d.mts +2 -0
  252. package/dist/object/index.d.mts.map +1 -0
  253. package/dist/object/index.mjs +2 -0
  254. package/dist/object/index.mjs.map +1 -0
  255. package/dist/object/object.d.mts +296 -0
  256. package/dist/object/object.d.mts.map +1 -0
  257. package/dist/object/object.mjs +295 -0
  258. package/dist/object/object.mjs.map +1 -0
  259. package/dist/others/cast-mutable.d.mts +110 -0
  260. package/dist/others/cast-mutable.d.mts.map +1 -0
  261. package/dist/others/cast-mutable.mjs +114 -0
  262. package/dist/others/cast-mutable.mjs.map +1 -0
  263. package/dist/others/cast-readonly.d.mts +189 -0
  264. package/dist/others/cast-readonly.d.mts.map +1 -0
  265. package/dist/others/cast-readonly.mjs +193 -0
  266. package/dist/others/cast-readonly.mjs.map +1 -0
  267. package/dist/others/if-then.d.mts +98 -0
  268. package/dist/others/if-then.d.mts.map +1 -0
  269. package/dist/others/if-then.mjs +100 -0
  270. package/dist/others/if-then.mjs.map +1 -0
  271. package/dist/others/index.d.mts +8 -0
  272. package/dist/others/index.d.mts.map +1 -0
  273. package/dist/others/index.mjs +8 -0
  274. package/dist/others/index.mjs.map +1 -0
  275. package/dist/others/map-nullable.d.mts +151 -0
  276. package/dist/others/map-nullable.d.mts.map +1 -0
  277. package/dist/others/map-nullable.mjs +159 -0
  278. package/dist/others/map-nullable.mjs.map +1 -0
  279. package/dist/others/memoize-function.d.mts +173 -0
  280. package/dist/others/memoize-function.d.mts.map +1 -0
  281. package/dist/others/memoize-function.mjs +189 -0
  282. package/dist/others/memoize-function.mjs.map +1 -0
  283. package/dist/others/tuple.d.mts +159 -0
  284. package/dist/others/tuple.d.mts.map +1 -0
  285. package/dist/others/tuple.mjs +161 -0
  286. package/dist/others/tuple.mjs.map +1 -0
  287. package/dist/others/unknown-to-string.d.mts +180 -0
  288. package/dist/others/unknown-to-string.d.mts.map +1 -0
  289. package/dist/others/unknown-to-string.mjs +211 -0
  290. package/dist/others/unknown-to-string.mjs.map +1 -0
  291. package/dist/tsconfig.json +1 -0
  292. package/package.json +16 -14
@@ -0,0 +1,291 @@
1
+ import { TsVerifiedInternals } from '../refined-number-utils.mjs';
2
+ type ElementType = FiniteNumber;
3
+ /**
4
+ * Type guard that checks if a value is a finite number.
5
+ *
6
+ * Returns `true` if the value is a finite number (not NaN, Infinity, or -Infinity).
7
+ * This is stricter than the standard number type, which includes these special values.
8
+ *
9
+ * @param value - The value to check
10
+ * @returns `true` if the value is finite, `false` otherwise
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * isFiniteNumber(42); // true
15
+ * isFiniteNumber(3.14); // true
16
+ * isFiniteNumber(-0); // true
17
+ * isFiniteNumber(Infinity); // false
18
+ * isFiniteNumber(-Infinity); // false
19
+ * isFiniteNumber(NaN); // false
20
+ * isFiniteNumber(1/0); // false (Infinity)
21
+ * ```
22
+ */
23
+ export declare const isFiniteNumber: (a: number) => a is FiniteNumber;
24
+ /**
25
+ * Casts a number to a FiniteNumber branded type.
26
+ *
27
+ * This function validates that the input is finite (not NaN, Infinity, or -Infinity)
28
+ * and returns it with the FiniteNumber brand. This ensures type safety for operations
29
+ * that require finite numeric values.
30
+ *
31
+ * @param value - The value to cast
32
+ * @returns The value as a FiniteNumber branded type
33
+ * @throws {TypeError} If the value is NaN, Infinity, or -Infinity
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const x = asFiniteNumber(5.5); // FiniteNumber
38
+ * const y = asFiniteNumber(-10); // FiniteNumber
39
+ * const z = asFiniteNumber(0); // FiniteNumber
40
+ *
41
+ * // These throw TypeError:
42
+ * // asFiniteNumber(Infinity); // Not finite
43
+ * // asFiniteNumber(-Infinity); // Not finite
44
+ * // asFiniteNumber(NaN); // Not a number
45
+ * // asFiniteNumber(Math.sqrt(-1)); // Results in NaN
46
+ * ```
47
+ */
48
+ export declare const asFiniteNumber: <N extends number>(x: N) => number & {
49
+ readonly NaNValue: false;
50
+ readonly Finite: true;
51
+ } & Readonly<{
52
+ 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
53
+ }> & N;
54
+ /**
55
+ * Namespace providing type-safe operations for FiniteNumber branded types.
56
+ *
57
+ * The FiniteNumber type represents any finite numeric value, excluding the
58
+ * special values NaN, Infinity, and -Infinity. All operations are guaranteed
59
+ * to maintain the finite constraint when given finite inputs.
60
+ *
61
+ * This type is essential for:
62
+ * - Mathematical operations that require real numbers
63
+ * - Preventing NaN/Infinity propagation in calculations
64
+ * - Ensuring numeric stability in algorithms
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * // Type validation
69
+ * FiniteNumber.is(3.14); // true
70
+ * FiniteNumber.is(Infinity); // false
71
+ * FiniteNumber.is(0/0); // false (NaN)
72
+ *
73
+ * // Arithmetic with guaranteed finite results
74
+ * const a = asFiniteNumber(10.5);
75
+ * const b = asFiniteNumber(3.2);
76
+ *
77
+ * const sum = FiniteNumber.add(a, b); // FiniteNumber (13.7)
78
+ * const diff = FiniteNumber.sub(a, b); // FiniteNumber (7.3)
79
+ * const product = FiniteNumber.mul(a, b); // FiniteNumber (33.6)
80
+ * const quotient = FiniteNumber.div(a, b); // FiniteNumber (3.28125)
81
+ * const power = FiniteNumber.pow(a, asFiniteNumber(2)); // FiniteNumber (110.25)
82
+ *
83
+ * // Rounding to integers
84
+ * const value = asFiniteNumber(5.7);
85
+ * const floored = FiniteNumber.floor(value); // Int (5)
86
+ * const ceiled = FiniteNumber.ceil(value); // Int (6)
87
+ * const rounded = FiniteNumber.round(value); // Int (6)
88
+ *
89
+ * // Utility operations
90
+ * const absolute = FiniteNumber.abs(asFiniteNumber(-42.5)); // FiniteNumber (42.5)
91
+ * const minimum = FiniteNumber.min(a, b, asFiniteNumber(5)); // FiniteNumber (3.2)
92
+ * const maximum = FiniteNumber.max(a, b, asFiniteNumber(5)); // FiniteNumber (10.5)
93
+ *
94
+ * // Random generation
95
+ * const rand = FiniteNumber.random(asFiniteNumber(0), asFiniteNumber(1)); // Random in [0, 1]
96
+ * ```
97
+ */
98
+ export declare const FiniteNumber: {
99
+ /**
100
+ * Type guard that checks if a value is a finite number.
101
+ *
102
+ * @param value - The value to check
103
+ * @returns `true` if the value is finite, `false` otherwise
104
+ *
105
+ * @see {@link isFiniteNumber} for usage examples
106
+ */
107
+ readonly is: (a: number) => a is FiniteNumber;
108
+ /**
109
+ * Returns the absolute value of a finite number.
110
+ * @param x - The finite number to get the absolute value of
111
+ * @returns The absolute value as a FiniteNumber
112
+ * @example
113
+ * ```typescript
114
+ * FiniteNumber.abs(asFiniteNumber(-5.5)); // FiniteNumber (5.5)
115
+ * FiniteNumber.abs(asFiniteNumber(3.2)); // FiniteNumber (3.2)
116
+ * ```
117
+ */
118
+ readonly abs: (x: FiniteNumber) => TsVerifiedInternals.RefinedNumberUtils.ToNonNegative<FiniteNumber>;
119
+ /**
120
+ * Returns the minimum value from a list of finite numbers.
121
+ *
122
+ * @param values - The finite numbers to compare (at least one required)
123
+ * @returns The smallest value as a FiniteNumber
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * const a = asFiniteNumber(5.5);
128
+ * const b = asFiniteNumber(3.2);
129
+ * const c = asFiniteNumber(7.8);
130
+ *
131
+ * FiniteNumber.min(a, b); // FiniteNumber (3.2)
132
+ * FiniteNumber.min(a, b, c); // FiniteNumber (3.2)
133
+ * ```
134
+ */
135
+ readonly min: (...values: readonly FiniteNumber[]) => FiniteNumber;
136
+ /**
137
+ * Returns the maximum value from a list of finite numbers.
138
+ *
139
+ * @param values - The finite numbers to compare (at least one required)
140
+ * @returns The largest value as a FiniteNumber
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const a = asFiniteNumber(5.5);
145
+ * const b = asFiniteNumber(3.2);
146
+ * const c = asFiniteNumber(7.8);
147
+ *
148
+ * FiniteNumber.max(a, b); // FiniteNumber (7.8)
149
+ * FiniteNumber.max(a, b, c); // FiniteNumber (7.8)
150
+ * ```
151
+ */
152
+ readonly max: (...values: readonly FiniteNumber[]) => FiniteNumber;
153
+ /**
154
+ * Returns the largest integer less than or equal to the given finite number.
155
+ * @param x - The finite number to floor
156
+ * @returns The floor value as an Int
157
+ * @example
158
+ * ```typescript
159
+ * FiniteNumber.floor(asFiniteNumber(5.8)); // Int (5)
160
+ * FiniteNumber.floor(asFiniteNumber(-5.2)); // Int (-6)
161
+ * ```
162
+ */
163
+ readonly floor: (x: ElementType) => TsVerifiedInternals.RefinedNumberUtils.ToInt<ElementType>;
164
+ /**
165
+ * Returns the smallest integer greater than or equal to the given finite number.
166
+ * @param x - The finite number to ceil
167
+ * @returns The ceiling value as an Int
168
+ * @example
169
+ * ```typescript
170
+ * FiniteNumber.ceil(asFiniteNumber(5.2)); // Int (6)
171
+ * FiniteNumber.ceil(asFiniteNumber(-5.8)); // Int (-5)
172
+ * ```
173
+ */
174
+ readonly ceil: (x: ElementType) => TsVerifiedInternals.RefinedNumberUtils.ToInt<ElementType>;
175
+ /**
176
+ * Rounds a finite number to the nearest integer.
177
+ * @param x - The finite number to round
178
+ * @returns The rounded value as an Int
179
+ * @example
180
+ * ```typescript
181
+ * FiniteNumber.round(asFiniteNumber(5.4)); // Int (5)
182
+ * FiniteNumber.round(asFiniteNumber(5.6)); // Int (6)
183
+ * FiniteNumber.round(asFiniteNumber(5.5)); // Int (6)
184
+ * ```
185
+ */
186
+ readonly round: (x: ElementType) => TsVerifiedInternals.RefinedNumberUtils.ToInt<ElementType>;
187
+ /**
188
+ * Generates a random finite number within the specified range.
189
+ *
190
+ * The generated value is uniformly distributed in the range [min, max].
191
+ * Both bounds are inclusive.
192
+ *
193
+ * @param min - The minimum value (inclusive)
194
+ * @param max - The maximum value (inclusive)
195
+ * @returns A random FiniteNumber in the range [min, max]
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * // Random percentage (0-100)
200
+ * const pct = FiniteNumber.random(
201
+ * asFiniteNumber(0),
202
+ * asFiniteNumber(100)
203
+ * );
204
+ *
205
+ * // Random coordinate (-1 to 1)
206
+ * const coord = FiniteNumber.random(
207
+ * asFiniteNumber(-1),
208
+ * asFiniteNumber(1)
209
+ * );
210
+ * ```
211
+ */
212
+ readonly random: (min: FiniteNumber, max: FiniteNumber) => FiniteNumber;
213
+ /**
214
+ * Raises a finite number to a power.
215
+ * @param a - The base finite number
216
+ * @param b - The exponent finite number
217
+ * @returns `a ** b` as a FiniteNumber
218
+ * @example
219
+ * ```typescript
220
+ * FiniteNumber.pow(asFiniteNumber(2.5), asFiniteNumber(3)); // FiniteNumber (15.625)
221
+ * ```
222
+ */
223
+ readonly pow: (x: FiniteNumber, y: FiniteNumber) => FiniteNumber;
224
+ /**
225
+ * Adds two finite numbers.
226
+ * @param a - First finite number
227
+ * @param b - Second finite number
228
+ * @returns `a + b` as a FiniteNumber
229
+ * @example
230
+ * ```typescript
231
+ * FiniteNumber.add(asFiniteNumber(5.5), asFiniteNumber(3.2)); // FiniteNumber (8.7)
232
+ * ```
233
+ */
234
+ readonly add: (x: FiniteNumber, y: FiniteNumber) => FiniteNumber;
235
+ /**
236
+ * Subtracts two finite numbers.
237
+ * @param a - First finite number
238
+ * @param b - Second finite number
239
+ * @returns `a - b` as a FiniteNumber
240
+ * @example
241
+ * ```typescript
242
+ * FiniteNumber.sub(asFiniteNumber(8.7), asFiniteNumber(3.2)); // FiniteNumber (5.5)
243
+ * ```
244
+ */
245
+ readonly sub: (x: FiniteNumber, y: FiniteNumber) => FiniteNumber;
246
+ /**
247
+ * Multiplies two finite numbers.
248
+ * @param a - First finite number
249
+ * @param b - Second finite number
250
+ * @returns `a * b` as a FiniteNumber
251
+ * @example
252
+ * ```typescript
253
+ * FiniteNumber.mul(asFiniteNumber(5.5), asFiniteNumber(2)); // FiniteNumber (11)
254
+ * ```
255
+ */
256
+ readonly mul: (x: FiniteNumber, y: FiniteNumber) => FiniteNumber;
257
+ /**
258
+ * Divides two finite numbers.
259
+ *
260
+ * The divisor must be non-zero (enforced by type constraints).
261
+ * The result is guaranteed to be finite when both inputs are finite
262
+ * and the divisor is non-zero.
263
+ *
264
+ * @param a - The dividend
265
+ * @param b - The divisor (must be non-zero)
266
+ * @returns The quotient `a / b` as a FiniteNumber
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const a = asFiniteNumber(11);
271
+ * const b = asFiniteNumber(2);
272
+ *
273
+ * FiniteNumber.div(a, b); // FiniteNumber (5.5)
274
+ *
275
+ * // With non-zero type guard
276
+ * const divisor = asFiniteNumber(userInput);
277
+ * if (Num.isNonZero(divisor)) {
278
+ * const result = FiniteNumber.div(a, divisor);
279
+ * }
280
+ * ```
281
+ */
282
+ readonly div: (x: FiniteNumber, y: number & {
283
+ readonly NaNValue: false;
284
+ readonly "!=0": true;
285
+ readonly Finite: true;
286
+ } & Readonly<{
287
+ 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
288
+ }>) => FiniteNumber;
289
+ };
290
+ export {};
291
+ //# sourceMappingURL=finite-number.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,KAAK,WAAW,GAAG,YAAY,CAAC;AA8ChC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,kCAAK,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc;;;;;MAAW,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;;;OAOG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;OAeG;;IAGH;;;;;;;;;;;;;;;OAeG;;IAGH;;;;;;;;;OASG;wBAnLA,WAAW,KACb,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAqL1D;;;;;;;;;OASG;uBAzLA,WAAW,KACb,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IA2L1D;;;;;;;;;;OAUG;wBAhMA,WAAW,KACb,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAkM1D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;;;;;;;CAEK,CAAC"}
@@ -0,0 +1,296 @@
1
+ import { TsVerifiedInternals } from '../refined-number-utils.mjs';
2
+
3
+ const typeNameInMessage = 'a finite number';
4
+ const { abs, min: min_, max: max_, pow, add, sub, mul, div, random, is, castType, } = TsVerifiedInternals.RefinedNumberUtils.operatorsForFloat({
5
+ MIN_VALUE: undefined,
6
+ MAX_VALUE: undefined,
7
+ typeNameInMessage,
8
+ });
9
+ const floor = (x) =>
10
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
11
+ Math.floor(x);
12
+ const ceil = (x) =>
13
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
14
+ Math.ceil(x);
15
+ const round = (x) =>
16
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
17
+ Math.round(x);
18
+ /**
19
+ * Type guard that checks if a value is a finite number.
20
+ *
21
+ * Returns `true` if the value is a finite number (not NaN, Infinity, or -Infinity).
22
+ * This is stricter than the standard number type, which includes these special values.
23
+ *
24
+ * @param value - The value to check
25
+ * @returns `true` if the value is finite, `false` otherwise
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * isFiniteNumber(42); // true
30
+ * isFiniteNumber(3.14); // true
31
+ * isFiniteNumber(-0); // true
32
+ * isFiniteNumber(Infinity); // false
33
+ * isFiniteNumber(-Infinity); // false
34
+ * isFiniteNumber(NaN); // false
35
+ * isFiniteNumber(1/0); // false (Infinity)
36
+ * ```
37
+ */
38
+ const isFiniteNumber = is;
39
+ /**
40
+ * Casts a number to a FiniteNumber branded type.
41
+ *
42
+ * This function validates that the input is finite (not NaN, Infinity, or -Infinity)
43
+ * and returns it with the FiniteNumber brand. This ensures type safety for operations
44
+ * that require finite numeric values.
45
+ *
46
+ * @param value - The value to cast
47
+ * @returns The value as a FiniteNumber branded type
48
+ * @throws {TypeError} If the value is NaN, Infinity, or -Infinity
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const x = asFiniteNumber(5.5); // FiniteNumber
53
+ * const y = asFiniteNumber(-10); // FiniteNumber
54
+ * const z = asFiniteNumber(0); // FiniteNumber
55
+ *
56
+ * // These throw TypeError:
57
+ * // asFiniteNumber(Infinity); // Not finite
58
+ * // asFiniteNumber(-Infinity); // Not finite
59
+ * // asFiniteNumber(NaN); // Not a number
60
+ * // asFiniteNumber(Math.sqrt(-1)); // Results in NaN
61
+ * ```
62
+ */
63
+ const asFiniteNumber = castType;
64
+ /**
65
+ * Namespace providing type-safe operations for FiniteNumber branded types.
66
+ *
67
+ * The FiniteNumber type represents any finite numeric value, excluding the
68
+ * special values NaN, Infinity, and -Infinity. All operations are guaranteed
69
+ * to maintain the finite constraint when given finite inputs.
70
+ *
71
+ * This type is essential for:
72
+ * - Mathematical operations that require real numbers
73
+ * - Preventing NaN/Infinity propagation in calculations
74
+ * - Ensuring numeric stability in algorithms
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * // Type validation
79
+ * FiniteNumber.is(3.14); // true
80
+ * FiniteNumber.is(Infinity); // false
81
+ * FiniteNumber.is(0/0); // false (NaN)
82
+ *
83
+ * // Arithmetic with guaranteed finite results
84
+ * const a = asFiniteNumber(10.5);
85
+ * const b = asFiniteNumber(3.2);
86
+ *
87
+ * const sum = FiniteNumber.add(a, b); // FiniteNumber (13.7)
88
+ * const diff = FiniteNumber.sub(a, b); // FiniteNumber (7.3)
89
+ * const product = FiniteNumber.mul(a, b); // FiniteNumber (33.6)
90
+ * const quotient = FiniteNumber.div(a, b); // FiniteNumber (3.28125)
91
+ * const power = FiniteNumber.pow(a, asFiniteNumber(2)); // FiniteNumber (110.25)
92
+ *
93
+ * // Rounding to integers
94
+ * const value = asFiniteNumber(5.7);
95
+ * const floored = FiniteNumber.floor(value); // Int (5)
96
+ * const ceiled = FiniteNumber.ceil(value); // Int (6)
97
+ * const rounded = FiniteNumber.round(value); // Int (6)
98
+ *
99
+ * // Utility operations
100
+ * const absolute = FiniteNumber.abs(asFiniteNumber(-42.5)); // FiniteNumber (42.5)
101
+ * const minimum = FiniteNumber.min(a, b, asFiniteNumber(5)); // FiniteNumber (3.2)
102
+ * const maximum = FiniteNumber.max(a, b, asFiniteNumber(5)); // FiniteNumber (10.5)
103
+ *
104
+ * // Random generation
105
+ * const rand = FiniteNumber.random(asFiniteNumber(0), asFiniteNumber(1)); // Random in [0, 1]
106
+ * ```
107
+ */
108
+ const FiniteNumber = {
109
+ /**
110
+ * Type guard that checks if a value is a finite number.
111
+ *
112
+ * @param value - The value to check
113
+ * @returns `true` if the value is finite, `false` otherwise
114
+ *
115
+ * @see {@link isFiniteNumber} for usage examples
116
+ */
117
+ is,
118
+ /**
119
+ * Returns the absolute value of a finite number.
120
+ * @param x - The finite number to get the absolute value of
121
+ * @returns The absolute value as a FiniteNumber
122
+ * @example
123
+ * ```typescript
124
+ * FiniteNumber.abs(asFiniteNumber(-5.5)); // FiniteNumber (5.5)
125
+ * FiniteNumber.abs(asFiniteNumber(3.2)); // FiniteNumber (3.2)
126
+ * ```
127
+ */
128
+ abs,
129
+ /**
130
+ * Returns the minimum value from a list of finite numbers.
131
+ *
132
+ * @param values - The finite numbers to compare (at least one required)
133
+ * @returns The smallest value as a FiniteNumber
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const a = asFiniteNumber(5.5);
138
+ * const b = asFiniteNumber(3.2);
139
+ * const c = asFiniteNumber(7.8);
140
+ *
141
+ * FiniteNumber.min(a, b); // FiniteNumber (3.2)
142
+ * FiniteNumber.min(a, b, c); // FiniteNumber (3.2)
143
+ * ```
144
+ */
145
+ min: min_,
146
+ /**
147
+ * Returns the maximum value from a list of finite numbers.
148
+ *
149
+ * @param values - The finite numbers to compare (at least one required)
150
+ * @returns The largest value as a FiniteNumber
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const a = asFiniteNumber(5.5);
155
+ * const b = asFiniteNumber(3.2);
156
+ * const c = asFiniteNumber(7.8);
157
+ *
158
+ * FiniteNumber.max(a, b); // FiniteNumber (7.8)
159
+ * FiniteNumber.max(a, b, c); // FiniteNumber (7.8)
160
+ * ```
161
+ */
162
+ max: max_,
163
+ /**
164
+ * Returns the largest integer less than or equal to the given finite number.
165
+ * @param x - The finite number to floor
166
+ * @returns The floor value as an Int
167
+ * @example
168
+ * ```typescript
169
+ * FiniteNumber.floor(asFiniteNumber(5.8)); // Int (5)
170
+ * FiniteNumber.floor(asFiniteNumber(-5.2)); // Int (-6)
171
+ * ```
172
+ */
173
+ floor,
174
+ /**
175
+ * Returns the smallest integer greater than or equal to the given finite number.
176
+ * @param x - The finite number to ceil
177
+ * @returns The ceiling value as an Int
178
+ * @example
179
+ * ```typescript
180
+ * FiniteNumber.ceil(asFiniteNumber(5.2)); // Int (6)
181
+ * FiniteNumber.ceil(asFiniteNumber(-5.8)); // Int (-5)
182
+ * ```
183
+ */
184
+ ceil,
185
+ /**
186
+ * Rounds a finite number to the nearest integer.
187
+ * @param x - The finite number to round
188
+ * @returns The rounded value as an Int
189
+ * @example
190
+ * ```typescript
191
+ * FiniteNumber.round(asFiniteNumber(5.4)); // Int (5)
192
+ * FiniteNumber.round(asFiniteNumber(5.6)); // Int (6)
193
+ * FiniteNumber.round(asFiniteNumber(5.5)); // Int (6)
194
+ * ```
195
+ */
196
+ round,
197
+ /**
198
+ * Generates a random finite number within the specified range.
199
+ *
200
+ * The generated value is uniformly distributed in the range [min, max].
201
+ * Both bounds are inclusive.
202
+ *
203
+ * @param min - The minimum value (inclusive)
204
+ * @param max - The maximum value (inclusive)
205
+ * @returns A random FiniteNumber in the range [min, max]
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * // Random percentage (0-100)
210
+ * const pct = FiniteNumber.random(
211
+ * asFiniteNumber(0),
212
+ * asFiniteNumber(100)
213
+ * );
214
+ *
215
+ * // Random coordinate (-1 to 1)
216
+ * const coord = FiniteNumber.random(
217
+ * asFiniteNumber(-1),
218
+ * asFiniteNumber(1)
219
+ * );
220
+ * ```
221
+ */
222
+ random,
223
+ /**
224
+ * Raises a finite number to a power.
225
+ * @param a - The base finite number
226
+ * @param b - The exponent finite number
227
+ * @returns `a ** b` as a FiniteNumber
228
+ * @example
229
+ * ```typescript
230
+ * FiniteNumber.pow(asFiniteNumber(2.5), asFiniteNumber(3)); // FiniteNumber (15.625)
231
+ * ```
232
+ */
233
+ pow,
234
+ /**
235
+ * Adds two finite numbers.
236
+ * @param a - First finite number
237
+ * @param b - Second finite number
238
+ * @returns `a + b` as a FiniteNumber
239
+ * @example
240
+ * ```typescript
241
+ * FiniteNumber.add(asFiniteNumber(5.5), asFiniteNumber(3.2)); // FiniteNumber (8.7)
242
+ * ```
243
+ */
244
+ add,
245
+ /**
246
+ * Subtracts two finite numbers.
247
+ * @param a - First finite number
248
+ * @param b - Second finite number
249
+ * @returns `a - b` as a FiniteNumber
250
+ * @example
251
+ * ```typescript
252
+ * FiniteNumber.sub(asFiniteNumber(8.7), asFiniteNumber(3.2)); // FiniteNumber (5.5)
253
+ * ```
254
+ */
255
+ sub,
256
+ /**
257
+ * Multiplies two finite numbers.
258
+ * @param a - First finite number
259
+ * @param b - Second finite number
260
+ * @returns `a * b` as a FiniteNumber
261
+ * @example
262
+ * ```typescript
263
+ * FiniteNumber.mul(asFiniteNumber(5.5), asFiniteNumber(2)); // FiniteNumber (11)
264
+ * ```
265
+ */
266
+ mul,
267
+ /**
268
+ * Divides two finite numbers.
269
+ *
270
+ * The divisor must be non-zero (enforced by type constraints).
271
+ * The result is guaranteed to be finite when both inputs are finite
272
+ * and the divisor is non-zero.
273
+ *
274
+ * @param a - The dividend
275
+ * @param b - The divisor (must be non-zero)
276
+ * @returns The quotient `a / b` as a FiniteNumber
277
+ *
278
+ * @example
279
+ * ```typescript
280
+ * const a = asFiniteNumber(11);
281
+ * const b = asFiniteNumber(2);
282
+ *
283
+ * FiniteNumber.div(a, b); // FiniteNumber (5.5)
284
+ *
285
+ * // With non-zero type guard
286
+ * const divisor = asFiniteNumber(userInput);
287
+ * if (Num.isNonZero(divisor)) {
288
+ * const result = FiniteNumber.div(a, divisor);
289
+ * }
290
+ * ```
291
+ */
292
+ div,
293
+ };
294
+
295
+ export { FiniteNumber, asFiniteNumber, isFiniteNumber };
296
+ //# sourceMappingURL=finite-number.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finite-number.mjs","sources":["../../../src/number/branded-types/finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iBAAiB;AAE3C,MAAM,EACJ,GAAG,EACH,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,GACT,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,iBAAiB,CAI1D;AACA,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;IACpB,iBAAiB;AACT,CAAA,CAAC;AAEX,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA8D;AAE5E,MAAM,IAAI,GAAG,CACX,CAAc;AAEd;AACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAA8D;AAE3E,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA8D;AAI5E;;;;;;;;;;;;;;;;;;;AAmBG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,MAAM,YAAY,GAAG;AAC1B;;;;;;;AAOG;IACH,EAAE;AAEF;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;;;;;;;AAeG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;;;AAeG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;AASG;IACH,KAAK;AAEL;;;;;;;;;AASG;IACH,IAAI;AAEJ;;;;;;;;;;AAUG;IACH,KAAK;AAEL;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;IACH,MAAM;AAEN;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;IACH,GAAG;;;;;"}
@@ -0,0 +1,27 @@
1
+ export * from './finite-number.mjs';
2
+ export * from './int.mjs';
3
+ export * from './int16.mjs';
4
+ export * from './int32.mjs';
5
+ export * from './non-negative-finite-number.mjs';
6
+ export * from './non-negative-int16.mjs';
7
+ export * from './non-negative-int32.mjs';
8
+ export * from './non-zero-finite-number.mjs';
9
+ export * from './non-zero-int.mjs';
10
+ export * from './non-zero-int16.mjs';
11
+ export * from './non-zero-int32.mjs';
12
+ export * from './non-zero-safe-int.mjs';
13
+ export * from './non-zero-uint16.mjs';
14
+ export * from './non-zero-uint32.mjs';
15
+ export * from './positive-finite-number.mjs';
16
+ export * from './positive-int.mjs';
17
+ export * from './positive-int16.mjs';
18
+ export * from './positive-int32.mjs';
19
+ export * from './positive-safe-int.mjs';
20
+ export * from './positive-uint16.mjs';
21
+ export * from './positive-uint32.mjs';
22
+ export * from './safe-int.mjs';
23
+ export * from './safe-uint.mjs';
24
+ export * from './uint.mjs';
25
+ export * from './uint16.mjs';
26
+ export * from './uint32.mjs';
27
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/index.mts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,27 @@
1
+ export { FiniteNumber, asFiniteNumber, isFiniteNumber } from './finite-number.mjs';
2
+ export { Int, asInt, isInt } from './int.mjs';
3
+ export { Int16, asInt16, isInt16 } from './int16.mjs';
4
+ export { Int32, asInt32, isInt32 } from './int32.mjs';
5
+ export { NonNegativeFiniteNumber, asNonNegativeFiniteNumber, isNonNegativeFiniteNumber } from './non-negative-finite-number.mjs';
6
+ export { NonNegativeInt16, asNonNegativeInt16, isNonNegativeInt16 } from './non-negative-int16.mjs';
7
+ export { NonNegativeInt32, asNonNegativeInt32, isNonNegativeInt32 } from './non-negative-int32.mjs';
8
+ export { NonZeroFiniteNumber, asNonZeroFiniteNumber, isNonZeroFiniteNumber } from './non-zero-finite-number.mjs';
9
+ export { NonZeroInt, asNonZeroInt, isNonZeroInt } from './non-zero-int.mjs';
10
+ export { NonZeroInt16, asNonZeroInt16, isNonZeroInt16 } from './non-zero-int16.mjs';
11
+ export { NonZeroInt32, asNonZeroInt32, isNonZeroInt32 } from './non-zero-int32.mjs';
12
+ export { NonZeroSafeInt, asNonZeroSafeInt, isNonZeroSafeInt } from './non-zero-safe-int.mjs';
13
+ export { NonZeroUint16, asNonZeroUint16, isNonZeroUint16 } from './non-zero-uint16.mjs';
14
+ export { NonZeroUint32, asNonZeroUint32, isNonZeroUint32 } from './non-zero-uint32.mjs';
15
+ export { PositiveFiniteNumber, asPositiveFiniteNumber, isPositiveFiniteNumber } from './positive-finite-number.mjs';
16
+ export { PositiveInt, asPositiveInt, isPositiveInt } from './positive-int.mjs';
17
+ export { PositiveInt16, asPositiveInt16, isPositiveInt16 } from './positive-int16.mjs';
18
+ export { PositiveInt32, asPositiveInt32, isPositiveInt32 } from './positive-int32.mjs';
19
+ export { PositiveSafeInt, asPositiveSafeInt, isPositiveSafeInt } from './positive-safe-int.mjs';
20
+ export { PositiveUint16, asPositiveUint16, isPositiveUint16 } from './positive-uint16.mjs';
21
+ export { PositiveUint32, asPositiveUint32, isPositiveUint32 } from './positive-uint32.mjs';
22
+ export { SafeInt, asSafeInt, isSafeInt } from './safe-int.mjs';
23
+ export { SafeUint, asSafeUint, isSafeUint } from './safe-uint.mjs';
24
+ export { Uint, asUint, isUint } from './uint.mjs';
25
+ export { Uint16, asUint16, isUint16 } from './uint16.mjs';
26
+ export { Uint32, asUint32, isUint32 } from './uint32.mjs';
27
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}