UNPKG

@schemasjs/valibot-numbers

Version:
185 lines (138 loc) 7.39 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }// src/index.ts var _valibot = require('valibot'); var v = _interopRequireWildcard(_valibot); var UnsignedIntegerSchema = v.pipe(v.number("It should be a number"), v.integer("It should be an integer"), v.minValue(0, "It should be greater than 0")); var UINT_MIN = 0; var UINT8_MAX = Math.pow(2, 8) - 1; var Uint8Schema = v.pipe( v.number("It should be a number"), v.integer("It should be an integer number"), v.minValue(0, "It should be greater than 0"), v.maxValue(UINT8_MAX, `It should be less than ${UINT8_MAX + 1}`) ); var UINT16_MAX = Math.pow(2, 16) - 1; var Uint16Schema = v.pipe( v.number("It should be a number"), v.integer("It should be an integer number"), v.minValue(0, "It should be greater than 0"), v.maxValue(UINT16_MAX, `It should be less than ${UINT16_MAX + 1}`) ); var UINT32_MAX = Math.pow(2, 32) - 1; var Uint32Schema = v.pipe( v.number("It should be a number"), v.integer("It should be an integer number"), v.minValue(0, "It should be greater than 0"), v.maxValue(UINT32_MAX, `It should be less than ${UINT32_MAX + 1}`) ); var BigUintSchema = v.pipe(v.bigint(), v.minValue(0n, "It should be greater than 0")); var IntegerSchema = v.pipe(v.number("It should be a number"), v.integer("It should be an integer")); var INT8_MIN = -Math.pow(2, 7); var INT8_MAX = -INT8_MIN - 1; var Int8Schema = v.pipe( v.number("It should be a number"), v.integer("It should be an integer number"), v.minValue(INT8_MIN, `It should be greater than ${INT8_MIN - 1}`), v.maxValue(INT8_MAX, `It should be less than ${INT8_MAX + 1}`) ); var INT16_MIN = -Math.pow(2, 15); var INT16_MAX = -INT16_MIN - 1; var Int16Schema = v.pipe( v.number("It should be a number"), v.integer("It should be an integer number"), v.minValue(INT16_MIN, `It should be greater than ${INT16_MIN - 1}`), v.maxValue(INT16_MAX, `It should be less than ${INT16_MAX + 1}`) ); var INT32_MIN = -Math.pow(2, 31); var INT32_MAX = -INT32_MIN - 1; var Int32Schema = v.pipe( v.number("It should be a number"), v.integer("It should be an integer number"), v.minValue(INT32_MIN, `It should be greater than ${INT32_MIN - 1}`), v.maxValue(INT32_MAX, `It should be less than ${INT32_MAX + 1}`) ); var BigIntSchema = v.bigint(); var FLOAT32_MIN = -34e37; var FLOAT32_MAX = -FLOAT32_MIN; var Float32Schema = v.pipe( v.number(), v.check((num) => { const arr = Float32Array.from([num])[0]; const diff = Math.abs(arr - num); const error = Math.abs(num / 10); return diff < error; }, "Invalid number, it is not a Float32 number") // v.minValue(FLOAT32_MIN, `It should be greater than or equal to ${FLOAT32_MIN}`), // v.maxValue(FLOAT32_MAX, `It should be less than or equal to ${FLOAT32_MAX}`) ); var FLOAT64_MIN = -1 * Number.MAX_VALUE; var FLOAT64_MAX = -FLOAT64_MIN; var Float64Schema = v.pipe( v.number(), v.check((num) => { const arr = Float64Array.from([num])[0]; const diff = Math.abs(arr - num); const error = Math.abs(num / 10); return diff < error; }, "Invalid number, it is not a Float64 number") // v.minValue(FLOAT64_MIN, `It should be greater than or equal to ${FLOAT64_MIN}`), // v.maxValue(FLOAT64_MAX, `It should be less than or equal to ${FLOAT64_MAX}`) ); var passToArray = (value, min, max) => { const array = []; let num = value; if (num > 0) { while (num > max) { array.push(max); num -= max; } } else if (num < 0) { while (num < min) { array.push(min); num -= min; } } array.push(num); return array; }; var Uint8ArraySchema = v.instance(Uint8Array); var Uint8ArrayTransform = v.pipe( UnsignedIntegerSchema, v.transform((input) => Uint8Array.from(passToArray(input, UINT_MIN, UINT8_MAX))) ); var Uint16ArraySchema = v.instance(Uint16Array); var Uint16ArrayTransform = v.pipe( UnsignedIntegerSchema, v.transform((input) => Uint16Array.from(passToArray(input, UINT_MIN, UINT16_MAX))) ); var Uint32ArraySchema = v.instance(Uint32Array); var Uint32ArrayTransform = v.pipe( UnsignedIntegerSchema, v.transform((input) => Uint32Array.from(passToArray(input, UINT_MIN, UINT32_MAX))) ); var BigUint64ArraySchema = v.instance(BigUint64Array); var Int8ArraySchema = v.instance(Int8Array); var Int8ArrayTransform = v.pipe( IntegerSchema, v.transform((input) => Int8Array.from(passToArray(input, INT8_MIN, INT8_MAX))) ); var Int16ArraySchema = v.instance(Int16Array); var Int16ArrayTransform = v.pipe( IntegerSchema, v.transform((input) => Int16Array.from(passToArray(input, INT16_MIN, INT16_MAX))) ); var Int32ArraySchema = v.instance(Int32Array); var Int32ArrayTransform = v.pipe( IntegerSchema, v.transform((input) => Int32Array.from(passToArray(input, INT32_MIN, INT32_MAX))) ); var BigInt64ArraySchema = v.instance(BigInt64Array); var Float32ArraySchema = v.instance(Float32Array); var Float32ArrayTransform = v.pipe( v.number(), v.transform((input) => Float32Array.from(passToArray(input, FLOAT32_MIN, FLOAT32_MAX))) ); var Float64ArraySchema = v.instance(Float64Array); var Float64ArrayTransform = v.pipe( v.number(), v.transform((input) => Float64Array.from(passToArray(input, FLOAT64_MIN, FLOAT64_MAX))) ); exports.BigInt64ArraySchema = BigInt64ArraySchema; exports.BigIntSchema = BigIntSchema; exports.BigUint64ArraySchema = BigUint64ArraySchema; exports.BigUintSchema = BigUintSchema; exports.FLOAT32_MAX = FLOAT32_MAX; exports.FLOAT32_MIN = FLOAT32_MIN; exports.FLOAT64_MAX = FLOAT64_MAX; exports.FLOAT64_MIN = FLOAT64_MIN; exports.Float32ArraySchema = Float32ArraySchema; exports.Float32ArrayTransform = Float32ArrayTransform; exports.Float32Schema = Float32Schema; exports.Float64ArraySchema = Float64ArraySchema; exports.Float64ArrayTransform = Float64ArrayTransform; exports.Float64Schema = Float64Schema; exports.INT16_MAX = INT16_MAX; exports.INT16_MIN = INT16_MIN; exports.INT32_MAX = INT32_MAX; exports.INT32_MIN = INT32_MIN; exports.INT8_MAX = INT8_MAX; exports.INT8_MIN = INT8_MIN; exports.Int16ArraySchema = Int16ArraySchema; exports.Int16ArrayTransform = Int16ArrayTransform; exports.Int16Schema = Int16Schema; exports.Int32ArraySchema = Int32ArraySchema; exports.Int32ArrayTransform = Int32ArrayTransform; exports.Int32Schema = Int32Schema; exports.Int8ArraySchema = Int8ArraySchema; exports.Int8ArrayTransform = Int8ArrayTransform; exports.Int8Schema = Int8Schema; exports.IntegerSchema = IntegerSchema; exports.UINT16_MAX = UINT16_MAX; exports.UINT32_MAX = UINT32_MAX; exports.UINT8_MAX = UINT8_MAX; exports.UINT_MIN = UINT_MIN; exports.Uint16ArraySchema = Uint16ArraySchema; exports.Uint16ArrayTransform = Uint16ArrayTransform; exports.Uint16Schema = Uint16Schema; exports.Uint32ArraySchema = Uint32ArraySchema; exports.Uint32ArrayTransform = Uint32ArrayTransform; exports.Uint32Schema = Uint32Schema; exports.Uint8ArraySchema = Uint8ArraySchema; exports.Uint8ArrayTransform = Uint8ArrayTransform; exports.Uint8Schema = Uint8Schema; exports.UnsignedIntegerSchema = UnsignedIntegerSchema; exports.passToArray = passToArray;