fleek-track-analytics 1.17.36 → 1.17.40

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.
Files changed (41) hide show
  1. package/README.md +0 -69
  2. package/lib/node/analytics-tool/node-rudderstack.d.ts +10 -0
  3. package/lib/node/analytics-tool/node-rudderstack.js +76 -0
  4. package/lib/node/analytics-tool/node-rudderstack.js.map +1 -0
  5. package/lib/node/analytics-tool/rudderstack-default-config.js.map +1 -0
  6. package/lib/node/analytics-tool/rudderstack-event-routing.js +18 -0
  7. package/lib/node/analytics-tool/rudderstack-event-routing.js.map +1 -0
  8. package/lib/node/track-analytics/track-analytics-types.d.ts +1 -0
  9. package/lib/node/track-analytics/track-analytics.d.ts +2 -0
  10. package/lib/node/track-analytics/track-analytics.js +102 -11
  11. package/lib/node/track-analytics/track-analytics.js.map +1 -1
  12. package/lib/react-native/track-analytics/track-analytics.d.ts +0 -2
  13. package/lib/react-native/track-analytics/track-analytics.js +32 -152
  14. package/lib/react-native/track-analytics/track-analytics.js.map +1 -1
  15. package/lib/track-analytics-types.d.ts +0 -5
  16. package/lib/web/track-analytics/track-analytics.d.ts +0 -2
  17. package/lib/web/track-analytics/track-analytics.js +38 -139
  18. package/lib/web/track-analytics/track-analytics.js.map +1 -1
  19. package/package.json +3 -3
  20. package/EXPO_RN_TESTING_GUIDE.md +0 -283
  21. package/lib/react-native/analytics-tool/react-native-rudderstack.d.ts +0 -12
  22. package/lib/react-native/analytics-tool/react-native-rudderstack.js +0 -87
  23. package/lib/react-native/analytics-tool/react-native-rudderstack.js.map +0 -1
  24. package/lib/react-native/analytics-tool/rudderstack-default-config.js +0 -8
  25. package/lib/react-native/analytics-tool/rudderstack-default-config.js.map +0 -1
  26. package/lib/react-native/analytics-tool/rudderstack-event-routing.d.ts +0 -6
  27. package/lib/react-native/analytics-tool/rudderstack-event-routing.js +0 -17
  28. package/lib/react-native/analytics-tool/rudderstack-event-routing.js.map +0 -1
  29. package/lib/web/analytics-tool/rudderstack-default-config.d.ts +0 -4
  30. package/lib/web/analytics-tool/rudderstack-default-config.js.map +0 -1
  31. package/lib/web/analytics-tool/rudderstack-event-routing.js +0 -16
  32. package/lib/web/analytics-tool/rudderstack-event-routing.js.map +0 -1
  33. package/lib/web/analytics-tool/web-rudderstack.d.ts +0 -17
  34. package/lib/web/analytics-tool/web-rudderstack.js +0 -76
  35. package/lib/web/analytics-tool/web-rudderstack.js.map +0 -1
  36. package/spec-files/rudderstack-migration/HLD_LLD.md +0 -353
  37. package/spec-files/rudderstack-migration/RUDDERSTACK_SELF_HOSTED_PARAMETERS.md +0 -283
  38. package/spec-files/rudderstack-migration/SEGMENT_VS_RUDDERSTACK_SDK_COMPARISON.md +0 -140
  39. /package/lib/{react-native → node}/analytics-tool/rudderstack-default-config.d.ts +0 -0
  40. /package/lib/{web → node}/analytics-tool/rudderstack-default-config.js +0 -0
  41. /package/lib/{web → node}/analytics-tool/rudderstack-event-routing.d.ts +0 -0
package/README.md CHANGED
@@ -76,75 +76,6 @@ Parameter description for TrackAnalytics class constructor
76
76
  | devMode | boolean | if enabled, only log the event do not trigger network calls |
77
77
  | debug | boolean | if enabled, triggers network calls for events when devMode is true. |
78
78
  | errorHandler | function | an error handler to manage any errors thrown while initialising and sending events |
