From f5da699cef0af397850bc858c9323f961aed12ce Mon Sep 17 00:00:00 2001 From: Mandy Trinh Date: Tue, 5 Dec 2023 11:21:37 -0800 Subject: [PATCH 1/3] simplify nan and infinity checks --- lib/utils/event_tag_utils/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/utils/event_tag_utils/index.ts b/lib/utils/event_tag_utils/index.ts index 1c3f3d75d..c3922d881 100644 --- a/lib/utils/event_tag_utils/index.ts +++ b/lib/utils/event_tag_utils/index.ts @@ -41,7 +41,7 @@ export function getRevenueValue(eventTags: EventTags, logger: LoggerFacade): num let parsedRevenueValue; if (typeof rawValue === 'string') { parsedRevenueValue = parseInt(rawValue); - if (isNaN(parsedRevenueValue)) { + if (!isFinite(parsedRevenueValue)) { logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_REVENUE, MODULE_NAME, rawValue); return null; } @@ -70,7 +70,7 @@ export function getEventValue(eventTags: EventTags, logger: LoggerFacade): numbe let parsedEventValue; if (typeof rawValue === 'string') { parsedEventValue = parseFloat(rawValue); - if (isNaN(parsedEventValue)) { + if (!isFinite(parsedEventValue)) { logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_VALUE, MODULE_NAME, rawValue); return null; } From be0d7f797be1fa03c7a6c1b79248ca3e7bc381b8 Mon Sep 17 00:00:00 2001 From: Mandy Trinh Date: Fri, 8 Dec 2023 00:20:31 -0800 Subject: [PATCH 2/3] refactor for readability --- lib/utils/event_tag_utils/index.ts | 60 +++++++++++++----------------- 1 file changed, 26 insertions(+), 34 deletions(-) diff --git a/lib/utils/event_tag_utils/index.ts b/lib/utils/event_tag_utils/index.ts index c3922d881..81434aa5c 100644 --- a/lib/utils/event_tag_utils/index.ts +++ b/lib/utils/event_tag_utils/index.ts @@ -36,26 +36,21 @@ const VALUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS.VALUE; * @return {number|null} */ export function getRevenueValue(eventTags: EventTags, logger: LoggerFacade): number | null { - if (eventTags.hasOwnProperty(REVENUE_EVENT_METRIC_NAME)) { - const rawValue = eventTags[REVENUE_EVENT_METRIC_NAME]; - let parsedRevenueValue; - if (typeof rawValue === 'string') { - parsedRevenueValue = parseInt(rawValue); - if (!isFinite(parsedRevenueValue)) { - logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_REVENUE, MODULE_NAME, rawValue); - return null; - } - logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.PARSED_REVENUE_VALUE, MODULE_NAME, parsedRevenueValue); - return parsedRevenueValue; - } - if (typeof rawValue === 'number') { - parsedRevenueValue = rawValue; - logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.PARSED_REVENUE_VALUE, MODULE_NAME, parsedRevenueValue); - return parsedRevenueValue; - } + const rawValue = eventTags[REVENUE_EVENT_METRIC_NAME]; + + if (rawValue == null) { // null or undefined event values + return null; + } + + const parsedRevenueValue = typeof rawValue === 'string' ? parseInt(rawValue) : rawValue; + + if (isFinite(parsedRevenueValue)) { + logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.PARSED_REVENUE_VALUE, MODULE_NAME, parsedRevenueValue); + return parsedRevenueValue; + } else { // NaN, +/- infinity values + logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_REVENUE, MODULE_NAME, rawValue); return null; } - return null; } /** @@ -65,24 +60,21 @@ export function getRevenueValue(eventTags: EventTags, logger: LoggerFacade): num * @return {number|null} */ export function getEventValue(eventTags: EventTags, logger: LoggerFacade): number | null { - if (eventTags.hasOwnProperty(VALUE_EVENT_METRIC_NAME)) { - const rawValue = eventTags[VALUE_EVENT_METRIC_NAME]; - let parsedEventValue; - if (typeof rawValue === 'string') { - parsedEventValue = parseFloat(rawValue); - if (!isFinite(parsedEventValue)) { - logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_VALUE, MODULE_NAME, rawValue); - return null; - } + const rawValue = eventTags[VALUE_EVENT_METRIC_NAME]; + + if (rawValue == null) { // null or undefined event values + return null; + } + + const parsedEventValue = typeof rawValue === 'string' ? parseFloat(rawValue) : rawValue; + + if (isFinite(parsedEventValue)) { logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.PARSED_NUMERIC_VALUE, MODULE_NAME, parsedEventValue); return parsedEventValue; - } - if (typeof rawValue === 'number') { - parsedEventValue = rawValue; - logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.PARSED_NUMERIC_VALUE, MODULE_NAME, parsedEventValue); - return parsedEventValue; - } + } else { // NaN, +/- infinity values + logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_VALUE, MODULE_NAME, rawValue); return null; } - return null; } + + From 95ea24ad3f32a1413f5ae7d117779837b8d6beef Mon Sep 17 00:00:00 2001 From: Mandy Trinh Date: Fri, 8 Dec 2023 00:22:05 -0800 Subject: [PATCH 3/3] white space --- lib/utils/event_tag_utils/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/utils/event_tag_utils/index.ts b/lib/utils/event_tag_utils/index.ts index 81434aa5c..7917f3baa 100644 --- a/lib/utils/event_tag_utils/index.ts +++ b/lib/utils/event_tag_utils/index.ts @@ -75,6 +75,4 @@ export function getEventValue(eventTags: EventTags, logger: LoggerFacade): numbe logger.log(LOG_LEVEL.INFO, LOG_MESSAGES.FAILED_TO_PARSE_VALUE, MODULE_NAME, rawValue); return null; } -} - - +} \ No newline at end of file