From 5c350b370cbe8430582d25b062c8de19fdec033b Mon Sep 17 00:00:00 2001 From: Vijay A Date: Mon, 26 Dec 2022 13:26:12 +0530 Subject: Minor refactoring --- src/jsUtils.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/jsUtils.ts') diff --git a/src/jsUtils.ts b/src/jsUtils.ts index b93d6db5b..0cc83bb91 100644 --- a/src/jsUtils.ts +++ b/src/jsUtils.ts @@ -9,4 +9,17 @@ export const convertToJSON = (data: string | any | undefined | null) => export const cleanseJSObject = (data: any | undefined | null) => JSON.parse(JSON.stringify(data)); -export const isEscKeyPress = (keyCode: Number) => keyCode === 27; +export const isEscKeyPress = (keyCode: number) => keyCode === 27; + +export const safeParseInt = (text: string | number | undefined | null) => { + if (text === undefined || text === null) { + return 0; + } + + // Parse number to integer + // This will correct errors that recipes may introduce, e.g. + // by sending a String instead of an integer + const parsedNumber = Number.parseInt(text.toString(), 10); + const adjustedNumber = Number.isNaN(parsedNumber) ? 0 : parsedNumber; + return Math.max(adjustedNumber, 0); +}; -- cgit v1.2.3-54-g00ecf