UNPKG

jet-validators

Version:

A list common typescript validator-functions and some useful utilities to go with them.

135 lines 3.49 kB
"use strict"; 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