79
- | rudderstack | object (optional) | RudderStack configuration for self-hosted migration (see RudderStack Setup below) |
80
-
81
- ## RudderStack Setup (Self-Hosted Migration)
82
-
83
- This library supports dual-sending events to both Segment and RudderStack for gradual migration. RudderStack integration is currently available for **Web platform only** (PoC phase).
84
-
85
- ### Configuration
86
-
87
- To enable RudderStack, add the `rudderstack` configuration to your `TrackAnalytics` initialization:
88
-
89
- ```ts
90
- const analyticsWrapper = new TrackAnalytics({
91
- platform: 'WEB',
92
- App: 'CONSUMER_WEB',
93
- segment: true,
94
- segmentKey: process.env.SEGMENT_KEY || '',
95
- rudderstack: {
96
- enabled: true,
97
- writeKey: process.env.RUDDERSTACK_WRITE_KEY || '',
98
- dataPlaneUrl: process.env.RUDDERSTACK_DATA_PLANE_URL || '', // e.g., 'https://dataplane.yourdomain.com'
99
- },
100
- errorHandler: analyticsException,
101
- });
102
- ```
103
-
104
- ### Event Routing
105
-
106
- Event routing to RudderStack is controlled by an **internal library configuration** file (`src/web/analytics-tool/rudderstack-event-routing.ts`). This allows you to selectively send specific events to RudderStack during the PoC phase without requiring application changes.
107
-
108
- **Important**:
109
- - All events are **always sent to Segment** (unchanged behavior)
110
- - Events are **conditionally sent to RudderStack** based on the internal routing configuration
111
- - RudderStack failures do not affect Segment sending
112
-
113
- ### How It Works
114
-
115
- 1. **Dual-Send Architecture**: Events are sent to both Segment and RudderStack (when configured)
116
- 2. **Internal Routing Config**: Modify `src/web/analytics-tool/rudderstack-event-routing.ts` in this repository to control which events are sent to RudderStack
117
- 3. **Fail-Safe**: If RudderStack initialization or sending fails, the library continues with Segment only
118
-
119
- ### Event Routing Configuration
120
-
121
- To control which events are sent to RudderStack, modify the `rudderstackEventRouting` object in `src/web/analytics-tool/rudderstack-event-routing.ts`:
122
-
123
- ```ts
124
- export const rudderstackEventRouting: IRudderstackEventRouting = {
125
- // Option 1: List specific event names
126
- sendToRudderstack: [
127
- 'event_name_1',
128
- 'event_name_2',
129
- ],
130
-
131
- // Option 2: Use regex patterns
132
- eventPatterns: ['^test_', '^poc_'], // Matches events starting with 'test_' or 'poc_'
133
- };
134
- ```
135
-
136
- ### Requirements
137
-
138
- - **Data Plane URL**: Your self-hosted RudderStack data plane endpoint
139
- - **Write Key**: Source write key from RudderStack control plane
140
- - **Self-Hosted Setup**: See `spec-files/rudderstack-migration/RUDDERSTACK_SELF_HOSTED_PARAMETERS.md` for detailed setup instructions
141
-
142
- ### Documentation
143
-
144
- For more details on the migration, see:
145
- - SDK Comparison: `spec-files/rudderstack-migration/SEGMENT_VS_RUDDERSTACK_SDK_COMPARISON.md`
146
- - Self-Hosted Parameters: `spec-files/rudderstack-migration/RUDDERSTACK_SELF_HOSTED_PARAMETERS.md`
147
- - Architecture (HLD/LLD): `spec-files/rudderstack-migration/HLD_LLD.md`
148
79
 
149
80
  4. Use the intialised instance in your app to send events by using the Event Names
150
81
 
