@magicpixel/rn-mp-client-sdk 0.11.0 → 1.12.1

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 (104) hide show
  1. package/lib/commonjs/common/app-types.js.map +1 -1
  2. package/lib/commonjs/common/constants.js +5 -26
  3. package/lib/commonjs/common/constants.js.map +1 -1
  4. package/lib/commonjs/common/data-store.js +36 -117
  5. package/lib/commonjs/common/data-store.js.map +1 -1
  6. package/lib/commonjs/common/event-bus.js +3 -10
  7. package/lib/commonjs/common/event-bus.js.map +1 -1
  8. package/lib/commonjs/common/logger.js +22 -14
  9. package/lib/commonjs/common/logger.js.map +1 -1
  10. package/lib/commonjs/common/network-service.js +6 -21
  11. package/lib/commonjs/common/network-service.js.map +1 -1
  12. package/lib/commonjs/common/reporter.js +8 -31
  13. package/lib/commonjs/common/reporter.js.map +1 -1
  14. package/lib/commonjs/common/utils.js +64 -65
  15. package/lib/commonjs/common/utils.js.map +1 -1
  16. package/lib/commonjs/coverage/lcov-report/block-navigation.js +6 -19
  17. package/lib/commonjs/coverage/lcov-report/block-navigation.js.map +1 -1
  18. package/lib/commonjs/coverage/lcov-report/prettify.js +2 -182
  19. package/lib/commonjs/coverage/lcov-report/prettify.js.map +1 -1
  20. package/lib/commonjs/coverage/lcov-report/sorter.js +64 -94
  21. package/lib/commonjs/coverage/lcov-report/sorter.js.map +1 -1
  22. package/lib/commonjs/eedl/eedl.js +207 -84
  23. package/lib/commonjs/eedl/eedl.js.map +1 -1
  24. package/lib/commonjs/index.js +105 -94
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/models/geo-api-response.js +2 -0
  27. package/lib/commonjs/models/geo-api-response.js.map +1 -0
  28. package/lib/commonjs/models/mp-client-sdk.js +3 -11
  29. package/lib/commonjs/models/mp-client-sdk.js.map +1 -1
  30. package/lib/commonjs/processors/data-element.processor.js +85 -80
  31. package/lib/commonjs/processors/data-element.processor.js.map +1 -1
  32. package/lib/commonjs/processors/geo-location.processor.js +70 -0
  33. package/lib/commonjs/processors/geo-location.processor.js.map +1 -0
  34. package/lib/commonjs/processors/qc.processor.js +2 -25
  35. package/lib/commonjs/processors/qc.processor.js.map +1 -1
  36. package/lib/commonjs/processors/tag.processor.js +17 -86
  37. package/lib/commonjs/processors/tag.processor.js.map +1 -1
  38. package/lib/commonjs/processors/trans-function.processor.js +5 -23
  39. package/lib/commonjs/processors/trans-function.processor.js.map +1 -1
  40. package/lib/commonjs/processors/visit-id.processor.js +4 -50
  41. package/lib/commonjs/processors/visit-id.processor.js.map +1 -1
  42. package/lib/module/common/app-types.js.map +1 -1
  43. package/lib/module/common/constants.js +4 -22
  44. package/lib/module/common/constants.js.map +1 -1
  45. package/lib/module/common/data-store.js +35 -108
  46. package/lib/module/common/data-store.js.map +1 -1
  47. package/lib/module/common/event-bus.js +3 -6
  48. package/lib/module/common/event-bus.js.map +1 -1
  49. package/lib/module/common/logger.js +22 -12
  50. package/lib/module/common/logger.js.map +1 -1
  51. package/lib/module/common/network-service.js +6 -11
  52. package/lib/module/common/network-service.js.map +1 -1
  53. package/lib/module/common/reporter.js +8 -19
  54. package/lib/module/common/reporter.js.map +1 -1
  55. package/lib/module/common/utils.js +63 -56
  56. package/lib/module/common/utils.js.map +1 -1
  57. package/lib/module/coverage/lcov-report/block-navigation.js +6 -19
  58. package/lib/module/coverage/lcov-report/block-navigation.js.map +1 -1
  59. package/lib/module/coverage/lcov-report/prettify.js +2 -182
  60. package/lib/module/coverage/lcov-report/prettify.js.map +1 -1
  61. package/lib/module/coverage/lcov-report/sorter.js +64 -94
  62. package/lib/module/coverage/lcov-report/sorter.js.map +1 -1
  63. package/lib/module/eedl/eedl.js +206 -76
  64. package/lib/module/eedl/eedl.js.map +1 -1
  65. package/lib/module/index.js +103 -57
  66. package/lib/module/index.js.map +1 -1
  67. package/lib/module/models/geo-api-response.js +2 -0
  68. package/lib/module/models/geo-api-response.js.map +1 -0
  69. package/lib/module/models/mp-client-sdk.js +0 -5
  70. package/lib/module/models/mp-client-sdk.js.map +1 -1
  71. package/lib/module/processors/data-element.processor.js +82 -71
  72. package/lib/module/processors/data-element.processor.js.map +1 -1
  73. package/lib/module/processors/geo-location.processor.js +63 -0
  74. package/lib/module/processors/geo-location.processor.js.map +1 -0
  75. package/lib/module/processors/qc.processor.js +2 -11
  76. package/lib/module/processors/qc.processor.js.map +1 -1
  77. package/lib/module/processors/tag.processor.js +17 -57
  78. package/lib/module/processors/tag.processor.js.map +1 -1
  79. package/lib/module/processors/trans-function.processor.js +5 -12
  80. package/lib/module/processors/trans-function.processor.js.map +1 -1
  81. package/lib/module/processors/visit-id.processor.js +4 -27
  82. package/lib/module/processors/visit-id.processor.js.map +1 -1
  83. package/lib/typescript/common/app-types.d.ts +4 -0
  84. package/lib/typescript/common/constants.d.ts +1 -0
  85. package/lib/typescript/common/data-store.d.ts +8 -0
  86. package/lib/typescript/common/logger.d.ts +5 -0
  87. package/lib/typescript/common/utils.d.ts +19 -0
  88. package/lib/typescript/eedl/eedl.d.ts +16 -5
  89. package/lib/typescript/index.d.ts +53 -0
  90. package/lib/typescript/models/geo-api-response.d.ts +12 -0
  91. package/lib/typescript/processors/data-element.processor.d.ts +10 -1
  92. package/lib/typescript/processors/geo-location.processor.d.ts +10 -0
  93. package/package.json +25 -10
  94. package/src/common/app-types.ts +4 -0
  95. package/src/common/constants.ts +2 -0
  96. package/src/common/data-store.ts +38 -0
  97. package/src/common/logger.ts +19 -3
  98. package/src/common/network-service.ts +2 -0
  99. package/src/common/utils.ts +58 -0
  100. package/src/eedl/eedl.ts +241 -18
  101. package/src/index.tsx +99 -3
  102. package/src/models/geo-api-response.ts +13 -0
  103. package/src/processors/data-element.processor.ts +140 -70
  104. package/src/processors/geo-location.processor.ts +91 -0
