@evlop/commons 1.0.298 → 1.0.299

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,125 @@
1
- declare type TrackListener = (eventName: string, properties: Object) => void;
1
+ declare type AddToCartEventParams = {
2
+ cartId: string;
3
+ items: Array<{
4
+ productId: string;
5
+ variantId: string;
6
+ quantity: number;
7
+ quantityInCart: number;
8
+ }>;
9
+ };
10
+ declare type AddToCartEvent = {
11
+ eventName: "AddToCart";
12
+ params: AddToCartEventParams;
13
+ };
14
+ declare type UpdateProductQuantityEventParams = {
15
+ cartId: string;
16
+ items: Array<{
17
+ productId: string;
18
+ variantId: string;
19
+ quantity: number;
20
+ quantityInCart: number;
21
+ }>;
22
+ };
23
+ declare type UpdateProductQuantityEvent = {
24
+ eventName: "UpdateProductQuantity";
25
+ params: UpdateProductQuantityEventParams;
26
+ };
27
+ declare type AddToWishlistEventParams = {
28
+ productId: string;
29
+ variantId: string;
30
+ };
31
+ declare type AddToWishlistEvent = {
32
+ eventName: "AddToWishlist";
33
+ params: AddToWishlistEventParams;
34
+ };
35
+ declare type RemoveFromWishlistEventParams = {
36
+ productId: string;
37
+ variantId: string;
38
+ };
39
+ declare type RemoveFromWishlistEvent = {
40
+ eventName: "RemoveFromWishlist";
41
+ params: RemoveFromWishlistEventParams;
42
+ };
43
+ declare type BeginCheckoutEventParams = {
44
+ cartId: string;
45
+ };
46
+ declare type BeginCheckoutEvent = {
47
+ eventName: "BeginCheckout";
48
+ params: BeginCheckoutEventParams;
49
+ };
50
+ declare type CheckoutCompletedEventParams = {
51
+ cartId: string;
52
+ currency: string;
53
+ subTotalAmount: number;
54
+ discountAmount: number;
55
+ totalAmount: number;
56
+ taxAmount: number;
57
+ shippingAmount: number;
58
+ discountCode: string;
59
+ items: Array<{
60
+ productId: string;
61
+ variantId: string;
62
+ quantity: number;
63
+ }>;
64
+ };
65
+ declare type CheckoutCompletedEvent = {
66
+ eventName: "CheckoutCompleted";
67
+ params: CheckoutCompletedEventParams;
68
+ };
69
+ declare type LoginEventParams = {
70
+ email: string;
71
+ customerId?: string;
72
+ };
73
+ declare type LoginEvent = {
74
+ eventName: "Login";
75
+ params: LoginEventParams;
76
+ };
77
+ declare type LogoutEventParams = {
78
+ customerId: string;
79
+ };
80
+ declare type LogoutEvent = {
81
+ eventName: "Logout";
82
+ params: LogoutEventParams;
83
+ };
84
+ declare type SignUpEventParams = {
85
+ customerId: string;
86
+ email?: string;
87
+ firstName?: string;
88
+ lastName?: string;
89
+ phone?: string;
90
+ };
91
+ declare type SignUpEvent = {
92
+ eventName: "SignUp";
93
+ params: SignUpEventParams;
94
+ };
95
+ declare type RemoveFromCartEventParams = {
96
+ productId: string;
97
+ variantId: string;
98
+ cartId: string;
99
+ };
100
+ declare type RemoveFromCartEvent = {
101
+ eventName: "RemoveFromCart";
102
+ params: RemoveFromCartEventParams;
103
+ };
104
+ declare type SearchEventParams = {
105
+ query: string;
106
+ };
107
+ declare type SearchEvent = {
108
+ eventName: "Search";
109
+ params: SearchEventParams;
110
+ };
111
+ export declare type AnalyticEvent = SignUpEvent | LoginEvent | LogoutEvent | AddToWishlistEvent | RemoveFromWishlistEvent | BeginCheckoutEvent | CheckoutCompletedEvent | SearchEvent | AddToCartEvent | RemoveFromCartEvent | UpdateProductQuantityEvent;
112
+ declare type TrackListener<T extends AnalyticEvent["eventName"]> = (eventName: T, properties: Extract<AnalyticEvent, {
113
+ eventName: T;
114
+ }>["params"]) => void;
2
115
  declare type UnsubscribeTrackListener = () => void;
