UNPKG

objectypes

Version:

A type-safe library to transform and validate objects

32 lines (31 loc) 770 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.castValue = void 0; function castValue(expectedType, value) { if (value === undefined) { return value; } switch (expectedType) { case 'Number': { return castNumber(value); } case 'Date': { return castDate(value); } default: return value; } } exports.castValue = castValue; function castNumber(value) { if (isNaN(value)) { throw new Error(`Value '${value}' is not a valid number`); } return Number(value); } function castDate(value) { if (!Date.parse(value)) { throw new Error(`Value '${value}' is not a valid Date`); } return new Date(value); }