UNPKG

logitar-validation

Version:

JavaScript validation library distributed by Logitar.

36 lines (35 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const logitar_js_1 = require("logitar-js"); const { isNullOrWhiteSpace } = logitar_js_1.stringUtils; /** * A validation rule that checks if a required value is provided. * @param value The value to validate. * @returns The result of the validation rule execution. */ const required = (value) => { switch (typeof value) { case "number": if (isNaN(value) || value === 0) { return { severity: "error", message: "{{name}} must be a number different from 0." }; } break; case "string": if (isNullOrWhiteSpace(value)) { return { severity: "error", message: "{{name}} cannot be an empty string." }; } break; default: if (Array.isArray(value)) { if (value.length === 0) { return { severity: "error", message: "{{name}} cannot be an empty array." }; } } else if (!Boolean(value)) { return { severity: "error", message: "{{name}} is required." }; } break; } return { severity: "information" }; }; exports.default = required;