@@ -36,26 +36,21 @@ const VALUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS.VALUE;
3636 * @return {number|null }
3737 */
3838export function getRevenueValue ( eventTags : EventTags , logger : LoggerFacade ) : number | null {
39- if ( eventTags . hasOwnProperty ( REVENUE_EVENT_METRIC_NAME ) ) {
40- const rawValue = eventTags [ REVENUE_EVENT_METRIC_NAME ] ;
41- let parsedRevenueValue ;
42- if ( typeof rawValue === 'string' ) {
43- parsedRevenueValue = parseInt ( rawValue ) ;
44- if ( isNaN ( parsedRevenueValue ) ) {
45- logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . FAILED_TO_PARSE_REVENUE , MODULE_NAME , rawValue ) ;
46- return null ;
47- }
48- logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . PARSED_REVENUE_VALUE , MODULE_NAME , parsedRevenueValue ) ;
49- return parsedRevenueValue ;
50- }
51- if ( typeof rawValue === 'number' ) {
52- parsedRevenueValue = rawValue ;
53- logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . PARSED_REVENUE_VALUE , MODULE_NAME , parsedRevenueValue ) ;
54- return parsedRevenueValue ;
55- }
39+ const rawValue = eventTags [ REVENUE_EVENT_METRIC_NAME ] ;
40+
41+ if ( rawValue == null ) { // null or undefined event values
42+ return null ;
43+ }
44+
45+ const parsedRevenueValue = typeof rawValue === 'string' ? parseInt ( rawValue ) : rawValue ;
46+
47+ if ( isFinite ( parsedRevenueValue ) ) {
48+ logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . PARSED_REVENUE_VALUE , MODULE_NAME , parsedRevenueValue ) ;
49+ return parsedRevenueValue ;
50+ } else { // NaN, +/- infinity values
51+ logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . FAILED_TO_PARSE_REVENUE , MODULE_NAME , rawValue ) ;
5652 return null ;
5753 }
58- return null ;
5954}
6055
6156/**
@@ -65,24 +60,19 @@ export function getRevenueValue(eventTags: EventTags, logger: LoggerFacade): num
6560 * @return {number|null }
6661 */
6762export function getEventValue ( eventTags : EventTags , logger : LoggerFacade ) : number | null {
68- if ( eventTags . hasOwnProperty ( VALUE_EVENT_METRIC_NAME ) ) {
69- const rawValue = eventTags [ VALUE_EVENT_METRIC_NAME ] ;
70- let parsedEventValue ;
71- if ( typeof rawValue === 'string' ) {
72- parsedEventValue = parseFloat ( rawValue ) ;
73- if ( isNaN ( parsedEventValue ) ) {
74- logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . FAILED_TO_PARSE_VALUE , MODULE_NAME , rawValue ) ;
75- return null ;
76- }
63+ const rawValue = eventTags [ VALUE_EVENT_METRIC_NAME ] ;
64+
65+ if ( rawValue == null ) { // null or undefined event values
66+ return null ;
67+ }
68+
69+ const parsedEventValue = typeof rawValue === 'string' ? parseFloat ( rawValue ) : rawValue ;
70+
71+ if ( isFinite ( parsedEventValue ) ) {
7772 logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . PARSED_NUMERIC_VALUE , MODULE_NAME , parsedEventValue ) ;
7873 return parsedEventValue ;
79- }
80- if ( typeof rawValue === 'number' ) {
81- parsedEventValue = rawValue ;
82- logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . PARSED_NUMERIC_VALUE , MODULE_NAME , parsedEventValue ) ;
83- return parsedEventValue ;
84- }
74+ } else { // NaN, +/- infinity values
75+ logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . FAILED_TO_PARSE_VALUE , MODULE_NAME , rawValue ) ;
8576 return null ;
8677 }
87- return null ;
88- }
78+ }
0 commit comments