UNPKG

indicative-utils

Version:

Reusable utilities for indicative validation library

35 lines (34 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const toDate_1 = require("./toDate"); const toString_1 = require("./toString"); const toBoolean_1 = require("./toBoolean"); const toInt_1 = require("./toInt"); function cast(value, toType, errorMessage) { if (typeof (value) === toType) { return value; } let castedValue = null; switch (toType) { case 'float': castedValue = toInt_1.toInt(value, true); break; case 'string': castedValue = toString_1.toString(value); break; case 'integer': castedValue = toInt_1.toInt(value); break; case 'date': castedValue = toDate_1.toDate(value); break; case 'boolean': castedValue = toBoolean_1.toBoolean(value); break; } if (castedValue === null && errorMessage) { throw new Error(errorMessage); } return castedValue; } exports.cast = cast;