@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
@@ -4,117 +4,99 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MagicPixelEventBus = exports.MagicPixel = void 0;
7
-
8
7
  var _eedl = require("./eedl/eedl");
9
-
10
8
  var _dataStore = require("./common/data-store");
11
-
12
9
  var _logger = require("./common/logger");
13
-
14
10
  var _reporter = require("./common/reporter");
15
-
16
11
  var _dataElement = require("./processors/data-element.processor");
17
-
18
12
  var _tag = require("./processors/tag.processor");
19
-
20
13
  var _utils = require("./common/utils");
21
-
22
14
  var _qc = require("./processors/qc.processor");
23
-
24
15
  var _networkService = require("./common/network-service");
25
-
26
16
  var _eventBus = require("./common/event-bus");
27
-
28
17
  var _visitId = require("./processors/visit-id.processor");
29
-
30
- 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; }
31
-
18
+ var _geoLocation = require("./processors/geo-location.processor");
19
+ 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; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
21
+ 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); }
32
22
  const DL_INIT_EVENT = 'page_load';
33
-
34
23
  class MagicPixelImpl {
35
24
  static async init(options) {
36
25
  var _options$device_type;
37
-
26
+ _logger.Logger.setLogLevel(options.logLevel ?? 'none');
38
27
  await _networkService.NetworkService.refreshClientSdkJson(options);
39
-
40
28
  if (!_dataStore.DataStore.isDataStoreReady()) {
41
29
  throw new Error('MagicPixel SDK is not ready. No tags will be processed');
42
30
  }
43
-
44
31
  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) {
45
32
  _dataStore.DataStore.overrideDeviceType(options.device_type);
46
33
  }
47
-
48
34
  this.setAppVersion(options.app_version);
49
35
  await _visitId.VisitIdProcessor.init(options === null || options === void 0 ? void 0 : options.orgId);
50
36
  const fbp = await _visitId.VisitIdProcessor.getFacebookFBP();
51
-
52
37
  if (fbp) {
53
38
  _logger.Logger.logDbg('Setting facebook client id', fbp);
54
-
55
39
  this.setFacebookClientId(fbp);
56
40
  } else {
57
41
  _logger.Logger.logDbg('No facebook client id found. not setting');
58
42
  }
59
43
 
44
+ // Initialize EEDL with any global event listeners
45
+ await this.dl.init({});
46
+
47
+ // Make geo location API call after initialization
48
+ try {
49
+ await _geoLocation.GeoLocationProcessor.makeGeoLocationApiCall();
50
+ } catch (err) {
51
+ _logger.Logger.logError('Error making geo location API call:', err);
52
+ }
60
53
  MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {
61
54
  _logger.Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));
62
-
63
55
  const eventName = payload.eventName;
64
56
  const eventDataModel = payload.model ?? {};
65
57
  const eventId = eventDataModel['ev._id'];
66
-
67
58
  _logger.Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);
68
-
69
59
  if (_dataStore.DataStore.shouldExecuteTMForEvent(eventName)) {
70
60
  // if this is something the tag manager is interested in - fire tag manager
71
61
  _dataStore.DataStore.enQueueTMFire(false, `custom_event_${eventName}`, eventName, eventId, eventDataModel);
72
-
73
62
  await this.checkAndFireTM();
74
63
  }
75
64
  });
76
65
  const isFirstOpen = await _visitId.VisitIdProcessor.isFirstOpenAfterInstall();
77
-
78
66
  if (isFirstOpen) {
79
67
  _logger.Logger.logDbg('First open event fired');
80
-
81
68
  this.recordEvent('app_first_open', {});
82
69
  }
83
-
84
70
  this.ready();
85
71
  }
