UNPKG

valia

Version:

A runtime data validator in TypeScript with advanced type inference, built-in validation functions, and seamless integration for server and client environments.

31 lines (30 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NumberFormat = void 0; const testers_1 = require("../../../testers"); exports.NumberFormat = { defaultCriteria: {}, checking(queue, path, criteria, value) { if (typeof value !== "number") { return ("TYPE_NOT_NUMBER"); } else if (criteria.min !== undefined && value < criteria.min) { return ("VALUE_SUPERIOR_MIN"); } else if (criteria.max !== undefined && value > criteria.max) { return ("VALUE_SUPERIOR_MAX"); } else if (criteria.enum !== undefined) { if ((0, testers_1.isPlainObject)(criteria.enum) && !Object.values(criteria.enum).includes(value)) { return ("VALUE_NOT_IN_ENUM"); } else if ((0, testers_1.isArray)(criteria.enum) && !criteria.enum.includes(value)) { return ("VALUE_NOT_IN_ENUM"); } } else if (criteria.custom && !criteria.custom(value)) { return ("TEST_CUSTOM_FAILED"); } return (null); } };