ts-data-forge 11.0.0 → 11.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 (171) hide show
  1. package/dist/number/branded-types/finite-number.d.mts +47 -61
  2. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  3. package/dist/number/branded-types/finite-number.mjs +37 -41
  4. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  5. package/dist/number/branded-types/int.d.mts +40 -46
  6. package/dist/number/branded-types/int.d.mts.map +1 -1
  7. package/dist/number/branded-types/int.mjs +29 -31
  8. package/dist/number/branded-types/int.mjs.map +1 -1
  9. package/dist/number/branded-types/int16.d.mts +65 -58
  10. package/dist/number/branded-types/int16.d.mts.map +1 -1
  11. package/dist/number/branded-types/int16.mjs +49 -45
  12. package/dist/number/branded-types/int16.mjs.map +1 -1
  13. package/dist/number/branded-types/int32.d.mts +65 -58
  14. package/dist/number/branded-types/int32.d.mts.map +1 -1
  15. package/dist/number/branded-types/int32.mjs +49 -45
  16. package/dist/number/branded-types/int32.mjs.map +1 -1
  17. package/dist/number/branded-types/negative-finite-number.d.mts +68 -59
  18. package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
  19. package/dist/number/branded-types/negative-finite-number.mjs +52 -46
  20. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  21. package/dist/number/branded-types/negative-int.d.mts +60 -48
  22. package/dist/number/branded-types/negative-int.d.mts.map +1 -1
  23. package/dist/number/branded-types/negative-int.mjs +40 -36
  24. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  25. package/dist/number/branded-types/negative-safe-int.d.mts +57 -56
  26. package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
  27. package/dist/number/branded-types/negative-safe-int.mjs +40 -41
  28. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  29. package/dist/number/branded-types/non-negative-finite-number.d.mts +74 -64
  30. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  31. package/dist/number/branded-types/non-negative-finite-number.mjs +58 -51
  32. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  33. package/dist/number/branded-types/non-negative-int16.d.mts +64 -57
  34. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  35. package/dist/number/branded-types/non-negative-int16.mjs +47 -43
  36. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  37. package/dist/number/branded-types/non-negative-int32.d.mts +64 -58
  38. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  39. package/dist/number/branded-types/non-negative-int32.mjs +47 -44
  40. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  41. package/dist/number/branded-types/non-positive-finite-number.d.mts +64 -54
  42. package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
  43. package/dist/number/branded-types/non-positive-finite-number.mjs +48 -41
  44. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  45. package/dist/number/branded-types/non-positive-int.d.mts +41 -146
  46. package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
  47. package/dist/number/branded-types/non-positive-int.mjs +27 -107
  48. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  49. package/dist/number/branded-types/non-positive-safe-int.d.mts +54 -53
  50. package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
  51. package/dist/number/branded-types/non-positive-safe-int.mjs +37 -39
  52. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  53. package/dist/number/branded-types/non-zero-finite-number.d.mts +62 -49
  54. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  55. package/dist/number/branded-types/non-zero-finite-number.mjs +46 -37
  56. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  57. package/dist/number/branded-types/non-zero-int.d.mts +51 -38
  58. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  59. package/dist/number/branded-types/non-zero-int.mjs +31 -27
  60. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  61. package/dist/number/branded-types/non-zero-int16.d.mts +52 -53
  62. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  63. package/dist/number/branded-types/non-zero-int16.mjs +36 -39
  64. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  65. package/dist/number/branded-types/non-zero-int32.d.mts +52 -54
  66. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  67. package/dist/number/branded-types/non-zero-int32.mjs +36 -40
  68. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  69. package/dist/number/branded-types/non-zero-safe-int.d.mts +53 -54
  70. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  71. package/dist/number/branded-types/non-zero-safe-int.mjs +36 -40
  72. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  73. package/dist/number/branded-types/non-zero-uint16.d.mts +52 -53
  74. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  75. package/dist/number/branded-types/non-zero-uint16.mjs +35 -39
  76. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  77. package/dist/number/branded-types/non-zero-uint32.d.mts +52 -53
  78. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  79. package/dist/number/branded-types/non-zero-uint32.mjs +35 -39
  80. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  81. package/dist/number/branded-types/positive-finite-number.d.mts +74 -63
  82. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  83. package/dist/number/branded-types/positive-finite-number.mjs +58 -50
  84. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  85. package/dist/number/branded-types/positive-int.d.mts +46 -68
  86. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  87. package/dist/number/branded-types/positive-int.mjs +34 -49
  88. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  89. package/dist/number/branded-types/positive-int16.d.mts +61 -57
  90. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  91. package/dist/number/branded-types/positive-int16.mjs +44 -43
  92. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  93. package/dist/number/branded-types/positive-int32.d.mts +61 -57
  94. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  95. package/dist/number/branded-types/positive-int32.mjs +44 -43
  96. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  97. package/dist/number/branded-types/positive-safe-int.d.mts +62 -57
  98. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  99. package/dist/number/branded-types/positive-safe-int.mjs +45 -43
  100. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  101. package/dist/number/branded-types/positive-uint16.d.mts +61 -57
  102. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  103. package/dist/number/branded-types/positive-uint16.mjs +44 -43
  104. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  105. package/dist/number/branded-types/positive-uint32.d.mts +61 -58
  106. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  107. package/dist/number/branded-types/positive-uint32.mjs +44 -44
  108. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  109. package/dist/number/branded-types/safe-int.d.mts +43 -62
  110. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  111. package/dist/number/branded-types/safe-int.mjs +35 -42
  112. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  113. package/dist/number/branded-types/safe-uint.d.mts +62 -57
  114. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  115. package/dist/number/branded-types/safe-uint.mjs +46 -44
  116. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  117. package/dist/number/branded-types/uint.d.mts +63 -50
  118. package/dist/number/branded-types/uint.d.mts.map +1 -1
  119. package/dist/number/branded-types/uint.mjs +42 -39
  120. package/dist/number/branded-types/uint.mjs.map +1 -1
  121. package/dist/number/branded-types/uint16.d.mts +60 -58
  122. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  123. package/dist/number/branded-types/uint16.mjs +44 -43
  124. package/dist/number/branded-types/uint16.mjs.map +1 -1
  125. package/dist/number/branded-types/uint32.d.mts +59 -55
  126. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  127. package/dist/number/branded-types/uint32.mjs +42 -42
  128. package/dist/number/branded-types/uint32.mjs.map +1 -1
  129. package/dist/number/enum/int8.d.mts +56 -65
  130. package/dist/number/enum/int8.d.mts.map +1 -1
  131. package/dist/number/enum/int8.mjs +44 -43
  132. package/dist/number/enum/int8.mjs.map +1 -1
  133. package/dist/number/enum/uint8.d.mts +60 -58
  134. package/dist/number/enum/uint8.d.mts.map +1 -1
  135. package/dist/number/enum/uint8.mjs +44 -43
  136. package/dist/number/enum/uint8.mjs.map +1 -1
  137. package/package.json +2 -1
  138. package/src/number/branded-types/finite-number.mts +47 -61
  139. package/src/number/branded-types/int.mts +40 -46
  140. package/src/number/branded-types/int16.mts +65 -58
  141. package/src/number/branded-types/int32.mts +65 -58
  142. package/src/number/branded-types/negative-finite-number.mts +68 -68
  143. package/src/number/branded-types/negative-int.mts +60 -57
  144. package/src/number/branded-types/negative-safe-int.mts +57 -65
  145. package/src/number/branded-types/non-negative-finite-number.mts +74 -64
  146. package/src/number/branded-types/non-negative-int16.mts +64 -57
  147. package/src/number/branded-types/non-negative-int32.mts +64 -58
  148. package/src/number/branded-types/non-positive-finite-number.mts +64 -54
  149. package/src/number/branded-types/non-positive-int.mts +41 -146
  150. package/src/number/branded-types/non-positive-safe-int.mts +54 -53
  151. package/src/number/branded-types/non-zero-finite-number.mts +62 -51
  152. package/src/number/branded-types/non-zero-int.mts +51 -38
  153. package/src/number/branded-types/non-zero-int16.mts +52 -53
  154. package/src/number/branded-types/non-zero-int32.mts +52 -54
  155. package/src/number/branded-types/non-zero-safe-int.mts +53 -54
  156. package/src/number/branded-types/non-zero-uint16.mts +52 -53
  157. package/src/number/branded-types/non-zero-uint32.mts +52 -53
  158. package/src/number/branded-types/positive-finite-number.mts +74 -63
  159. package/src/number/branded-types/positive-int.mts +46 -68
  160. package/src/number/branded-types/positive-int16.mts +61 -57
  161. package/src/number/branded-types/positive-int32.mts +61 -57
  162. package/src/number/branded-types/positive-safe-int.mts +62 -57
  163. package/src/number/branded-types/positive-uint16.mts +61 -57
  164. package/src/number/branded-types/positive-uint32.mts +61 -58
  165. package/src/number/branded-types/safe-int.mts +43 -62
  166. package/src/number/branded-types/safe-uint.mts +62 -57
  167. package/src/number/branded-types/uint.mts +63 -50
  168. package/src/number/branded-types/uint16.mts +60 -58
  169. package/src/number/branded-types/uint32.mts +59 -55
  170. package/src/number/enum/int8.mts +56 -65
  171. package/src/number/enum/uint8.mts +60 -58
