jet-validators
Version:
A list common typescript validator-functions and some useful utilities to go with them.
135 lines • 3.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.nonNullable = nonNullable;
exports.transform = transform;
exports.parseBoolean = parseBoolean;
exports.parseOptionalBoolean = parseOptionalBoolean;
exports.parseNullableBoolean = parseNullableBoolean;
exports.parseNullishBoolean = parseNullishBoolean;
exports.parseJson = parseJson;
exports.parseOptionalJson = parseOptionalJson;
exports.parseNullableJson = parseNullableJson;
exports.parseNullishJson = parseNullishJson;
const dist_1 = require("../../dist");
function nonNullable(cb) {
return (arg, onError) => {
if ((0, dist_1.isNullish)(arg)) {
return false;
}
else {
return cb(arg, onError);
}
};
}
function transform(transFn, vldt) {
const retFn = (arg, cb) => {
if (arg !== undefined) {
arg = transFn(arg);
}
cb?.(arg);
return vldt(arg);
};
Object.defineProperty(retFn, 'isTransFn', { value: true, writable: false });
return retFn;
}
function parseBoolean(arg, errMsg) {
if (typeof arg === 'string') {
arg = arg.toLowerCase();
if (arg === 'true') {
return true;
}
else if (arg === 'false') {
return false;
}
else if (arg === 'yes') {
return true;
}
else if (arg === 'no') {
return false;
}
else if (arg === '1') {
return true;
}
else if (arg === '0') {
return false;
}
}
else if (typeof arg === 'number') {
if (arg === 1) {
return true;
}
else if (arg === 0) {
return false;
}
}
else if (typeof arg === 'boolean') {
return arg;
}
throw new Error(errMsg ?? 'Argument must be a valid boolean.');
}
function parseOptionalBoolean(arg) {
if (arg === undefined) {
return arg;
}
else {
return parseBoolean(arg, 'Argument must be a valid boolean | undefined.');
}
}
function parseNullableBoolean(arg) {
if (arg === null) {
return arg;
}
else {
return parseBoolean(arg, 'Argument must be a valid boolean | null.');
}
}
function parseNullishBoolean(arg) {
if (arg === null || arg === undefined) {
return arg;
}
else {
return parseBoolean(arg, 'Argument must be a valid boolean | null | undefined.');
}
}
function parseJson(arg) {
if ((0, dist_1.isString)(arg)) {
return JSON.parse(arg);
}
else {
throw Error('JSON parse argument must be a string.');
}
}
function parseOptionalJson(arg) {
if (arg === undefined) {
return arg;
}
else if ((0, dist_1.isString)(arg)) {
return JSON.parse(arg);
}
else {
throw Error('JSON parse argument must be string or undefined.');
}
}
function parseNullableJson(arg) {
if (arg === null) {
return arg;
}
else if ((0, dist_1.isString)(arg)) {
return JSON.parse(arg);
}
else {
throw Error('JSON parse argument must be string or null.');
}
}
function parseNullishJson(arg) {
if (arg === null || arg === undefined) {
return arg;
}
else if ((0, dist_1.isString)(arg)) {
return JSON.parse(arg);
}
else {
throw Error('JSON parse argument must be string, null, or undefined.');
}
}
//# sourceMappingURL=util-functions.js.map
;