@@ -1,5 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
4
  import { MpDataLayerHelper } from './eedl/eedl';
4
5
  import { DataStore } from './common/data-store';
5
6
  import { Logger } from './common/logger';
@@ -11,26 +12,22 @@ import { QcProcessor } from './processors/qc.processor';
11
12
  import { NetworkService } from './common/network-service';
12
13
  import { EventBus } from './common/event-bus';
13
14
  import { VisitIdProcessor } from './processors/visit-id.processor';
15
+ import { GeoLocationProcessor } from './processors/geo-location.processor';
14
16
  const DL_INIT_EVENT = 'page_load';
15
-
16
17
  class MagicPixelImpl {
17
18
  static async init(options) {
18
19
  var _options$device_type;
19
-
20
+ Logger.setLogLevel(options.logLevel ?? 'none');
20
21
  await NetworkService.refreshClientSdkJson(options);
21
-
22
22
  if (!DataStore.isDataStoreReady()) {
23
23
  throw new Error('MagicPixel SDK is not ready. No tags will be processed');
24
24
  }
25
-
26
25
  if (options && options.device_type && ((_options$device_type = options.device_type) === null || _options$device_type === void 0 ? void 0 : _options$device_type.trim().length) > 0) {
27
26
  DataStore.overrideDeviceType(options.device_type);
28
27
  }
29
-
30
28
  this.setAppVersion(options.app_version);
31
29
  await VisitIdProcessor.init(options === null || options === void 0 ? void 0 : options.orgId);
32
30
  const fbp = await VisitIdProcessor.getFacebookFBP();
33
-
34
31
  if (fbp) {
35
32
  Logger.logDbg('Setting facebook client id', fbp);
36
33
  this.setFacebookClientId(fbp);
@@ -38,13 +35,21 @@ class MagicPixelImpl {
38
35
  Logger.logDbg('No facebook client id found. not setting');
39
36
  }
40
37
 
38
+ // Initialize EEDL with any global event listeners
39
+ await this.dl.init({});
40
+
41
+ // Make geo location API call after initialization
42
+ try {
43
+ await GeoLocationProcessor.makeGeoLocationApiCall();
44
+ } catch (err) {
45
+ Logger.logError('Error making geo location API call:', err);
46
+ }
41
47
  MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {
42
48
  Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));
43
49
  const eventName = payload.eventName;
44
50
  const eventDataModel = payload.model ?? {};
45
51
  const eventId = eventDataModel['ev._id'];
46
52
  Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);
47
-
48
53
  if (DataStore.shouldExecuteTMForEvent(eventName)) {
49
54
  // if this is something the tag manager is interested in - fire tag manager
50
55
  DataStore.enQueueTMFire(false, `custom_event_${eventName}`, eventName, eventId, eventDataModel);
@@ -52,43 +57,38 @@ class MagicPixelImpl {
52
57
  }
53
58
  });
54
59
  const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();
55
-
56
60
  if (isFirstOpen) {
57
61
  Logger.logDbg('First open event fired');
58
62
  this.recordEvent('app_first_open', {});
59
63
  }
60
-
61
64
  this.ready();
62
65
  }
