UNPKG

@tdb/util

Version:
57 lines (56 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var libs_1 = require("./libs"); var value_is_1 = require("./value.is"); function toNumber(value) { if (value_is_1.isBlank(value)) { return value; } var num = parseFloat(value); if (num === undefined) { return value; } if (num.toString().length !== value.toString().length) { return value; } return Number.isNaN(num) ? value : num; } exports.toNumber = toNumber; function toBool(value, defaultValue) { if (libs_1.R.isNil(value)) { return defaultValue; } if (libs_1.R.is(Boolean, value)) { return value; } var asString = value .toString() .trim() .toLowerCase(); if (asString === 'true') { return true; } if (asString === 'false') { return false; } return defaultValue; } exports.toBool = toBool; function toType(value) { if (!libs_1.R.is(String, value)) { return value; } var lowerCase = value.toLowerCase().trim(); if (lowerCase === 'true') { return true; } if (lowerCase === 'false') { return false; } var num = toNumber(lowerCase); if (libs_1.R.is(Number, num)) { return num; } return value; } exports.toType = toType;