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":"positive-safe-int.mjs","sources":["../../../src/number/branded-types/positive-safe-int.mts"],"sourcesContent":["import {\n type SafeUint,\n type PositiveSafeInt as TtfImported_PositiveSafeInt,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type PositiveSafeInt = TtfImported_PositiveSafeInt;\n\ntype ElementType = PositiveSafeInt;\n\nconst typeNameInMessage = 'a positive safe integer';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n SafeUint\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 1,\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer\n MAX_VALUE: Number.MAX_SAFE_INTEGER as SafeUint,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a PositiveSafeInt (a positive safe integer in the range\n * [1, MAX_SAFE_INTEGER]).\n *\n * @example\n *\n * ```ts\n * assert.isTrue(isPositiveSafeInt(1));\n *\n * assert.isTrue(isPositiveSafeInt(Number.MAX_SAFE_INTEGER));\n *\n * assert.isFalse(isPositiveSafeInt(0));\n *\n * assert.isTrue(PositiveSafeInt.is(42));\n * ```\n *\n * @param value The value to check.\n * @returns `true` if the value is a PositiveSafeInt, `false` otherwise.\n */\nexport const isPositiveSafeInt = is;\n\n/**\n * Casts a number to a PositiveSafeInt type.\n *\n * @example\n *\n * ```ts\n * const branded = asPositiveSafeInt(128);\n *\n * assert.isTrue(branded === 128);\n *\n * assert.isTrue(PositiveSafeInt.is(branded));\n * ```\n *\n * @param value The value to cast.\n * @returns The value as a PositiveSafeInt type.\n * @throws {TypeError} If the value is not a positive safe integer.\n */\nexport const asPositiveSafeInt = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for positive safe\n * integers.\n *\n * All operations automatically clamp results to the positive safe integer range\n * [1, MAX_SAFE_INTEGER]. This ensures that all arithmetic maintains both the\n * positive constraint and IEEE 754 precision guarantees, preventing precision\n * loss and ensuring results are always positive.\n */\nexport const PositiveSafeInt = {\n /**\n * Type guard to check if a value is a PositiveSafeInt.\n *\n * @example\n *\n * ```ts\n * assert.isTrue(isPositiveSafeInt(1));\n *\n * assert.isTrue(isPositiveSafeInt(Number.MAX_SAFE_INTEGER));\n *\n * assert.isFalse(isPositiveSafeInt(0));\n *\n * assert.isTrue(PositiveSafeInt.is(42));\n * ```\n *\n * @param value The value to check.\n * @returns `true` if the value is a positive safe integer, `false` otherwise.\n * @see {@link isPositiveSafeInt} for usage examples\n */\n is,\n\n /**\n * The minimum value for a positive safe integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum safe integer value (2^53 - 1).\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the smaller of two PositiveSafeInt values.\n *\n * @example\n *\n * ```ts\n * const smallest = PositiveSafeInt.min(\n * asPositiveSafeInt(10),\n * asPositiveSafeInt(5),\n * );\n *\n * assert.isTrue(smallest === 5);\n * ```\n *\n * @param a The first PositiveSafeInt.\n * @param b The second PositiveSafeInt.\n * @returns The minimum value as a PositiveSafeInt.\n */\n min: min_,\n\n /**\n * Returns the larger of two PositiveSafeInt values.\n *\n * @example\n *\n * ```ts\n * const largest = PositiveSafeInt.max(\n * asPositiveSafeInt(10),\n * asPositiveSafeInt(5),\n * );\n *\n * assert.isTrue(largest === 10);\n * ```\n *\n * @param a The first PositiveSafeInt.\n * @param b The second PositiveSafeInt.\n * @returns The maximum value as a PositiveSafeInt.\n */\n max: max_,\n\n /**\n * Clamps a number to the positive safe integer range.\n *\n * @example\n *\n * ```ts\n * const belowRange = PositiveSafeInt.clamp(0);\n *\n * const withinRange = PositiveSafeInt.clamp(123);\n *\n * const aboveRange = PositiveSafeInt.clamp(Number.MAX_SAFE_INTEGER + 10);\n *\n * assert.isTrue(belowRange === 1);\n *\n * assert.isTrue(withinRange === 123);\n *\n * assert.isTrue(aboveRange === Number.MAX_SAFE_INTEGER);\n * ```\n *\n * @param value The number to clamp.\n * @returns The value clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.\n */\n clamp,\n\n /**\n * Generates a random PositiveSafeInt value within the valid range.\n *\n * @example\n *\n * ```ts\n * const min = asPositiveSafeInt(1);\n *\n * const max = asPositiveSafeInt(6);\n *\n * const randomValue = PositiveSafeInt.random(min, max);\n *\n * assert.isTrue(PositiveSafeInt.is(randomValue));\n *\n * assert.isTrue(randomValue >= 1 && randomValue <= 6);\n * ```\n *\n * @returns A random PositiveSafeInt between 1 and MAX_SAFE_INTEGER.\n */\n random,\n\n /**\n * Raises a PositiveSafeInt to the power of another PositiveSafeInt.\n *\n * @example\n *\n * ```ts\n * const base = asPositiveSafeInt(3);\n *\n * const exponent = asPositiveSafeInt(3);\n *\n * const power = PositiveSafeInt.pow(base, exponent);\n *\n * assert.isTrue(power === 27);\n * ```\n *\n * @param a The base PositiveSafeInt.\n * @param b The exponent PositiveSafeInt.\n * @returns `a ** b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.\n */\n pow,\n\n /**\n * Adds two PositiveSafeInt values.\n *\n * @example\n *\n * ```ts\n * const sum = PositiveSafeInt.add(\n * asPositiveSafeInt(1000),\n * asPositiveSafeInt(2048),\n * );\n *\n * assert.isTrue(sum === 3048);\n *\n * assert.isTrue(PositiveSafeInt.is(sum));\n * ```\n *\n * @param a The first PositiveSafeInt.\n * @param b The second PositiveSafeInt.\n * @returns `a + b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.\n */\n add,\n\n /**\n * Subtracts one PositiveSafeInt from another.\n *\n * @example\n *\n * ```ts\n * const difference = PositiveSafeInt.sub(\n * asPositiveSafeInt(10),\n * asPositiveSafeInt(20),\n * );\n *\n * assert.isTrue(difference === 1);\n *\n * assert.isTrue(PositiveSafeInt.is(difference));\n * ```\n *\n * @param a The minuend PositiveSafeInt.\n * @param b The subtrahend PositiveSafeInt.\n * @returns `a - b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt\n * (minimum 1).\n */\n sub,\n\n /**\n * Multiplies two PositiveSafeInt values.\n *\n * @example\n *\n * ```ts\n * const product = PositiveSafeInt.mul(\n * asPositiveSafeInt(50),\n * asPositiveSafeInt(20),\n * );\n *\n * assert.isTrue(product === 1000);\n *\n * assert.isTrue(PositiveSafeInt.is(product));\n * ```\n *\n * @param a The first PositiveSafeInt.\n * @param b The second PositiveSafeInt.\n * @returns `a * b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.\n */\n mul,\n\n /**\n * Divides one PositiveSafeInt by another using floor division.\n *\n * @example\n *\n * ```ts\n * const quotient = PositiveSafeInt.div(\n * asPositiveSafeInt(25),\n * asPositiveSafeInt(4),\n * );\n *\n * const clamped = PositiveSafeInt.div(\n * asPositiveSafeInt(5),\n * asPositiveSafeInt(50),\n * );\n *\n * assert.isTrue(quotient === 6);\n *\n * assert.isTrue(clamped === 1);\n * ```\n *\n * @param a The dividend PositiveSafeInt.\n * @param b The divisor PositiveSafeInt.\n * @returns `⌊a / b⌋` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof PositiveSafeInt,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('=');\n\nexpectType<\n typeof PositiveSafeInt,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('<=');\n"],"names":[],"mappings":";;AAWA,MAAM,iBAAA,GAAoB,yBAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,SAAA,EAAW,CAAA;AAAA;AAAA,EAEX,WAAW,MAAA,CAAO,gBAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAqBH,MAAM,iBAAA,GAAoB;AAmB1B,MAAM,iBAAA,GAAoB;AAW1B,MAAM,eAAA,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoB7B,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"positive-safe-int.mjs","sources":["../../../src/number/branded-types/positive-safe-int.mts"],"sourcesContent":["import {\n type SafeUint,\n type PositiveSafeInt as TtfImported_PositiveSafeInt,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type PositiveSafeInt = TtfImported_PositiveSafeInt;\n\ntype ElementType = PositiveSafeInt;\n\nconst typeNameInMessage = 'a positive safe integer';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n SafeUint\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 1,\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer\n MAX_VALUE: Number.MAX_SAFE_INTEGER as SafeUint,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a positive safe integer.\n *\n * Returns `true` for a positive safe integer — a value with no fractional\n * component.\n *\n * @example\n *\n * ```ts\n * assert.isTrue(isPositiveSafeInt(1));\n *\n * assert.isTrue(isPositiveSafeInt(Number.MAX_SAFE_INTEGER));\n *\n * assert.isFalse(isPositiveSafeInt(0));\n *\n * assert.isTrue(PositiveSafeInt.is(42));\n * ```\n *\n * @param value - The value to check\n * @returns `true` if the value is a positive safe integer, `false` otherwise\n */\nexport const isPositiveSafeInt = is;\n\n/**\n * Casts a `number` to the `PositiveSafeInt` branded type.\n *\n * Validates that the value is a positive safe integer and returns it with the\n * `PositiveSafeInt` brand. Throws a `TypeError` otherwise.\n *\n * @example\n *\n * ```ts\n * const branded = asPositiveSafeInt(128);\n *\n * assert.isTrue(branded === 128);\n *\n * assert.isTrue(PositiveSafeInt.is(branded));\n * ```\n *\n * @param value - The value to cast\n * @returns The value as a `PositiveSafeInt`\n * @throws {TypeError} If the value is not a positive safe integer\n */\nexport const asPositiveSafeInt = castType;\n\n/**\n * Namespace providing type-safe operations for the `PositiveSafeInt` branded\n * type.\n *\n * The `PositiveSafeInt` type represents a positive safe integer. Division\n * (`div`) uses floor division.\n */\nexport const PositiveSafeInt = {\n /**\n * Type guard that checks if a value is a positive safe integer.\n *\n * @example\n *\n * ```ts\n * assert.isTrue(isPositiveSafeInt(1));\n *\n * assert.isTrue(isPositiveSafeInt(Number.MAX_SAFE_INTEGER));\n *\n * assert.isFalse(isPositiveSafeInt(0));\n *\n * assert.isTrue(PositiveSafeInt.is(42));\n * ```\n *\n * @param value - The value to check\n * @returns `true` if the value is a positive safe integer, `false` otherwise\n * @see {@link isPositiveSafeInt} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `PositiveSafeInt`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `PositiveSafeInt`.\n */\n MAX_VALUE,\n\n /**\n * Returns the smallest of the given positive safe integers.\n *\n * @example\n *\n * ```ts\n * const smallest = PositiveSafeInt.min(\n * asPositiveSafeInt(10),\n * asPositiveSafeInt(5),\n * );\n *\n * assert.isTrue(smallest === 5);\n * ```\n *\n * @param values - The positive safe integers to compare (at least one required)\n * @returns The smallest value as a `PositiveSafeInt`\n */\n min: min_,\n\n /**\n * Returns the largest of the given positive safe integers.\n *\n * @example\n *\n * ```ts\n * const largest = PositiveSafeInt.max(\n * asPositiveSafeInt(10),\n * asPositiveSafeInt(5),\n * );\n *\n * assert.isTrue(largest === 10);\n * ```\n *\n * @param values - The positive safe integers to compare (at least one required)\n * @returns The largest value as a `PositiveSafeInt`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `PositiveSafeInt` range, rounding to the nearest\n * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.\n *\n * @example\n *\n * ```ts\n * const belowRange = PositiveSafeInt.clamp(0);\n *\n * const withinRange = PositiveSafeInt.clamp(123);\n *\n * const aboveRange = PositiveSafeInt.clamp(Number.MAX_SAFE_INTEGER + 10);\n *\n * assert.isTrue(belowRange === 1);\n *\n * assert.isTrue(withinRange === 123);\n *\n * assert.isTrue(aboveRange === Number.MAX_SAFE_INTEGER);\n * ```\n *\n * @param value - The value to clamp\n * @returns The clamped value as a `PositiveSafeInt`\n */\n clamp,\n\n /**\n * Generates a random `PositiveSafeInt` within the given range.\n *\n * The range is inclusive on both ends.\n *\n * @example\n *\n * ```ts\n * const min = asPositiveSafeInt(1);\n *\n * const max = asPositiveSafeInt(6);\n *\n * const randomValue = PositiveSafeInt.random(min, max);\n *\n * assert.isTrue(PositiveSafeInt.is(randomValue));\n *\n * assert.isTrue(randomValue >= 1 && randomValue <= 6);\n * ```\n *\n * @param min - The minimum value (inclusive)\n * @param max - The maximum value (inclusive)\n * @returns A random `PositiveSafeInt` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `PositiveSafeInt`\n * (floored to an integer).\n *\n * @example\n *\n * ```ts\n * const base = asPositiveSafeInt(3);\n *\n * const exponent = asPositiveSafeInt(3);\n *\n * const power = PositiveSafeInt.pow(base, exponent);\n *\n * assert.isTrue(power === 27);\n * ```\n *\n * @param a - The base positive safe integer\n * @param b - The exponent positive safe integer\n * @returns `a ** b` as a `PositiveSafeInt`\n */\n pow,\n\n /**\n * Adds two positive safe integers, returning `a + b` as a `PositiveSafeInt`.\n *\n * @example\n *\n * ```ts\n * const sum = PositiveSafeInt.add(\n * asPositiveSafeInt(1000),\n * asPositiveSafeInt(2048),\n * );\n *\n * assert.isTrue(sum === 3048);\n *\n * assert.isTrue(PositiveSafeInt.is(sum));\n * ```\n *\n * @param a - The first positive safe integer\n * @param b - The second positive safe integer\n * @returns The sum of `a` and `b` as a `PositiveSafeInt`\n */\n add,\n\n /**\n * Subtracts two positive safe integers, returning `a - b` as a\n * `PositiveSafeInt`.\n *\n * @example\n *\n * ```ts\n * const difference = PositiveSafeInt.sub(\n * asPositiveSafeInt(10),\n * asPositiveSafeInt(20),\n * );\n *\n * assert.isTrue(difference === 1);\n *\n * assert.isTrue(PositiveSafeInt.is(difference));\n * ```\n *\n * @param a - The first positive safe integer\n * @param b - The second positive safe integer\n * @returns The difference of `a` and `b` as a `PositiveSafeInt`\n */\n sub,\n\n /**\n * Multiplies two positive safe integers, returning `a * b` as a\n * `PositiveSafeInt`.\n *\n * @example\n *\n * ```ts\n * const product = PositiveSafeInt.mul(\n * asPositiveSafeInt(50),\n * asPositiveSafeInt(20),\n * );\n *\n * assert.isTrue(product === 1000);\n *\n * assert.isTrue(PositiveSafeInt.is(product));\n * ```\n *\n * @param a - The first positive safe integer\n * @param b - The second positive safe integer\n * @returns The product of `a` and `b` as a `PositiveSafeInt`\n */\n mul,\n\n /**\n * Divides two positive safe integers using floor division (`⌊a / b⌋`): the\n * result is `a / b` rounded toward negative infinity, as a `PositiveSafeInt`.\n *\n * @example\n *\n * ```ts\n * const quotient = PositiveSafeInt.div(\n * asPositiveSafeInt(25),\n * asPositiveSafeInt(4),\n * );\n *\n * const clamped = PositiveSafeInt.div(\n * asPositiveSafeInt(5),\n * asPositiveSafeInt(50),\n * );\n *\n * assert.isTrue(quotient === 6);\n *\n * assert.isTrue(clamped === 1);\n * ```\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as a `PositiveSafeInt`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof PositiveSafeInt,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('=');\n\nexpectType<\n typeof PositiveSafeInt,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('<=');\n"],"names":[],"mappings":";;AAWA,MAAM,iBAAA,GAAoB,yBAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,SAAA,EAAW,CAAA;AAAA;AAAA,EAEX,WAAW,MAAA,CAAO,gBAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAuBH,MAAM,iBAAA,GAAoB;AAsB1B,MAAM,iBAAA,GAAoB;AAS1B,MAAM,eAAA,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoB7B,EAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4BA;AACF;;;;"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { type PositiveUint16 as TtfImported_PositiveUint16 } from 'ts-type-forge';
|
|
2
2
|
export type PositiveUint16 = TtfImported_PositiveUint16;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* the range [1, 2^16)).
|
|
4
|
+
* Type guard that checks if a value is a positive integer in [1, 2^16).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Returns `true` for a positive integer in [1, 2^16) — a value with no
|
|
7
|
+
* fractional component.
|
|
8
|
+
*
|
|
9
|
+
* @param value - The value to check
|
|
10
|
+
* @returns `true` if the value is a positive integer in [1, 2^16), `false` otherwise
|
|
9
11
|
*/
|
|
10
12
|
export declare const isPositiveUint16: (a: number) => a is TtfImported_PositiveUint16;
|
|
11
13
|
/**
|
|
12
|
-
* Casts a number to
|
|
14
|
+
* Casts a `number` to the `PositiveUint16` branded type.
|
|
15
|
+
*
|
|
16
|
+
* Validates that the value is a positive integer in [1, 2^16) and returns it
|
|
17
|
+
* with the `PositiveUint16` brand. Throws a `TypeError` otherwise.
|
|
13
18
|
*
|
|
14
|
-
* @param value The value to cast
|
|
15
|
-
* @returns The value as a PositiveUint16
|
|
16
|
-
* @throws {TypeError} If the value is not a positive integer in [1, 2^16)
|
|
19
|
+
* @param value - The value to cast
|
|
20
|
+
* @returns The value as a `PositiveUint16`
|
|
21
|
+
* @throws {TypeError} If the value is not a positive integer in [1, 2^16)
|
|
17
22
|
*/
|
|
18
23
|
export declare const asPositiveUint16: <N extends number>(x: N) => number & {
|
|
19
24
|
readonly "!=0": true;
|
|
@@ -34,102 +39,101 @@ export declare const asPositiveUint16: <N extends number>(x: N) => number & {
|
|
|
34
39
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
35
40
|
}> & N;
|
|
36
41
|
/**
|
|
37
|
-
* Namespace providing type-safe
|
|
38
|
-
*
|
|
42
|
+
* Namespace providing type-safe operations for the `PositiveUint16` branded
|
|
43
|
+
* type.
|
|
39
44
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* unsigned integer constraint, with results below 1 clamped to MIN_VALUE and
|
|
43
|
-
* overflow results clamped to MAX_VALUE.
|
|
45
|
+
* The `PositiveUint16` type represents a positive integer in [1, 2^16).
|
|
46
|
+
* Division (`div`) uses floor division.
|
|
44
47
|
*/
|
|
45
48
|
export declare const PositiveUint16: {
|
|
46
49
|
/**
|
|
47
|
-
* Type guard
|
|
50
|
+
* Type guard that checks if a value is a positive integer in [1, 2^16).
|
|
48
51
|
*
|
|
49
|
-
* @param value The value to check
|
|
50
|
-
* @returns `true` if the value is a
|
|
51
|
-
*
|
|
52
|
+
* @param value - The value to check
|
|
53
|
+
* @returns `true` if the value is a positive integer in [1, 2^16), `false` otherwise
|
|
54
|
+
* @see {@link isPositiveUint16} for usage examples
|
|
52
55
|
*/
|
|
53
56
|
readonly is: (a: number) => a is TtfImported_PositiveUint16;
|
|
54
57
|
/**
|
|
55
|
-
* The
|
|
56
|
-
*
|
|
57
|
-
* @readonly
|
|
58
|
+
* The smallest value representable as `PositiveUint16`.
|
|
58
59
|
*/
|
|
59
60
|
readonly MIN_VALUE: 1;
|
|
60
61
|
/**
|
|
61
|
-
* The
|
|
62
|
-
*
|
|
63
|
-
* @readonly
|
|
62
|
+
* The largest value representable as `PositiveUint16`.
|
|
64
63
|
*/
|
|
65
64
|
readonly MAX_VALUE: number;
|
|
66
65
|
/**
|
|
67
|
-
* Returns the
|
|
66
|
+
* Returns the smallest of the given positive integers.
|
|
68
67
|
*
|
|
69
|
-
* @param
|
|
70
|
-
* @
|
|
71
|
-
* @returns The minimum value as a PositiveUint16.
|
|
68
|
+
* @param values - The positive integers to compare (at least one required)
|
|
69
|
+
* @returns The smallest value as a `PositiveUint16`
|
|
72
70
|
*/
|
|
73
71
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>[]) => TtfImported_PositiveUint16;
|
|
74
72
|
/**
|
|
75
|
-
* Returns the
|
|
73
|
+
* Returns the largest of the given positive integers.
|
|
76
74
|
*
|
|
77
|
-
* @param
|
|
78
|
-
* @
|
|
79
|
-
* @returns The maximum value as a PositiveUint16.
|
|
75
|
+
* @param values - The positive integers to compare (at least one required)
|
|
76
|
+
* @returns The largest value as a `PositiveUint16`
|
|
80
77
|
*/
|
|
81
78
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>[]) => TtfImported_PositiveUint16;
|
|
82
79
|
/**
|
|
83
|
-
* Clamps a number
|
|
80
|
+
* Clamps a `number` into the `PositiveUint16` range, rounding to the nearest
|
|
81
|
+
* integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
84
82
|
*
|
|
85
|
-
* @param value The
|
|
86
|
-
* @returns The
|
|
83
|
+
* @param value - The value to clamp
|
|
84
|
+
* @returns The clamped value as a `PositiveUint16`
|
|
87
85
|
*/
|
|
88
86
|
readonly clamp: (x: number) => TtfImported_PositiveUint16;
|
|
89
87
|
/**
|
|
90
|
-
* Generates a random PositiveUint16
|
|
88
|
+
* Generates a random `PositiveUint16` within the given range.
|
|
89
|
+
*
|
|
90
|
+
* The range is inclusive on both ends.
|
|
91
91
|
*
|
|
92
|
-
* @
|
|
92
|
+
* @param min - The minimum value (inclusive)
|
|
93
|
+
* @param max - The maximum value (inclusive)
|
|
94
|
+
* @returns A random `PositiveUint16` in `[min, max]`
|
|
93
95
|
*/
|
|
94
96
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16> | undefined) => TtfImported_PositiveUint16;
|
|
95
97
|
/**
|
|
96
|
-
* Raises a
|
|
98
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `PositiveUint16`
|
|
99
|
+
* (floored to an integer).
|
|
97
100
|
*
|
|
98
|
-
* @param a The base
|
|
99
|
-
* @param b The exponent
|
|
100
|
-
* @returns `a ** b`
|
|
101
|
+
* @param a - The base positive integer
|
|
102
|
+
* @param b - The exponent positive integer
|
|
103
|
+
* @returns `a ** b` as a `PositiveUint16`
|
|
101
104
|
*/
|
|
102
105
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>) => TtfImported_PositiveUint16;
|
|
103
106
|
/**
|
|
104
|
-
* Adds two PositiveUint16
|
|
107
|
+
* Adds two positive integers, returning `a + b` as a `PositiveUint16`.
|
|
105
108
|
*
|
|
106
|
-
* @param a The first
|
|
107
|
-
* @param b The second
|
|
108
|
-
* @returns `a
|
|
109
|
+
* @param a - The first positive integer
|
|
110
|
+
* @param b - The second positive integer
|
|
111
|
+
* @returns The sum of `a` and `b` as a `PositiveUint16`
|
|
109
112
|
*/
|
|
110
113
|
readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>) => TtfImported_PositiveUint16;
|
|
111
114
|
/**
|
|
112
|
-
* Subtracts
|
|
115
|
+
* Subtracts two positive integers, returning `a - b` as a `PositiveUint16`.
|
|
113
116
|
*
|
|
114
|
-
* @param a The
|
|
115
|
-
* @param b The
|
|
116
|
-
* @returns `a
|
|
117
|
+
* @param a - The first positive integer
|
|
118
|
+
* @param b - The second positive integer
|
|
119
|
+
* @returns The difference of `a` and `b` as a `PositiveUint16`
|
|
117
120
|
*/
|
|
118
121
|
readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>) => TtfImported_PositiveUint16;
|
|
119
122
|
/**
|
|
120
|
-
* Multiplies two PositiveUint16
|
|
123
|
+
* Multiplies two positive integers, returning `a * b` as a `PositiveUint16`.
|
|
121
124
|
*
|
|
122
|
-
* @param a The first
|
|
123
|
-
* @param b The second
|
|
124
|
-
* @returns `a
|
|
125
|
+
* @param a - The first positive integer
|
|
126
|
+
* @param b - The second positive integer
|
|
127
|
+
* @returns The product of `a` and `b` as a `PositiveUint16`
|
|
125
128
|
*/
|
|
126
129
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>) => TtfImported_PositiveUint16;
|
|
127
130
|
/**
|
|
128
|
-
* Divides
|
|
131
|
+
* Divides two positive integers using floor division (`⌊a / b⌋`): the result
|
|
132
|
+
* is `a / b` rounded toward negative infinity, as a `PositiveUint16`.
|
|
129
133
|
*
|
|
130
|
-
* @param a The dividend
|
|
131
|
-
* @param b The divisor
|
|
132
|
-
* @returns
|
|
134
|
+
* @param a - The dividend
|
|
135
|
+
* @param b - The divisor (must be non-zero)
|
|
136
|
+
* @returns The floored quotient as a `PositiveUint16`
|
|
133
137
|
*/
|
|
134
138
|
readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint16>, y: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | import("ts-type-forge").NormalizeBrandUnion<number & {
|
|
135
139
|
readonly "!=0": true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-uint16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-uint16.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,IAAI,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAIlF,MAAM,MAAM,cAAc,GAAG,0BAA0B,CAAC;AA+BxD
|
|
1
|
+
{"version":3,"file":"positive-uint16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-uint16.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,IAAI,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAIlF,MAAM,MAAM,cAAc,GAAG,0BAA0B,CAAC;AA+BxD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,gDAAK,CAAC;AAEnC;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;MAAW,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;IACzB;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -25,92 +25,93 @@ const isPositiveUint16 = is;
|
|
|
25
25
|
const asPositiveUint16 = castType;
|
|
26
26
|
const PositiveUint16 = {
|
|
27
27
|
/**
|
|
28
|
-
* Type guard
|
|
28
|
+
* Type guard that checks if a value is a positive integer in [1, 2^16).
|
|
29
29
|
*
|
|
30
|
-
* @param value The value to check
|
|
31
|
-
* @returns `true` if the value is a
|
|
32
|
-
*
|
|
30
|
+
* @param value - The value to check
|
|
31
|
+
* @returns `true` if the value is a positive integer in [1, 2^16), `false` otherwise
|
|
32
|
+
* @see {@link isPositiveUint16} for usage examples
|
|
33
33
|
*/
|
|
34
34
|
is,
|
|
35
35
|
/**
|
|
36
|
-
* The
|
|
37
|
-
*
|
|
38
|
-
* @readonly
|
|
36
|
+
* The smallest value representable as `PositiveUint16`.
|
|
39
37
|
*/
|
|
40
38
|
MIN_VALUE,
|
|
41
39
|
/**
|
|
42
|
-
* The
|
|
43
|
-
*
|
|
44
|
-
* @readonly
|
|
40
|
+
* The largest value representable as `PositiveUint16`.
|
|
45
41
|
*/
|
|
46
42
|
MAX_VALUE,
|
|
47
43
|
/**
|
|
48
|
-
* Returns the
|
|
44
|
+
* Returns the smallest of the given positive integers.
|
|
49
45
|
*
|
|
50
|
-
* @param
|
|
51
|
-
* @
|
|
52
|
-
* @returns The minimum value as a PositiveUint16.
|
|
46
|
+
* @param values - The positive integers to compare (at least one required)
|
|
47
|
+
* @returns The smallest value as a `PositiveUint16`
|
|
53
48
|
*/
|
|
54
49
|
min: min_,
|
|
55
50
|
/**
|
|
56
|
-
* Returns the
|
|
51
|
+
* Returns the largest of the given positive integers.
|
|
57
52
|
*
|
|
58
|
-
* @param
|
|
59
|
-
* @
|
|
60
|
-
* @returns The maximum value as a PositiveUint16.
|
|
53
|
+
* @param values - The positive integers to compare (at least one required)
|
|
54
|
+
* @returns The largest value as a `PositiveUint16`
|
|
61
55
|
*/
|
|
62
56
|
max: max_,
|
|
63
57
|
/**
|
|
64
|
-
* Clamps a number
|
|
58
|
+
* Clamps a `number` into the `PositiveUint16` range, rounding to the nearest
|
|
59
|
+
* integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
65
60
|
*
|
|
66
|
-
* @param value The
|
|
67
|
-
* @returns The
|
|
61
|
+
* @param value - The value to clamp
|
|
62
|
+
* @returns The clamped value as a `PositiveUint16`
|
|
68
63
|
*/
|
|
69
64
|
clamp,
|
|
70
65
|
/**
|
|
71
|
-
* Generates a random PositiveUint16
|
|
66
|
+
* Generates a random `PositiveUint16` within the given range.
|
|
67
|
+
*
|
|
68
|
+
* The range is inclusive on both ends.
|
|
72
69
|
*
|
|
73
|
-
* @
|
|
70
|
+
* @param min - The minimum value (inclusive)
|
|
71
|
+
* @param max - The maximum value (inclusive)
|
|
72
|
+
* @returns A random `PositiveUint16` in `[min, max]`
|
|
74
73
|
*/
|
|
75
74
|
random,
|
|
76
75
|
/**
|
|
77
|
-
* Raises a
|
|
76
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `PositiveUint16`
|
|
77
|
+
* (floored to an integer).
|
|
78
78
|
*
|
|
79
|
-
* @param a The base
|
|
80
|
-
* @param b The exponent
|
|
81
|
-
* @returns `a ** b`
|
|
79
|
+
* @param a - The base positive integer
|
|
80
|
+
* @param b - The exponent positive integer
|
|
81
|
+
* @returns `a ** b` as a `PositiveUint16`
|
|
82
82
|
*/
|
|
83
83
|
pow,
|
|
84
84
|
/**
|
|
85
|
-
* Adds two PositiveUint16
|
|
85
|
+
* Adds two positive integers, returning `a + b` as a `PositiveUint16`.
|
|
86
86
|
*
|
|
87
|
-
* @param a The first
|
|
88
|
-
* @param b The second
|
|
89
|
-
* @returns `a
|
|
87
|
+
* @param a - The first positive integer
|
|
88
|
+
* @param b - The second positive integer
|
|
89
|
+
* @returns The sum of `a` and `b` as a `PositiveUint16`
|
|
90
90
|
*/
|
|
91
91
|
add,
|
|
92
92
|
/**
|
|
93
|
-
* Subtracts
|
|
93
|
+
* Subtracts two positive integers, returning `a - b` as a `PositiveUint16`.
|
|
94
94
|
*
|
|
95
|
-
* @param a The
|
|
96
|
-
* @param b The
|
|
97
|
-
* @returns `a
|
|
95
|
+
* @param a - The first positive integer
|
|
96
|
+
* @param b - The second positive integer
|
|
97
|
+
* @returns The difference of `a` and `b` as a `PositiveUint16`
|
|
98
98
|
*/
|
|
99
99
|
sub,
|
|
100
100
|
/**
|
|
101
|
-
* Multiplies two PositiveUint16
|
|
101
|
+
* Multiplies two positive integers, returning `a * b` as a `PositiveUint16`.
|
|
102
102
|
*
|
|
103
|
-
* @param a The first
|
|
104
|
-
* @param b The second
|
|
105
|
-
* @returns `a
|
|
103
|
+
* @param a - The first positive integer
|
|
104
|
+
* @param b - The second positive integer
|
|
105
|
+
* @returns The product of `a` and `b` as a `PositiveUint16`
|
|
106
106
|
*/
|
|
107
107
|
mul,
|
|
108
108
|
/**
|
|
109
|
-
* Divides
|
|
109
|
+
* Divides two positive integers using floor division (`⌊a / b⌋`): the result
|
|
110
|
+
* is `a / b` rounded toward negative infinity, as a `PositiveUint16`.
|
|
110
111
|
*
|
|
111
|
-
* @param a The dividend
|
|
112
|
-
* @param b The divisor
|
|
113
|
-
* @returns
|
|
112
|
+
* @param a - The dividend
|
|
113
|
+
* @param b - The divisor (must be non-zero)
|
|
114
|
+
* @returns The floored quotient as a `PositiveUint16`
|
|
114
115
|
*/
|
|
115
116
|
div
|
|
116
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-uint16.mjs","sources":["../../../src/number/branded-types/positive-uint16.mts"],"sourcesContent":["import { type PositiveUint16 as TtfImported_PositiveUint16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type PositiveUint16 = TtfImported_PositiveUint16;\n\ntype ElementType = PositiveUint16;\n\nconst typeNameInMessage = 'a positive integer in [1, 2^16)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 16 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"positive-uint16.mjs","sources":["../../../src/number/branded-types/positive-uint16.mts"],"sourcesContent":["import { type PositiveUint16 as TtfImported_PositiveUint16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type PositiveUint16 = TtfImported_PositiveUint16;\n\ntype ElementType = PositiveUint16;\n\nconst typeNameInMessage = 'a positive integer in [1, 2^16)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\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 positive integer in [1, 2^16).\n *\n * Returns `true` for a positive 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 positive integer in [1, 2^16), `false` otherwise\n */\nexport const isPositiveUint16 = is;\n\n/**\n * Casts a `number` to the `PositiveUint16` branded type.\n *\n * Validates that the value is a positive integer in [1, 2^16) and returns it\n * with the `PositiveUint16` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `PositiveUint16`\n * @throws {TypeError} If the value is not a positive integer in [1, 2^16)\n */\nexport const asPositiveUint16 = castType;\n\n/**\n * Namespace providing type-safe operations for the `PositiveUint16` branded\n * type.\n *\n * The `PositiveUint16` type represents a positive integer in [1, 2^16).\n * Division (`div`) uses floor division.\n */\nexport const PositiveUint16 = {\n /**\n * Type guard that checks if a value is a positive integer in [1, 2^16).\n *\n * @param value - The value to check\n * @returns `true` if the value is a positive integer in [1, 2^16), `false` otherwise\n * @see {@link isPositiveUint16} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `PositiveUint16`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `PositiveUint16`.\n */\n MAX_VALUE,\n\n /**\n * Returns the smallest of the given positive integers.\n *\n * @param values - The positive integers to compare (at least one required)\n * @returns The smallest value as a `PositiveUint16`\n */\n min: min_,\n\n /**\n * Returns the largest of the given positive integers.\n *\n * @param values - The positive integers to compare (at least one required)\n * @returns The largest value as a `PositiveUint16`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `PositiveUint16` 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 `PositiveUint16`\n */\n clamp,\n\n /**\n * Generates a random `PositiveUint16` 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 `PositiveUint16` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `PositiveUint16`\n * (floored to an integer).\n *\n * @param a - The base positive integer\n * @param b - The exponent positive integer\n * @returns `a ** b` as a `PositiveUint16`\n */\n pow,\n\n /**\n * Adds two positive integers, returning `a + b` as a `PositiveUint16`.\n *\n * @param a - The first positive integer\n * @param b - The second positive integer\n * @returns The sum of `a` and `b` as a `PositiveUint16`\n */\n add,\n\n /**\n * Subtracts two positive integers, returning `a - b` as a `PositiveUint16`.\n *\n * @param a - The first positive integer\n * @param b - The second positive integer\n * @returns The difference of `a` and `b` as a `PositiveUint16`\n */\n sub,\n\n /**\n * Multiplies two positive integers, returning `a * b` as a `PositiveUint16`.\n *\n * @param a - The first positive integer\n * @param b - The second positive integer\n * @returns The product of `a` and `b` as a `PositiveUint16`\n */\n mul,\n\n /**\n * Divides two positive integers using floor division (`⌊a / b⌋`): the result\n * is `a / b` rounded toward negative infinity, as a `PositiveUint16`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as a `PositiveUint16`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof PositiveUint16,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('=');\n\nexpectType<\n typeof PositiveUint16,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\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,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,SAAA,EAAW,CAAA;AAAA,EACX,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AAWH,MAAM,gBAAA,GAAmB;AAYzB,MAAM,gBAAA,GAAmB;AASzB,MAAM,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ5B,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,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AACF;;;;"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { type PositiveUint32 as TtfImported_PositiveUint32 } from 'ts-type-forge';
|
|
2
2
|
export type PositiveUint32 = TtfImported_PositiveUint32;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* the range [1, 2^32)).
|
|
4
|
+
* Type guard that checks if a value is a positive integer in [1, 2^32).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Returns `true` for a positive 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 positive integer in [1, 2^32), `false` otherwise
|
|
9
11
|
*/
|
|
10
12
|
export declare const isPositiveUint32: (a: number) => a is TtfImported_PositiveUint32;
|
|
11
13
|
/**
|
|
12
|
-
* Casts a number to
|
|
14
|
+
* Casts a `number` to the `PositiveUint32` branded type.
|
|
15
|
+
*
|
|
16
|
+
* Validates that the value is a positive integer in [1, 2^32) and returns it
|
|
17
|
+
* with the `PositiveUint32` brand. Throws a `TypeError` otherwise.
|
|
13
18
|
*
|
|
14
|
-
* @param value The value to cast
|
|
15
|
-
* @returns The value as a PositiveUint32
|
|
16
|
-
* @throws {TypeError} If the value is not a positive integer in [1, 2^32)
|
|
19
|
+
* @param value - The value to cast
|
|
20
|
+
* @returns The value as a `PositiveUint32`
|
|
21
|
+
* @throws {TypeError} If the value is not a positive integer in [1, 2^32)
|
|
17
22
|
*/
|
|
18
23
|
export declare const asPositiveUint32: <N extends number>(x: N) => number & {
|
|
19
24
|
readonly "!=0": true;
|
|
@@ -32,103 +37,101 @@ export declare const asPositiveUint32: <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 `PositiveUint32` branded
|
|
41
|
+
* type.
|
|
37
42
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* positive unsigned integer constraint, with results below 1 clamped to
|
|
41
|
-
* MIN_VALUE and overflow results clamped to MAX_VALUE.
|
|
43
|
+
* The `PositiveUint32` type represents a positive integer in [1, 2^32).
|
|
44
|
+
* Division (`div`) uses floor division.
|
|
42
45
|
*/
|
|
43
46
|
export declare const PositiveUint32: {
|
|
44
47
|
/**
|
|
45
|
-
* Type guard
|
|
48
|
+
* Type guard that checks if a value is a positive 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 positive integer in [1, 2^32), `false` otherwise
|
|
52
|
+
* @see {@link isPositiveUint32} for usage examples
|
|
50
53
|
*/
|
|
51
54
|
readonly is: (a: number) => a is TtfImported_PositiveUint32;
|
|
52
55
|
/**
|
|
53
|
-
* The
|
|
54
|
-
*
|
|
55
|
-
* @readonly
|
|
56
|
+
* The smallest value representable as `PositiveUint32`.
|
|
56
57
|
*/
|
|
57
58
|
readonly MIN_VALUE: 1;
|
|
58
59
|
/**
|
|
59
|
-
* The
|
|
60
|
-
*
|
|
61
|
-
* @readonly
|
|
60
|
+
* The largest value representable as `PositiveUint32`.
|
|
62
61
|
*/
|
|
63
62
|
readonly MAX_VALUE: number;
|
|
64
63
|
/**
|
|
65
|
-
* Returns the
|
|
64
|
+
* Returns the smallest of the given positive integers.
|
|
66
65
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @
|
|
69
|
-
* @returns The minimum value as a PositiveUint32.
|
|
66
|
+
* @param values - The positive integers to compare (at least one required)
|
|
67
|
+
* @returns The smallest value as a `PositiveUint32`
|
|
70
68
|
*/
|
|
71
69
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>[]) => TtfImported_PositiveUint32;
|
|
72
70
|
/**
|
|
73
|
-
* Returns the
|
|
71
|
+
* Returns the largest of the given positive integers.
|
|
74
72
|
*
|
|
75
|
-
* @param
|
|
76
|
-
* @
|
|
77
|
-
* @returns The maximum value as a PositiveUint32.
|
|
73
|
+
* @param values - The positive integers to compare (at least one required)
|
|
74
|
+
* @returns The largest value as a `PositiveUint32`
|
|
78
75
|
*/
|
|
79
76
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>[]) => TtfImported_PositiveUint32;
|
|
80
77
|
/**
|
|
81
|
-
* Clamps a number
|
|
78
|
+
* Clamps a `number` into the `PositiveUint32` 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 `PositiveUint32`
|
|
85
83
|
*/
|
|
86
84
|
readonly clamp: (x: number) => TtfImported_PositiveUint32;
|
|
87
85
|
/**
|
|
88
|
-
* Generates a random PositiveUint32
|
|
86
|
+
* Generates a random `PositiveUint32` 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 `PositiveUint32` in `[min, max]`
|
|
91
93
|
*/
|
|
92
94
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32> | undefined) => TtfImported_PositiveUint32;
|
|
93
95
|
/**
|
|
94
|
-
* Raises a
|
|
96
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `PositiveUint32`
|
|
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 positive integer
|
|
100
|
+
* @param b - The exponent positive integer
|
|
101
|
+
* @returns `a ** b` as a `PositiveUint32`
|
|
99
102
|
*/
|
|
100
103
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>) => TtfImported_PositiveUint32;
|
|
101
104
|
/**
|
|
102
|
-
* Adds two PositiveUint32
|
|
105
|
+
* Adds two positive integers, returning `a + b` as a `PositiveUint32`.
|
|
103
106
|
*
|
|
104
|
-
* @param a The first
|
|
105
|
-
* @param b The second
|
|
106
|
-
* @returns `a
|
|
107
|
+
* @param a - The first positive integer
|
|
108
|
+
* @param b - The second positive integer
|
|
109
|
+
* @returns The sum of `a` and `b` as a `PositiveUint32`
|
|
107
110
|
*/
|
|
108
111
|
readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>) => TtfImported_PositiveUint32;
|
|
109
112
|
/**
|
|
110
|
-
* Subtracts
|
|
113
|
+
* Subtracts two positive integers, returning `a - b` as a `PositiveUint32`.
|
|
111
114
|
*
|
|
112
|
-
* @param a The
|
|
113
|
-
* @param b The
|
|
114
|
-
* @returns `a
|
|
115
|
-
* 1).
|
|
115
|
+
* @param a - The first positive integer
|
|
116
|
+
* @param b - The second positive integer
|
|
117
|
+
* @returns The difference of `a` and `b` as a `PositiveUint32`
|
|
116
118
|
*/
|
|
117
119
|
readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>) => TtfImported_PositiveUint32;
|
|
118
120
|
/**
|
|
119
|
-
* Multiplies two PositiveUint32
|
|
121
|
+
* Multiplies two positive integers, returning `a * b` as a `PositiveUint32`.
|
|
120
122
|
*
|
|
121
|
-
* @param a The first
|
|
122
|
-
* @param b The second
|
|
123
|
-
* @returns `a
|
|
123
|
+
* @param a - The first positive integer
|
|
124
|
+
* @param b - The second positive integer
|
|
125
|
+
* @returns The product of `a` and `b` as a `PositiveUint32`
|
|
124
126
|
*/
|
|
125
127
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>) => TtfImported_PositiveUint32;
|
|
126
128
|
/**
|
|
127
|
-
* Divides
|
|
129
|
+
* Divides two positive integers using floor division (`⌊a / b⌋`): the result
|
|
130
|
+
* is `a / b` rounded toward negative infinity, as a `PositiveUint32`.
|
|
128
131
|
*
|
|
129
|
-
* @param a The dividend
|
|
130
|
-
* @param b The divisor
|
|
131
|
-
* @returns
|
|
132
|
+
* @param a - The dividend
|
|
133
|
+
* @param b - The divisor (must be non-zero)
|
|
134
|
+
* @returns The floored quotient as a `PositiveUint32`
|
|
132
135
|
*/
|
|
133
136
|
readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveUint32>, y: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | import("ts-type-forge").NormalizeBrandUnion<number & {
|
|
134
137
|
readonly "!=0": true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-uint32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-uint32.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,IAAI,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAIlF,MAAM,MAAM,cAAc,GAAG,0BAA0B,CAAC;AA+BxD
|
|
1
|
+
{"version":3,"file":"positive-uint32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-uint32.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,IAAI,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAIlF,MAAM,MAAM,cAAc,GAAG,0BAA0B,CAAC;AA+BxD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,gDAAK,CAAC;AAEnC;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;MAAW,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;IACzB;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;;;;CAEK,CAAC"}
|