@@ -33,89 +33,98 @@ const isNonZeroFiniteNumber = is;
33
33
  const asNonZeroFiniteNumber = castType;
34
34
  const NonZeroFiniteNumber = {
35
35
  /**
36
- * Type guard to check if a value is a NonZeroFiniteNumber.
36
+ * Type guard that checks if a value is a non-zero finite number.
37
37
  *
38
- * @param value The value to check.
39
- * @returns `true` if the value is a non-zero finite number, `false`
40
- * otherwise.
38
+ * @param value - The value to check
39
+ * @returns `true` if the value is a non-zero finite number, `false` otherwise
40
+ * @see {@link isNonZeroFiniteNumber} for usage examples
41
41
  */
42
42
  is,
43
43
  /**
44
44
  * Returns the absolute value of a non-zero finite number.
45
45
  *
46
- * @param a The NonZeroFiniteNumber.
47
- * @returns The absolute value as a NonZeroFiniteNumber.
46
+ * The result is non-negative and keeps the `NonZeroFiniteNumber` brand.
47
+ *
48
+ * @param a - The non-zero finite number value
49
+ * @returns The absolute value as a non-negative `NonZeroFiniteNumber`
48
50
  */
49
51
  abs,
50
52
  /**
51
- * Returns the smaller of two NonZeroFiniteNumber values.
53
+ * Returns the smallest of the given non-zero finite numbers.
52
54
  *
53
- * @param a The first NonZeroFiniteNumber.
54
- * @param b The second NonZeroFiniteNumber.
55
- * @returns The minimum value as a NonZeroFiniteNumber.
55
+ * @param values - The non-zero finite numbers to compare (at least one required)
56
+ * @returns The smallest value as a `NonZeroFiniteNumber`
56
57
  */
57
58
  min: min_,
58
59
  /**
59
- * Returns the larger of two NonZeroFiniteNumber values.
60
+ * Returns the largest of the given non-zero finite numbers.
60
61
  *
61
- * @param a The first NonZeroFiniteNumber.
62
- * @param b The second NonZeroFiniteNumber.
63
- * @returns The maximum value as a NonZeroFiniteNumber.
62
+ * @param values - The non-zero finite numbers to compare (at least one required)
63
+ * @returns The largest value as a `NonZeroFiniteNumber`
64
64
  */
65
65
  max: max_,
66
66
  /**
67
- * Rounds down a NonZeroFiniteNumber to the nearest integer.
67
+ * Returns the greatest integer less than or equal to a non-zero finite
68
+ * number.
68
69
  *
69
- * @param x The NonZeroFiniteNumber to round down.
70
- * @returns The floor value as a NonZeroInt.
70
+ * @param a - The non-zero finite number value
71
+ * @returns The floored value as an integer
71
72
  */
72
73
  floor,
73
74
  /**
74
- * Rounds up a NonZeroFiniteNumber to the nearest integer.
75
+ * Returns the smallest integer greater than or equal to a non-zero finite
76
+ * number.
75
77
  *
76
- * @param x The NonZeroFiniteNumber to round up.
77
- * @returns The ceiling value as a NonZeroInt.
78
+ * @param a - The non-zero finite number value
79
+ * @returns The ceiled value as an integer
78
80
  */
79
81
  ceil,
80
82
  /**
81
- * Rounds a NonZeroFiniteNumber to the nearest integer.
83
+ * Returns the value of a non-zero finite number rounded to the nearest
84
+ * integer.
82
85
  *
83
- * @param x The NonZeroFiniteNumber to round.
84
- * @returns The rounded value as a NonZeroInt.
86
+ * @param a - The non-zero finite number value
87
+ * @returns The rounded value as an integer
85
88
  */
86
89
  round,
87
90
  /**
88
- * Generates a random NonZeroFiniteNumber value.
91
+ * Generates a random `NonZeroFiniteNumber` within the given range.
92
+ *
93
+ * The range is inclusive on both ends.
89
94
  *
90
- * @returns A random non-zero finite number.
95
+ * @param min - The minimum value (inclusive)
96
+ * @param max - The maximum value (inclusive)
97
+ * @returns A random `NonZeroFiniteNumber` in `[min, max]`
91
98
  */
92
99
  random,
93
100
  /**
94
- * Raises a NonZeroFiniteNumber to the power of another NonZeroFiniteNumber.
101
+ * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroFiniteNumber`.
95
102
  *
96
- * @param a The base NonZeroFiniteNumber.
97
- * @param b The exponent NonZeroFiniteNumber.
98
- * @returns `a ** b` as a NonZeroFiniteNumber.
103
+ * @param a - The base non-zero finite number
104
+ * @param b - The exponent non-zero finite number
105
+ * @returns `a ** b` as a `NonZeroFiniteNumber`
99
106
  */
100
107
  pow,
101
108
  /**
102
- * Multiplies two NonZeroFiniteNumber values.
109
+ * Multiplies two non-zero finite numbers, returning `a * b` as a
110
+ * `NonZeroFiniteNumber`.
103
111
  *
104
- * @param a The first NonZeroFiniteNumber.
105
- * @param b The second NonZeroFiniteNumber.
106
- * @returns `a * b` as a NonZeroFiniteNumber.
112
+ * @param a - The first non-zero finite number
113
+ * @param b - The second non-zero finite number
114
+ * @returns The product of `a` and `b` as a `NonZeroFiniteNumber`
107
115
  */
108
116
  mul,
109
117
  /**
110
- * Divides one NonZeroFiniteNumber by another.
118
+ * Divides two non-zero finite numbers, returning `a / b` as a
119
+ * `NonZeroFiniteNumber`.
111
120
  *
112
121
  * Exact (non-flooring) division of two non-zero finite numbers is always
113
122
  * non-zero, so this stays closed. For the non-closed operations (`add`/`sub`,
114
123
  * whose result may be `0`) use {@link Num.add}/{@link Num.sub}.
115
124
  *
116
- * @param a The dividend NonZeroFiniteNumber.
117
- * @param b The divisor NonZeroFiniteNumber.
118
- * @returns `a / b` as a NonZeroFiniteNumber.
125
+ * @param a - The dividend
126
+ * @param b - The divisor (must be non-zero)
127
+ * @returns `a / b` as a `NonZeroFiniteNumber`
119
128
  */
120
129
  div
121
130
  };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../src/number/branded-types/non-zero-finite-number.mts"],"sourcesContent":["import {\n type Int,\n type NonZeroInt,\n type PositiveFiniteNumber,\n type NonZeroFiniteNumber as TtfImported_NonZeroFiniteNumber,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroFiniteNumber = TtfImported_NonZeroFiniteNumber;\n\ntype ElementType = NonZeroFiniteNumber;\n\nconst typeNameInMessage = 'a non-zero finite number';\n\nconst {\n abs,\n castType,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<\n ElementType,\n number,\n number\n>({\n nonZero: true,\n MIN_VALUE: -Number.MAX_VALUE,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\n// Not provided because reasonable rounding operations that avoid becoming 0 cannot be defined\n\nconst floor = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.floor(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst ceil = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.ceil(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst round = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.round(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nexpectType<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>,\n NonZeroInt\n>('=');\n\nexpectType<\n TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n >,\n Int\n>('=');\n\n/**\n * Checks if a number is a NonZeroFiniteNumber (a finite number that is not 0).\n *\n * @param value The value to check.\n * @returns `true` if the value is a NonZeroFiniteNumber, `false` otherwise.\n */\nexport const isNonZeroFiniteNumber = is;\n\n/**\n * Casts a number to a NonZeroFiniteNumber type.\n *\n * @param value The value to cast.\n * @returns The value as a NonZeroFiniteNumber type.\n * @throws {TypeError} If the value is not a non-zero finite number.\n */\nexport const asNonZeroFiniteNumber = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for non-zero finite\n * numbers.\n *\n * All operations maintain the non-zero constraint while ensuring results remain\n * finite (excluding NaN and Infinity). This type is useful for values that must\n * never be zero, such as denominators, scaling factors, and ratios.\n */\nexport const NonZeroFiniteNumber = {\n /**\n * Type guard to check if a value is a NonZeroFiniteNumber.\n *\n * @param value The value to check.\n * @returns `true` if the value is a non-zero finite number, `false`\n * otherwise.\n */\n is,\n\n /**\n * Returns the absolute value of a non-zero finite number.\n *\n * @param a The NonZeroFiniteNumber.\n * @returns The absolute value as a NonZeroFiniteNumber.\n */\n abs,\n\n /**\n * Returns the smaller of two NonZeroFiniteNumber values.\n *\n * @param a The first NonZeroFiniteNumber.\n * @param b The second NonZeroFiniteNumber.\n * @returns The minimum value as a NonZeroFiniteNumber.\n */\n min: min_,\n\n /**\n * Returns the larger of two NonZeroFiniteNumber values.\n *\n * @param a The first NonZeroFiniteNumber.\n * @param b The second NonZeroFiniteNumber.\n * @returns The maximum value as a NonZeroFiniteNumber.\n */\n max: max_,\n\n /**\n * Rounds down a NonZeroFiniteNumber to the nearest integer.\n *\n * @param x The NonZeroFiniteNumber to round down.\n * @returns The floor value as a NonZeroInt.\n */\n floor,\n\n /**\n * Rounds up a NonZeroFiniteNumber to the nearest integer.\n *\n * @param x The NonZeroFiniteNumber to round up.\n * @returns The ceiling value as a NonZeroInt.\n */\n ceil,\n\n /**\n * Rounds a NonZeroFiniteNumber to the nearest integer.\n *\n * @param x The NonZeroFiniteNumber to round.\n * @returns The rounded value as a NonZeroInt.\n */\n round,\n\n /**\n * Generates a random NonZeroFiniteNumber value.\n *\n * @returns A random non-zero finite number.\n */\n random,\n\n /**\n * Raises a NonZeroFiniteNumber to the power of another NonZeroFiniteNumber.\n *\n * @param a The base NonZeroFiniteNumber.\n * @param b The exponent NonZeroFiniteNumber.\n * @returns `a ** b` as a NonZeroFiniteNumber.\n */\n pow,\n\n /**\n * Multiplies two NonZeroFiniteNumber values.\n *\n * @param a The first NonZeroFiniteNumber.\n * @param b The second NonZeroFiniteNumber.\n * @returns `a * b` as a NonZeroFiniteNumber.\n */\n mul,\n\n /**\n * Divides one NonZeroFiniteNumber by another.\n *\n * Exact (non-flooring) division of two non-zero finite numbers is always\n * non-zero, so this stays closed. For the non-closed operations (`add`/`sub`,\n * whose result may be `0`) use {@link Num.add}/{@link Num.sub}.\n *\n * @param a The dividend NonZeroFiniteNumber.\n * @param b The divisor NonZeroFiniteNumber.\n * @returns `a / b` as a NonZeroFiniteNumber.\n */\n div,\n} as const;\n\nexpectType<\n TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<ElementType>,\n PositiveFiniteNumber\n>('=');\n\nexpectType<\n keyof typeof NonZeroFiniteNumber,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n never,\n 'div' | 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroFiniteNumber,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n never,\n 'div' | 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAaA,MAAM,iBAAA,GAAoB,0BAAA;AAE1B,MAAM;AAAA,EACJ,GAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,iBAAA,CAI1C;AAAA,EACA,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,CAAC,MAAA,CAAO,SAAA;AAAA,EACnB,WAAW,MAAA,CAAO,SAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAIV,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,MAAM,CAAC;AAAA,CAAA;AAEd,MAAM,OAAO,CACX,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,KAAK,CAAC;AAAA,CAAA;AAEb,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,MAAM,CAAC;AAAA,CAAA;AAoBP,MAAM,qBAAA,GAAwB;AAS9B,MAAM,qBAAA,GAAwB;AAU9B,MAAM,mBAAA,GAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA;AACF;;;;"}
1
+ {"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../src/number/branded-types/non-zero-finite-number.mts"],"sourcesContent":["import {\n type Int,\n type NonZeroInt,\n type PositiveFiniteNumber,\n type NonZeroFiniteNumber as TtfImported_NonZeroFiniteNumber,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroFiniteNumber = TtfImported_NonZeroFiniteNumber;\n\ntype ElementType = NonZeroFiniteNumber;\n\nconst typeNameInMessage = 'a non-zero finite number';\n\nconst {\n abs,\n castType,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<\n ElementType,\n number,\n number\n>({\n nonZero: true,\n MIN_VALUE: -Number.MAX_VALUE,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\nconst floor = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.floor(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst ceil = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.ceil(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst round = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.round(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nexpectType<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>,\n NonZeroInt\n>('=');\n\nexpectType<\n TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n >,\n Int\n>('=');\n\n/**\n * Type guard that checks if a value is a non-zero finite number.\n *\n * Returns `true` only for a finite value — never `NaN`, `Infinity`, or\n * `-Infinity`.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero finite number, `false` otherwise\n */\nexport const isNonZeroFiniteNumber = is;\n\n/**\n * Casts a `number` to the `NonZeroFiniteNumber` branded type.\n *\n * Validates that the value is a non-zero finite number and returns it with the\n * `NonZeroFiniteNumber` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonZeroFiniteNumber`\n * @throws {TypeError} If the value is not a non-zero finite number\n */\nexport const asNonZeroFiniteNumber = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonZeroFiniteNumber`\n * branded type.\n *\n * The `NonZeroFiniteNumber` type represents a non-zero finite number.\n */\nexport const NonZeroFiniteNumber = {\n /**\n * Type guard that checks if a value is a non-zero finite number.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero finite number, `false` otherwise\n * @see {@link isNonZeroFiniteNumber} for usage examples\n */\n is,\n\n /**\n * Returns the absolute value of a non-zero finite number.\n *\n * The result is non-negative and keeps the `NonZeroFiniteNumber` brand.\n *\n * @param a - The non-zero finite number value\n * @returns The absolute value as a non-negative `NonZeroFiniteNumber`\n */\n abs,\n\n /**\n * Returns the smallest of the given non-zero finite numbers.\n *\n * @param values - The non-zero finite numbers to compare (at least one required)\n * @returns The smallest value as a `NonZeroFiniteNumber`\n */\n min: min_,\n\n /**\n * Returns the largest of the given non-zero finite numbers.\n *\n * @param values - The non-zero finite numbers to compare (at least one required)\n * @returns The largest value as a `NonZeroFiniteNumber`\n */\n max: max_,\n\n /**\n * Returns the greatest integer less than or equal to a non-zero finite\n * number.\n *\n * @param a - The non-zero finite number value\n * @returns The floored value as an integer\n */\n floor,\n\n /**\n * Returns the smallest integer greater than or equal to a non-zero finite\n * number.\n *\n * @param a - The non-zero finite number value\n * @returns The ceiled value as an integer\n */\n ceil,\n\n /**\n * Returns the value of a non-zero finite number rounded to the nearest\n * integer.\n *\n * @param a - The non-zero finite number value\n * @returns The rounded value as an integer\n */\n round,\n\n /**\n * Generates a random `NonZeroFiniteNumber` within the given range.\n *\n * The range is inclusive on both ends.\n *\n * @param min - The minimum value (inclusive)\n * @param max - The maximum value (inclusive)\n * @returns A random `NonZeroFiniteNumber` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroFiniteNumber`.\n *\n * @param a - The base non-zero finite number\n * @param b - The exponent non-zero finite number\n * @returns `a ** b` as a `NonZeroFiniteNumber`\n */\n pow,\n\n /**\n * Multiplies two non-zero finite numbers, returning `a * b` as a\n * `NonZeroFiniteNumber`.\n *\n * @param a - The first non-zero finite number\n * @param b - The second non-zero finite number\n * @returns The product of `a` and `b` as a `NonZeroFiniteNumber`\n */\n mul,\n\n /**\n * Divides two non-zero finite numbers, returning `a / b` as a\n * `NonZeroFiniteNumber`.\n *\n * Exact (non-flooring) division of two non-zero finite numbers is always\n * non-zero, so this stays closed. For the non-closed operations (`add`/`sub`,\n * whose result may be `0`) use {@link Num.add}/{@link Num.sub}.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns `a / b` as a `NonZeroFiniteNumber`\n */\n div,\n} as const;\n\nexpectType<\n TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<ElementType>,\n PositiveFiniteNumber\n>('=');\n\nexpectType<\n keyof typeof NonZeroFiniteNumber,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n never,\n 'div' | 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroFiniteNumber,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n never,\n 'div' | 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAaA,MAAM,iBAAA,GAAoB,0BAAA;AAE1B,MAAM;AAAA,EACJ,GAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,iBAAA,CAI1C;AAAA,EACA,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,CAAC,MAAA,CAAO,SAAA;AAAA,EACnB,WAAW,MAAA,CAAO,SAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAEV,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,MAAM,CAAC;AAAA,CAAA;AAEd,MAAM,OAAO,CACX,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,KAAK,CAAC;AAAA,CAAA;AAEb,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,MAAM,CAAC;AAAA,CAAA;AAuBP,MAAM,qBAAA,GAAwB;AAY9B,MAAM,qBAAA,GAAwB;AAQ9B,MAAM,mBAAA,GAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA;AACF;;;;"}
@@ -1,18 +1,24 @@
1
1
  import { type NonZeroInt as TtfImported_NonZeroInt } from 'ts-type-forge';
2
2
  export type NonZeroInt = TtfImported_NonZeroInt;
3
3
  /**
4
- * Checks if a number is a NonZeroInt.
4
+ * Type guard that checks if a value is a non-zero integer.
5
5
  *
6
- * @param value The value to check.
7
- * @returns `true` if the value is a NonZeroInt, `false` otherwise.
6
+ * Returns `true` for a non-zero integer — a value with no fractional component,
7
+ * including values outside the safe integer range (unlike `SafeInt`).
8
+ *
9
+ * @param value - The value to check
10
+ * @returns `true` if the value is a non-zero integer, `false` otherwise
8
11
  */
9
12
  export declare const isNonZeroInt: (a: number) => a is TtfImported_NonZeroInt;
10
13
  /**
11
- * Casts a number to a NonZeroInt type.
14
+ * Casts a `number` to the `NonZeroInt` branded type.
15
+ *
16
+ * Validates that the value is a non-zero integer and returns it with the
17
+ * `NonZeroInt` brand. Throws a `TypeError` otherwise.
12
18
  *
13
- * @param value The value to cast.
14
- * @returns The value as a NonZeroInt type.
15
- * @throws {TypeError} If the value is not a non-zero integer.
19
+ * @param value - The value to cast
20
+ * @returns The value as a `NonZeroInt`
21
+ * @throws {TypeError} If the value is not a non-zero integer
16
22
  */
17
23
  export declare const asNonZeroInt: <N extends number>(x: N) => number & {
18
24
  readonly "!=0": true;
@@ -23,67 +29,74 @@ export declare const asNonZeroInt: <N extends number>(x: N) => number & {
23
29
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
24
30
  }> & N;
25
31
  /**
26
- * Namespace providing type-safe arithmetic operations for non-zero integers.
32
+ * Namespace providing type-safe operations for the `NonZeroInt` branded type.
33
+ *
34
+ * The `NonZeroInt` type represents a non-zero integer. Division (`div`) uses
35
+ * floor division.
27
36
  *
28
- * All operations maintain the non-zero constraint, ensuring that results are
29
- * always valid NonZeroInt values. Division operations return floor division
30
- * results, and all arithmetic maintains integer precision.
37
+ * Unlike `SafeInt`, `NonZeroInt` allows values outside the safe integer range
38
+ * (±2^53 − 1), so very large magnitudes may lose precision in JavaScript's
39
+ * `number` type.
31
40
  */
32
41
  export declare const NonZeroInt: {
33
42
  /**
34
- * Type guard to check if a value is a NonZeroInt.
43
+ * Type guard that checks if a value is a non-zero integer.
35
44
  *
36
- * @param value The value to check.
37
- * @returns `true` if the value is a non-zero integer, `false` otherwise.
45
+ * @param value - The value to check
46
+ * @returns `true` if the value is a non-zero integer, `false` otherwise
47
+ * @see {@link isNonZeroInt} for usage examples
38
48
  */
39
49
  readonly is: (a: number) => a is TtfImported_NonZeroInt;
40
50
  /**
41
51
  * Returns the absolute value of a non-zero integer.
42
52
  *
43
- * @param a The non-zero integer.
44
- * @returns The absolute value as a NonZeroInt.
53
+ * The result is non-negative and keeps the `NonZeroInt` brand. Note that
54
+ * `Math.abs(Number.MIN_SAFE_INTEGER)` exceeds `Number.MAX_SAFE_INTEGER`, so
55
+ * use `SafeInt` for guaranteed precision.
56
+ *
57
+ * @param a - The non-zero integer value
58
+ * @returns The absolute value as a non-negative `NonZeroInt`
45
59
  */
46
60
  readonly abs: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>) => import("ts-type-forge").IntersectBrand<TtfImported_NonZeroInt, import("ts-type-forge").PositiveNumber>;
47
61
  /**
48
- * Returns the smaller of two non-zero integers.
62
+ * Returns the smallest of the given non-zero integers.
49
63
  *
50
- * @param a The first non-zero integer.
51
- * @param b The second non-zero integer.
52
- * @returns The minimum value as a NonZeroInt.
64
+ * @param values - The non-zero integers to compare (at least one required)
65
+ * @returns The smallest value as a `NonZeroInt`
53
66
  */
54
67
  readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>[]) => TtfImported_NonZeroInt;
55
68
  /**
56
- * Returns the larger of two non-zero integers.
69
+ * Returns the largest of the given non-zero integers.
57
70
  *
58
- * @param a The first non-zero integer.
59
- * @param b The second non-zero integer.
60
- * @returns The maximum value as a NonZeroInt.
71
+ * @param values - The non-zero integers to compare (at least one required)
72
+ * @returns The largest value as a `NonZeroInt`
61
73
  */
62
74
  readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>[]) => TtfImported_NonZeroInt;
63
75
  /**
64
- * Generates a random non-zero integer.
76
+ * Generates a random `NonZeroInt` within the given range.
77
+ *
78
+ * The range is inclusive on both ends.
65
79
  *
66
- * @returns A random NonZeroInt value.
80
+ * @param min - The minimum value (inclusive)
81
+ * @param max - The maximum value (inclusive)
82
+ * @returns A random `NonZeroInt` in `[min, max]`
67
83
  */
68
84
  readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt> | undefined) => TtfImported_NonZeroInt;
69
85
  /**
70
- * Raises a non-zero integer to the power of another non-zero integer.
86
+ * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroInt` (floored
87
+ * to an integer).
71
88
  *
72
- * @param a The base non-zero integer.
73
- * @param b The exponent non-zero integer.
74
- * @returns `a ** b` as a NonZeroInt.
89
+ * @param a - The base non-zero integer
90
+ * @param b - The exponent non-zero integer
91
+ * @returns `a ** b` as a `NonZeroInt`
75
92
  */
76
93
  readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>) => TtfImported_NonZeroInt;
77
94
  /**
78
- * Multiplies two non-zero integers.
79
- *
80
- * The product of two non-zero integers is always non-zero, so this stays
81
- * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
82
- * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
95
+ * Multiplies two non-zero integers, returning `a * b` as a `NonZeroInt`.
83
96
  *
84
- * @param a The first non-zero integer.
85
- * @param b The second non-zero integer.
86
- * @returns `a * b` as a NonZeroInt.
97
+ * @param a - The first non-zero integer
98
+ * @param b - The second non-zero integer
99
+ * @returns The product of `a` and `b` as a `NonZeroInt`
87
100
  */
88
101
  readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt>) => TtfImported_NonZeroInt;
