@magicpixel/rn-mp-client-sdk 0.12.0 → 1.13.0
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.
- package/lib/commonjs/common/app-types.js.map +1 -1
- package/lib/commonjs/common/constants.js +5 -26
- package/lib/commonjs/common/constants.js.map +1 -1
- package/lib/commonjs/common/data-store.js +36 -117
- package/lib/commonjs/common/data-store.js.map +1 -1
- package/lib/commonjs/common/event-bus.js +3 -10
- package/lib/commonjs/common/event-bus.js.map +1 -1
- package/lib/commonjs/common/logger.js +9 -18
- package/lib/commonjs/common/logger.js.map +1 -1
- package/lib/commonjs/common/network-service.js +4 -21
- package/lib/commonjs/common/network-service.js.map +1 -1
- package/lib/commonjs/common/reporter.js +8 -31
- package/lib/commonjs/common/reporter.js.map +1 -1
- package/lib/commonjs/common/utils.js +64 -65
- package/lib/commonjs/common/utils.js.map +1 -1
- package/lib/commonjs/coverage/lcov-report/block-navigation.js +6 -19
- package/lib/commonjs/coverage/lcov-report/block-navigation.js.map +1 -1
- package/lib/commonjs/coverage/lcov-report/prettify.js +2 -182
- package/lib/commonjs/coverage/lcov-report/prettify.js.map +1 -1
- package/lib/commonjs/coverage/lcov-report/sorter.js +64 -94
- package/lib/commonjs/coverage/lcov-report/sorter.js.map +1 -1
- package/lib/commonjs/eedl/eedl.js +207 -84
- package/lib/commonjs/eedl/eedl.js.map +1 -1
- package/lib/commonjs/index.js +104 -95
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/geo-api-response.js +2 -0
- package/lib/commonjs/models/geo-api-response.js.map +1 -0
- package/lib/commonjs/models/mp-client-sdk.js +3 -11
- package/lib/commonjs/models/mp-client-sdk.js.map +1 -1
- package/lib/commonjs/processors/data-element.processor.js +85 -80
- package/lib/commonjs/processors/data-element.processor.js.map +1 -1
- package/lib/commonjs/processors/geo-location.processor.js +70 -0
- package/lib/commonjs/processors/geo-location.processor.js.map +1 -0
- package/lib/commonjs/processors/qc.processor.js +2 -25
- package/lib/commonjs/processors/qc.processor.js.map +1 -1
- package/lib/commonjs/processors/tag.processor.js +17 -86
- package/lib/commonjs/processors/tag.processor.js.map +1 -1
- package/lib/commonjs/processors/trans-function.processor.js +5 -23
- package/lib/commonjs/processors/trans-function.processor.js.map +1 -1
- package/lib/commonjs/processors/visit-id.processor.js +4 -50
- package/lib/commonjs/processors/visit-id.processor.js.map +1 -1
- package/lib/module/common/app-types.js.map +1 -1
- package/lib/module/common/constants.js +4 -22
- package/lib/module/common/constants.js.map +1 -1
- package/lib/module/common/data-store.js +35 -108
- package/lib/module/common/data-store.js.map +1 -1
- package/lib/module/common/event-bus.js +3 -6
- package/lib/module/common/event-bus.js.map +1 -1
- package/lib/module/common/logger.js +9 -16
- package/lib/module/common/logger.js.map +1 -1
- package/lib/module/common/network-service.js +4 -11
- package/lib/module/common/network-service.js.map +1 -1
- package/lib/module/common/reporter.js +8 -19
- package/lib/module/common/reporter.js.map +1 -1
- package/lib/module/common/utils.js +63 -56
- package/lib/module/common/utils.js.map +1 -1
- package/lib/module/coverage/lcov-report/block-navigation.js +6 -19
- package/lib/module/coverage/lcov-report/block-navigation.js.map +1 -1
- package/lib/module/coverage/lcov-report/prettify.js +2 -182
- package/lib/module/coverage/lcov-report/prettify.js.map +1 -1
- package/lib/module/coverage/lcov-report/sorter.js +64 -94
- package/lib/module/coverage/lcov-report/sorter.js.map +1 -1
- package/lib/module/eedl/eedl.js +206 -76
- package/lib/module/eedl/eedl.js.map +1 -1
- package/lib/module/index.js +102 -57
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/geo-api-response.js +2 -0
- package/lib/module/models/geo-api-response.js.map +1 -0
- package/lib/module/models/mp-client-sdk.js +0 -5
- package/lib/module/models/mp-client-sdk.js.map +1 -1
- package/lib/module/processors/data-element.processor.js +82 -71
- package/lib/module/processors/data-element.processor.js.map +1 -1
- package/lib/module/processors/geo-location.processor.js +63 -0
- package/lib/module/processors/geo-location.processor.js.map +1 -0
- package/lib/module/processors/qc.processor.js +2 -11
- package/lib/module/processors/qc.processor.js.map +1 -1
- package/lib/module/processors/tag.processor.js +17 -57
- package/lib/module/processors/tag.processor.js.map +1 -1
- package/lib/module/processors/trans-function.processor.js +5 -12
- package/lib/module/processors/trans-function.processor.js.map +1 -1
- package/lib/module/processors/visit-id.processor.js +4 -27
- package/lib/module/processors/visit-id.processor.js.map +1 -1
- package/lib/typescript/common/app-types.d.ts +3 -0
- package/lib/typescript/common/constants.d.ts +1 -0
- package/lib/typescript/common/data-store.d.ts +8 -0
- package/lib/typescript/common/utils.d.ts +19 -0
- package/lib/typescript/eedl/eedl.d.ts +16 -5
- package/lib/typescript/index.d.ts +53 -0
- package/lib/typescript/models/geo-api-response.d.ts +12 -0
- package/lib/typescript/processors/data-element.processor.d.ts +10 -1
- package/lib/typescript/processors/geo-location.processor.d.ts +10 -0
- package/package.json +25 -15
- package/src/common/app-types.ts +3 -0
- package/src/common/constants.ts +2 -0
- package/src/common/data-store.ts +38 -0
- package/src/common/utils.ts +58 -0
- package/src/eedl/eedl.ts +241 -18
- package/src/index.tsx +98 -3
- package/src/models/geo-api-response.ts +13 -0
- package/src/processors/data-element.processor.ts +140 -70
- package/src/processors/geo-location.processor.ts +91 -0
package/lib/module/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
function _defineProperty(
|
|
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,27 +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
20
|
Logger.setLogLevel(options.logLevel ?? 'none');
|
|
21
21
|
await NetworkService.refreshClientSdkJson(options);
|
|
22
|
-
|
|
23
22
|
if (!DataStore.isDataStoreReady()) {
|
|
24
23
|
throw new Error('MagicPixel SDK is not ready. No tags will be processed');
|
|
25
24
|
}
|
|
26
|
-
|
|
27
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) {
|
|
28
26
|
DataStore.overrideDeviceType(options.device_type);
|
|
29
27
|
}
|
|
30
|
-
|
|
31
28
|
this.setAppVersion(options.app_version);
|
|
32
29
|
await VisitIdProcessor.init(options === null || options === void 0 ? void 0 : options.orgId);
|
|
33
30
|
const fbp = await VisitIdProcessor.getFacebookFBP();
|
|
34
|
-
|
|
35
31
|
if (fbp) {
|
|
36
32
|
Logger.logDbg('Setting facebook client id', fbp);
|
|
37
33
|
this.setFacebookClientId(fbp);
|
|
@@ -39,13 +35,21 @@ class MagicPixelImpl {
|
|
|
39
35
|
Logger.logDbg('No facebook client id found. not setting');
|
|
40
36
|
}
|
|
41
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
|
+
}
|
|
42
47
|
MagicPixelEventBus.on('mpDlEvent', async (evtName, payload) => {
|
|
43
48
|
Logger.logDbg('mpDlEvent:: ', evtName, JSON.stringify(payload));
|
|
44
49
|
const eventName = payload.eventName;
|
|
45
50
|
const eventDataModel = payload.model ?? {};
|
|
46
51
|
const eventId = eventDataModel['ev._id'];
|
|
47
52
|
Logger.logDbg('Tracking Event:: ', eventName, 'with id:: ', eventId);
|
|
48
|
-
|
|
49
53
|
if (DataStore.shouldExecuteTMForEvent(eventName)) {
|
|
50
54
|
// if this is something the tag manager is interested in - fire tag manager
|
|
51
55
|
DataStore.enQueueTMFire(false, `custom_event_${eventName}`, eventName, eventId, eventDataModel);
|
|
@@ -53,43 +57,38 @@ class MagicPixelImpl {
|
|
|
53
57
|
}
|
|
54
58
|
});
|
|
55
59
|
const isFirstOpen = await VisitIdProcessor.isFirstOpenAfterInstall();
|
|
56
|
-
|
|
57
60
|
if (isFirstOpen) {
|
|
58
61
|
Logger.logDbg('First open event fired');
|
|
59
62
|
this.recordEvent('app_first_open', {});
|
|
60
63
|
}
|
|
61
|
-
|
|
62
64
|
this.ready();
|
|
63
65
|
}
|
|
64
|
-
|
|
65
66
|
static recordEvent(eventName, payload) {
|
|
66
67
|
if (this.customerInfo) {
|
|
67
|
-
const newPayload = {
|
|
68
|
+
const newPayload = {
|
|
69
|
+
...payload,
|
|
68
70
|
...this.customerInfo,
|
|
69
71
|
...(this.customerIdentifiers ?? {})
|
|
70
72
|
};
|
|
71
73
|
this.dl.pushEvent(eventName, newPayload);
|
|
72
74
|
} else {
|
|
73
|
-
const newPayload = {
|
|
75
|
+
const newPayload = {
|
|
76
|
+
...payload,
|
|
74
77
|
...(this.customerIdentifiers ?? {})
|
|
75
78
|
};
|
|
76
79
|
this.dl.pushEvent(eventName, newPayload);
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
|
|
80
82
|
static ready() {
|
|
81
83
|
this.dl.ready();
|
|
82
84
|
}
|
|
83
|
-
|
|
84
85
|
static getDebugId() {
|
|
85
86
|
return DataStore.getDebugId();
|
|
86
87
|
}
|
|
87
|
-
|
|
88
88
|
static async checkAndFireTM() {
|
|
89
89
|
try {
|
|
90
90
|
if (!DataStore.isTagManagerProcessing()) {
|
|
91
91
|
const item = DataStore.deQueueTMFire();
|
|
92
|
-
|
|
93
92
|
if (item) {
|
|
94
93
|
Logger.logDbg('Executing TM For: ', item.name, ', Event:: ', item.dcrName, ', Event id:: ', item.eventId, 'Payload:: ', item.dcrPayload);
|
|
95
94
|
await this.runTM(item.sseOnly, item.name, item.dcrName, item.eventId, item.dcrPayload);
|
|
@@ -102,20 +101,19 @@ class MagicPixelImpl {
|
|
|
102
101
|
Reporter.reportError('m:checkAndFireTM', err);
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
|
-
|
|
106
104
|
static async runTM(sseOnly, triggerName, evtName, evtId, eventData) {
|
|
107
105
|
try {
|
|
108
|
-
Logger.logDbg('Running:: ', sseOnly, triggerName, evtName, evtId, eventData);
|
|
106
|
+
Logger.logDbg('Running:: ', sseOnly, triggerName, evtName, evtId, eventData);
|
|
109
107
|
|
|
110
|
-
|
|
108
|
+
// set tag manager in process status
|
|
109
|
+
DataStore.setTagManagerProcessing(true);
|
|
111
110
|
|
|
111
|
+
// process all the data elements and cache them for this run
|
|
112
112
|
await DataElementProcessor.processDataElements(DataStore.getSdkDataElements(), eventData);
|
|
113
113
|
const sdk = DataStore.getClientSdk();
|
|
114
114
|
const pcKey = DataStore.getSdkPcKey();
|
|
115
|
-
|
|
116
115
|
if (pcKey) {
|
|
117
116
|
const pcVal = DataStore.getDataElementValue(pcKey);
|
|
118
|
-
|
|
119
117
|
if (typeof pcVal !== 'undefined' && pcVal === true) {
|
|
120
118
|
Logger.logDbg('Set: PR Comp: ', true);
|
|
121
119
|
DataStore.setPrivacyCompliance(true);
|
|
@@ -127,19 +125,17 @@ class MagicPixelImpl {
|
|
|
127
125
|
Logger.logDbg('Set: PR Comp: ', false);
|
|
128
126
|
DataStore.setPrivacyCompliance(true);
|
|
129
127
|
}
|
|
130
|
-
|
|
131
128
|
if (DataStore.getSdkPageLangKey()) {
|
|
132
129
|
DataStore.setDataElement('page_lang_key', DataStore.getSdkPageLangKey());
|
|
133
130
|
DataStore.setPageLang(DataStore.getDataElementValue('page_lang_key'));
|
|
134
131
|
} else {
|
|
135
132
|
DataStore.setDataElement('page_lang_key', null);
|
|
136
|
-
}
|
|
137
|
-
|
|
133
|
+
}
|
|
138
134
|
|
|
135
|
+
//set page_browser default data element with page_os because backend expects this
|
|
139
136
|
DataStore.setDataElement('page_browser', DataStore.getOperatingSystem().toLowerCase());
|
|
140
137
|
Reporter.initReporter(sdk.s.ev, sdk.s.ev_id, DataStore.getDeviceType(), DataStore.getPageLang(), DataStore.getDeviceOs(), DataStore.getPageName(), evtName, evtId, DataStore.getClientDownStream(), DataStore.getCoreVersion(), []);
|
|
141
138
|
const validQCList = QcProcessor.processQc(DataStore.getSdkQC(), evtName, evtId);
|
|
142
|
-
|
|
143
139
|
if ((validQCList === null || validQCList === void 0 ? void 0 : validQCList.length) > 0) {
|
|
144
140
|
Logger.logDbg('Found Valid QCs to process', DataStore.getValidQcInfo());
|
|
145
141
|
TagProcessor.processTags(evtName, evtId).then(() => {
|
|
@@ -147,7 +143,6 @@ class MagicPixelImpl {
|
|
|
147
143
|
}).catch(err => {
|
|
148
144
|
Logger.logError('Error processing tag lists.', err);
|
|
149
145
|
Reporter.reportError('i::processTags', err);
|
|
150
|
-
|
|
151
146
|
this._fireTM(sdk.s.ev, sdk.s.ev_id, evtName, evtId);
|
|
152
147
|
});
|
|
153
148
|
} else {
|
|
@@ -158,7 +153,6 @@ class MagicPixelImpl {
|
|
|
158
153
|
Reporter.reportError('m::runTM', runTMErr);
|
|
159
154
|
}
|
|
160
155
|
}
|
|
161
|
-
|
|
162
156
|
static _fireTM(envName, envId, evtName, evtId) {
|
|
163
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
|
|
164
158
|
if (evtName === DL_INIT_EVENT) {
|
|
@@ -169,14 +163,12 @@ class MagicPixelImpl {
|
|
|
169
163
|
this._fireTMPrivate(envName, envId, evtName, evtId);
|
|
170
164
|
}
|
|
171
165
|
}
|
|
172
|
-
|
|
173
166
|
static _fireTMPrivate(envName, envId, evtName, evtId) {
|
|
174
167
|
if (DataStore.hasOneSSTTag() && DataStore.shouldFireSstForEvent(evtName)) {
|
|
175
168
|
Reporter.postSST(DataStore.getDataElements(), envName, envId, DataStore.getSSTDownStream(), evtName, evtId).catch(err => {
|
|
176
169
|
Reporter.reportError('l::postSST', err);
|
|
177
170
|
});
|
|
178
171
|
}
|
|
179
|
-
|
|
180
172
|
DataStore.setTagManagerProcessing(false);
|
|
181
173
|
Utils.sleep(250).then(async () => {
|
|
182
174
|
try {
|
|
@@ -186,87 +178,140 @@ class MagicPixelImpl {
|
|
|
186
178
|
}
|
|
187
179
|
});
|
|
188
180
|
}
|
|
189
|
-
|
|
190
181
|
static setCustomerInfo(customerInfo) {
|
|
191
182
|
this.customerInfo = customerInfo;
|
|
192
183
|
this.recordEvent('idl_attribution_link', customerInfo);
|
|
193
184
|
}
|
|
194
|
-
|
|
195
185
|
static setFirebaseAppInstanceId(instanceId) {
|
|
196
186
|
this.customerIdentifiers.firebase_instance_id = instanceId;
|
|
197
187
|
}
|
|
198
|
-
|
|
199
188
|
static setDeepLinkUrl(deepLinkUrl) {
|
|
200
189
|
this.deepLinkUrl = deepLinkUrl;
|
|
201
190
|
}
|
|
202
|
-
|
|
203
191
|
static setDeviceInfo(deviceInfo) {
|
|
204
192
|
DataStore.setDeviceInfo(deviceInfo);
|
|
205
193
|
}
|
|
206
|
-
|
|
207
194
|
static setFacebookClientId(fbp) {
|
|
208
195
|
this.customerIdentifiers.fbp = fbp;
|
|
209
196
|
}
|
|
210
|
-
|
|
211
197
|
static setAppVersion(appVersion) {
|
|
212
198
|
var _appVersion$trim;
|
|
213
|
-
|
|
214
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) {
|
|
215
200
|
this.customerIdentifiers.app_version = appVersion;
|
|
216
201
|
}
|
|
217
202
|
}
|
|
218
|
-
|
|
219
203
|
static recordPageLoad(pageLoadInfo) {
|
|
220
204
|
pageLoadInfo.is_entry = this.firstAppLaunch ? 1 : 0;
|
|
221
205
|
|
|
222
|
-
|
|
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) {
|
|
223
210
|
pageLoadInfo.deep_link_url = this.deepLinkUrl;
|
|
224
211
|
}
|
|
225
|
-
|
|
226
212
|
const deviceInfo = DataStore.getDeviceInfo();
|
|
227
|
-
|
|
228
213
|
if (this.customerInfo) {
|
|
229
|
-
const newPayload = {
|
|
214
|
+
const newPayload = {
|
|
215
|
+
...pageLoadInfo,
|
|
230
216
|
...this.customerInfo,
|
|
231
217
|
...(this.customerIdentifiers ?? {}),
|
|
232
218
|
...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
|
|
233
219
|
};
|
|
234
|
-
|
|
235
220
|
if (deviceInfo) {
|
|
236
221
|
newPayload.device_info = deviceInfo;
|
|
237
222
|
}
|
|
238
|
-
|
|
239
223
|
this.dl.pushEvent('page_load', newPayload);
|
|
240
224
|
} else {
|
|
241
|
-
const newPayload = {
|
|
225
|
+
const newPayload = {
|
|
226
|
+
...pageLoadInfo,
|
|
242
227
|
...(this.customerIdentifiers ?? {}),
|
|
243
228
|
...Utils.parseQueryParamsToObject(pageLoadInfo === null || pageLoadInfo === void 0 ? void 0 : pageLoadInfo.deep_link_url)
|
|
244
229
|
};
|
|
245
|
-
|
|
246
230
|
if (deviceInfo) {
|
|
247
231
|
newPayload.device_info = deviceInfo;
|
|
248
232
|
}
|
|
249
|
-
|
|
250
233
|
this.dl.pushEvent('page_load', newPayload);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
|
|
234
|
+
}
|
|
235
|
+
// only set for first page load event and remove after that
|
|
254
236
|
this.deepLinkUrl = undefined;
|
|
255
237
|
this.firstAppLaunch = false;
|
|
256
238
|
}
|
|
257
239
|
|
|
258
|
-
|
|
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
|
+
}
|
|
259
247
|
|
|
260
|
-
|
|
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
|
+
}
|
|
261
259
|
|
|
262
|
-
|
|
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
|
+
}
|
|
263
267
|
|
|
264
|
-
|
|
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
|
+
}
|
|
265
275
|
|
|
266
|
-
|
|
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
|
+
}
|
|
267
284
|
|
|
268
|
-
|
|
285
|
+
/**
|
|
286
|
+
* Get current data layer state
|
|
287
|
+
* @returns Current data layer object
|
|
288
|
+
*/
|
|
289
|
+
static getDataLayer() {
|
|
290
|
+
return this.dl.getDl();
|
|
291
|
+
}
|
|
269
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);
|
|
270
315
|
export const MagicPixelEventBus = EventBus;
|
|
271
316
|
export const MagicPixel = MagicPixelImpl;
|
|
272
317
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MpDataLayerHelper","DataStore","Logger","Reporter","DataElementProcessor","TagProcessor","Utils","QcProcessor","NetworkService","EventBus","VisitIdProcessor","DL_INIT_EVENT","MagicPixelImpl","init","options","setLogLevel","logLevel","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 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 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 @@
|
|
|
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,
|
|
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":[]}
|