63
-
64
66
  static recordEvent(eventName, payload) {
65
67
  if (this.customerInfo) {
66
- const newPayload = { ...payload,
68
+ const newPayload = {
69
+ ...payload,
67
70
  ...this.customerInfo,
68
71
  ...(this.customerIdentifiers ?? {})
69
72
  };
70
73
  this.dl.pushEvent(eventName, newPayload);
71
74
  } else {
72
- const newPayload = { ...payload,
75
+ const newPayload = {
76
+ ...payload,
73
77
  ...(this.customerIdentifiers ?? {})
74
78
  };
75
79
  this.dl.pushEvent(eventName, newPayload);
76
80
  }
77
81
  }
78
-
79
82
  static ready() {
80
83
  this.dl.ready();
81
84
  }
82
-
83
85
  static getDebugId() {
84
86
  return DataStore.getDebugId();
85
87
  }
86
-
87
88
  static async checkAndFireTM() {
88
89
  try {
89
90
  if (!DataStore.isTagManagerProcessing()) {
90
91
  const item = DataStore.deQueueTMFire();
91
-
92
92
  if (item) {
93
93
  Logger.logDbg('Executing TM For: ', item.name, ', Event:: ', item.dcrName, ', Event id:: ', item.eventId, 'Payload:: ', item.dcrPayload);
94
94
  await this.runTM(item.sseOnly, item.name, item.dcrName, item.eventId, item.dcrPayload);
@@ -101,20 +101,19 @@ class MagicPixelImpl {
101
101
  Reporter.reportError('m:checkAndFireTM', err);
102
102
  }
103
103
  }
104
-
105
104
  static async runTM(sseOnly, triggerName, evtName, evtId, eventData) {
106
105
  try {
107
- Logger.logDbg('Running:: ', sseOnly, triggerName, evtName, evtId, eventData); // set tag manager in process status
106
+ Logger.logDbg('Running:: ', sseOnly, triggerName, evtName, evtId, eventData);
108
107
 
109
- DataStore.setTagManagerProcessing(true); // process all the data elements and cache them for this run
108
+ // set tag manager in process status
109
+ DataStore.setTagManagerProcessing(true);
110
110
 
111
+ // process all the data elements and cache them for this run
111
112
  await DataElementProcessor.processDataElements(DataStore.getSdkDataElements(), eventData);
112
113
  const sdk = DataStore.getClientSdk();
113
114
  const pcKey = DataStore.getSdkPcKey();
114
-
115
115
  if (pcKey) {
116
116
  const pcVal = DataStore.getDataElementValue(pcKey);
117
-
118
117
  if (typeof pcVal !== 'undefined' && pcVal === true) {
119
118
  Logger.logDbg('Set: PR Comp: ', true);
120
119
  DataStore.setPrivacyCompliance(true);
@@ -126,19 +125,17 @@ class MagicPixelImpl {
126
125
  Logger.logDbg('Set: PR Comp: ', false);
127
126
  DataStore.setPrivacyCompliance(true);
128
127
  }
129
-
130
128
  if (DataStore.getSdkPageLangKey()) {
131
129
  DataStore.setDataElement('page_lang_key', DataStore.getSdkPageLangKey());
132
130
  DataStore.setPageLang(DataStore.getDataElementValue('page_lang_key'));
133
131
  } else {
134
132
  DataStore.setDataElement('page_lang_key', null);
135
- } //set page_browser default data element with page_os because backend expects this
136
-
133
+ }
137
134
 
135
+ //set page_browser default data element with page_os because backend expects this
138
136
  DataStore.setDataElement('page_browser', DataStore.getOperatingSystem().toLowerCase());
139
137
  Reporter.initReporter(sdk.s.ev, sdk.s.ev_id, DataStore.getDeviceType(), DataStore.getPageLang(), DataStore.getDeviceOs(), DataStore.getPageName(), evtName, evtId, DataStore.getClientDownStream(), DataStore.getCoreVersion(), []);
140
138
  const validQCList = QcProcessor.processQc(DataStore.getSdkQC(), evtName, evtId);
141
-
142
139
  if ((validQCList === null || validQCList === void 0 ? void 0 : validQCList.length) > 0) {
143
140
  Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());
144
141
  TagProcessor.processTags(evtName, evtId).then(() => {
@@ -146,7 +143,6 @@ class MagicPixelImpl {
146
143
  }).catch(err => {
147
144
  Logger.logError('Error processing tag lists.', err);
148
145
  Reporter.reportError('i::processTags', err);
149
-
150
146
  this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);
151
147
  });
152
148
  } else {
@@ -157,7 +153,6 @@ class MagicPixelImpl {
157
153
  Reporter.reportError('m::runTM', runTMErr);
158
154
  }
159
155
  }
160
-
161
156
  static _fireTM(envName, envId, evtName, evtId) {
162
157
  // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now
163
158
  if (evtName === DL_INIT_EVENT) {
@@ -168,14 +163,12 @@ class MagicPixelImpl {
168
163
  this._fireTMPrivate(envName, envId, evtName, evtId);
169
164
  }
170
165
  }
171
-
172
166
  static _fireTMPrivate(envName, envId, evtName, evtId) {
173
167
  if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {
174
168
  Reporter.postSST(DataStore.getDataElements(), envName, envId, DataStore.getSSTDownStream(), evtName, evtId).catch(err => {
175
169
  Reporter.reportError('l::postSST', err);
176
170
  });
177
171
  }
178
-
179
172
  DataStore.setTagManagerProcessing(false);
180
173
  Utils.sleep(250).then(async () => {
181
174
  try {
@@ -185,87 +178,140 @@ class MagicPixelImpl {
185
178
  }
186
179
  });
187
180
  }
188
-
189
181
  static setCustomerInfo(customerInfo) {
190
182
  this.customerInfo = customerInfo;
191
183
  this.recordEvent('idl_attribution_link', customerInfo);
192
184
  }
193
-
194
185
  static setFirebaseAppInstanceId(instanceId) {
195
186
  this.customerIdentifiers.firebase_instance_id = instanceId;
196
187
  }
197
-
198
188
  static setDeepLinkUrl(deepLinkUrl) {
199
189
  this.deepLinkUrl = deepLinkUrl;
200
190
  }
201
-
202
191
  static setDeviceInfo(deviceInfo) {
203
192
  DataStore.setDeviceInfo(deviceInfo);
204
193
  }
205
-
206
194
  static setFacebookClientId(fbp) {
207
195
  this.customerIdentifiers.fbp = fbp;
208
196
  }
209
-
210
197
  static setAppVersion(appVersion) {
211
198
  var _appVersion$trim;
212
-
213
199
  if (appVersion && (appVersion === null || appVersion === void 0 ? void 0 : (_appVersion$trim = appVersion.trim()) === null || _appVersion$trim === void 0 ? void 0 : _appVersion$trim.length) > 0) {
214
200
  this.customerIdentifiers.app_version = appVersion;
215
201
  }
216
202
  }
217
-
218
203
  static recordPageLoad(pageLoadInfo) {
219
204
  pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;
220
205
 
221
- if (this.deepLinkUrl) {
206
+ // Use stored deepLinkUrl if it exists AND either:
207
+ // - deep_link_url wasn't provided in pageLoadInfo, OR
208
+ // - deep_link_url is empty/falsy (defensive programming for developer mistakes)
209
+ if (this.deepLinkUrl && !pageLoadInfo.deep_link_url) {
222
210
  pageLoadInfo.deep_link_url = this.deepLinkUrl;
223
211
  }
224
-
225
212
  const deviceInfo = DataStore.getDeviceInfo();
226
-
227
213
  if (this.customerInfo) {
228
- const newPayload = { ...pageLoadInfo,
214
+ const newPayload = {
215
+ ...pageLoadInfo,
229
216
  ...this.customerInfo,
230
217
  ...(this.customerIdentifiers ?? {}),
231
218
  ...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
232
219
  };
233
-
234
220
  if (deviceInfo) {
235
221
  newPayload.device_info = deviceInfo;
236
222
  }
237
-
238
223
  this.dl.pushEvent('page_load', newPayload);
239
224
  } else {
240
- const newPayload = { ...pageLoadInfo,
225
+ const newPayload = {
226
+ ...pageLoadInfo,
241
227
  ...(this.customerIdentifiers ?? {}),
242
228
  ...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
243
229
  };
244
-
245
230
  if (deviceInfo) {
246
231
  newPayload.device_info = deviceInfo;
247
232
  }
248
-
249
233
  this.dl.pushEvent('page_load', newPayload);
250
- } // only set for first page load event and remove after that
251
-
252
-
234
+ }
235
+ // only set for first page load event and remove after that
253
236
  this.deepLinkUrl = undefined;
254
237
  this.firstAppLaunch = false;
255
238
  }
256
239
 
257
- }
240
+ /**
241
+ * Set user information for tracking
242
+ * @param userInfo User information object
243
+ */
244
+ static setUserInfo(userInfo) {
245
+ this.dl.pushEvent('user_info', userInfo);
246
+ }
258
247
 
259
- _defineProperty(MagicPixelImpl, "dl", new MpDataLayerHelper('mpDlEvent', 'manual', DL_INIT_EVENT));
248
+ /**
249
+ * Persist custom data to storage
250
+ * @param key Storage key
251
+ * @param value Value to store
252
+ */
253
+ static persistData(key, value) {
254
+ this.dl.pushEvent('persist', {
255
+ key,
256
+ value
257
+ });
258
+ }
260
259
 
261
- _defineProperty(MagicPixelImpl, "customerInfo", void 0);
260
+ /**
261
+ * Clear specific persisted data
262
+ * @param keys Array of keys to clear
263
+ */
264
+ static clearPersistedData(keys) {
265
+ this.dl.pushEvent('clear', keys);
266
+ }
262
267
 
263
- _defineProperty(MagicPixelImpl, "customerIdentifiers", {});
268
+ /**
269
+ * Set data layer variables
270
+ * @param data Data to set in the data layer
271
+ */
272
+ static setDataLayer(data) {
273
+ this.dl.pushEvent('set', data);
274
+ }
264
275
 
265
- _defineProperty(MagicPixelImpl, "deepLinkUrl", undefined);
276
+ /**
277
+ * Register a custom event processor
278
+ * @param eventType Event type to listen for
279
+ * @param processor Function to process the event
280
+ */
281
+ static registerEventProcessor(eventType, processor) {
282
+ this.dl.registerProcessor(eventType, processor);
283
+ }
266
284
 
267
- _defineProperty(MagicPixelImpl, "firstAppLaunch", true);
285
+ /**
286
+ * Get current data layer state
287
+ * @returns Current data layer object
288
+ */
289
+ static getDataLayer() {
290
+ return this.dl.getDl();
291
+ }
268
292
 
293
+ /**
294
+ * Get event state tracker
295
+ * @returns Array of all tracked events
296
+ */
297
+ static getEventState() {
298
+ return this.dl.getState();
299
+ }
300
+
301
+ /**
302
+ * Check if a specific event has happened
303
+ * @param eventName Event name to check
304
+ * @returns True if event has occurred
305
+ */
306
+ static hasEventHappened(eventName) {
307
+ return this.dl.hasEventHappened(eventName);
308
+ }
309
+ }
310
+ _defineProperty(MagicPixelImpl, "dl", new MpDataLayerHelper('mpDlEvent', 'manual', DL_INIT_EVENT, '_mpRnDataLayer'));
311
+ _defineProperty(MagicPixelImpl, "customerInfo", void 0);
312
+ _defineProperty(MagicPixelImpl, "customerIdentifiers", {});
313
+ _defineProperty(MagicPixelImpl, "deepLinkUrl", undefined);
314
+ _defineProperty(MagicPixelImpl, "firstAppLaunch", true);
269
315
  export const MagicPixelEventBus = EventBus;
270
316
  export const MagicPixel = MagicPixelImpl;
271
317
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","refreshClientSdkJson","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","dl","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","err","logError","reportError","triggerName","evtId","eventData","setTagManagerProcessing","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","processQc","getSdkQC","getValidQcInfo","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","setDeepLinkUrl","deepLinkUrl","setDeviceInfo","deviceInfo","appVersion","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","deep_link_url","getDeviceInfo","parseQueryParamsToObject","device_info","undefined","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n MpDeviceInfo,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n\n private static deepLinkUrl: string | undefined = undefined;\n\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err: any) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setDeepLinkUrl(deepLinkUrl: string): void {\n this.deepLinkUrl = deepLinkUrl;\n }\n\n static setDeviceInfo(deviceInfo: MpDeviceInfo): void {\n DataStore.setDeviceInfo(deviceInfo);\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n\n if (this.deepLinkUrl) {\n pageLoadInfo.deep_link_url = this.deepLinkUrl;\n }\n\n const deviceInfo = DataStore.getDeviceInfo();\n\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n\n if (deviceInfo) {\n newPayload.device_info = deviceInfo;\n }\n\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n\n if (deviceInfo) {\n newPayload.device_info = deviceInfo;\n }\n\n this.dl.pushEvent('page_load', newPayload);\n }\n // only set for first page load event and remove after that\n this.deepLinkUrl = undefined;\n this.firstAppLaunch = false;\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","GeoLocationProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","_options$device_type","setLogLevel","logLevel","refreshClientSdkJson","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","dl","makeGeoLocationApiCall","err","logError","MagicPixelEventBus","on","evtName","payload","JSON","stringify","eventName","eventDataModel","model","eventId","shouldExecuteTMForEvent","enQueueTMFire","checkAndFireTM","isFirstOpen","isFirstOpenAfterInstall","recordEvent","ready","customerInfo","newPayload","customerIdentifiers","pushEvent","getDebugId","isTagManagerProcessing","item","deQueueTMFire","name","dcrName","dcrPayload","runTM","sseOnly","reportError","triggerName","evtId","eventData","setTagManagerProcessing","processDataElements","getSdkDataElements","sdk","getClientSdk","pcKey","getSdkPcKey","pcVal","getDataElementValue","setPrivacyCompliance","getSdkPageLangKey","setDataElement","setPageLang","getOperatingSystem","toLowerCase","initReporter","s","ev","ev_id","getDeviceType","getPageLang","getDeviceOs","getPageName","getClientDownStream","getCoreVersion","validQCList","processQc","getSdkQC","getValidQcInfo","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","sleep","setCustomerInfo","setFirebaseAppInstanceId","instanceId","firebase_instance_id","setDeepLinkUrl","deepLinkUrl","setDeviceInfo","deviceInfo","appVersion","_appVersion$trim","recordPageLoad","pageLoadInfo","is_entry","firstAppLaunch","deep_link_url","getDeviceInfo","parseQueryParamsToObject","device_info","undefined","setUserInfo","userInfo","persistData","key","value","clearPersistedData","keys","setDataLayer","data","registerEventProcessor","eventType","processor","registerProcessor","getDataLayer","getDl","getEventState","getState","hasEventHappened","_defineProperty","MagicPixel"],"sources":["index.tsx"],"sourcesContent":["import { MpDataLayerHelper } from './eedl/eedl';\nimport type {\n AppCustomerInfo,\n AppPageLoad,\n MapLike,\n MpDeviceInfo,\n SdkInitOptions,\n} from './common/app-types';\nimport { DataStore } from './common/data-store';\nimport { Logger } from './common/logger';\nimport { Reporter } from './common/reporter';\nimport { DataElementProcessor } from './processors/data-element.processor';\nimport { TagProcessor } from './processors/tag.processor';\nimport { Utils } from './common/utils';\nimport { QcProcessor } from './processors/qc.processor';\nimport { NetworkService } from './common/network-service';\nimport { EventBus } from './common/event-bus';\nimport { VisitIdProcessor } from './processors/visit-id.processor';\nimport { GeoLocationProcessor } from './processors/geo-location.processor';\n\nconst DL_INIT_EVENT = 'page_load';\n\nclass MagicPixelImpl {\n private static dl: MpDataLayerHelper = new MpDataLayerHelper(\n 'mpDlEvent',\n 'manual',\n DL_INIT_EVENT,\n '_mpRnDataLayer'\n );\n private static customerInfo: AppCustomerInfo;\n private static customerIdentifiers: MapLike = {};\n\n private static deepLinkUrl: string | undefined = undefined;\n\n private static firstAppLaunch = true;\n\n static async init(options: SdkInitOptions): Promise<void> {\n Logger.setLogLevel(options.logLevel ?? 'none');\n await NetworkService.refreshClientSdkJson(options);\n\n if (!DataStore.isDataStoreReady()) {\n throw new Error('MagicPixel SDK is not ready. No tags will be processed');\n }\n\n if (\n options &&\n options.device_type &&\n options.device_type?.trim().length > 0\n ) {\n DataStore.overrideDeviceType(options.device_type);\n }\n\n this.setAppVersion(options.app_version);\n\n await VisitIdProcessor.init(options?.orgId);\n\n const fbp = await VisitIdProcessor.getFacebookFBP();\n if (fbp) {\n Logger.logDbg('Setting facebook client id', fbp);\n this.setFacebookClientId(fbp);\n } else {\n Logger.logDbg('No facebook client id found. not setting');\n }\n\n // Initialize EEDL with any global event listeners\n await this.dl.init({});\n\n // Make geo location API call after initialization\n try {\n await GeoLocationProcessor.makeGeoLocationApiCall();\n } catch (err) {\n Logger.logError('Error making geo location API call:', err);\n }\n\n MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {\n Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));\n const eventName: string = payload.eventName;\n const eventDataModel: MapLike = payload.model ?? {};\n const eventId = eventDataModel['ev._id'];\n\n Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);\n\n if (DataStore.shouldExecuteTMForEvent(eventName)) {\n // if this is something the tag manager is interested in - fire tag manager\n DataStore.enQueueTMFire(\n false,\n `custom_event_${eventName}`,\n eventName,\n eventId,\n eventDataModel\n );\n await this.checkAndFireTM();\n }\n });\n\n const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();\n if (isFirstOpen) {\n Logger.logDbg('First open event fired');\n this.recordEvent('app_first_open', {});\n }\n\n this.ready();\n }\n\n static recordEvent(eventName: string, payload: MapLike): void {\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...payload,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n } else {\n const newPayload: MapLike = {\n ...payload,\n ...(this.customerIdentifiers ?? {}),\n };\n this.dl.pushEvent(eventName, newPayload);\n }\n }\n\n static ready(): void {\n this.dl.ready();\n }\n\n static getDebugId(): string {\n return DataStore.getDebugId();\n }\n\n private static async checkAndFireTM(): Promise<void> {\n try {\n if (!DataStore.isTagManagerProcessing()) {\n const item = DataStore.deQueueTMFire();\n if (item) {\n Logger.logDbg(\n 'Executing TM For: ',\n item.name,\n ', Event:: ',\n item.dcrName,\n ', Event id:: ',\n item.eventId,\n 'Payload:: ',\n item.dcrPayload\n );\n await this.runTM(\n item.sseOnly,\n item.name,\n item.dcrName,\n item.eventId,\n item.dcrPayload\n );\n }\n } else {\n Logger.logDbg(\n 'Tag Manager is processing or is not ready. This event will start after that'\n );\n }\n } catch (err) {\n Logger.logError('Error check and process tm', err);\n Reporter.reportError('m:checkAndFireTM', err);\n }\n }\n\n private static async runTM(\n sseOnly: boolean,\n triggerName: string,\n evtName: string,\n evtId: string,\n eventData?: Record<string, any>\n ): Promise<void> {\n try {\n Logger.logDbg(\n 'Running:: ',\n sseOnly,\n triggerName,\n evtName,\n evtId,\n eventData\n );\n\n // set tag manager in process status\n DataStore.setTagManagerProcessing(true);\n\n // process all the data elements and cache them for this run\n await DataElementProcessor.processDataElements(\n DataStore.getSdkDataElements(),\n eventData\n );\n\n const sdk = DataStore.getClientSdk();\n\n const pcKey = DataStore.getSdkPcKey();\n if (pcKey) {\n const pcVal = DataStore.getDataElementValue(pcKey);\n if (typeof pcVal !== 'undefined' && pcVal === true) {\n Logger.logDbg('Set: PR Comp: ', true);\n DataStore.setPrivacyCompliance(true);\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(false);\n }\n } else {\n Logger.logDbg('Set: PR Comp: ', false);\n DataStore.setPrivacyCompliance(true);\n }\n\n if (DataStore.getSdkPageLangKey()) {\n DataStore.setDataElement(\n 'page_lang_key',\n DataStore.getSdkPageLangKey()\n );\n DataStore.setPageLang(\n DataStore.getDataElementValue('page_lang_key') as string\n );\n } else {\n DataStore.setDataElement('page_lang_key', null);\n }\n\n //set page_browser default data element with page_os because backend expects this\n DataStore.setDataElement(\n 'page_browser',\n DataStore.getOperatingSystem().toLowerCase()\n );\n\n Reporter.initReporter(\n sdk.s.ev,\n sdk.s.ev_id,\n DataStore.getDeviceType(),\n DataStore.getPageLang(),\n DataStore.getDeviceOs(),\n DataStore.getPageName(),\n evtName,\n evtId,\n DataStore.getClientDownStream(),\n DataStore.getCoreVersion(),\n []\n );\n\n const validQCList = QcProcessor.processQc(\n DataStore.getSdkQC(),\n evtName,\n evtId\n );\n\n if (validQCList?.length > 0) {\n Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());\n\n TagProcessor.processTags(evtName, evtId)\n .then(() => {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n })\n .catch((err) => {\n Logger.logError('Error processing tag lists.', err);\n Reporter.reportError('i::processTags', err);\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n });\n } else {\n this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);\n }\n } catch (runTMErr) {\n Logger.logError('Error in runTM', runTMErr);\n Reporter.reportError('m::runTM', runTMErr);\n }\n }\n\n private static _fireTM(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n // increment visit_depth if event name is page_load because that's the only way we can track page views in an app for now\n if (evtName === DL_INIT_EVENT) {\n VisitIdProcessor.incrementVisitDepth().finally(() => {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n });\n } else {\n this._fireTMPrivate(envName, envId, evtName, evtId);\n }\n }\n\n private static _fireTMPrivate(\n envName: string,\n envId: string,\n evtName: string,\n evtId: string\n ): void {\n if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {\n Reporter.postSST(\n DataStore.getDataElements(),\n envName,\n envId,\n DataStore.getSSTDownStream(),\n evtName,\n evtId\n ).catch((err) => {\n Reporter.reportError('l::postSST', err);\n });\n }\n\n DataStore.setTagManagerProcessing(false);\n Utils.sleep(250).then(async () => {\n try {\n await this.checkAndFireTM();\n } catch (err) {\n Reporter.reportError('i::runTM', err);\n }\n });\n }\n\n static setCustomerInfo(customerInfo: AppCustomerInfo): void {\n this.customerInfo = customerInfo;\n this.recordEvent('idl_attribution_link', customerInfo);\n }\n\n static setFirebaseAppInstanceId(instanceId: string): void {\n this.customerIdentifiers.firebase_instance_id = instanceId;\n }\n\n static setDeepLinkUrl(deepLinkUrl: string): void {\n this.deepLinkUrl = deepLinkUrl;\n }\n\n static setDeviceInfo(deviceInfo: MpDeviceInfo): void {\n DataStore.setDeviceInfo(deviceInfo);\n }\n\n static setFacebookClientId(fbp: string): void {\n this.customerIdentifiers.fbp = fbp;\n }\n\n private static setAppVersion(appVersion?: string): void {\n if (appVersion && appVersion?.trim()?.length > 0) {\n this.customerIdentifiers.app_version = appVersion;\n }\n }\n\n static recordPageLoad(pageLoadInfo: AppPageLoad): void {\n pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;\n\n // Use stored deepLinkUrl if it exists AND either:\n // - deep_link_url wasn't provided in pageLoadInfo, OR\n // - deep_link_url is empty/falsy (defensive programming for developer mistakes)\n if (this.deepLinkUrl && !pageLoadInfo.deep_link_url) {\n pageLoadInfo.deep_link_url = this.deepLinkUrl;\n }\n\n const deviceInfo = DataStore.getDeviceInfo();\n\n if (this.customerInfo) {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...this.customerInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n\n if (deviceInfo) {\n newPayload.device_info = deviceInfo;\n }\n\n this.dl.pushEvent('page_load', newPayload);\n } else {\n const newPayload: MapLike = {\n ...pageLoadInfo,\n ...(this.customerIdentifiers ?? {}),\n ...Utils.parseQueryParamsToObject(pageLoadInfo?.deep_link_url),\n };\n\n if (deviceInfo) {\n newPayload.device_info = deviceInfo;\n }\n\n this.dl.pushEvent('page_load', newPayload);\n }\n // only set for first page load event and remove after that\n this.deepLinkUrl = undefined;\n this.firstAppLaunch = false;\n }\n\n /**\n * Set user information for tracking\n * @param userInfo User information object\n */\n static setUserInfo(userInfo: {\n pid?: string;\n email?: string;\n phone?: string;\n country?: string;\n city?: string;\n state?: string;\n fName?: string;\n lName?: string;\n zip?: string;\n }): void {\n this.dl.pushEvent('user_info', userInfo);\n }\n\n /**\n * Persist custom data to storage\n * @param key Storage key\n * @param value Value to store\n */\n static persistData(key: string, value: any): void {\n this.dl.pushEvent('persist', { key, value });\n }\n\n /**\n * Clear specific persisted data\n * @param keys Array of keys to clear\n */\n static clearPersistedData(keys: string[]): void {\n this.dl.pushEvent('clear', keys);\n }\n\n /**\n * Set data layer variables\n * @param data Data to set in the data layer\n */\n static setDataLayer(data: MapLike): void {\n this.dl.pushEvent('set', data);\n }\n\n /**\n * Register a custom event processor\n * @param eventType Event type to listen for\n * @param processor Function to process the event\n */\n static registerEventProcessor(\n eventType: string,\n processor: (payload: any) => void\n ): void {\n this.dl.registerProcessor(eventType, processor);\n }\n\n /**\n * Get current data layer state\n * @returns Current data layer object\n */\n static getDataLayer(): MapLike {\n return this.dl.getDl();\n }\n\n /**\n * Get event state tracker\n * @returns Array of all tracked events\n */\n static getEventState(): any[] {\n return this.dl.getState();\n }\n\n /**\n * Check if a specific event has happened\n * @param eventName Event name to check\n * @returns True if event has occurred\n */\n static hasEventHappened(eventName: string): boolean {\n return this.dl.hasEventHappened(eventName);\n }\n}\n\nexport const MagicPixelEventBus = EventBus;\nexport const MagicPixel = MagicPixelImpl;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=geo-api-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["geo-api-response.ts"],"sourcesContent":["export interface GeoResponse {\n ip: string;\n city: string;\n country: string;\n region: string;\n loc: string;\n postal: string;\n}\n\nexport interface GeoApiResponse {\n status: 'OK' | 'KO';\n info: GeoResponse;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,19 +1,14 @@
1
1
  export let ParamResourceEncodingType;
2
-
3
2
  (function (ParamResourceEncodingType) {
4
3
  ParamResourceEncodingType["URL_ENC"] = "URL_ENC";
5
4
  ParamResourceEncodingType["BASE64"] = "BASE64";
6
5
  })(ParamResourceEncodingType || (ParamResourceEncodingType = {}));
7
-
8
6
  export let ParamResourceHashType;
9
-
10
7
  (function (ParamResourceHashType) {
11
8
  ParamResourceHashType["SHA256"] = "SHA256";
12
9
  ParamResourceHashType["SHA512"] = "SHA512";
13
10
  })(ParamResourceHashType || (ParamResourceHashType = {}));
14
-
15
11
  export let ParamResourceValSrc;
16
-
17
12
  (function (ParamResourceValSrc) {
18
13
  ParamResourceValSrc["STATIC"] = "STATIC";
19
14
  ParamResourceValSrc["DE"] = "DE";
@@ -1 +1 @@
1
- {"version":3,"names":["ParamResourceEncodingType","ParamResourceHashType","ParamResourceValSrc"],"sources":["mp-client-sdk.ts"],"sourcesContent":["import type { MapLike } from '../common/app-types';\n\nexport interface ClientSdkDeItem {\n nm: string;\n typ: string;\n key?: string;\n def?: any;\n cl?: boolean;\n lwcase?: boolean;\n fn?: (deHelper: any, input: any) => any;\n isAsync?: boolean;\n fnTOut?: number;\n}\n\nexport enum ParamResourceEncodingType {\n URL_ENC = 'URL_ENC',\n BASE64 = 'BASE64',\n}\n\nexport enum ParamResourceHashType {\n SHA256 = 'SHA256',\n SHA512 = 'SHA512',\n}\n\nexport enum ParamResourceValSrc {\n STATIC = 'STATIC',\n DE = 'DE',\n TRANS_FUNC = 'TRANS_FUNC',\n CHILDREN = 'CHILDREN',\n TG_JSON_PATH = 'TG_JSON_PATH',\n}\n\nexport interface SdkParamEncodingTransformer {\n nm: string;\n eTyp: 'URL_ENC' | 'BASE64';\n o?: number;\n}\n\nexport interface SdkParamHashingTransformer {\n nm: string;\n hTyp: ParamResourceHashType;\n o?: number;\n}\n\nexport interface SdkParamIgnoreEmptyTransformer {\n nm: string;\n igEmpty: boolean;\n o?: number; // order\n}\n\nexport type TFType = (\n | SdkParamHashingTransformer\n | SdkParamEncodingTransformer\n | SdkParamIgnoreEmptyTransformer\n)[];\n\nexport interface ClientSdkParamItem {\n id: string; // id\n nm: string; // name\n rqd?: boolean; // is mandatory\n tf?: TFType; // transformation array\n prLvl?: boolean; // is provider level attribute\n pId?: string; // parent id\n sv?: string; // static value\n de?: string; // data element id\n tfId?: string; // transformation function id\n children?: ClientSdkParamItem[];\n exclude_from_req_body?: boolean;\n fKey: string; // flat key\n val_src: string;\n}\n\nexport interface ClientSdkQcCondition {\n param: string; // param name\n i?: string[]; // include conditions\n e?: string[]; // exclude conditions\n i_ect: boolean; // is exact match for include\n i_cs?: boolean; // is case-sensitive for include\n e_ect?: boolean; // is exact match for exclude\n e_cs?: boolean; // is case-sensitive for exclude\n}\n\nexport interface ClientSdkPrItem {\n nm: string;\n url?: string; // base url\n typ: string; // js or img provider\n sTyp: string; // r or i sub type\n rParams?: MapLike<ClientSdkParamItem>; // parameters\n hrs?: MapLike<string>; // headers\n ext?: string; // sdk extras joined into a string\n src?: string; // src of the sdk\n sync?: boolean; // should be loaded sync or async\n pr: string; // whitelisted or black listed\n chld?: boolean; // has at least one parameter whose val_src is CHILDREN\n}\n\nexport interface ClientSdkTfnItem {\n nm: string; // name\n fn: (input: any) => any; // js function in case this is a jsv data element\n rParams: MapLike<ClientSdkParamItem>; // parameters\n}\n\nexport interface ClientSdkQcItem {\n nm: string;\n id: string;\n c: ClientSdkQcCondition[];\n}\n\nexport interface ClientSdkTagItem {\n nm: string; // name\n p: string; // provider id\n url: string; // tag url\n rParams?: MapLike<ClientSdkParamItem>;\n st: number; // start time - in epoch seconds\n ex: number; // expiry time - in epoch seconds\n qc: string[];\n img?: boolean; // is image tag\n wrk?: boolean; // is web worker compatible\n chld?: boolean; // has at least one parameter whose val_src is CHILDREN\n}\n\nexport interface ClientSdkSettingsItem {\n dbg: boolean; // debug_enabled\n err: boolean; // error_enabled\n c_dom: string; // default cookie domain\n v_dur: number; // visit duration\n c_url: string; // collector_url\n bare_c_url?: string; // bare collector url - transient variable\n wh_idl?: string[]; // list of whitelisted idl events\n wh_domains?: string[]; // list of white listed domains\n c_url_lkp?: MapLike<{ v: string; ig: boolean; ect: boolean }>; // collector url look up\n v_id: string; // vendor_id\n p_id: string; // project_id\n ev: string; // environment\n ev_id: string; // environment id\n dly: number; // trigger_delay\n sst: boolean; // should enable server side. this will be set to true if there is atleast one sever side tag defined\n idl: boolean; // should enable ID Link service. this will be set to true if the vendor has ID Link enabled\n c_typ?: string; // the type of CSP, example nonce.\n c_src?: string; // the source of CSP, example meta_tag for nonce type.\n c_key?: string; // the data for CSP.\n v: string; // core sdk version\n bld_dt: string; // sdk build date and time from MP - this is not for the core sdk\n p_view?: boolean; // should fire page info call or not to metrics\n dws_c_t: 'j' | 'n'; // client side down stream (j = java, n = node)\n dws_s_t: 'j' | 'n'; // server side down stream (j = java, n = node)\n}\n\nexport interface BaseResourceParamType {\n id: string; // id of param\n nm: string; // name\n o?: number; // order\n pId?: string; // parent id\n children?: BaseResourceParamType[];\n}\n\nexport interface MpClientSdk {\n langKey: string; // language data element id\n pcKey: string; // privacy compliance key\n cDomKey?: string; // collector domain tfn key\n domWListKey?: string; // domain white list tfn function\n d: MapLike<ClientSdkDeItem>; // data element map\n qc?: ClientSdkQcItem[]; // qualification criteria\n t?: MapLike<ClientSdkTagItem>; // tag map\n p?: MapLike<ClientSdkPrItem>; // provider map\n tfn?: MapLike<ClientSdkTfnItem>; // list of transformation functions\n s: ClientSdkSettingsItem; // settings data item\n dtmE: string[]; // list of dtm direct call events magic pixel should be interested in\n ctmE: string[]; // list of custom javascript event magic pixel should be interested in\n mpDlE: string[]; // list of MagicPixel data layer event magic pixel should be interested in\n sseDtmE: string[]; // list of server side dtm events that we should trigger sst tag\n sseCtmE: string[]; // list of custom window events that we should trigger sst tag\n sseMpDlE: string[]; // list of mp dl events that should trigger the sst tag\n}\n"],"mappings":"AAcA,WAAYA,yBAAZ;;WAAYA,yB;EAAAA,yB;EAAAA,yB;GAAAA,yB,KAAAA,yB;;AAKZ,WAAYC,qBAAZ;;WAAYA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,KAAAA,qB;;AAKZ,WAAYC,mBAAZ;;WAAYA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,KAAAA,mB"}
1
+ {"version":3,"names":["ParamResourceEncodingType","ParamResourceHashType","ParamResourceValSrc"],"sources":["mp-client-sdk.ts"],"sourcesContent":["import type { MapLike } from '../common/app-types';\n\nexport interface ClientSdkDeItem {\n nm: string;\n typ: string;\n key?: string;\n def?: any;\n cl?: boolean;\n lwcase?: boolean;\n fn?: (deHelper: any, input: any) => any;\n isAsync?: boolean;\n fnTOut?: number;\n}\n\nexport enum ParamResourceEncodingType {\n URL_ENC = 'URL_ENC',\n BASE64 = 'BASE64',\n}\n\nexport enum ParamResourceHashType {\n SHA256 = 'SHA256',\n SHA512 = 'SHA512',\n}\n\nexport enum ParamResourceValSrc {\n STATIC = 'STATIC',\n DE = 'DE',\n TRANS_FUNC = 'TRANS_FUNC',\n CHILDREN = 'CHILDREN',\n TG_JSON_PATH = 'TG_JSON_PATH',\n}\n\nexport interface SdkParamEncodingTransformer {\n nm: string;\n eTyp: 'URL_ENC' | 'BASE64';\n o?: number;\n}\n\nexport interface SdkParamHashingTransformer {\n nm: string;\n hTyp: ParamResourceHashType;\n o?: number;\n}\n\nexport interface SdkParamIgnoreEmptyTransformer {\n nm: string;\n igEmpty: boolean;\n o?: number; // order\n}\n\nexport type TFType = (\n | SdkParamHashingTransformer\n | SdkParamEncodingTransformer\n | SdkParamIgnoreEmptyTransformer\n)[];\n\nexport interface ClientSdkParamItem {\n id: string; // id\n nm: string; // name\n rqd?: boolean; // is mandatory\n tf?: TFType; // transformation array\n prLvl?: boolean; // is provider level attribute\n pId?: string; // parent id\n sv?: string; // static value\n de?: string; // data element id\n tfId?: string; // transformation function id\n children?: ClientSdkParamItem[];\n exclude_from_req_body?: boolean;\n fKey: string; // flat key\n val_src: string;\n}\n\nexport interface ClientSdkQcCondition {\n param: string; // param name\n i?: string[]; // include conditions\n e?: string[]; // exclude conditions\n i_ect: boolean; // is exact match for include\n i_cs?: boolean; // is case-sensitive for include\n e_ect?: boolean; // is exact match for exclude\n e_cs?: boolean; // is case-sensitive for exclude\n}\n\nexport interface ClientSdkPrItem {\n nm: string;\n url?: string; // base url\n typ: string; // js or img provider\n sTyp: string; // r or i sub type\n rParams?: MapLike<ClientSdkParamItem>; // parameters\n hrs?: MapLike<string>; // headers\n ext?: string; // sdk extras joined into a string\n src?: string; // src of the sdk\n sync?: boolean; // should be loaded sync or async\n pr: string; // whitelisted or black listed\n chld?: boolean; // has at least one parameter whose val_src is CHILDREN\n}\n\nexport interface ClientSdkTfnItem {\n nm: string; // name\n fn: (input: any) => any; // js function in case this is a jsv data element\n rParams: MapLike<ClientSdkParamItem>; // parameters\n}\n\nexport interface ClientSdkQcItem {\n nm: string;\n id: string;\n c: ClientSdkQcCondition[];\n}\n\nexport interface ClientSdkTagItem {\n nm: string; // name\n p: string; // provider id\n url: string; // tag url\n rParams?: MapLike<ClientSdkParamItem>;\n st: number; // start time - in epoch seconds\n ex: number; // expiry time - in epoch seconds\n qc: string[];\n img?: boolean; // is image tag\n wrk?: boolean; // is web worker compatible\n chld?: boolean; // has at least one parameter whose val_src is CHILDREN\n}\n\nexport interface ClientSdkSettingsItem {\n dbg: boolean; // debug_enabled\n err: boolean; // error_enabled\n c_dom: string; // default cookie domain\n v_dur: number; // visit duration\n c_url: string; // collector_url\n bare_c_url?: string; // bare collector url - transient variable\n wh_idl?: string[]; // list of whitelisted idl events\n wh_domains?: string[]; // list of white listed domains\n c_url_lkp?: MapLike<{ v: string; ig: boolean; ect: boolean }>; // collector url look up\n v_id: string; // vendor_id\n p_id: string; // project_id\n ev: string; // environment\n ev_id: string; // environment id\n dly: number; // trigger_delay\n sst: boolean; // should enable server side. this will be set to true if there is atleast one sever side tag defined\n idl: boolean; // should enable ID Link service. this will be set to true if the vendor has ID Link enabled\n c_typ?: string; // the type of CSP, example nonce.\n c_src?: string; // the source of CSP, example meta_tag for nonce type.\n c_key?: string; // the data for CSP.\n v: string; // core sdk version\n bld_dt: string; // sdk build date and time from MP - this is not for the core sdk\n p_view?: boolean; // should fire page info call or not to metrics\n dws_c_t: 'j' | 'n'; // client side down stream (j = java, n = node)\n dws_s_t: 'j' | 'n'; // server side down stream (j = java, n = node)\n}\n\nexport interface BaseResourceParamType {\n id: string; // id of param\n nm: string; // name\n o?: number; // order\n pId?: string; // parent id\n children?: BaseResourceParamType[];\n}\n\nexport interface MpClientSdk {\n langKey: string; // language data element id\n pcKey: string; // privacy compliance key\n cDomKey?: string; // collector domain tfn key\n domWListKey?: string; // domain white list tfn function\n d: MapLike<ClientSdkDeItem>; // data element map\n qc?: ClientSdkQcItem[]; // qualification criteria\n t?: MapLike<ClientSdkTagItem>; // tag map\n p?: MapLike<ClientSdkPrItem>; // provider map\n tfn?: MapLike<ClientSdkTfnItem>; // list of transformation functions\n s: ClientSdkSettingsItem; // settings data item\n dtmE: string[]; // list of dtm direct call events magic pixel should be interested in\n ctmE: string[]; // list of custom javascript event magic pixel should be interested in\n mpDlE: string[]; // list of MagicPixel data layer event magic pixel should be interested in\n sseDtmE: string[]; // list of server side dtm events that we should trigger sst tag\n sseCtmE: string[]; // list of custom window events that we should trigger sst tag\n sseMpDlE: string[]; // list of mp dl events that should trigger the sst tag\n}\n"],"mappings":"AAcA,WAAYA,yBAAyB;AAGpC,WAHWA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;AAAA,GAAzBA,yBAAyB,KAAzBA,yBAAyB;AAKrC,WAAYC,qBAAqB;AAGhC,WAHWA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;AAAA,GAArBA,qBAAqB,KAArBA,qBAAqB;AAKjC,WAAYC,mBAAmB;AAM9B,WANWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB","ignoreList":[]}