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.
- package/dist/number/branded-types/finite-number.d.mts +47 -61
- package/dist/number/branded-types/finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/finite-number.mjs +37 -41
- package/dist/number/branded-types/finite-number.mjs.map +1 -1
- package/dist/number/branded-types/int.d.mts +40 -46
- package/dist/number/branded-types/int.d.mts.map +1 -1
- package/dist/number/branded-types/int.mjs +29 -31
- package/dist/number/branded-types/int.mjs.map +1 -1
- package/dist/number/branded-types/int16.d.mts +65 -58
- package/dist/number/branded-types/int16.d.mts.map +1 -1
- package/dist/number/branded-types/int16.mjs +49 -45
- package/dist/number/branded-types/int16.mjs.map +1 -1
- package/dist/number/branded-types/int32.d.mts +65 -58
- package/dist/number/branded-types/int32.d.mts.map +1 -1
- package/dist/number/branded-types/int32.mjs +49 -45
- package/dist/number/branded-types/int32.mjs.map +1 -1
- package/dist/number/branded-types/negative-finite-number.d.mts +68 -59
- package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/negative-finite-number.mjs +52 -46
- package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/negative-int.d.mts +60 -48
- package/dist/number/branded-types/negative-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-int.mjs +40 -36
- package/dist/number/branded-types/negative-int.mjs.map +1 -1
- package/dist/number/branded-types/negative-safe-int.d.mts +57 -56
- package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-safe-int.mjs +40 -41
- package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.d.mts +74 -64
- package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.mjs +58 -51
- package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts +64 -57
- package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int16.mjs +47 -43
- package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts +64 -58
- package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int32.mjs +47 -44
- package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.d.mts +64 -54
- package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.mjs +48 -41
- package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-int.d.mts +41 -146
- package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-int.mjs +27 -107
- package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.d.mts +54 -53
- package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.mjs +37 -39
- package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.d.mts +62 -49
- package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.mjs +46 -37
- package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int.d.mts +51 -38
- package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int.mjs +31 -27
- package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int16.d.mts +52 -53
- package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int16.mjs +36 -39
- package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int32.d.mts +52 -54
- package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int32.mjs +36 -40
- package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.d.mts +53 -54
- package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.mjs +36 -40
- package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.d.mts +52 -53
- package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.mjs +35 -39
- package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.d.mts +52 -53
- package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.mjs +35 -39
- package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
- package/dist/number/branded-types/positive-finite-number.d.mts +74 -63
- package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/positive-finite-number.mjs +58 -50
- package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/positive-int.d.mts +46 -68
- package/dist/number/branded-types/positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int.mjs +34 -49
- package/dist/number/branded-types/positive-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-int16.d.mts +61 -57
- package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int16.mjs +44 -43
- package/dist/number/branded-types/positive-int16.mjs.map +1 -1
- package/dist/number/branded-types/positive-int32.d.mts +61 -57
- package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int32.mjs +44 -43
- package/dist/number/branded-types/positive-int32.mjs.map +1 -1
- package/dist/number/branded-types/positive-safe-int.d.mts +62 -57
- package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-safe-int.mjs +45 -43
- package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts +61 -57
- package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint16.mjs +44 -43
- package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts +61 -58
- package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint32.mjs +44 -44
- package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
- package/dist/number/branded-types/safe-int.d.mts +43 -62
- package/dist/number/branded-types/safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/safe-int.mjs +35 -42
- package/dist/number/branded-types/safe-int.mjs.map +1 -1
- package/dist/number/branded-types/safe-uint.d.mts +62 -57
- package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
- package/dist/number/branded-types/safe-uint.mjs +46 -44
- package/dist/number/branded-types/safe-uint.mjs.map +1 -1
- package/dist/number/branded-types/uint.d.mts +63 -50
- package/dist/number/branded-types/uint.d.mts.map +1 -1
- package/dist/number/branded-types/uint.mjs +42 -39
- package/dist/number/branded-types/uint.mjs.map +1 -1
- package/dist/number/branded-types/uint16.d.mts +60 -58
- package/dist/number/branded-types/uint16.d.mts.map +1 -1
- package/dist/number/branded-types/uint16.mjs +44 -43
- package/dist/number/branded-types/uint16.mjs.map +1 -1
- package/dist/number/branded-types/uint32.d.mts +59 -55
- package/dist/number/branded-types/uint32.d.mts.map +1 -1
- package/dist/number/branded-types/uint32.mjs +42 -42
- package/dist/number/branded-types/uint32.mjs.map +1 -1
- package/dist/number/enum/int8.d.mts +56 -65
- package/dist/number/enum/int8.d.mts.map +1 -1
- package/dist/number/enum/int8.mjs +44 -43
- package/dist/number/enum/int8.mjs.map +1 -1
- package/dist/number/enum/uint8.d.mts +60 -58
- package/dist/number/enum/uint8.d.mts.map +1 -1
- package/dist/number/enum/uint8.mjs +44 -43
- package/dist/number/enum/uint8.mjs.map +1 -1
- package/package.json +2 -1
- package/src/number/branded-types/finite-number.mts +47 -61
- package/src/number/branded-types/int.mts +40 -46
- package/src/number/branded-types/int16.mts +65 -58
- package/src/number/branded-types/int32.mts +65 -58
- package/src/number/branded-types/negative-finite-number.mts +68 -68
- package/src/number/branded-types/negative-int.mts +60 -57
- package/src/number/branded-types/negative-safe-int.mts +57 -65
- package/src/number/branded-types/non-negative-finite-number.mts +74 -64
- package/src/number/branded-types/non-negative-int16.mts +64 -57
- package/src/number/branded-types/non-negative-int32.mts +64 -58
- package/src/number/branded-types/non-positive-finite-number.mts +64 -54
- package/src/number/branded-types/non-positive-int.mts +41 -146
- package/src/number/branded-types/non-positive-safe-int.mts +54 -53
- package/src/number/branded-types/non-zero-finite-number.mts +62 -51
- package/src/number/branded-types/non-zero-int.mts +51 -38
- package/src/number/branded-types/non-zero-int16.mts +52 -53
- package/src/number/branded-types/non-zero-int32.mts +52 -54
- package/src/number/branded-types/non-zero-safe-int.mts +53 -54
- package/src/number/branded-types/non-zero-uint16.mts +52 -53
- package/src/number/branded-types/non-zero-uint32.mts +52 -53
- package/src/number/branded-types/positive-finite-number.mts +74 -63
- package/src/number/branded-types/positive-int.mts +46 -68
- package/src/number/branded-types/positive-int16.mts +61 -57
- package/src/number/branded-types/positive-int32.mts +61 -57
- package/src/number/branded-types/positive-safe-int.mts +62 -57
- package/src/number/branded-types/positive-uint16.mts +61 -57
- package/src/number/branded-types/positive-uint32.mts +61 -58
- package/src/number/branded-types/safe-int.mts +43 -62
- package/src/number/branded-types/safe-uint.mts +62 -57
- package/src/number/branded-types/uint.mts +63 -50
- package/src/number/branded-types/uint16.mts +60 -58
- package/src/number/branded-types/uint32.mts +59 -55
- package/src/number/enum/int8.mts +56 -65
- package/src/number/enum/uint8.mts +60 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-uint16.mjs","sources":["../../../src/number/branded-types/non-zero-uint16.mts"],"sourcesContent":["import { type NonZeroUint16 as TtfImported_NonZeroUint16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroUint16 = TtfImported_NonZeroUint16;\n\ntype ElementType = NonZeroUint16;\n\nconst typeNameInMessage = 'a non-zero integer in [1, 2^16)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 16 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"non-zero-uint16.mjs","sources":["../../../src/number/branded-types/non-zero-uint16.mts"],"sourcesContent":["import { type NonZeroUint16 as TtfImported_NonZeroUint16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroUint16 = TtfImported_NonZeroUint16;\n\ntype ElementType = NonZeroUint16;\n\nconst typeNameInMessage = 'a non-zero integer in [1, 2^16)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 16 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a non-zero integer in [1, 2^16).\n *\n * Returns `true` for a non-zero integer in [1, 2^16) — a value with no\n * fractional component.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero integer in [1, 2^16), `false` otherwise\n */\nexport const isNonZeroUint16 = is;\n\n/**\n * Casts a `number` to the `NonZeroUint16` branded type.\n *\n * Validates that the value is a non-zero integer in [1, 2^16) and returns it\n * with the `NonZeroUint16` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonZeroUint16`\n * @throws {TypeError} If the value is not a non-zero integer in [1, 2^16)\n */\nexport const asNonZeroUint16 = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonZeroUint16` branded\n * type.\n *\n * The `NonZeroUint16` type represents a non-zero integer in [1, 2^16). Division\n * (`div`) uses floor division.\n */\nexport const NonZeroUint16 = {\n /**\n * Type guard that checks if a value is a non-zero integer in [1, 2^16).\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero integer in [1, 2^16), `false` otherwise\n * @see {@link isNonZeroUint16} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `NonZeroUint16`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `NonZeroUint16`.\n */\n MAX_VALUE,\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 `NonZeroUint16`\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 `NonZeroUint16`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `NonZeroUint16` range, rounding to the nearest\n * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.\n *\n * @param value - The value to clamp\n * @returns The clamped value as a `NonZeroUint16`\n */\n clamp,\n\n /**\n * Generates a random `NonZeroUint16` 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 `NonZeroUint16` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroUint16`\n * (floored 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 `NonZeroUint16`\n */\n pow,\n\n /**\n * Adds two non-zero integers, returning `a + b` as a `NonZeroUint16`.\n *\n * @param a - The first non-zero integer\n * @param b - The second non-zero integer\n * @returns The sum of `a` and `b` as a `NonZeroUint16`\n */\n add,\n\n /**\n * Multiplies two non-zero integers, returning `a * b` as a `NonZeroUint16`.\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 `NonZeroUint16`\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroUint16,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range',\n 'add' | 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroUint16,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range',\n 'add' | 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,iCAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;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,aAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,CAAA;AAAA,EACX,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AAWH,MAAM,eAAA,GAAkB;AAYxB,MAAM,eAAA,GAAkB;AASxB,MAAM,aAAA,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3B,EAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;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;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AACF;;;;"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { type NonZeroUint32 as TtfImported_NonZeroUint32 } from 'ts-type-forge';
|
|
2
2
|
export type NonZeroUint32 = TtfImported_NonZeroUint32;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* the range [1, 2^32)).
|
|
4
|
+
* Type guard that checks if a value is a non-zero integer in [1, 2^32).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Returns `true` for a non-zero integer in [1, 2^32) — 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 [1, 2^32), `false` otherwise
|
|
9
11
|
*/
|
|
10
12
|
export declare const isNonZeroUint32: (a: number) => a is import("ts-type-forge").PositiveUint32;
|
|
11
13
|
/**
|
|
12
|
-
* Casts a number to
|
|
14
|
+
* Casts a `number` to the `NonZeroUint32` branded type.
|
|
15
|
+
*
|
|
16
|
+
* Validates that the value is a non-zero integer in [1, 2^32) and returns it
|
|
17
|
+
* with the `NonZeroUint32` brand. Throws a `TypeError` otherwise.
|
|
13
18
|
*
|
|
14
|
-
* @param value The value to cast
|
|
15
|
-
* @returns The value as a NonZeroUint32
|
|
16
|
-
* @throws {TypeError} If the value is not a non-zero integer in [1, 2^32)
|
|
19
|
+
* @param value - The value to cast
|
|
20
|
+
* @returns The value as a `NonZeroUint32`
|
|
21
|
+
* @throws {TypeError} If the value is not a non-zero integer in [1, 2^32)
|
|
17
22
|
*/
|
|
18
23
|
export declare const asNonZeroUint32: <N extends number>(x: N) => number & {
|
|
19
24
|
readonly "!=0": true;
|
|
@@ -32,90 +37,84 @@ export declare const asNonZeroUint32: <N extends number>(x: N) => number & {
|
|
|
32
37
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
33
38
|
}> & N;
|
|
34
39
|
/**
|
|
35
|
-
* Namespace providing type-safe
|
|
36
|
-
*
|
|
40
|
+
* Namespace providing type-safe operations for the `NonZeroUint32` branded
|
|
41
|
+
* type.
|
|
37
42
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* non-zero unsigned integer constraint, with results below 1 clamped to
|
|
41
|
-
* MIN_VALUE and overflow results clamped to MAX_VALUE.
|
|
43
|
+
* The `NonZeroUint32` type represents a non-zero integer in [1, 2^32). Division
|
|
44
|
+
* (`div`) uses floor division.
|
|
42
45
|
*/
|
|
43
46
|
export declare const NonZeroUint32: {
|
|
44
47
|
/**
|
|
45
|
-
* Type guard
|
|
48
|
+
* Type guard that checks if a value is a non-zero integer in [1, 2^32).
|
|
46
49
|
*
|
|
47
|
-
* @param value The value to check
|
|
48
|
-
* @returns `true` if the value is a
|
|
49
|
-
*
|
|
50
|
+
* @param value - The value to check
|
|
51
|
+
* @returns `true` if the value is a non-zero integer in [1, 2^32), `false` otherwise
|
|
52
|
+
* @see {@link isNonZeroUint32} for usage examples
|
|
50
53
|
*/
|
|
51
54
|
readonly is: (a: number) => a is import("ts-type-forge").PositiveUint32;
|
|
52
55
|
/**
|
|
53
|
-
* The
|
|
54
|
-
*
|
|
55
|
-
* @readonly
|
|
56
|
+
* The smallest value representable as `NonZeroUint32`.
|
|
56
57
|
*/
|
|
57
58
|
readonly MIN_VALUE: 1;
|
|
58
59
|
/**
|
|
59
|
-
* The
|
|
60
|
-
*
|
|
61
|
-
* @readonly
|
|
60
|
+
* The largest value representable as `NonZeroUint32`.
|
|
62
61
|
*/
|
|
63
62
|
readonly MAX_VALUE: number;
|
|
64
63
|
/**
|
|
65
|
-
* Returns the
|
|
64
|
+
* Returns the smallest of the given non-zero integers.
|
|
66
65
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @
|
|
69
|
-
* @returns The minimum value as a NonZeroUint32.
|
|
66
|
+
* @param values - The non-zero integers to compare (at least one required)
|
|
67
|
+
* @returns The smallest value as a `NonZeroUint32`
|
|
70
68
|
*/
|
|
71
69
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>[]) => import("ts-type-forge").PositiveUint32;
|
|
72
70
|
/**
|
|
73
|
-
* Returns the
|
|
71
|
+
* Returns the largest of the given non-zero integers.
|
|
74
72
|
*
|
|
75
|
-
* @param
|
|
76
|
-
* @
|
|
77
|
-
* @returns The maximum value as a NonZeroUint32.
|
|
73
|
+
* @param values - The non-zero integers to compare (at least one required)
|
|
74
|
+
* @returns The largest value as a `NonZeroUint32`
|
|
78
75
|
*/
|
|
79
76
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>[]) => import("ts-type-forge").PositiveUint32;
|
|
80
77
|
/**
|
|
81
|
-
* Clamps a number
|
|
78
|
+
* Clamps a `number` into the `NonZeroUint32` range, rounding to the nearest
|
|
79
|
+
* integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
82
80
|
*
|
|
83
|
-
* @param value The
|
|
84
|
-
* @returns The
|
|
81
|
+
* @param value - The value to clamp
|
|
82
|
+
* @returns The clamped value as a `NonZeroUint32`
|
|
85
83
|
*/
|
|
86
84
|
readonly clamp: (x: number) => import("ts-type-forge").PositiveUint32;
|
|
87
85
|
/**
|
|
88
|
-
* Generates a random NonZeroUint32
|
|
86
|
+
* Generates a random `NonZeroUint32` within the given range.
|
|
87
|
+
*
|
|
88
|
+
* The range is inclusive on both ends.
|
|
89
89
|
*
|
|
90
|
-
* @
|
|
90
|
+
* @param min - The minimum value (inclusive)
|
|
91
|
+
* @param max - The maximum value (inclusive)
|
|
92
|
+
* @returns A random `NonZeroUint32` in `[min, max]`
|
|
91
93
|
*/
|
|
92
94
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32> | undefined, max?: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32> | undefined) => import("ts-type-forge").PositiveUint32;
|
|
93
95
|
/**
|
|
94
|
-
* Raises a
|
|
96
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `NonZeroUint32`
|
|
97
|
+
* (floored to an integer).
|
|
95
98
|
*
|
|
96
|
-
* @param a The base
|
|
97
|
-
* @param b The exponent
|
|
98
|
-
* @returns `a ** b`
|
|
99
|
+
* @param a - The base non-zero integer
|
|
100
|
+
* @param b - The exponent non-zero integer
|
|
101
|
+
* @returns `a ** b` as a `NonZeroUint32`
|
|
99
102
|
*/
|
|
100
103
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>, y: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>) => import("ts-type-forge").PositiveUint32;
|
|
101
104
|
/**
|
|
102
|
-
* Adds two NonZeroUint32
|
|
105
|
+
* Adds two non-zero integers, returning `a + b` as a `NonZeroUint32`.
|
|
103
106
|
*
|
|
104
|
-
* @param a The first
|
|
105
|
-
* @param b The second
|
|
106
|
-
* @returns `a
|
|
107
|
+
* @param a - The first non-zero integer
|
|
108
|
+
* @param b - The second non-zero integer
|
|
109
|
+
* @returns The sum of `a` and `b` as a `NonZeroUint32`
|
|
107
110
|
*/
|
|
108
111
|
readonly add: (x: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>, y: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>) => import("ts-type-forge").PositiveUint32;
|
|
109
112
|
/**
|
|
110
|
-
* Multiplies two NonZeroUint32
|
|
111
|
-
*
|
|
112
|
-
* Both `add` and `mul` stay within `[1, 4294967295]`. For the non-closed
|
|
113
|
-
* operations (`sub`/`div`, whose result may be `0`) use {@link Num.sub} /
|
|
114
|
-
* {@link Num.divInt}.
|
|
113
|
+
* Multiplies two non-zero integers, returning `a * b` as a `NonZeroUint32`.
|
|
115
114
|
*
|
|
116
|
-
* @param a The first
|
|
117
|
-
* @param b The second
|
|
118
|
-
* @returns `a
|
|
115
|
+
* @param a - The first non-zero integer
|
|
116
|
+
* @param b - The second non-zero integer
|
|
117
|
+
* @returns The product of `a` and `b` as a `NonZeroUint32`
|
|
119
118
|
*/
|
|
120
119
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>, y: import("ts-type-forge").WithSmallInt<import("ts-type-forge").PositiveUint32>) => import("ts-type-forge").PositiveUint32;
|
|
121
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-uint32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-uint32.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,IAAI,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAIhF,MAAM,MAAM,aAAa,GAAG,yBAAyB,CAAC;AA8BtD
|
|
1
|
+
{"version":3,"file":"non-zero-uint32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-uint32.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,IAAI,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAIhF,MAAM,MAAM,aAAa,GAAG,yBAAyB,CAAC;AA8BtD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,4DAAK,CAAC;AAElC;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;MAAW,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;IACxB;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;CAEK,CAAC"}
|
|
@@ -24,80 +24,76 @@ const isNonZeroUint32 = is;
|
|
|
24
24
|
const asNonZeroUint32 = castType;
|
|
25
25
|
const NonZeroUint32 = {
|
|
26
26
|
/**
|
|
27
|
-
* Type guard
|
|
27
|
+
* Type guard that checks if a value is a non-zero integer in [1, 2^32).
|
|
28
28
|
*
|
|
29
|
-
* @param value The value to check
|
|
30
|
-
* @returns `true` if the value is a
|
|
31
|
-
*
|
|
29
|
+
* @param value - The value to check
|
|
30
|
+
* @returns `true` if the value is a non-zero integer in [1, 2^32), `false` otherwise
|
|
31
|
+
* @see {@link isNonZeroUint32} for usage examples
|
|
32
32
|
*/
|
|
33
33
|
is,
|
|
34
34
|
/**
|
|
35
|
-
* The
|
|
36
|
-
*
|
|
37
|
-
* @readonly
|
|
35
|
+
* The smallest value representable as `NonZeroUint32`.
|
|
38
36
|
*/
|
|
39
37
|
MIN_VALUE,
|
|
40
38
|
/**
|
|
41
|
-
* The
|
|
42
|
-
*
|
|
43
|
-
* @readonly
|
|
39
|
+
* The largest value representable as `NonZeroUint32`.
|
|
44
40
|
*/
|
|
45
41
|
MAX_VALUE,
|
|
46
42
|
/**
|
|
47
|
-
* Returns the
|
|
43
|
+
* Returns the smallest of the given non-zero integers.
|
|
48
44
|
*
|
|
49
|
-
* @param
|
|
50
|
-
* @
|
|
51
|
-
* @returns The minimum value as a NonZeroUint32.
|
|
45
|
+
* @param values - The non-zero integers to compare (at least one required)
|
|
46
|
+
* @returns The smallest value as a `NonZeroUint32`
|
|
52
47
|
*/
|
|
53
48
|
min: min_,
|
|
54
49
|
/**
|
|
55
|
-
* Returns the
|
|
50
|
+
* Returns the largest of the given non-zero integers.
|
|
56
51
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @
|
|
59
|
-
* @returns The maximum value as a NonZeroUint32.
|
|
52
|
+
* @param values - The non-zero integers to compare (at least one required)
|
|
53
|
+
* @returns The largest value as a `NonZeroUint32`
|
|
60
54
|
*/
|
|
61
55
|
max: max_,
|
|
62
56
|
/**
|
|
63
|
-
* Clamps a number
|
|
57
|
+
* Clamps a `number` into the `NonZeroUint32` range, rounding to the nearest
|
|
58
|
+
* integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
64
59
|
*
|
|
65
|
-
* @param value The
|
|
66
|
-
* @returns The
|
|
60
|
+
* @param value - The value to clamp
|
|
61
|
+
* @returns The clamped value as a `NonZeroUint32`
|
|
67
62
|
*/
|
|
68
63
|
clamp,
|
|
69
64
|
/**
|
|
70
|
-
* Generates a random NonZeroUint32
|
|
65
|
+
* Generates a random `NonZeroUint32` within the given range.
|
|
71
66
|
*
|
|
72
|
-
*
|
|
67
|
+
* The range is inclusive on both ends.
|
|
68
|
+
*
|
|
69
|
+
* @param min - The minimum value (inclusive)
|
|
70
|
+
* @param max - The maximum value (inclusive)
|
|
71
|
+
* @returns A random `NonZeroUint32` in `[min, max]`
|
|
73
72
|
*/
|
|
74
73
|
random,
|
|
75
74
|
/**
|
|
76
|
-
* Raises a
|
|
75
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `NonZeroUint32`
|
|
76
|
+
* (floored to an integer).
|
|
77
77
|
*
|
|
78
|
-
* @param a The base
|
|
79
|
-
* @param b The exponent
|
|
80
|
-
* @returns `a ** b`
|
|
78
|
+
* @param a - The base non-zero integer
|
|
79
|
+
* @param b - The exponent non-zero integer
|
|
80
|
+
* @returns `a ** b` as a `NonZeroUint32`
|
|
81
81
|
*/
|
|
82
82
|
pow,
|
|
83
83
|
/**
|
|
84
|
-
* Adds two NonZeroUint32
|
|
84
|
+
* Adds two non-zero integers, returning `a + b` as a `NonZeroUint32`.
|
|
85
85
|
*
|
|
86
|
-
* @param a The first
|
|
87
|
-
* @param b The second
|
|
88
|
-
* @returns `a
|
|
86
|
+
* @param a - The first non-zero integer
|
|
87
|
+
* @param b - The second non-zero integer
|
|
88
|
+
* @returns The sum of `a` and `b` as a `NonZeroUint32`
|
|
89
89
|
*/
|
|
90
90
|
add,
|
|
91
91
|
/**
|
|
92
|
-
* Multiplies two NonZeroUint32
|
|
93
|
-
*
|
|
94
|
-
* Both `add` and `mul` stay within `[1, 4294967295]`. For the non-closed
|
|
95
|
-
* operations (`sub`/`div`, whose result may be `0`) use {@link Num.sub} /
|
|
96
|
-
* {@link Num.divInt}.
|
|
92
|
+
* Multiplies two non-zero integers, returning `a * b` as a `NonZeroUint32`.
|
|
97
93
|
*
|
|
98
|
-
* @param a The first
|
|
99
|
-
* @param b The second
|
|
100
|
-
* @returns `a
|
|
94
|
+
* @param a - The first non-zero integer
|
|
95
|
+
* @param b - The second non-zero integer
|
|
96
|
+
* @returns The product of `a` and `b` as a `NonZeroUint32`
|
|
101
97
|
*/
|
|
102
98
|
mul
|
|
103
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-uint32.mjs","sources":["../../../src/number/branded-types/non-zero-uint32.mts"],"sourcesContent":["import { type NonZeroUint32 as TtfImported_NonZeroUint32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroUint32 = TtfImported_NonZeroUint32;\n\ntype ElementType = NonZeroUint32;\n\nconst typeNameInMessage = 'a non-zero integer in [1, 2^32)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 32 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"non-zero-uint32.mjs","sources":["../../../src/number/branded-types/non-zero-uint32.mts"],"sourcesContent":["import { type NonZeroUint32 as TtfImported_NonZeroUint32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroUint32 = TtfImported_NonZeroUint32;\n\ntype ElementType = NonZeroUint32;\n\nconst typeNameInMessage = 'a non-zero integer in [1, 2^32)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 32 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a non-zero integer in [1, 2^32).\n *\n * Returns `true` for a non-zero integer in [1, 2^32) — a value with no\n * fractional component.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero integer in [1, 2^32), `false` otherwise\n */\nexport const isNonZeroUint32 = is;\n\n/**\n * Casts a `number` to the `NonZeroUint32` branded type.\n *\n * Validates that the value is a non-zero integer in [1, 2^32) and returns it\n * with the `NonZeroUint32` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonZeroUint32`\n * @throws {TypeError} If the value is not a non-zero integer in [1, 2^32)\n */\nexport const asNonZeroUint32 = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonZeroUint32` branded\n * type.\n *\n * The `NonZeroUint32` type represents a non-zero integer in [1, 2^32). Division\n * (`div`) uses floor division.\n */\nexport const NonZeroUint32 = {\n /**\n * Type guard that checks if a value is a non-zero integer in [1, 2^32).\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-zero integer in [1, 2^32), `false` otherwise\n * @see {@link isNonZeroUint32} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `NonZeroUint32`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `NonZeroUint32`.\n */\n MAX_VALUE,\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 `NonZeroUint32`\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 `NonZeroUint32`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `NonZeroUint32` range, rounding to the nearest\n * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.\n *\n * @param value - The value to clamp\n * @returns The clamped value as a `NonZeroUint32`\n */\n clamp,\n\n /**\n * Generates a random `NonZeroUint32` 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 `NonZeroUint32` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NonZeroUint32`\n * (floored 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 `NonZeroUint32`\n */\n pow,\n\n /**\n * Adds two non-zero integers, returning `a + b` as a `NonZeroUint32`.\n *\n * @param a - The first non-zero integer\n * @param b - The second non-zero integer\n * @returns The sum of `a` and `b` as a `NonZeroUint32`\n */\n add,\n\n /**\n * Multiplies two non-zero integers, returning `a * b` as a `NonZeroUint32`.\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 `NonZeroUint32`\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroUint32,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range',\n 'add' | 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroUint32,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range',\n 'add' | 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,iCAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;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,aAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,CAAA;AAAA,EACX,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AAWH,MAAM,eAAA,GAAkB;AAYxB,MAAM,eAAA,GAAkB;AASxB,MAAM,aAAA,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3B,EAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;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;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AACF;;;;"}
|
|
@@ -3,18 +3,24 @@ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
|
3
3
|
export type PositiveFiniteNumber = TtfImported_PositiveFiniteNumber;
|
|
4
4
|
type ElementType = PositiveFiniteNumber;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Type guard that checks if a value is a positive finite number.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Returns `true` only for a finite value — never `NaN`, `Infinity`, or
|
|
9
|
+
* `-Infinity`.
|
|
10
|
+
*
|
|
11
|
+
* @param value - The value to check
|
|
12
|
+
* @returns `true` if the value is a positive finite number, `false` otherwise
|
|
10
13
|
*/
|
|
11
14
|
export declare const isPositiveFiniteNumber: (a: number) => a is TtfImported_PositiveFiniteNumber;
|
|
12
15
|
/**
|
|
13
|
-
* Casts a number to
|
|
16
|
+
* Casts a `number` to the `PositiveFiniteNumber` branded type.
|
|
17
|
+
*
|
|
18
|
+
* Validates that the value is a positive finite number and returns it with the
|
|
19
|
+
* `PositiveFiniteNumber` brand. Throws a `TypeError` otherwise.
|
|
14
20
|
*
|
|
15
|
-
* @param value The value to cast
|
|
16
|
-
* @returns The value as a PositiveFiniteNumber
|
|
17
|
-
* @throws {TypeError} If the value is not a positive finite number
|
|
21
|
+
* @param value - The value to cast
|
|
22
|
+
* @returns The value as a `PositiveFiniteNumber`
|
|
23
|
+
* @throws {TypeError} If the value is not a positive finite number
|
|
18
24
|
*/
|
|
19
25
|
export declare const asPositiveFiniteNumber: <N extends number>(x: N) => number & {
|
|
20
26
|
readonly "!=0": true;
|
|
@@ -30,118 +36,123 @@ export declare const asPositiveFiniteNumber: <N extends number>(x: N) => number
|
|
|
30
36
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
31
37
|
}> & N;
|
|
32
38
|
/**
|
|
33
|
-
* Namespace providing type-safe
|
|
34
|
-
*
|
|
39
|
+
* Namespace providing type-safe operations for the `PositiveFiniteNumber`
|
|
40
|
+
* branded type.
|
|
35
41
|
*
|
|
36
|
-
*
|
|
37
|
-
* results to MIN_VALUE, while ensuring results remain finite (excluding NaN and
|
|
38
|
-
* Infinity). This type is useful for representing quantities that must always
|
|
39
|
-
* be positive, such as probabilities, magnitudes, and physical measurements.
|
|
42
|
+
* The `PositiveFiniteNumber` type represents a positive finite number.
|
|
40
43
|
*/
|
|
41
44
|
export declare const PositiveFiniteNumber: {
|
|
42
45
|
/**
|
|
43
|
-
* Type guard
|
|
46
|
+
* Type guard that checks if a value is a positive finite number.
|
|
44
47
|
*
|
|
45
|
-
* @param value The value to check
|
|
46
|
-
* @returns `true` if the value is a positive finite number, `false`
|
|
47
|
-
*
|
|
48
|
+
* @param value - The value to check
|
|
49
|
+
* @returns `true` if the value is a positive finite number, `false` otherwise
|
|
50
|
+
* @see {@link isPositiveFiniteNumber} for usage examples
|
|
48
51
|
*/
|
|
49
52
|
readonly is: (a: number) => a is TtfImported_PositiveFiniteNumber;
|
|
50
53
|
/**
|
|
51
|
-
* The
|
|
52
|
-
*
|
|
53
|
-
* @readonly
|
|
54
|
+
* The smallest value representable as `PositiveFiniteNumber`.
|
|
54
55
|
*/
|
|
55
56
|
readonly MIN_VALUE: number;
|
|
56
57
|
/**
|
|
57
|
-
* Returns the
|
|
58
|
+
* Returns the smallest of the given positive finite numbers.
|
|
58
59
|
*
|
|
59
|
-
* @param
|
|
60
|
-
* @
|
|
61
|
-
* @returns The minimum value as a PositiveFiniteNumber.
|
|
60
|
+
* @param values - The positive finite numbers to compare (at least one required)
|
|
61
|
+
* @returns The smallest value as a `PositiveFiniteNumber`
|
|
62
62
|
*/
|
|
63
63
|
readonly min: (...values: readonly TtfImported_PositiveFiniteNumber[]) => TtfImported_PositiveFiniteNumber;
|
|
64
64
|
/**
|
|
65
|
-
* Returns the
|
|
65
|
+
* Returns the largest of the given positive finite numbers.
|
|
66
66
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @
|
|
69
|
-
* @returns The maximum value as a PositiveFiniteNumber.
|
|
67
|
+
* @param values - The positive finite numbers to compare (at least one required)
|
|
68
|
+
* @returns The largest value as a `PositiveFiniteNumber`
|
|
70
69
|
*/
|
|
71
70
|
readonly max: (...values: readonly TtfImported_PositiveFiniteNumber[]) => TtfImported_PositiveFiniteNumber;
|
|
72
71
|
/**
|
|
73
|
-
* Clamps a number
|
|
72
|
+
* Clamps a `number` into the `PositiveFiniteNumber` range `[MIN_VALUE,
|
|
73
|
+
* MAX_VALUE]`.
|
|
74
74
|
*
|
|
75
|
-
* @param value The
|
|
76
|
-
* @returns The
|
|
75
|
+
* @param value - The value to clamp
|
|
76
|
+
* @returns The clamped value as a `PositiveFiniteNumber`
|
|
77
77
|
*/
|
|
78
78
|
readonly clamp: (x: number) => TtfImported_PositiveFiniteNumber;
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* Returns the greatest integer less than or equal to a positive finite
|
|
81
|
+
* number.
|
|
81
82
|
*
|
|
82
|
-
* @param
|
|
83
|
-
* @returns The
|
|
83
|
+
* @param a - The positive finite number value
|
|
84
|
+
* @returns The floored value as an integer
|
|
84
85
|
*/
|
|
85
86
|
readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
86
87
|
/**
|
|
87
|
-
*
|
|
88
|
+
* Returns the smallest integer greater than or equal to a positive finite
|
|
89
|
+
* number.
|
|
88
90
|
*
|
|
89
|
-
* @param
|
|
90
|
-
* @returns The
|
|
91
|
+
* @param a - The positive finite number value
|
|
92
|
+
* @returns The ceiled value as an integer
|
|
91
93
|
*/
|
|
92
94
|
readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
93
95
|
/**
|
|
94
|
-
*
|
|
96
|
+
* Returns the value of a positive finite number rounded to the nearest
|
|
97
|
+
* integer.
|
|
95
98
|
*
|
|
96
|
-
* @param
|
|
97
|
-
* @returns The rounded value as
|
|
99
|
+
* @param a - The positive finite number value
|
|
100
|
+
* @returns The rounded value as an integer
|
|
98
101
|
*/
|
|
99
102
|
readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
100
103
|
/**
|
|
101
|
-
* Generates a random PositiveFiniteNumber
|
|
104
|
+
* Generates a random `PositiveFiniteNumber` within the given range.
|
|
105
|
+
*
|
|
106
|
+
* The range is inclusive on both ends.
|
|
102
107
|
*
|
|
103
|
-
* @
|
|
108
|
+
* @param min - The minimum value (inclusive)
|
|
109
|
+
* @param max - The maximum value (inclusive)
|
|
110
|
+
* @returns A random `PositiveFiniteNumber` in `[min, max]`
|
|
104
111
|
*/
|
|
105
112
|
readonly random: (min?: TtfImported_PositiveFiniteNumber | undefined, max?: TtfImported_PositiveFiniteNumber | undefined) => TtfImported_PositiveFiniteNumber;
|
|
106
113
|
/**
|
|
107
|
-
* Raises a
|
|
114
|
+
* Raises `a` to the power `b`, returning `a ** b` as a
|
|
115
|
+
* `PositiveFiniteNumber`.
|
|
108
116
|
*
|
|
109
|
-
* @param a The base
|
|
110
|
-
* @param b The exponent
|
|
111
|
-
* @returns `a ** b`
|
|
117
|
+
* @param a - The base positive finite number
|
|
118
|
+
* @param b - The exponent positive finite number
|
|
119
|
+
* @returns `a ** b` as a `PositiveFiniteNumber`
|
|
112
120
|
*/
|
|
113
121
|
readonly pow: (x: TtfImported_PositiveFiniteNumber, y: TtfImported_PositiveFiniteNumber) => TtfImported_PositiveFiniteNumber;
|
|
114
122
|
/**
|
|
115
|
-
* Adds two
|
|
123
|
+
* Adds two positive finite numbers, returning `a + b` as a
|
|
124
|
+
* `PositiveFiniteNumber`.
|
|
116
125
|
*
|
|
117
|
-
* @param a The first
|
|
118
|
-
* @param b The second
|
|
119
|
-
* @returns `a
|
|
126
|
+
* @param a - The first positive finite number
|
|
127
|
+
* @param b - The second positive finite number
|
|
128
|
+
* @returns The sum of `a` and `b` as a `PositiveFiniteNumber`
|
|
120
129
|
*/
|
|
121
130
|
readonly add: (x: TtfImported_PositiveFiniteNumber, y: TtfImported_PositiveFiniteNumber) => TtfImported_PositiveFiniteNumber;
|
|
122
131
|
/**
|
|
123
|
-
* Subtracts
|
|
132
|
+
* Subtracts two positive finite numbers, returning `a - b` as a
|
|
133
|
+
* `PositiveFiniteNumber`.
|
|
124
134
|
*
|
|
125
|
-
* @param a The
|
|
126
|
-
* @param b The
|
|
127
|
-
* @returns `a
|
|
128
|
-
* MIN_VALUE).
|
|
135
|
+
* @param a - The first positive finite number
|
|
136
|
+
* @param b - The second positive finite number
|
|
137
|
+
* @returns The difference of `a` and `b` as a `PositiveFiniteNumber`
|
|
129
138
|
*/
|
|
130
139
|
readonly sub: (x: TtfImported_PositiveFiniteNumber, y: TtfImported_PositiveFiniteNumber) => TtfImported_PositiveFiniteNumber;
|
|
131
140
|
/**
|
|
132
|
-
* Multiplies two
|
|
141
|
+
* Multiplies two positive finite numbers, returning `a * b` as a
|
|
142
|
+
* `PositiveFiniteNumber`.
|
|
133
143
|
*
|
|
134
|
-
* @param a The first
|
|
135
|
-
* @param b The second
|
|
136
|
-
* @returns `a
|
|
144
|
+
* @param a - The first positive finite number
|
|
145
|
+
* @param b - The second positive finite number
|
|
146
|
+
* @returns The product of `a` and `b` as a `PositiveFiniteNumber`
|
|
137
147
|
*/
|
|
138
148
|
readonly mul: (x: TtfImported_PositiveFiniteNumber, y: TtfImported_PositiveFiniteNumber) => TtfImported_PositiveFiniteNumber;
|
|
139
149
|
/**
|
|
140
|
-
* Divides
|
|
150
|
+
* Divides two positive finite numbers, returning `a / b` as a
|
|
151
|
+
* `PositiveFiniteNumber`.
|
|
141
152
|
*
|
|
142
|
-
* @param a The dividend
|
|
143
|
-
* @param b The divisor
|
|
144
|
-
* @returns `a / b`
|
|
153
|
+
* @param a - The dividend
|
|
154
|
+
* @param b - The divisor (must be non-zero)
|
|
155
|
+
* @returns `a / b` as a `PositiveFiniteNumber`
|
|
145
156
|
*/
|
|
146
157
|
readonly div: (x: TtfImported_PositiveFiniteNumber, y: number & {
|
|
147
158
|
readonly "!=0": true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,gCAAgC,EAE9D,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEpE,KAAK,WAAW,GAAG,oBAAoB,CAAC;AAqExC
|
|
1
|
+
{"version":3,"file":"positive-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,gCAAgC,EAE9D,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEpE,KAAK,WAAW,GAAG,oBAAoB,CAAC;AAqExC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sDAAK,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;MAAW,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;wBApHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IAoHC;;;;;;OAMG;uBAjHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAmH3D;;;;;;OAMG;wBApHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IAoHC;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;CAEK,CAAC"}
|