@@ -19,12 +19,10 @@ import {
1919 PARSED_NUMERIC_VALUE ,
2020 PARSED_REVENUE_VALUE ,
2121} from 'log_message' ;
22- import { EventTags } from '../../event_processor/event_builder/user_event' ;
2322import { LoggerFacade } from '../../logging/logger' ;
2423
25- import {
26- RESERVED_EVENT_KEYWORDS ,
27- } from '../enums' ;
24+ import { RESERVED_EVENT_KEYWORDS } from '../enums' ;
25+ import { EventTags } from '../../shared_types' ;
2826
2927/**
3028 * Provides utility method for parsing event tag values
@@ -41,16 +39,18 @@ const VALUE_EVENT_METRIC_NAME = RESERVED_EVENT_KEYWORDS.VALUE;
4139export function getRevenueValue ( eventTags : EventTags , logger ?: LoggerFacade ) : number | null {
4240 const rawValue = eventTags [ REVENUE_EVENT_METRIC_NAME ] ;
4341
44- if ( rawValue == null ) { // null or undefined event values
42+ if ( rawValue == null ) {
43+ // null or undefined event values
4544 return null ;
4645 }
4746
48- const parsedRevenueValue = typeof rawValue === 'string' ? parseInt ( rawValue ) : rawValue ;
47+ const amount = typeof rawValue === 'number' ? rawValue : typeof rawValue === ' string' ? parseInt ( rawValue ) : NaN ;
4948
50- if ( isFinite ( parsedRevenueValue ) ) {
51- logger ?. info ( PARSED_REVENUE_VALUE , parsedRevenueValue ) ;
52- return parsedRevenueValue ;
53- } else { // NaN, +/- infinity values
49+ if ( isFinite ( amount ) ) {
50+ logger ?. info ( PARSED_REVENUE_VALUE , amount ) ;
51+ return amount ;
52+ } else {
53+ // NaN, +/- infinity values
5454 logger ?. info ( FAILED_TO_PARSE_REVENUE , rawValue ) ;
5555 return null ;
5656 }
@@ -65,16 +65,18 @@ export function getRevenueValue(eventTags: EventTags, logger?: LoggerFacade): nu
6565export function getEventValue ( eventTags : EventTags , logger ?: LoggerFacade ) : number | null {
6666 const rawValue = eventTags [ VALUE_EVENT_METRIC_NAME ] ;
6767
68- if ( rawValue == null ) { // null or undefined event values
68+ if ( rawValue == null ) {
69+ // null or undefined event values
6970 return null ;
7071 }
7172
72- const parsedEventValue = typeof rawValue === 'string' ? parseFloat ( rawValue ) : rawValue ;
73+ const amount = typeof rawValue === 'number' ? rawValue : typeof rawValue === ' string' ? parseFloat ( rawValue ) : NaN ;
7374
74- if ( isFinite ( parsedEventValue ) ) {
75- logger ?. info ( PARSED_NUMERIC_VALUE , parsedEventValue ) ;
76- return parsedEventValue ;
77- } else { // NaN, +/- infinity values
75+ if ( isFinite ( amount ) ) {
76+ logger ?. info ( PARSED_NUMERIC_VALUE , amount ) ;
77+ return amount ;
78+ } else {
79+ // NaN, +/- infinity values
7880 logger ?. info ( FAILED_TO_PARSE_VALUE , rawValue ) ;
7981 return null ;
8082 }
0 commit comments