@@ -0,0 +1,10 @@
1
+ import { tNodeToolWraperFunction } from './analytics-tool-types';
2
+ import { INodeAnalyticsWrapper } from '../track-analytics/track-analytics-types';
3
+ interface IRudderstackNodeWrapperParams {
4
+ writeKey: string;
5
+ dataPlaneUrl: string;
6
+ app: Parameters<tNodeToolWraperFunction>[1];
7
+ debug?: boolean;
8
+ }
9
+ export declare const nodeRudderstack: ({ writeKey, dataPlaneUrl, app, debug }: IRudderstackNodeWrapperParams) => INodeAnalyticsWrapper;
10
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.nodeRudderstack = void 0;
7
+ const rudder_sdk_node_1 = __importDefault(require("@rudderstack/rudder-sdk-node"));
8
+ const package_json_1 = require("../../../package.json");
9
+ const nodeRudderstack = ({ writeKey, dataPlaneUrl, app, debug }) => {
10
+ const normalizedDataPlaneUrl = (dataPlaneUrl === null || dataPlaneUrl === void 0 ? void 0 : dataPlaneUrl.endsWith('/')) ? dataPlaneUrl.slice(0, -1) : dataPlaneUrl || '';
11
+ const client = new rudder_sdk_node_1.default(writeKey, {
12
+ dataPlaneUrl: normalizedDataPlaneUrl,
13
+ flushAt: 20,
14
+ flushInterval: 10000,
15
+ });
16
+ return {
17
+ track: ((params, callback) => {
18
+ const { eventName, eventParams, anonymousId, userId } = params;
19
+ if (debug) {
20
+ console.log('RUDDERSTACK TRACK EVENT', eventName, eventParams);
21
+ }
22
+ const trackParams = {
23
+ event: eventName,
24
+ properties: Object.assign(Object.assign({}, eventParams), { anlaytics_lib_version: package_json_1.version, fleek_platform: app, time_stamp: Date.now() }),
25
+ };
26
+ if (userId) {
27
+ trackParams.userId = userId;
28
+ }
29
+ else if (anonymousId) {
30
+ trackParams.anonymousId = anonymousId;
31
+ }
32
+ client.track(trackParams, callback || (() => { }));
33
+ }),
34
+ page: ((params) => {
35
+ if (debug) {
36
+ console.log('RUDDERSTACK PAGE EVENT', params);
37
+ }
38
+ const { anonymousId, userId, properties } = params;
39
+ const pageProperties = (properties || {});
40
+ const name = pageProperties.name || 'page';
41
+ const category = pageProperties.category || undefined;
42
+ const pageParams = {
43
+ name,
44
+ properties: Object.assign(Object.assign({}, pageProperties), { fleek_platform: app }),
45
+ };
46
+ if (userId)
47
+ pageParams.userId = userId;
48
+ if (anonymousId)
49
+ pageParams.anonymousId = anonymousId;
50
+ if (category)
51
+ pageParams.category = category;
52
+ client.page(pageParams, () => { });
53
+ }),
54
+ identify: ((params) => {
55
+ if (debug) {
56
+ console.log('RUDDERSTACK IDENTIFY EVENT', params);
57
+ }
58
+ const { userId, anonymousId, traits } = params;
59
+ const traitsObj = (traits || {});
60
+ const identifyParams = {
61
+ traits: traitsObj,
62
+ };
63
+ if (userId) {
64
+ identifyParams.userId = userId;
65
+ }
66
+ else if (anonymousId) {
67
+ identifyParams.anonymousId = anonymousId;
68
+ }
69
+ client.identify(identifyParams, () => { });
70
+ }),
71
+ type: 'NODE_RUDDERSTACK',
72
+ analytics_source_type: 'NODE_RUDDERSTACK',
73
+ };
74
+ };
75
+ exports.nodeRudderstack = nodeRudderstack;
76
+ //# sourceMappingURL=node-rudderstack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-rudderstack.js","sourceRoot":"","sources":["../../../src/node/analytics-tool/node-rudderstack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rudderstack-default-config.js","sourceRoot":"","sources":["../../../src/node/analytics-tool/rudderstack-default-config.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG;IACxC,YAAY,EAAE,mCAAmC;IACjD,QAAQ,EAAE,6BAA6B;CACxC,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rudderstackEventRouting = void 0;
4
+ exports.rudderstackEventRouting = {
5
+ sendToRudderstack: [
6
+ 'collection_viewed',
7
+ 'collection_plp_viewed',
8
+ 'vendor_plp_viewed',
9
+ 'Search Used',
10
+ 'Message sent in chat',
11
+ 'Send Message',
12
+ 'New Order Tracking Update',
13
+ 'vendor_list_experiment',
14
+ 'Order Placed FOR VENDOR',
15
+ 'Order Placed FOR CUSTOMER',
16
+ ],
17
+ };
18
+ //# sourceMappingURL=rudderstack-event-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rudderstack-event-routing.js","sourceRoot":"","sources":["../../../src/node/analytics-tool/rudderstack-event-routing.ts"],"names":[],"mappings":";;;AAUa,QAAA,uBAAuB,GAA6B;IAC/D,iBAAiB,EAAE;QACjB,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,aAAa;QACb,sBAAsB;QACtB,cAAc;QACd,2BAA2B;QAC3B,wBAAwB;QACxB,yBAAyB;QACzB,2BAA2B;KAC5B;CACF,CAAC"}
@@ -42,6 +42,7 @@ export interface INodeAnalyticsWrapper {
42
42
  identify: tNodeIdentify;
43
43
  page: tNodePage;
44
44
  type: string;
45
+ analytics_source_type?: string;
45
46
  }