116
+ declare type TrackFunction<T extends AnalyticEvent["eventName"]> = (eventName: T, properties: Extract<AnalyticEvent, {
117
+ eventName: T;
118
+ }>["params"]) => void;
3
119
  declare class Analytics {
4
120
  private eventEmitter;
5
- track(eventName: string, properties: Object): void;
6
- onTrack(handleTrack: TrackListener): UnsubscribeTrackListener;
121
+ track: TrackFunction<any>;
122
+ onTrack(handleTrack: TrackListener<any>): UnsubscribeTrackListener;
7
123
  }
8
124
  export declare const analytics: Analytics;
9
125
  export default analytics;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"AAEA,aAAK,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,aAAK,wBAAwB,GAAG,MAAM,IAAI,CAAC;AAE3C,cAAM,SAAS;IACX,OAAO,CAAC,YAAY,CAAsB;IAE1C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAO3C,OAAO,CAAC,WAAW,EAAE,aAAa,GAAG,wBAAwB;CAMhE;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC;AAEzC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,12 @@ const events_1 = require("events");
5
5
  class Analytics {
6
6
  constructor() {
7
7
  this.eventEmitter = new events_1.EventEmitter();
8
- }
9
- track(eventName, properties) {
10
- this.eventEmitter.emit('track', {
11
- eventName,
12
- properties,
13
- });
8
+ this.track = (eventName, properties) => {
9
+ this.eventEmitter.emit('track', {
10
+ eventName,
11
+ properties,
12
+ });
13
+ };
14
14
  }
15
15
  onTrack(handleTrack) {
16
16
  const handleEvent = ({ eventName, properties }) => handleTrack(eventName, properties);
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAKtC,MAAM,SAAS;IAAf;QACY,iBAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;IAe9C,CAAC;IAbG,KAAK,CAAC,SAAiB,EAAE,UAAkB;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5B,SAAS;YACT,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,WAA0B;QAC9B,MAAM,WAAW,GAAG,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,EAAC,EAAE,CAAA,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QACjF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CAEJ;AAEY,QAAA,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC,kBAAe,iBAAS,CAAC"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAwItC,MAAM,SAAS;IAAf;QACY,iBAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;QAE1C,UAAK,GAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE;YAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC5B,SAAS;gBACT,UAAU;aACb,CAAC,CAAC;QACP,CAAC,CAAA;IAQL,CAAC;IANG,OAAO,CAAC,WAA+B;QACnC,MAAM,WAAW,GAAG,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,EAAC,EAAE,CAAA,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QACjF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CAEJ;AAEY,QAAA,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC,kBAAe,iBAAS,CAAC"}
@@ -1,9 +1,125 @@
1
- declare type TrackListener = (eventName: string, properties: Object) => void;
1
+ declare type AddToCartEventParams = {
2
+ cartId: string;
3
+ items: Array<{
4
+ productId: string;
5
+ variantId: string;
6
+ quantity: number;
7
+ quantityInCart: number;
8
+ }>;
9
+ };
10
+ declare type AddToCartEvent = {
11
+ eventName: "AddToCart";
12
+ params: AddToCartEventParams;
13
+ };
14
+ declare type UpdateProductQuantityEventParams = {
15
+ cartId: string;
16
+ items: Array<{
17
+ productId: string;
18
+ variantId: string;
19
+ quantity: number;
20
+ quantityInCart: number;
21
+ }>;
22
+ };
23
+ declare type UpdateProductQuantityEvent = {
24
+ eventName: "UpdateProductQuantity";
25
+ params: UpdateProductQuantityEventParams;
26
+ };
27
+ declare type AddToWishlistEventParams = {
28
+ productId: string;
29
+ variantId: string;
30
+ };
31
+ declare type AddToWishlistEvent = {
32
+ eventName: "AddToWishlist";
33
+ params: AddToWishlistEventParams;
34
+ };
35
+ declare type RemoveFromWishlistEventParams = {
36
+ productId: string;
37
+ variantId: string;
38
+ };
39
+ declare type RemoveFromWishlistEvent = {
40
+ eventName: "RemoveFromWishlist";
41
+ params: RemoveFromWishlistEventParams;
42
+ };
43
+ declare type BeginCheckoutEventParams = {
44
+ cartId: string;
45
+ };
46
+ declare type BeginCheckoutEvent = {
47
+ eventName: "BeginCheckout";
48
+ params: BeginCheckoutEventParams;
49
+ };
50
+ declare type CheckoutCompletedEventParams = {
51
+ cartId: string;
52
+ currency: string;
53
+ subTotalAmount: number;
54
+ discountAmount: number;
55
+ totalAmount: number;
56
+ taxAmount: number;
57
+ shippingAmount: number;
58
+ discountCode: string;
59
+ items: Array<{
60
+ productId: string;
61
+ variantId: string;
62
+ quantity: number;
63
+ }>;
64
+ };
65
+ declare type CheckoutCompletedEvent = {
66
+ eventName: "CheckoutCompleted";
67
+ params: CheckoutCompletedEventParams;
68
+ };
69
+ declare type LoginEventParams = {
70
+ email: string;
71
+ customerId?: string;
72
+ };
73
+ declare type LoginEvent = {
74
+ eventName: "Login";
75
+ params: LoginEventParams;
76
+ };
77
+ declare type LogoutEventParams = {
78
+ customerId: string;
79
+ };
80
+ declare type LogoutEvent = {
81
+ eventName: "Logout";
82
+ params: LogoutEventParams;
83
+ };
84
+ declare type SignUpEventParams = {
85
+ customerId: string;
86
+ email?: string;
87
+ firstName?: string;
88
+ lastName?: string;
89
+ phone?: string;
90
+ };
91
+ declare type SignUpEvent = {
92
+ eventName: "SignUp";
93
+ params: SignUpEventParams;
94
+ };
95
+ declare type RemoveFromCartEventParams = {
96
+ productId: string;
97
+ variantId: string;
98
+ cartId: string;
99
+ };
100
+ declare type RemoveFromCartEvent = {
101
+ eventName: "RemoveFromCart";
102
+ params: RemoveFromCartEventParams;
103
+ };
104
+ declare type SearchEventParams = {
105
+ query: string;
106
+ };
107
+ declare type SearchEvent = {
108
+ eventName: "Search";
109
+ params: SearchEventParams;
110
+ };
111
+ export declare type AnalyticEvent = SignUpEvent | LoginEvent | LogoutEvent | AddToWishlistEvent | RemoveFromWishlistEvent | BeginCheckoutEvent | CheckoutCompletedEvent | SearchEvent | AddToCartEvent | RemoveFromCartEvent | UpdateProductQuantityEvent;
112
+ declare type TrackListener<T extends AnalyticEvent["eventName"]> = (eventName: T, properties: Extract<AnalyticEvent, {
113
+ eventName: T;
114
+ }>["params"]) => void;
2
115
  declare type UnsubscribeTrackListener = () => void;
116
+ declare type TrackFunction<T extends AnalyticEvent["eventName"]> = (eventName: T, properties: Extract<AnalyticEvent, {
117
+ eventName: T;
118
+ }>["params"]) => void;
3
119
  declare class Analytics {
4
120
  private eventEmitter;
5
- track(eventName: string, properties: Object): void;
6
- onTrack(handleTrack: TrackListener): UnsubscribeTrackListener;
121
+ track: TrackFunction<any>;
122
+ onTrack(handleTrack: TrackListener<any>): UnsubscribeTrackListener;
7
123
  }
8
124
  export declare const analytics: Analytics;
9
125
  export default analytics;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"AAEA,aAAK,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,aAAK,wBAAwB,GAAG,MAAM,IAAI,CAAC;AAE3C,cAAM,SAAS;IACX,OAAO,CAAC,YAAY,CAAsB;IAE1C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAO3C,OAAO,CAAC,WAAW,EAAE,aAAa,GAAG,wBAAwB;CAMhE;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC;AAEzC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import { EventEmitter } from 'events';
2
2
  class Analytics {
3
3
  constructor() {
4
4
  this.eventEmitter = new EventEmitter();
5
- }
6
- track(eventName, properties) {
7
- this.eventEmitter.emit('track', {
8
- eventName,
9
- properties,
10
- });
5
+ this.track = (eventName, properties) => {
6
+ this.eventEmitter.emit('track', {
7
+ eventName,
8
+ properties,
9
+ });
10
+ };
11
11
  }
12
12
  onTrack(handleTrack) {
13
13
  const handleEvent = ({ eventName, properties }) => handleTrack(eventName, properties);
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,MAAM,SAAS;IAAf;QACY,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAe9C,CAAC;IAbG,KAAK,CAAC,SAAiB,EAAE,UAAkB;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5B,SAAS;YACT,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,WAA0B;QAC9B,MAAM,WAAW,GAAG,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,EAAC,EAAE,CAAA,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QACjF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CAEJ;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAwItC,MAAM,SAAS;IAAf;QACY,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAE1C,UAAK,GAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE;YAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC5B,SAAS;gBACT,UAAU;aACb,CAAC,CAAC;QACP,CAAC,CAAA;IAQL,CAAC;IANG,OAAO,CAAC,WAA+B;QACnC,MAAM,WAAW,GAAG,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,EAAC,EAAE,CAAA,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QACjF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CAEJ;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC,eAAe,SAAS,CAAC"}
@@ -1,9 +1,125 @@
1
- declare type TrackListener = (eventName: string, properties: Object) => void;
1
+ declare type AddToCartEventParams = {
2
+ cartId: string;
3
+ items: Array<{
4
+ productId: string;
5
+ variantId: string;
6
+ quantity: number;
7
+ quantityInCart: number;
8
+ }>;
9
+ };
10
+ declare type AddToCartEvent = {
11
+ eventName: "AddToCart";
12
+ params: AddToCartEventParams;
13
+ };
14
+ declare type UpdateProductQuantityEventParams = {
15
+ cartId: string;
16
+ items: Array<{
17
+ productId: string;
18
+ variantId: string;
19
+ quantity: number;
20
+ quantityInCart: number;
21
+ }>;
22
+ };
23
+ declare type UpdateProductQuantityEvent = {
24
+ eventName: "UpdateProductQuantity";
25
+ params: UpdateProductQuantityEventParams;
26
+ };
27
+ declare type AddToWishlistEventParams = {
28
+ productId: string;
29
+ variantId: string;
30
+ };
31
+ declare type AddToWishlistEvent = {
32
+ eventName: "AddToWishlist";
33
+ params: AddToWishlistEventParams;
34
+ };
35
+ declare type RemoveFromWishlistEventParams = {
36
+ productId: string;
37
+ variantId: string;
38
+ };
39
+ declare type RemoveFromWishlistEvent = {
40
+ eventName: "RemoveFromWishlist";
41
+ params: RemoveFromWishlistEventParams;
42
+ };
43
+ declare type BeginCheckoutEventParams = {
44
+ cartId: string;
45
+ };
46
+ declare type BeginCheckoutEvent = {
47
+ eventName: "BeginCheckout";
48
+ params: BeginCheckoutEventParams;
49
+ };
50
+ declare type CheckoutCompletedEventParams = {
51
+ cartId: string;
52
+ currency: string;
53
+ subTotalAmount: number;
54
+ discountAmount: number;
55
+ totalAmount: number;
56
+ taxAmount: number;
57
+ shippingAmount: number;
58
+ discountCode: string;
59
+ items: Array<{
60
+ productId: string;
61
+ variantId: string;
62
+ quantity: number;
63
+ }>;
64
+ };
65
+ declare type CheckoutCompletedEvent = {
66
+ eventName: "CheckoutCompleted";
67
+ params: CheckoutCompletedEventParams;
68
+ };
69
+ declare type LoginEventParams = {
70
+ email: string;
71
+ customerId?: string;
72
+ };
73
+ declare type LoginEvent = {
74
+ eventName: "Login";
75
+ params: LoginEventParams;
76
+ };
77
+ declare type LogoutEventParams = {
78
+ customerId: string;
79
+ };
80
+ declare type LogoutEvent = {
81
+ eventName: "Logout";
82
+ params: LogoutEventParams;
83
+ };
84
+ declare type SignUpEventParams = {
85
+ customerId: string;
86
+ email?: string;
87
+ firstName?: string;
88
+ lastName?: string;
89
+ phone?: string;
90
+ };
91
+ declare type SignUpEvent = {
92
+ eventName: "SignUp";
93
+ params: SignUpEventParams;
94
+ };
95
+ declare type RemoveFromCartEventParams = {
96
+ productId: string;
97
+ variantId: string;
98
+ cartId: string;
99
+ };
100
+ declare type RemoveFromCartEvent = {
101
+ eventName: "RemoveFromCart";
102
+ params: RemoveFromCartEventParams;
103
+ };
104
+ declare type SearchEventParams = {
105
+ query: string;
106
+ };
107
+ declare type SearchEvent = {
108
+ eventName: "Search";
109
+ params: SearchEventParams;
110
+ };
111
+ export declare type AnalyticEvent = SignUpEvent | LoginEvent | LogoutEvent | AddToWishlistEvent | RemoveFromWishlistEvent | BeginCheckoutEvent | CheckoutCompletedEvent | SearchEvent | AddToCartEvent | RemoveFromCartEvent | UpdateProductQuantityEvent;
112
+ declare type TrackListener<T extends AnalyticEvent["eventName"]> = (eventName: T, properties: Extract<AnalyticEvent, {
113
+ eventName: T;
114
+ }>["params"]) => void;
2
115
  declare type UnsubscribeTrackListener = () => void;
116
+ declare type TrackFunction<T extends AnalyticEvent["eventName"]> = (eventName: T, properties: Extract<AnalyticEvent, {
117
+ eventName: T;
118
+ }>["params"]) => void;
3
119
  declare class Analytics {
4
120
  private eventEmitter;
5
- track(eventName: string, properties: Object): void;
6
- onTrack(handleTrack: TrackListener): UnsubscribeTrackListener;
121
+ track: TrackFunction<any>;
122
+ onTrack(handleTrack: TrackListener<any>): UnsubscribeTrackListener;
7
123
  }
8
124
  export declare const analytics: Analytics;
9
125
  export default analytics;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"AAEA,aAAK,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,aAAK,wBAAwB,GAAG,MAAM,IAAI,CAAC;AAE3C,cAAM,SAAS;IACX,OAAO,CAAC,YAAY,CAAsB;IAE1C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAO3C,OAAO,CAAC,WAAW,EAAE,aAAa,GAAG,wBAAwB;CAMhE;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC;AAEzC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/helpers/analytics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evlop/commons",
3
- "version": "1.0.298",
3
+ "version": "1.0.299",
4
4
  "description": "",
5
5
  "main": "dist/cjs/main.js",
6
6
  "module": "dist/esm/main.js",