@schemasjs/valibot-numbers
v1.0.18
Published
Javascript (and Typescript) valibot number schemas
Maintainers
Readme
@SchemasJS/valibot-numbers
Valibot schemas for numbers and their types.
Numbers
| Data | Schema | Type | Values |
|:------------------------:|:---------------:|:-----------:| :---------------------------: |
| Unsigned integers | | | |
| Unsigned integer 8 bits | Uint8Schema | Uint8 | 0 to 255 |
| Unsigned integer 16 bits | Uint16Schema | Uint16 | 0 to 65535 |
| Unsigned integer 32 bits | Uint32Schema | Uint32 | 0 to 4294967295 |
| Unsigned Big Integer | BigUintSchema | BigUint | 0 to 2^64-1 |
| Integers | | | |
| Integer 8 bits | Int8Schema | Int8 | -128 to 127 |
| Integer 16 bits | Int16Schema | Int16 | -32768 to 32767 |
| Integer 32 bits | Int32Schema | Int32 | -2147483648 to 2147483647 |
| Big Integer | BigIntSchema | built-in TS | -2^63 to 2^63-1 |
| Floats | | | |
| Float 32 bit | Float32Schema | Float32 | -3.4e38 to 3.4e38 |
| Float 64 bit | Float64Schema | Float64 | -1.8e308 to 1.8e308 |
Typed Arrays
It contains typed arrays too.
| Data | Schema | Type | Values |
|:------------------------:|:----------------------:|:-----------:| :---------------------------: |
| Unsigned integers | | | |
| Unsigned integer 8 bits | Uint8ArraySchema | built-in TS | 0 to 255 |
| Unsigned integer 16 bits | Uint16ArraySchema | built-in TS | 0 to 65535 |
| Unsigned integer 32 bits | Uint32ArraySchema | built-in TS | 0 to 4294967295 |
| Unsigned Big Integer | BigUint64ArraySchema | built-in TS | 0 to 2^64-1 |
| Integers | | | |
| Integer 8 bits | Int8ArraySchema | built-in TS | -128 to 127 |
| Integer 16 bits | Int16ArraySchema | built-in TS | -32768 to 32767 |
| Integer 32 bits | Int32ArraySchema | built-in TS | -2147483648 to 2147483647 |
| Big Integer | BigInt64ArraySchema | built-in TS | -2^63 to 2^63-1 |
| Floats | | | |
| Float 32 bit | Float32ArraySchema | built-in TS | -3.4e38 to 3.4e38 |
| Float 64 bit | Float64ArraySchema | built-in TS | -1.8e308 to 1.8e308 |
There is a cool feature: It is added if you introduce a number, it could be transformed into an typed array. For example:
import * as v from 'valibot'
import { Uint8ArraTransform, Uint16ArrayTransform } from @schemasjs/valibot-numbers
const num = 256
console.log(v.parse(Uint8ArrayTransform, num)) // [255, 1]
console.log(v.parse(Uint16ArrayTransform, num)) // [256]| Data | Schema | Type | Values |
|:------------------------:|:-------------------------:|:-----------:| :---------------------------: |
| Unsigned integers | | | |
| Unsigned integer 8 bits | Uint8ArrayTransform | built-in TS | 0 to 255 |
| Unsigned integer 16 bits | Uint16ArrayTransform | built-in TS | 0 to 65535 |
| Unsigned integer 32 bits | Uint32ArrayTransform | built-in TS | 0 to 4294967295 |
| Unsigned Big Integer | BigUint64ArrayTransform | built-in TS | 0 to 2^64-1 |
| Integers | | | |
| Integer 8 bits | Int8ArrayTransform | built-in TS | -128 to 127 |
| Integer 16 bits | Int16ArrayTransform | built-in TS | -32768 to 32767 |
| Integer 32 bits | Int32ArrayTransform | built-in TS | -2147483648 to 2147483647 |
| Big Integer | BigInt64ArrayTransform | built-in TS | -2^63 to 2^63-1 |
| Floats | | | |
| Float 32 bit | Float32ArrayTransform | built-in TS | -3.4e38 to 3.4e38 |
| Float 64 bit | Float64ArrayTransform | built-in TS | -1.8e308 to 1.8e308 |
