@@ -31,6 +31,9 @@ const MODULE_NAME = 'EVENT_TAG_UTILS';
31
31
const REVENUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS . REVENUE ;
32
32
const VALUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS . VALUE ;
33
33
34
+ let parsedRevenueValue ;
35
+ let parsedEventValue ;
36
+
34
37
/**
35
38
* Grab the revenue value from the event tags. "revenue" is a reserved keyword.
36
39
* @param {EventTags } eventTags
@@ -40,14 +43,21 @@ const VALUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS.VALUE;
40
43
export function getRevenueValue ( eventTags : EventTags , logger : LoggerFacade ) : number | null {
41
44
if ( eventTags && eventTags . hasOwnProperty ( REVENUE_EVENT_METRIC_NAME ) ) {
42
45
const rawValue = eventTags [ REVENUE_EVENT_METRIC_NAME ] ;
43
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
- const parsedRevenueValue = parseInt ( rawValue as any ) ;
45
- if ( isNaN ( parsedRevenueValue ) ) {
46
- logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FAILED_TO_PARSE_REVENUE , MODULE_NAME , rawValue ) ) ;
47
- return null ;
46
+ if ( typeof rawValue === 'string' ) {
47
+ parsedRevenueValue = parseInt ( rawValue ) ;
48
+ if ( isNaN ( parsedRevenueValue ) ) {
49
+ logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FAILED_TO_PARSE_REVENUE , MODULE_NAME , rawValue ) ) ;
50
+ return null ;
51
+ }
52
+ logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . PARSED_REVENUE_VALUE , MODULE_NAME , parsedRevenueValue ) ) ;
53
+ return parsedRevenueValue ;
54
+ }
55
+ if ( typeof rawValue === 'number' ) {
56
+ parsedRevenueValue = rawValue ;
57
+ logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . PARSED_REVENUE_VALUE , MODULE_NAME , parsedRevenueValue ) ) ;
58
+ return parsedRevenueValue ;
48
59
}
49
- logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . PARSED_REVENUE_VALUE , MODULE_NAME , parsedRevenueValue ) ) ;
50
- return parsedRevenueValue ;
60
+ return null ;
51
61
}
52
62
return null ;
53
63
}
@@ -61,14 +71,21 @@ export function getRevenueValue(eventTags: EventTags, logger: LoggerFacade): num
61
71
export function getEventValue ( eventTags : EventTags , logger : LoggerFacade ) : number | null {
62
72
if ( eventTags && eventTags . hasOwnProperty ( VALUE_EVENT_METRIC_NAME ) ) {
63
73
const rawValue = eventTags [ VALUE_EVENT_METRIC_NAME ] ;
64
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
- const parsedEventValue = parseFloat ( rawValue as any ) ;
66
- if ( isNaN ( parsedEventValue ) ) {
67
- logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FAILED_TO_PARSE_VALUE , MODULE_NAME , rawValue ) ) ;
68
- return null ;
69
- }
74
+ if ( typeof rawValue === 'string' ) {
75
+ parsedEventValue = parseFloat ( rawValue ) ;
76
+ if ( isNaN ( parsedEventValue ) ) {
77
+ logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FAILED_TO_PARSE_VALUE , MODULE_NAME , rawValue ) ) ;
78
+ return null ;
79
+ }
70
80
logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . PARSED_NUMERIC_VALUE , MODULE_NAME , parsedEventValue ) ) ;
71
81
return parsedEventValue ;
82
+ }
83
+ if ( typeof rawValue === 'number' ) {
84
+ parsedEventValue = rawValue ;
85
+ logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . PARSED_NUMERIC_VALUE , MODULE_NAME , parsedEventValue ) ) ;
86
+ return parsedEventValue ;
87
+ }
88
+ return null ;
72
89
}
73
90
return null ;
74
91
}
0 commit comments