UNPKG

logitar-js

Version:

Helper functions distributed by Logitar.

42 lines (41 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseNumber = exports.parseBoolean = void 0; /** * Tries parsing a boolean from the specified value. * @param value Can be a boolean, a string or undefined. Strings are trimmed and lowercased before being compared to boolean equivalents. * @returns A boolean if the value was parsed successfully, or undefined otherwise. */ function parseBoolean(value) { if (typeof value === "boolean") { return value; } else if (typeof value === "string") { value = value.trim().toLowerCase(); switch (value) { case "true": return true; case "false": return false; } } } exports.parseBoolean = parseBoolean; /** * Tries parsing a number from the specified value. * @param value Can be a number, a string or undefined. Strings are trimmed before being converted to numbers. * @returns A number if the value was parsed successfully, or undefined otherwise. */ function parseNumber(value) { if (typeof value === "number") { return value; } else if (typeof value === "string") { const number = Number(value.trim()); if (!isNaN(number)) { return number; } } return undefined; } exports.parseNumber = parseNumber;