86
-
87
72
  static recordEvent(eventName, payload) {
88
73
  if (this.customerInfo) {
89
- const newPayload = { ...payload,
74
+ const newPayload = {
75
+ ...payload,
90
76
  ...this.customerInfo,
91
77
  ...(this.customerIdentifiers ?? {})
92
78
  };
93
79
  this.dl.pushEvent(eventName, newPayload);
94
80
  } else {
95
- const newPayload = { ...payload,
81
+ const newPayload = {
82
+ ...payload,
96
83
  ...(this.customerIdentifiers ?? {})
97
84
  };
98
85
  this.dl.pushEvent(eventName, newPayload);
99
86
  }
100
87
  }
101
-
102
88
  static ready() {
103
89
  this.dl.ready();
104
90
  }
105
-
106
91
  static getDebugId() {
107
92
  return _dataStore.DataStore.getDebugId();
108
93
  }
109
-
110
94
  static async checkAndFireTM() {
111
95
  try {
112
96
  if (!_dataStore.DataStore.isTagManagerProcessing()) {
113
97
  const item = _dataStore.DataStore.deQueueTMFire();
114
-
115
98
  if (item) {
116
99
  _logger.Logger.logDbg('Executing TM For: ', item.name, ', Event:: ', item.dcrName, ', Event id:: ', item.eventId, 'Payload:: ', item.dcrPayload);
117
-
118
100
  await this.runTM(item.sseOnly, item.name, item.dcrName, item.eventId, item.dcrPayload);
119
101
  }
120
102
  } else {
@@ -122,68 +104,51 @@ class MagicPixelImpl {
122
104
  }
123
105
  } catch (err) {
124
106
  _logger.Logger.logError('Error check and process tm', err);
125
-
126
107
  _reporter.Reporter.reportError('m:checkAndFireTM', err);
127
108
  }
128
109
  }
129
-
130
110
  static async runTM(sseOnly, triggerName, evtName, evtId, eventData) {
131
111
  try {
132
- _logger.Logger.logDbg('Running:: ', sseOnly, triggerName, evtName, evtId, eventData); // set tag manager in process status
133
-
134
-
135
- _dataStore.DataStore.setTagManagerProcessing(true); // process all the data elements and cache them for this run
112
+ _logger.Logger.logDbg('Running:: ', sseOnly, triggerName, evtName, evtId, eventData);
136
113
 
114
+ // set tag manager in process status
115
+ _dataStore.DataStore.setTagManagerProcessing(true);
137
116
 
117
+ // process all the data elements and cache them for this run
138
118
  await _dataElement.DataElementProcessor.processDataElements(_dataStore.DataStore.getSdkDataElements(), eventData);
139
-
140
119
  const sdk = _dataStore.DataStore.getClientSdk();
141
-
142
120
  const pcKey = _dataStore.DataStore.getSdkPcKey();
143
-
144
121
  if (pcKey) {
145
122
  const pcVal = _dataStore.DataStore.getDataElementValue(pcKey);
146
-
147
123
  if (typeof pcVal !== 'undefined' && pcVal === true) {
148
124
  _logger.Logger.logDbg('Set: PR Comp: ', true);
149
-
150
125
  _dataStore.DataStore.setPrivacyCompliance(true);
151
126
  } else {
152
127
  _logger.Logger.logDbg('Set: PR Comp: ', false);
153
-
154
128
  _dataStore.DataStore.setPrivacyCompliance(false);
155
129
  }
156
130
  } else {
157
131
  _logger.Logger.logDbg('Set: PR Comp: ', false);
158
-
159
132
  _dataStore.DataStore.setPrivacyCompliance(true);
160
133
  }
161
-
162
134
  if (_dataStore.DataStore.getSdkPageLangKey()) {
163
135
  _dataStore.DataStore.setDataElement('page_lang_key', _dataStore.DataStore.getSdkPageLangKey());
164
-
165
136
  _dataStore.DataStore.setPageLang(_dataStore.DataStore.getDataElementValue('page_lang_key'));
166
137
  } else {
167
138
  _dataStore.DataStore.setDataElement('page_lang_key', null);
168
- } //set page_browser default data element with page_os because backend expects this
169
-
139
+ }
170
140
 
141
+ //set page_browser default data element with page_os because backend expects this
171
142
  _dataStore.DataStore.setDataElement('page_browser', _dataStore.DataStore.getOperatingSystem().toLowerCase());
172
-
173
143
  _reporter.Reporter.initReporter(sdk.s.ev, sdk.s.ev_id, _dataStore.DataStore.getDeviceType(), _dataStore.DataStore.getPageLang(), _dataStore.DataStore.getDeviceOs(), _dataStore.DataStore.getPageName(), evtName, evtId, _dataStore.DataStore.getClientDownStream(), _dataStore.DataStore.getCoreVersion(), []);
174
-
175
144
  const validQCList = _qc.QcProcessor.processQc(_dataStore.DataStore.getSdkQC(), evtName, evtId);
176
-
177
145
  if ((validQCList === null || validQCList === void 0 ? void 0 : validQCList.length) > 0) {
178
146
  _logger.Logger.logDbg('Found Valid QCs to process', _dataStore.DataStore.getValidQcInfo());
179
-
180
147
  _tag.TagProcessor.processTags(evtName, evtId).then(() => {
181
148
  this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);
182
149
  }).catch(err => {
183
150
  _logger.Logger.logError('Error processing tag lists.', err);
184
-
185
151
  _reporter.Reporter.reportError('i::processTags', err);
186
-
187
152
  this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);
188
153
  });
189
154
  } else {
@@ -191,11 +156,9 @@ class MagicPixelImpl {
191
156
  }
192
157
  } catch (runTMErr) {
193
158
  _logger.Logger.logError('Error in runTM', runTMErr);
194
-
195
159
  _reporter.Reporter.reportError('m::runTM', runTMErr);
196
160
  }
197
161
  }
198
-
199
162
  static _fireTM(envName, envId, evtName, evtId) {
200
163
  // 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
201
164
  if (evtName === DL_INIT_EVENT) {
@@ -206,16 +169,13 @@ class MagicPixelImpl {
206
169
  this._fireTMPrivate(envName, envId, evtName, evtId);
207
170
  }
208
171
  }
209
-
210
172
  static _fireTMPrivate(envName, envId, evtName, evtId) {
211
173
  if (_dataStore.DataStore.hasOneSSTTag() && _dataStore.DataStore.shouldFireSstForEvent(evtName)) {
212
174
  _reporter.Reporter.postSST(_dataStore.DataStore.getDataElements(), envName, envId, _dataStore.DataStore.getSSTDownStream(), evtName, evtId).catch(err => {
213
175
  _reporter.Reporter.reportError('l::postSST', err);
214
176
  });
215
177
  }
216
-
217
178
  _dataStore.DataStore.setTagManagerProcessing(false);
218
-
219
179
  _utils.Utils.sleep(250).then(async () => {
220
180
  try {
221
181
  await this.checkAndFireTM();
@@ -224,89 +184,140 @@ class MagicPixelImpl {
224
184
  }
225
185
  });
226
186
  }
227
-
228
187
  static setCustomerInfo(customerInfo) {
229
188
  this.customerInfo = customerInfo;
230
189
  this.recordEvent('idl_attribution_link', customerInfo);
231
190
  }
232
-
233
191
  static setFirebaseAppInstanceId(instanceId) {
234
192
  this.customerIdentifiers.firebase_instance_id = instanceId;
235
193
  }
236
-
237
194
  static setDeepLinkUrl(deepLinkUrl) {
238
195
  this.deepLinkUrl = deepLinkUrl;
239
196
  }
240
-
241
197
  static setDeviceInfo(deviceInfo) {
242
198
  _dataStore.DataStore.setDeviceInfo(deviceInfo);
243
199
  }
244
-
245
200
  static setFacebookClientId(fbp) {
246
201
  this.customerIdentifiers.fbp = fbp;
247
202
  }
248
-
249
203
  static setAppVersion(appVersion) {
250
204
  var _appVersion$trim;
251
-
252
205
  if (appVersion && (appVersion === null || appVersion === void 0 ? void 0 : (_appVersion$trim = appVersion.trim()) === null || _appVersion$trim === void 0 ? void 0 : _appVersion$trim.length) > 0) {
253
206
  this.customerIdentifiers.app_version = appVersion;
254
207
  }
255
208
  }
256
-
257
209
  static recordPageLoad(pageLoadInfo) {
258
210
  pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;
259
211
 
260
- if (this.deepLinkUrl) {
212
+ // Use stored deepLinkUrl if it exists AND either:
213
+ // - deep_link_url wasn't provided in pageLoadInfo, OR
214
+ // - deep_link_url is empty/falsy (defensive programming for developer mistakes)
215
+ if (this.deepLinkUrl && !pageLoadInfo.deep_link_url) {
261
216
  pageLoadInfo.deep_link_url = this.deepLinkUrl;
262
217
  }
263
-
264
218
  const deviceInfo = _dataStore.DataStore.getDeviceInfo();
265
-
266
219
  if (this.customerInfo) {
267
- const newPayload = { ...pageLoadInfo,
220
+ const newPayload = {
221
+ ...pageLoadInfo,
268
222
  ...this.customerInfo,
269
223
  ...(this.customerIdentifiers ?? {}),
270
224
  ..._utils.Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
271
225
  };
272
-
273
226
  if (deviceInfo) {
274
227
  newPayload.device_info = deviceInfo;
275
228
  }
276
-
277
229
  this.dl.pushEvent('page_load', newPayload);
278
230
  } else {
279
- const newPayload = { ...pageLoadInfo,
231
+ const newPayload = {
232
+ ...pageLoadInfo,
280
233
  ...(this.customerIdentifiers ?? {}),
281
234
  ..._utils.Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
282
235
  };
283
-
284
236
  if (deviceInfo) {
285
237
  newPayload.device_info = deviceInfo;
286
238
  }
287
-
288
239
  this.dl.pushEvent('page_load', newPayload);
289
- } // only set for first page load event and remove after that
290
-
291
-
240
+ }
241
+ // only set for first page load event and remove after that
292
242
  this.deepLinkUrl = undefined;
293
243
  this.firstAppLaunch = false;
294
244
  }
295
245
 
296
- }
246
+ /**
247
+ * Set user information for tracking
248
+ * @param userInfo User information object
249
+ */
250
+ static setUserInfo(userInfo) {
251
+ this.dl.pushEvent('user_info', userInfo);
252
+ }
297
253
 
298
- _defineProperty(MagicPixelImpl, "dl", new _eedl.MpDataLayerHelper('mpDlEvent', 'manual', DL_INIT_EVENT));
254
+ /**
255
+ * Persist custom data to storage
256
+ * @param key Storage key
257
+ * @param value Value to store
258
+ */
259
+ static persistData(key, value) {
260
+ this.dl.pushEvent('persist', {
261
+ key,
262
+ value
263
+ });
264
+ }
299
265
 
300
- _defineProperty(MagicPixelImpl, "customerInfo", void 0);
266
+ /**
267
+ * Clear specific persisted data
268
+ * @param keys Array of keys to clear
269
+ */
270
+ static clearPersistedData(keys) {
271
+ this.dl.pushEvent('clear', keys);
272
+ }
301
273
 
302
- _defineProperty(MagicPixelImpl, "customerIdentifiers", {});
274
+ /**
275
+ * Set data layer variables
276
+ * @param data Data to set in the data layer
277
+ */
278
+ static setDataLayer(data) {
279
+ this.dl.pushEvent('set', data);
280
+ }
303
281
 
304
- _defineProperty(MagicPixelImpl, "deepLinkUrl", undefined);
282
+ /**
283
+ * Register a custom event processor
284
+ * @param eventType Event type to listen for
285
+ * @param processor Function to process the event
286
+ */
287
+ static registerEventProcessor(eventType, processor) {
288
+ this.dl.registerProcessor(eventType, processor);
289
+ }
305
290
 
306
- _defineProperty(MagicPixelImpl, "firstAppLaunch", true);
291
+ /**
292
+ * Get current data layer state
293
+ * @returns Current data layer object
294
+ */
295
+ static getDataLayer() {
296
+ return this.dl.getDl();
297
+ }
298
+
299
+ /**
300
+ * Get event state tracker
301
+ * @returns Array of all tracked events
302
+ */
303
+ static getEventState() {
304
+ return this.dl.getState();
305
+ }
307
306
 
308
- const MagicPixelEventBus = _eventBus.EventBus;
309
- exports.MagicPixelEventBus = MagicPixelEventBus;
310
- const MagicPixel = MagicPixelImpl;
311
- exports.MagicPixel = MagicPixel;
307
+ /**
308
+ * Check if a specific event has happened
309
+ * @param eventName Event name to check
310
+ * @returns True if event has occurred
311
+ */
312
+ static hasEventHappened(eventName) {
313
+ return this.dl.hasEventHappened(eventName);
314
+ }
315
+ }
316
+ _defineProperty(MagicPixelImpl, "dl", new _eedl.MpDataLayerHelper('mpDlEvent', 'manual', DL_INIT_EVENT, '_mpRnDataLayer'));
317
+ _defineProperty(MagicPixelImpl, "customerInfo", void 0);
318
+ _defineProperty(MagicPixelImpl, "customerIdentifiers", {});
319
+ _defineProperty(MagicPixelImpl, "deepLinkUrl", undefined);
320
+ _defineProperty(MagicPixelImpl, "firstAppLaunch", true);
321
+ const MagicPixelEventBus = exports.MagicPixelEventBus = _eventBus.EventBus;
322
+ const MagicPixel = exports.MagicPixel = MagicPixelImpl;
312
323
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DL_INIT_EVENT","MagicPixelImpl","init","options","NetworkService","refreshClientSdkJson","DataStore","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","VisitIdProcessor","orgId","fbp","getFacebookFBP","Logger","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","Reporter","reportError","triggerName","evtId","eventData","setTagManagerProcessing","DataElementProcessor","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","QcProcessor","processQc","getSdkQC","getValidQcInfo","TagProcessor","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","Utils","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","MpDataLayerHelper","EventBus","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":["_eedl","require","_dataStore","_logger","_reporter","_dataElement","_tag","_utils","_qc","_networkService","_eventBus","_visitId","_geoLocation","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DL_INIT_EVENT","MagicPixelImpl","init","options","_options$device_type","Logger","setLogLevel","logLevel","NetworkService","refreshClientSdkJson","DataStore","isDataStoreReady","Error","device_type","trim","length","overrideDeviceType","setAppVersion","app_version","VisitIdProcessor","orgId","fbp","getFacebookFBP","logDbg","setFacebookClientId","dl","GeoLocationProcessor","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","Reporter","reportError","triggerName","evtId","eventData","setTagManagerProcessing","DataElementProcessor","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","QcProcessor","processQc","getSdkQC","getValidQcInfo","TagProcessor","processTags","then","_fireTM","catch","runTMErr","envName","envId","incrementVisitDepth","finally","_fireTMPrivate","hasOneSSTTag","shouldFireSstForEvent","postSST","getDataElements","getSSTDownStream","Utils","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","clearPersistedData","keys","setDataLayer","data","registerEventProcessor","eventType","processor","registerProcessor","getDataLayer","getDl","getEventState","getState","hasEventHappened","MpDataLayerHelper","exports","EventBus","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
+ "use strict";
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":[]}
@@ -4,25 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ParamResourceValSrc = exports.ParamResourceHashType = exports.ParamResourceEncodingType = void 0;
7
- let ParamResourceEncodingType;
8
- exports.ParamResourceEncodingType = ParamResourceEncodingType;
9
-
7
+ let ParamResourceEncodingType = exports.ParamResourceEncodingType = void 0;
10
8
  (function (ParamResourceEncodingType) {
11
9
  ParamResourceEncodingType["URL_ENC"] = "URL_ENC";
12
10
  ParamResourceEncodingType["BASE64"] = "BASE64";
13
11
  })(ParamResourceEncodingType || (exports.ParamResourceEncodingType = ParamResourceEncodingType = {}));
14
-
15
- let ParamResourceHashType;
16
- exports.ParamResourceHashType = ParamResourceHashType;
17
-
12
+ let ParamResourceHashType = exports.ParamResourceHashType = void 0;
18
13
  (function (ParamResourceHashType) {
19
14
  ParamResourceHashType["SHA256"] = "SHA256";
20
15
  ParamResourceHashType["SHA512"] = "SHA512";
21
16
  })(ParamResourceHashType || (exports.ParamResourceHashType = ParamResourceHashType = {}));
22
-
23
- let ParamResourceValSrc;
24
- exports.ParamResourceValSrc = ParamResourceValSrc;
25
-
17
+ let ParamResourceValSrc = exports.ParamResourceValSrc = void 0;
26
18
  (function (ParamResourceValSrc) {
27
19
  ParamResourceValSrc["STATIC"] = "STATIC";
28
20
  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":";;;;;;IAcYA,yB;;;WAAAA,yB;EAAAA,yB;EAAAA,yB;GAAAA,yB,yCAAAA,yB;;IAKAC,qB;;;WAAAA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,qCAAAA,qB;;IAKAC,mB;;;WAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,mCAAAA,mB"}
1
+ {"version":3,"names":["ParamResourceEncodingType","exports","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":";;;;;;IAcYA,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA;AAAA,WAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;AAAA,GAAzBA,yBAAyB,KAAAC,OAAA,CAAAD,yBAAA,GAAzBA,yBAAyB;AAAA,IAKzBE,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA;AAAA,WAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;AAAA,GAArBA,qBAAqB,KAAAD,OAAA,CAAAC,qBAAA,GAArBA,qBAAqB;AAAA,IAKrBC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA;AAAA,WAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAAF,OAAA,CAAAE,mBAAA,GAAnBA,mBAAmB","ignoreList":[]}