89
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,IAAI,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAI1E,MAAM,MAAM,UAAU,GAAG,sBAAsB,CAAC;AA2BhD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,4CAAK,CAAC;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;MAAW,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;;;OAUG;;CAEK,CAAC"}
1
+ {"version":3,"file":"non-zero-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,IAAI,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAI1E,MAAM,MAAM,UAAU,GAAG,sBAAsB,CAAC;AA2BhD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,4CAAK,CAAC;AAE/B;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY;;;;;;;MAAW,CAAC;AAErC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;IACrB;;;;;;OAMG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;CAEK,CAAC"}
@@ -21,59 +21,63 @@ const isNonZeroInt = is;
21
21
  const asNonZeroInt = castType;
22
22
  const NonZeroInt = {
23
23
  /**
24
- * Type guard to check if a value is a NonZeroInt.
24
+ * Type guard that checks if a value is a non-zero integer.
25
25
  *
26
- * @param value The value to check.
27
- * @returns `true` if the value is a non-zero integer, `false` otherwise.
26
+ * @param value - The value to check
27
+ * @returns `true` if the value is a non-zero integer, `false` otherwise
28
+ * @see {@link isNonZeroInt} for usage examples
28
29
  */
29
30
  is,
30
31
  /**
31
32
  * Returns the absolute value of a non-zero integer.
32
33
  *
33
- * @param a The non-zero integer.
34
- * @returns The absolute value as a NonZeroInt.
34
+ * The result is non-negative and keeps the `NonZeroInt` brand. Note that
35
+ * `Math.abs(Number.MIN_SAFE_INTEGER)` exceeds `Number.MAX_SAFE_INTEGER`, so
36
+ * use `SafeInt` for guaranteed precision.
37
+ *
38
+ * @param a - The non-zero integer value
39
+ * @returns The absolute value as a non-negative `NonZeroInt`
35
40
  */
36
41
  abs,
37
42
  /**
38
- * Returns the smaller of two non-zero integers.
43
+ * Returns the smallest of the given non-zero integers.
39
44
  *
40
- * @param a The first non-zero integer.
41
- * @param b The second non-zero integer.
42
- * @returns The minimum value as a NonZeroInt.
45
+ * @param values - The non-zero integers to compare (at least one required)
46
+ * @returns The smallest value as a `NonZeroInt`
43
47
  */
44
48
  min: min_,
45
49
  /**
46
- * Returns the larger of two non-zero integers.
50
+ * Returns the largest of the given non-zero integers.
47
51
  *
48
- * @param a The first non-zero integer.
49
- * @param b The second non-zero integer.
50
- * @returns The maximum value as a NonZeroInt.
52
+ * @param values - The non-zero integers to compare (at least one required)
53
+ * @returns The largest value as a `NonZeroInt`
51
54
  */
52
55
  max: max_,
53
56
  /**
54
- * Generates a random non-zero integer.
57
+ * Generates a random `NonZeroInt` within the given range.
58
+ *
59
+ * The range is inclusive on both ends.
55
60
  *
56
- * @returns A random NonZeroInt value.
61
+ * @param min - The minimum value (inclusive)
62
+ * @param max - The maximum value (inclusive)
63
+ * @returns A random `NonZeroInt` in `[min, max]`
57
64
  */
58
65
  random,
59
66
  /**
60
- * Raises a non-zero integer to the power of another non-zero integer.
67
+ * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroInt` (floored
68
+ * to an integer).
61
69
  *
62
- * @param a The base non-zero integer.
63
- * @param b The exponent non-zero integer.
64
- * @returns `a ** b` as a NonZeroInt.
70
+ * @param a - The base non-zero integer
71
+ * @param b - The exponent non-zero integer
72
+ * @returns `a ** b` as a `NonZeroInt`
65
73
  */
66
74
  pow,
67
75
  /**
68
- * Multiplies two non-zero integers.
69
- *
70
- * The product of two non-zero integers is always non-zero, so this stays
71
- * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
72
- * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
76
+ * Multiplies two non-zero integers, returning `a * b` as a `NonZeroInt`.
73
77
  *
74
- * @param a The first non-zero integer.
75
- * @param b The second non-zero integer.
76
- * @returns `a * b` as a NonZeroInt.
78
+ * @param a - The first non-zero integer
79
+ * @param b - The second non-zero integer
80
+ * @returns The product of `a` and `b` as a `NonZeroInt`
77
81
  */
78
82
  mul
79
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int.mjs","sources":["../../../src/number/branded-types/non-zero-int.mts"],"sourcesContent":["import { type NonZeroInt as TtfImported_NonZeroInt } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroInt = TtfImported_NonZeroInt;\n\ntype ElementType = NonZeroInt;\n\nconst typeNameInMessage = 'a non-zero integer';\n\nconst {\n abs,\n castType,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n number\n>({\n integerOrSafeInteger: 'Integer',\n nonZero: true,\n MIN_VALUE: -Number.MAX_VALUE,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a NonZeroInt.\n *\n * @param value The value to check.\n * @returns `true` if the value is a NonZeroInt, `false` otherwise.\n */\nexport const isNonZeroInt = is;\n\n/**\n * Casts a number to a NonZeroInt type.\n *\n * @param value The value to cast.\n * @returns The value as a NonZeroInt type.\n * @throws {TypeError} If the value is not a non-zero integer.\n */\nexport const asNonZeroInt = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for non-zero integers.\n *\n * All operations maintain the non-zero constraint, ensuring that results are\n * always valid NonZeroInt values. Division operations return floor division\n * results, and all arithmetic maintains integer precision.\n */\nexport const NonZeroInt = {\n /**\n * Type guard to check if a value is a NonZeroInt.\n *\n * @param value The value to check.\n * @returns `true` if the value is a non-zero integer, `false` otherwise.\n */\n is,\n\n /**\n * Returns the absolute value of a non-zero integer.\n *\n * @param a The non-zero integer.\n * @returns The absolute value as a NonZeroInt.\n */\n abs,\n\n /**\n * Returns the smaller of two non-zero integers.\n *\n * @param a The first non-zero integer.\n * @param b The second non-zero integer.\n * @returns The minimum value as a NonZeroInt.\n */\n min: min_,\n\n /**\n * Returns the larger of two non-zero integers.\n *\n * @param a The first non-zero integer.\n * @param b The second non-zero integer.\n * @returns The maximum value as a NonZeroInt.\n */\n max: max_,\n\n /**\n * Generates a random non-zero integer.\n *\n * @returns A random NonZeroInt value.\n */\n random,\n\n /**\n * Raises a non-zero integer to the power of another non-zero integer.\n *\n * @param a The base non-zero integer.\n * @param b The exponent non-zero integer.\n * @returns `a ** b` as a NonZeroInt.\n */\n pow,\n\n /**\n * Multiplies two non-zero integers.\n *\n * The product of two non-zero integers is always non-zero, so this stays\n * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may\n * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.\n *\n * @param a The first non-zero integer.\n * @param b The second non-zero integer.\n * @returns `a * b` as a NonZeroInt.\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroInt,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int',\n 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroInt,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<ElementType, 'int', 'mul'>\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,oBAAA;AAE1B,MAAM;AAAA,EACJ,GAAA;AAAA,EACA,QAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,SAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,CAAC,MAAA,CAAO,SAAA;AAAA,EACnB,WAAW,MAAA,CAAO,SAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAQH,MAAM,YAAA,GAAe;AASrB,MAAM,YAAA,GAAe;AASrB,MAAM,UAAA,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOL,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA;AACF;;;;"}
1
+ {"version":3,"file":"non-zero-int.mjs","sources":["../../../src/number/branded-types/non-zero-int.mts"],"sourcesContent":["import { type NonZeroInt as TtfImported_NonZeroInt } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroInt = TtfImported_NonZeroInt;\n\ntype ElementType = NonZeroInt;\n\nconst typeNameInMessage = 'a non-zero integer';\n\nconst {\n abs,\n castType,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n number\n>({\n integerOrSafeInteger: 'Integer',\n nonZero: true,\n MIN_VALUE: -Number.MAX_VALUE,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a non-zero integer.\n *\n * Returns `true` for a non-zero integer — a value with no fractional component,\n * including values outside the safe integer range (unlike `SafeInt`).\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero integer, `false` otherwise\n */\nexport const isNonZeroInt = is;\n\n/**\n * Casts a `number` to the `NonZeroInt` branded type.\n *\n * Validates that the value is a non-zero integer and returns it with the\n * `NonZeroInt` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonZeroInt`\n * @throws {TypeError} If the value is not a non-zero integer\n */\nexport const asNonZeroInt = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonZeroInt` branded type.\n *\n * The `NonZeroInt` type represents a non-zero integer. Division (`div`) uses\n * floor division.\n *\n * Unlike `SafeInt`, `NonZeroInt` allows values outside the safe integer range\n * (±2^53 − 1), so very large magnitudes may lose precision in JavaScript's\n * `number` type.\n */\nexport const NonZeroInt = {\n /**\n * Type guard that checks if a value is a non-zero integer.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero integer, `false` otherwise\n * @see {@link isNonZeroInt} for usage examples\n */\n is,\n\n /**\n * Returns the absolute value of a non-zero integer.\n *\n * The result is non-negative and keeps the `NonZeroInt` brand. Note that\n * `Math.abs(Number.MIN_SAFE_INTEGER)` exceeds `Number.MAX_SAFE_INTEGER`, so\n * use `SafeInt` for guaranteed precision.\n *\n * @param a - The non-zero integer value\n * @returns The absolute value as a non-negative `NonZeroInt`\n */\n abs,\n\n /**\n * Returns the smallest of the given non-zero integers.\n *\n * @param values - The non-zero integers to compare (at least one required)\n * @returns The smallest value as a `NonZeroInt`\n */\n min: min_,\n\n /**\n * Returns the largest of the given non-zero integers.\n *\n * @param values - The non-zero integers to compare (at least one required)\n * @returns The largest value as a `NonZeroInt`\n */\n max: max_,\n\n /**\n * Generates a random `NonZeroInt` within the given range.\n *\n * The range is inclusive on both ends.\n *\n * @param min - The minimum value (inclusive)\n * @param max - The maximum value (inclusive)\n * @returns A random `NonZeroInt` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroInt` (floored\n * to an integer).\n *\n * @param a - The base non-zero integer\n * @param b - The exponent non-zero integer\n * @returns `a ** b` as a `NonZeroInt`\n */\n pow,\n\n /**\n * Multiplies two non-zero integers, returning `a * b` as a `NonZeroInt`.\n *\n * @param a - The first non-zero integer\n * @param b - The second non-zero integer\n * @returns The product of `a` and `b` as a `NonZeroInt`\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroInt,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int',\n 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroInt,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<ElementType, 'int', 'mul'>\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,oBAAA;AAE1B,MAAM;AAAA,EACJ,GAAA;AAAA,EACA,QAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,SAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,CAAC,MAAA,CAAO,SAAA;AAAA,EACnB,WAAW,MAAA,CAAO,SAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAWH,MAAM,YAAA,GAAe;AAYrB,MAAM,YAAA,GAAe;AAYrB,MAAM,UAAA,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQxB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWL,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AACF;;;;"}
@@ -1,19 +1,24 @@
1
1
  import { type NonZeroInt16 as TtfImported_NonZeroInt16 } from 'ts-type-forge';
2
2
  export type NonZeroInt16 = TtfImported_NonZeroInt16;
3
3
  /**
4
- * Checks if a number is a NonZeroInt16 (16-bit non-zero signed integer in the
5
- * range [-2^15, 2^15) excluding 0).
4
+ * Type guard that checks if a value is a non-zero integer in [-2^15, 2^15).
6
5
  *
7
- * @param value The value to check.
8
- * @returns `true` if the value is a NonZeroInt16, `false` otherwise.
6
+ * Returns `true` for a non-zero integer in [-2^15, 2^15) — a value with no
7
+ * fractional component.
8
+ *
9
+ * @param value - The value to check
10
+ * @returns `true` if the value is a non-zero integer in [-2^15, 2^15), `false` otherwise
9
11
  */
10
12
  export declare const isNonZeroInt16: (a: number) => a is TtfImported_NonZeroInt16;
11
13
  /**
12
- * Casts a number to a NonZeroInt16 type.
14
+ * Casts a `number` to the `NonZeroInt16` branded type.
15
+ *
16
+ * Validates that the value is a non-zero integer in [-2^15, 2^15) and returns
17
+ * it with the `NonZeroInt16` brand. Throws a `TypeError` otherwise.
13
18
  *
14
- * @param value The value to cast.
15
- * @returns The value as a NonZeroInt16 type.
16
- * @throws {TypeError} If the value is not a non-zero integer in [-2^15, 2^15).
19
+ * @param value - The value to cast
20
+ * @returns The value as a `NonZeroInt16`
21
+ * @throws {TypeError} If the value is not a non-zero integer in [-2^15, 2^15)
17
22
  */
18
23
  export declare const asNonZeroInt16: <N extends number>(x: N) => number & {
19
24
  readonly "!=0": true;
@@ -33,90 +38,84 @@ export declare const asNonZeroInt16: <N extends number>(x: N) => number & {
33
38
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
34
39
  }> & N;
35
40
  /**
36
- * Namespace providing type-safe arithmetic operations for 16-bit non-zero
37
- * signed integers.
41
+ * Namespace providing type-safe operations for the `NonZeroInt16` branded type.
38
42
  *
39
- * All operations automatically clamp results to the valid NonZeroInt16 range
40
- * [-32768, 32767] excluding 0. This ensures that all arithmetic maintains the
41
- * 16-bit non-zero signed integer constraint, preventing zero results and
42
- * overflow.
43
+ * The `NonZeroInt16` type represents a non-zero integer in [-2^15, 2^15).
44
+ * Division (`div`) uses floor division.
43
45
  */
44
46
  export declare const NonZeroInt16: {
45
47
  /**
46
- * Type guard to check if a value is a NonZeroInt16.
48
+ * Type guard that checks if a value is a non-zero integer in [-2^15, 2^15).
47
49
  *
48
- * @param value The value to check.
49
- * @returns `true` if the value is a 16-bit non-zero signed integer, `false`
50
- * otherwise.
50
+ * @param value - The value to check
51
+ * @returns `true` if the value is a non-zero integer in [-2^15, 2^15), `false` otherwise
52
+ * @see {@link isNonZeroInt16} for usage examples
51
53
  */
52
54
  readonly is: (a: number) => a is TtfImported_NonZeroInt16;
53
55
  /**
54
- * The minimum value for a 16-bit non-zero signed integer.
55
- *
56
- * @readonly
56
+ * The smallest value representable as `NonZeroInt16`.
57
57
  */
58
58
  readonly MIN_VALUE: number;
59
59
  /**
60
- * The maximum value for a 16-bit non-zero signed integer.
61
- *
62
- * @readonly
60
+ * The largest value representable as `NonZeroInt16`.
63
61
  */
64
62
  readonly MAX_VALUE: number;
65
63
  /**
66
- * Returns the absolute value of a 16-bit non-zero signed integer.
64
+ * Returns the absolute value of a non-zero integer in [-2^15, 2^15).
67
65
  *
68
- * @param a The NonZeroInt16 value.
69
- * @returns The absolute value as a NonZeroInt16, clamped to valid range.
66
+ * The result is non-negative and keeps the `NonZeroInt16` brand.
67
+ *
68
+ * @param a - The non-zero integer value
69
+ * @returns The absolute value as a non-negative `NonZeroInt16`
70
70
  */
71
71
  readonly abs: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>) => import("ts-type-forge").IntersectBrand<TtfImported_NonZeroInt16, import("ts-type-forge").PositiveNumber>;
72
72
  /**
73
- * Returns the smaller of two NonZeroInt16 values.
73
+ * Returns the smallest of the given non-zero integers.
74
74
  *
75
- * @param a The first NonZeroInt16.
76
- * @param b The second NonZeroInt16.
77
- * @returns The minimum value as a NonZeroInt16.
75
+ * @param values - The non-zero integers to compare (at least one required)
76
+ * @returns The smallest value as a `NonZeroInt16`
78
77
  */
79
78
  readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>[]) => TtfImported_NonZeroInt16;
80
79
  /**
81
- * Returns the larger of two NonZeroInt16 values.
80
+ * Returns the largest of the given non-zero integers.
82
81
  *
83
- * @param a The first NonZeroInt16.
84
- * @param b The second NonZeroInt16.
85
- * @returns The maximum value as a NonZeroInt16.
82
+ * @param values - The non-zero integers to compare (at least one required)
83
+ * @returns The largest value as a `NonZeroInt16`
86
84
  */
87
85
  readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>[]) => TtfImported_NonZeroInt16;
88
86
  /**
89
- * Clamps a number to the NonZeroInt16 range (avoiding zero).
87
+ * Clamps a `number` into the `NonZeroInt16` range, rounding to the nearest
88
+ * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
90
89
  *
91
- * @param value The number to clamp.
92
- * @returns The value clamped to [-32768, 32767] \ {0} as a NonZeroInt16.
90
+ * @param value - The value to clamp
91
+ * @returns The clamped value as a `NonZeroInt16`
93
92
  */
94
93
  readonly clamp: (x: number) => TtfImported_NonZeroInt16;
95
94
  /**
96
- * Generates a random NonZeroInt16 value within the valid range.
95
+ * Generates a random `NonZeroInt16` within the given range.
96
+ *
97
+ * The range is inclusive on both ends.
97
98
  *
98
- * @returns A random NonZeroInt16 between MIN_VALUE and MAX_VALUE (excluding
99
- * 0).
99
+ * @param min - The minimum value (inclusive)
100
+ * @param max - The maximum value (inclusive)
101
+ * @returns A random `NonZeroInt16` in `[min, max]`
100
102
  */
101
103
  readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16> | undefined) => TtfImported_NonZeroInt16;
102
104
  /**
103
- * Raises a NonZeroInt16 to the power of another NonZeroInt16.
105
+ * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroInt16`
106
+ * (floored to an integer).
104
107
  *
105
- * @param a The base NonZeroInt16.
106
- * @param b The exponent NonZeroInt16.
107
- * @returns `a ** b` clamped to [-32768, 32767] as a NonZeroInt16.
108
+ * @param a - The base non-zero integer
109
+ * @param b - The exponent non-zero integer
110
+ * @returns `a ** b` as a `NonZeroInt16`
108
111
  */
109
112
  readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>) => TtfImported_NonZeroInt16;
110
113
  /**
111
- * Multiplies two NonZeroInt16 values.
112
- *
113
- * The product of two non-zero integers is always non-zero, so this stays
114
- * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
115
- * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
114
+ * Multiplies two non-zero integers, returning `a * b` as a `NonZeroInt16`.
116
115
  *
117
- * @param a The first NonZeroInt16.
118
- * @param b The second NonZeroInt16.
119
- * @returns `a * b` clamped to [-32768, 32767] as a NonZeroInt16.
116
+ * @param a - The first non-zero integer
117
+ * @param b - The second non-zero integer
118
+ * @returns The product of `a` and `b` as a `NonZeroInt16`
120
119
  */
121
120
  readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonZeroInt16>) => TtfImported_NonZeroInt16;
122
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int16.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,IAAI,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9E,MAAM,MAAM,YAAY,GAAG,wBAAwB,CAAC;AA8BpD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8CAAK,CAAC;AAEjC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;MAAW,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;;;OAUG;;CAEK,CAAC"}
1
+ {"version":3,"file":"non-zero-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int16.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,IAAI,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9E,MAAM,MAAM,YAAY,GAAG,wBAAwB,CAAC;AA8BpD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,8CAAK,CAAC;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;MAAW,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;CAEK,CAAC"}