@@ -36,26 +36,21 @@ const VALUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS.VALUE;
36
36
* @return {number|null }
37
37
*/
38
38
export 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 ) ;
56
52
return null ;
57
53
}
58
- return null ;
59
54
}
60
55
61
56
/**
@@ -65,24 +60,19 @@ export function getRevenueValue(eventTags: EventTags, logger: LoggerFacade): num
65
60
* @return {number|null }
66
61
*/
67
62
export 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 ) ) {
77
72
logger . log ( LOG_LEVEL . INFO , LOG_MESSAGES . PARSED_NUMERIC_VALUE , MODULE_NAME , parsedEventValue ) ;
78
73
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 ) ;
85
76
return null ;
86
77
}
87
- return null ;
88
- }
78
+ }
0 commit comments