46
47
  export type tToolWraperFunction = (APP: tAPP) => INodeAnalyticsWrapper;
47
48
  export {};
@@ -3,9 +3,11 @@ import { tNodeIdentify, tNodePage, tNodeTrack } from './track-analytics-types';
3
3
  declare class TrackAnalytics {
4
4
  private initParams;
5
5
  private analyticsWrapper;
6
+ private rudderstackWrapper;
6
7
  constructor(params: IAnalyticsInit);
7
8
  initAnalytics: () => Promise<void>;
8
9
  private checkInitDone;
10
+ private shouldSendToRudderstack;
9
11
  track: tNodeTrack;
10
12
  identify: tNodeIdentify;
11
13
  page: tNodePage;
@@ -3,11 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackAnalytics = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  const node_segment_1 = require("../analytics-tool/node-segment");
6
+ const node_rudderstack_1 = require("../analytics-tool/node-rudderstack");
7
+ const rudderstack_event_routing_1 = require("../analytics-tool/rudderstack-event-routing");
8
+ const rudderstack_default_config_1 = require("../analytics-tool/rudderstack-default-config");
6
9
  const dev_logger_1 = require("../utils/dev-logger");
7
10
  class TrackAnalytics {
8
11
  constructor(params) {
9
12
  this.analyticsWrapper = null;
13
+ this.rudderstackWrapper = null;
10
14
  this.initAnalytics = async () => {
15
+ var _a;
11
16
  try {
12
17
  if (this.initParams.devMode && !this.initParams.debug) {
13
18
  this.analyticsWrapper = dev_logger_1.devModeLogger;
@@ -17,31 +22,96 @@ class TrackAnalytics {
17
22
  }
18
23
  }
19
24
  catch (e) {
20
- this.initParams.errorHandler(e);
25
+ this.initParams.errorHandler(new Error(`Segment initialization failed: ${e instanceof Error ? e.message : String(e)}. Continuing with RudderStack if enabled.`));
26
+ this.analyticsWrapper = null;
27
+ }
28
+ if ((_a = this.initParams.rudderstack) === null || _a === void 0 ? void 0 : _a.enabled) {
29
+ try {
30
+ const writeKey = this.initParams.rudderstack.writeKey || rudderstack_default_config_1.RUDDERSTACK_DEFAULT_CONFIG.writeKey;
31
+ const dataPlaneUrl = this.initParams.rudderstack.dataPlaneUrl || rudderstack_default_config_1.RUDDERSTACK_DEFAULT_CONFIG.dataPlaneUrl;
32
+ this.rudderstackWrapper = (0, node_rudderstack_1.nodeRudderstack)({
33
+ writeKey,
34
+ dataPlaneUrl,
35
+ app: this.initParams.App,
36
+ debug: this.initParams.debug,
37
+ });
38
+ }
39
+ catch (error) {
40
+ this.initParams.errorHandler(new Error(`RudderStack initialization failed: ${error instanceof Error ? error.message : String(error)}. Continuing with Segment if available.`));
41
+ this.rudderstackWrapper = null;
42
+ }
21
43
  }
22
44
  };
23
45
  this.track = (...args) => {
24
- var _a;
25
- if (this.checkInitDone()) {
26
- return (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(...args);
46
+ if (!this.checkInitDone()) {
47
+ return;
48
+ }
49
+ const [params, callback] = args;
50
+ const { eventName } = params;
51
+ if (this.analyticsWrapper) {
52
+ try {
53
+ this.analyticsWrapper.track(params, callback || (() => { }));
54
+ }
55
+ catch (error) {
56
+ this.initParams.errorHandler(new Error(`Segment track failed for event ${eventName}: ${error instanceof Error ? error.message : String(error)}`));
57
+ }
58
+ }
59
+ if (this.rudderstackWrapper && this.shouldSendToRudderstack(eventName)) {
60
+ try {
61
+ this.rudderstackWrapper.track(params, callback || (() => { }));
62
+ }
63
+ catch (error) {
64
+ this.initParams.errorHandler(new Error(`RudderStack track failed for event ${eventName}: ${error instanceof Error ? error.message : String(error)}`));
65
+ }
27
66
  }
28
67
  };
29
68
  this.identify = (...args) => {
30
- var _a;
31
- if (this.checkInitDone()) {
32
- return (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify(...args);
69
+ if (!this.checkInitDone()) {
70
+ return;
71
+ }
72
+ const [params] = args;
73
+ if (this.analyticsWrapper) {
74
+ try {
75
+ this.analyticsWrapper.identify(params);
76
+ }
77
+ catch (error) {
78
+ this.initParams.errorHandler(new Error(`Segment identify failed: ${error instanceof Error ? error.message : String(error)}`));
79
+ }
80
+ }
81
+ if (this.rudderstackWrapper && this.shouldSendToRudderstack('identify')) {
82
+ try {
83
+ this.rudderstackWrapper.identify(params);
84
+ }
85
+ catch (error) {
86
+ this.initParams.errorHandler(new Error(`RudderStack identify failed: ${error instanceof Error ? error.message : String(error)}`));
87
+ }
33
88
  }
34
89
  };
35
90
  this.page = (params) => {
36
- var _a;
37
- if (this.checkInitDone()) {
38
- return (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.page(params);
91
+ if (!this.checkInitDone()) {
92
+ return;
93
+ }
94
+ if (this.analyticsWrapper) {
95
+ try {
96
+ this.analyticsWrapper.page(params);
97
+ }
98
+ catch (error) {
99
+ this.initParams.errorHandler(new Error(`Segment page failed: ${error instanceof Error ? error.message : String(error)}`));
100
+ }
101
+ }
102
+ if (this.rudderstackWrapper && this.shouldSendToRudderstack('page')) {
103
+ try {
104
+ this.rudderstackWrapper.page(params);
105
+ }
106
+ catch (error) {
107
+ this.initParams.errorHandler(new Error(`RudderStack page failed: ${error instanceof Error ? error.message : String(error)}`));
108
+ }
39
109
  }
40
110
  };
41
111
  this.initParams = params;
42
112
  }
43
113
  checkInitDone() {
44
- if (this.analyticsWrapper) {
114
+ if (this.analyticsWrapper || this.rudderstackWrapper) {
45
115
  return true;
46
116
  }
47
117
  else {
@@ -49,6 +119,27 @@ class TrackAnalytics {
49
119
  return false;
50
120
  }
51
121
  }
122
+ shouldSendToRudderstack(eventName) {
123
+ const config = rudderstack_event_routing_1.rudderstackEventRouting;
124
+ if (!config) {
125
+ return false;
126
+ }
127
+ if (config.sendToRudderstack && config.sendToRudderstack.includes(eventName)) {
128
+ return true;
129
+ }
130
+ if (config.eventPatterns && config.eventPatterns.length > 0) {
131
+ return config.eventPatterns.some((pattern) => {
132
+ try {
133
+ return new RegExp(pattern).test(eventName);
134
+ }
135
+ catch (error) {
136
+ this.initParams.errorHandler(new Error(`Invalid regex pattern in RudderStack event routing: ${pattern}. Error: ${error instanceof Error ? error.message : String(error)}`));
137
+ return false;
138
+ }
139
+ });
140
+ }
141
+ return false;
142
+ }
52
143
  }
53
144
  exports.TrackAnalytics = TrackAnalytics;
54
145
  //# sourceMappingURL=track-analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/node/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,iEAA6D;AAC7D,oDAAoD;AAGpD,MAAM,cAAc;IAIlB,YAAY,MAAsB;QAF1B,qBAAgB,GAAiC,IAAI,CAAC;QAM9D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtD,IAAI,CAAC,gBAAgB,GAAG,0BAAa,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,GAAG,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QAWF,UAAK,GAAe,CAAC,GAAG,IAAI,EAAE,EAAE;;YAC9B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAkB,CAAC,GAAG,IAAI,EAAE,EAAE;;YACpC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAA,IAAI,CAAC,gBAAgB,0CAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,SAAI,GAAc,CAAC,MAAM,EAAE,EAAE;;YAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QAxCA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAcO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yBAAa,CAAC,4BAA4B,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAmBF;AAEQ,wCAAc"}
1
+ {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/node/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,iEAA6D;AAC7D,yEAAqE;AACrE,2FAAsF;AACtF,6FAA0F;AAC1F,oDAAoD;AAGpD,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAAiC,IAAI,CAAC;QACtD,uBAAkB,GAAiC,IAAI,CAAC;QAMhE,kBAAa,GAAG,KAAK,IAAI,EAAE;;YAEzB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtD,IAAI,CAAC,gBAAgB,GAAG,0BAAa,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,GAAG,IAAA,0BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAC1B,IAAI,KAAK,CACP,kCAAkC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2CAA2C,CACxH,CACF,CAAC;gBACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC;YAGD,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,IAAI,uDAA0B,CAAC,QAAQ,CAAC;oBAC7F,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,IAAI,uDAA0B,CAAC,YAAY,CAAC;oBAEzG,IAAI,CAAC,kBAAkB,GAAG,IAAA,kCAAe,EAAC;wBACxC,QAAQ;wBACR,YAAY;wBACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;wBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAC1B,IAAI,KAAK,CACP,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CACtI,CACF,CAAC;oBACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAuCF,UAAK,GAAe,CAAC,GAAG,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;YAChC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAG7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAC1B,IAAI,KAAK,CAAC,kCAAkC,SAAS,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CACpH,CAAC;gBACJ,CAAC;YACH,CAAC;YAGD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC;oBACH,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAC1B,IAAI,KAAK,CAAC,sCAAsC,SAAS,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CACxH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAkB,CAAC,GAAG,IAAI,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAGtB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChI,CAAC;YACH,CAAC;YAGD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC;oBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpI,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,SAAI,GAAc,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAGD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5H,CAAC;YACH,CAAC;YAGD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChI,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QA/JA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IA0CO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yBAAa,CAAC,4BAA4B,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,SAAiB;QAC/C,MAAM,MAAM,GAAG,mDAAuB,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3C,IAAI,CAAC;oBACH,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,YAAY,CAC1B,IAAI,KAAK,CACP,uDAAuD,OAAO,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnI,CACF,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAkFF;AAEQ,wCAAc"}
@@ -5,7 +5,6 @@ import { InternetStats } from '../utils/DImentsionManager/dimension-manager';
5
5
  declare class TrackAnalytics {
6
6
  private initParams;
7
7
  private analyticsWrapper;
8
- private rudderstackWrapper;
9
8
  private dimensionsManager;
10
9
  reactNativeSegmentClient?: SegmentClient;
11
10
  private firebaseAnalytics;
@@ -15,7 +14,6 @@ declare class TrackAnalytics {
15
14
  initDimensions: (url?: string) => void;
16
15
  initFirebaseInstanceId: (id: string) => void;
17
16
  private checkInitDone;
18
- private shouldSendToRudderstack;
19
17
  private enrichEvent;
20
18
  track: tRNTrack;
21
19
  identify: tRNIdentify;
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackAnalytics = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  const react_native_segment_1 = require("../analytics-tool/react-native-segment");
6
- const react_native_rudderstack_1 = require("../analytics-tool/react-native-rudderstack");
7
- const rudderstack_event_routing_1 = require("../analytics-tool/rudderstack-event-routing");
8
- const rudderstack_default_config_1 = require("../analytics-tool/rudderstack-default-config");
9
6
  const dimension_manager_1 = require("../utils/DImentsionManager/dimension-manager");
10
7
  const react_native_firebase_1 = require("../analytics-tool/react-native-firebase");
11
8
  const firebase_events_config_1 = require("../analytics-tool/firebase-events-config");
@@ -13,60 +10,26 @@ const index_1 = require("../index");
13
10
  class TrackAnalytics {
14
11
  constructor(params) {
15
12
  this.analyticsWrapper = null;
16
- this.rudderstackWrapper = null;
17
13
  this.firebaseAnalytics = null;
18
14
  this.traceManager = null;
19
15
  this.initAnalytics = async () => {
20
- var _a, _b;
16
+ var _a;
21
17
  try {
22
18
  this.dimensionsManager.init();
23
- }
24
- catch (error) {
25
- this.initParams.errorHandler(new Error(`Dimension manager init failed: ${error instanceof Error ? error.message : String(error)}. Continuing with SDK initialization.`));
26
- }
27
- try {
28
19
  this.firebaseAnalytics = (0, react_native_firebase_1.reactNativeFirebase)();
29
- }
30
- catch (error) {
31
- this.initParams.errorHandler(new Error(`Firebase analytics init failed: ${error instanceof Error ? error.message : String(error)}. Continuing with other SDKs.`));
32
- }
33
- try {
34
20
  this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)({
35
21
  segmentKey: this.initParams.segmentKey,
36
22
  app: this.initParams.App,
37
23
  dimensionsManager: this.dimensionsManager,
38
24
  });
39
25
  this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
40
- }
41
- catch (error) {
42
- this.initParams.errorHandler(new Error(`Segment initialization failed: ${error instanceof Error ? error.message : String(error)}. Continuing with RudderStack if enabled.`));
43
- this.analyticsWrapper = null;
44
- }
45
- if ((_a = this.initParams.rudderstack) === null || _a === void 0 ? void 0 : _a.enabled) {
46
- try {
47
- const writeKey = this.initParams.rudderstack.writeKey || rudderstack_default_config_1.RUDDERSTACK_DEFAULT_CONFIG.writeKey;
48
- const dataPlaneUrl = this.initParams.rudderstack.dataPlaneUrl || rudderstack_default_config_1.RUDDERSTACK_DEFAULT_CONFIG.dataPlaneUrl;
49
- this.rudderstackWrapper = await (0, react_native_rudderstack_1.reactNativeRudderstack)({
50
- writeKey,
51
- dataPlaneUrl,
52
- app: this.initParams.App,
53
- debug: this.initParams.debug,
54
- dimensionsManager: this.dimensionsManager,
55
- });
56
- }
57
- catch (error) {
58
- this.initParams.errorHandler(new Error(`RudderStack initialization failed: ${error instanceof Error ? error.message : String(error)}. Continuing with Segment if available.`));
59
- this.rudderstackWrapper = null;
60
- }
61
- }
62
- if ((_b = this.initParams.traceManager) === null || _b === void 0 ? void 0 : _b.enabled) {
63
- try {
26
+ if ((_a = this.initParams.traceManager) === null || _a === void 0 ? void 0 : _a.enabled) {
64
27
  this.traceManager = (0, index_1.createReactNativeTraceManager)(this.initParams.traceManager);
65
28
  await this.traceManager.initialize();
66
29
  }
67
- catch (error) {
68
- this.initParams.errorHandler(new Error(`Trace manager initialization failed: ${error instanceof Error ? error.message : String(error)}`));
69
- }
30
+ }
31
+ catch (error) {
32
+ this.initParams.errorHandler(new Error(`AnalyticsWrapper initAnalytics: ${error instanceof Error ? error.message : String(error)}`));
70
33
  }
71
34
  };
72
35
  this.initDimensions = (url) => {
@@ -76,99 +39,40 @@ class TrackAnalytics {
76
39
  this.dimensionsManager.processFirebaseInstanceId(id);
77
40
  };
78
41
  this.track = async (...args) => {
79
- var _a;
80
- if (!this.checkInitDone()) {
81
- return;
82
- }
83
- const [eventName, properties] = args;
84
- const eventNameKey = eventName;
85
- if (firebase_events_config_1.FIREBASE_EVENTS[eventNameKey]) {
86
- try {
87
- (_a = this.firebaseAnalytics) === null || _a === void 0 ? void 0 : _a.track(eventNameKey, properties);
88
- }
89
- catch (error) {
90
- this.initParams.errorHandler(new Error(`AnalyticsWrapper track Firebase: ${error instanceof Error ? error.message : String(error)}`));
91
- }
92
- }
93
- const enrichedEvent = this.enrichEvent(eventName, properties);
94
- if (this.analyticsWrapper) {
95
- try {
96
- await this.analyticsWrapper.track(eventName, enrichedEvent);
97
- }
98
- catch (error) {
99
- this.initParams.errorHandler(new Error(`Segment track failed for event ${eventName}: ${error instanceof Error ? error.message : String(error)}`));
100
- }
101
- }
102
- if (this.rudderstackWrapper && this.shouldSendToRudderstack(eventName)) {
103
- try {
104
- await this.rudderstackWrapper.track(eventName, enrichedEvent);
105
- }
106
- catch (error) {
107
- this.initParams.errorHandler(new Error(`RudderStack track failed for event ${eventName}: ${error instanceof Error ? error.message : String(error)}`));
108
- }
42
+ var _a, _b;
43
+ if (this.checkInitDone()) {
44
+ const [eventName, properties] = args;
45
+ const eventNameKey = eventName;
46
+ if (firebase_events_config_1.FIREBASE_EVENTS[eventNameKey]) {
47
+ try {
48
+ (_a = this.firebaseAnalytics) === null || _a === void 0 ? void 0 : _a.track(eventNameKey, properties);
49
+ }
50
+ catch (error) {
51
+ this.initParams.errorHandler(new Error(`AnalyticsWrapper track Firebase: ${error instanceof Error ? error.message : String(error)}`));
52
+ }
53
+ }
54
+ const enrichedEvent = this.enrichEvent(eventName, properties);
55
+ return await ((_b = this.analyticsWrapper) === null || _b === void 0 ? void 0 : _b.track(eventName, enrichedEvent));
109
56
  }
110
57
  };
111
58
  this.identify = async (id, traits) => {
112
- if (!this.checkInitDone()) {
113
- return;
114
- }
115
- if (this.analyticsWrapper) {
116
- try {
117
- await this.analyticsWrapper.identify(id, traits);
118
- }
119
- catch (error) {
120
- this.initParams.errorHandler(new Error(`Segment identify failed: ${error instanceof Error ? error.message : String(error)}`));
121
- }
122
- }
123
- if (this.rudderstackWrapper && this.shouldSendToRudderstack('identify')) {
124
- try {
125
- await this.rudderstackWrapper.identify(id, traits);
126
- }
127
- catch (error) {
128
- this.initParams.errorHandler(new Error(`RudderStack identify failed: ${error instanceof Error ? error.message : String(error)}`));
129
- }
59
+ var _a;
60
+ if (this.checkInitDone()) {
61
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify(id, traits));
130
62
  }
131
63
  };
132
- this.screen = async (name, options) => {
133
- if (!this.checkInitDone()) {
134
- return;
135
- }
136
- const screenParams = Object.assign({ name }, (options || {}));
137
- const enrichedParams = this.enrichEvent('screen', screenParams);
138
- const screenName = enrichedParams.name || name || 'screen';
139
- const screenProperties = Object.assign({}, enrichedParams);
140
- delete screenProperties.name;
141
- if (this.analyticsWrapper) {
142
- try {
143
- await this.analyticsWrapper.screen(screenName, screenProperties);
144
- }
145
- catch (error) {
146
- this.initParams.errorHandler(new Error(`Segment screen failed: ${error instanceof Error ? error.message : String(error)}`));
147
- }
148
- }
149
- if (this.rudderstackWrapper && this.shouldSendToRudderstack('screen')) {
150
- try {
151
- await this.rudderstackWrapper.screen(screenName, screenProperties);
152
- }
153
- catch (error) {
154
- this.initParams.errorHandler(new Error(`RudderStack screen failed: ${error instanceof Error ? error.message : String(error)}`));
155
- }
64
+ this.screen = async (params) => {
65
+ var _a;
66
+ if (this.checkInitDone()) {
67
+ const enrichedParams = this.enrichEvent('screen', params);
68
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(enrichedParams));
156
69
  }
157
70
  };
158
71
  this.getAnalyticsIdentifier = () => {
159
- if (this.analyticsWrapper) {
160
- try {
161
- return this.analyticsWrapper.getUserId();
162
- }
163
- catch (error) {
164
- }
165
- }
166
- if (this.rudderstackWrapper) {
167
- try {
168
- return this.rudderstackWrapper.getUserId();
169
- }
170
- catch (error) {
171
- }
72
+ var _a;
73
+ if (this.checkInitDone()) {
74
+ const userId = (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.getUserId();
75
+ return userId;
172
76
  }
173
77
  return undefined;
174
78
  };
@@ -215,7 +119,7 @@ class TrackAnalytics {
215
119
  this.dimensionsManager = new dimension_manager_1.DimentionsManger();
216
120
  }
217
121
  checkInitDone() {
218
- if (this.analyticsWrapper || this.rudderstackWrapper) {
122
+ if (this.analyticsWrapper) {
219
123
  return true;
220
124
  }
221
125
  else {
@@ -223,30 +127,6 @@ class TrackAnalytics {
223
127
  return false;
224
128
  }
225
129
  }
226
- shouldSendToRudderstack(eventName) {
227
- const config = rudderstack_event_routing_1.rudderstackEventRouting;
228
- if (config.enableAllEvents) {
229
- return true;
230
- }
231
- if (!config) {
232
- return false;
233
- }
234
- if (config.sendToRudderstack && config.sendToRudderstack.includes(eventName)) {
235
- return true;
236
- }
237
- if (config.eventPatterns && config.eventPatterns.length > 0) {
238
- return config.eventPatterns.some((pattern) => {
239
- try {
240
- return new RegExp(pattern).test(eventName);
241
- }
242
- catch (error) {
243
- this.initParams.errorHandler(new Error(`Invalid regex pattern in RudderStack event routing: ${pattern}. Error: ${error instanceof Error ? error.message : String(error)}`));
244
- return false;
245
- }
246
- });
247
- }
248
- return false;
249
- }
250
130
  enrichEvent(eventName, eventParams = {}) {
251
131
  if (!this.traceManager) {
252
132
  return Object.assign({ event: eventName }, eventParams);