From 0d46d0a1a069d0954f9f758ec129db2af248ef67 Mon Sep 17 00:00:00 2001 From: Alejandro Gallardo Escobar Date: Thu, 4 Apr 2019 17:08:32 +0200 Subject: [PATCH] Visual Console Refactor: added a new util function Former-commit-id: 4ff4042bdefe87236f7109b27b736a8b21a60e97 --- visual_console/src/lib.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/visual_console/src/lib.ts b/visual_console/src/lib.ts index 886d2a373a..002bbff08c 100644 --- a/visual_console/src/lib.ts +++ b/visual_console/src/lib.ts @@ -22,6 +22,24 @@ export function parseIntOr(value: any, defaultValue: T): number | T { else return defaultValue; } +/** + * Return a number or a default value from a raw value. + * @param value Raw value from which we will try to extract a valid number. + * @param defaultValue Default value to use if we cannot extract a valid number. + * @return A valid number or the default value. + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export function parseFloatOr(value: any, defaultValue: T): number | T { + if (typeof value === "number") return value; + if ( + typeof value === "string" && + value.length > 0 && + !isNaN(parseFloat(value)) + ) + return parseFloat(value); + else return defaultValue; +} + /** * Check if a string exists and it's not empty. * @param value Value to check.