@mparticle/web-localytics-kit 2.0.1 → 3.1.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/dist/LocalyticsEventForwarder.common.js +333 -287
- package/package.json +40 -26
|
@@ -11,16 +11,6 @@ function isObject(val) {
|
|
|
11
11
|
return val != null && typeof val === 'object' && Array.isArray(val) === false;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
var isobject = /*#__PURE__*/Object.freeze({
|
|
15
|
-
'default': isObject
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
function getCjsExportFromNamespace (n) {
|
|
19
|
-
return n && n['default'] || n;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var isobject$1 = getCjsExportFromNamespace(isobject);
|
|
23
|
-
|
|
24
14
|
// Copyright 2015 mParticle, Inc.
|
|
25
15
|
//
|
|
26
16
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -35,339 +25,395 @@ var isobject$1 = getCjsExportFromNamespace(isobject);
|
|
|
35
25
|
// See the License for the specific language governing permissions and
|
|
36
26
|
// limitations under the License.
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var name = 'LocalyticsEventForwarder',
|
|
41
|
-
moduleId = 84,
|
|
42
|
-
maxAllowedDimensions = 10,
|
|
43
|
-
trackerCount = 1,
|
|
44
|
-
MessageType = {
|
|
45
|
-
PageView : 3,
|
|
46
|
-
PageEvent : 4,
|
|
47
|
-
Commerce : 16
|
|
48
|
-
},
|
|
49
|
-
EventType = {
|
|
50
|
-
Unknown : 0,
|
|
51
|
-
Navigation : 1,
|
|
52
|
-
Location : 2,
|
|
53
|
-
Search : 3,
|
|
54
|
-
Transaction : 4,
|
|
55
|
-
UserContent : 5,
|
|
56
|
-
UserPreference: 6,
|
|
57
|
-
Social : 7,
|
|
58
|
-
Other : 8,
|
|
59
|
-
Media : 9
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
var constructor = function () {
|
|
63
|
-
var self = this,
|
|
64
|
-
isInitialized = false,
|
|
65
|
-
forwarderSettings = null,
|
|
66
|
-
reportingService = null,
|
|
67
|
-
customDimensions = [],
|
|
68
|
-
initOptions = {},
|
|
69
|
-
trackerId = null;
|
|
70
|
-
|
|
71
|
-
self.name = name;
|
|
72
|
-
|
|
73
|
-
function createTrackerId() {
|
|
74
|
-
return 'mpllTracker' + trackerCount++;
|
|
75
|
-
}
|
|
76
28
|
|
|
77
|
-
function createCmd(cmd) {
|
|
78
|
-
// Prepends the specified command with the tracker id
|
|
79
|
-
return cmd + '.' + trackerId;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function initForwarder(settings, service, testMode, tid) {
|
|
83
|
-
forwarderSettings = settings;
|
|
84
|
-
reportingService = service;
|
|
85
|
-
initOptions = getInitOptions();
|
|
86
|
-
customDimensions = getOrderedCustomDimensions();
|
|
87
|
-
|
|
88
|
-
if (!tid) {
|
|
89
|
-
trackerId = createTrackerId();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
trackerId = tid;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
try {
|
|
96
|
-
if (!testMode) {
|
|
97
|
-
!function(l,y,t,i,c,s) {
|
|
98
|
-
l['LocalyticsGlobal'] = i;
|
|
99
|
-
l[i] = function() { (l[i].q = l[i].q || []).push(arguments); };
|
|
100
|
-
l[i].t = +new Date;
|
|
101
|
-
(s = y.createElement(t)).type = 'text/javascript';
|
|
102
|
-
s.src = '//web.localytics.com/v3/localytics.js';
|
|
103
|
-
(c = y.getElementsByTagName(t)[0]).parentNode.insertBefore(s, c);
|
|
104
|
-
}(window, document, 'script', 'll');
|
|
105
|
-
|
|
106
|
-
window.ll(createCmd('init'), settings.appKey, initOptions);
|
|
107
|
-
}
|
|
108
29
|
|
|
109
|
-
|
|
30
|
+
var name = 'LocalyticsEventForwarder',
|
|
31
|
+
moduleId = 84,
|
|
32
|
+
maxAllowedDimensions = 10,
|
|
33
|
+
trackerCount = 1,
|
|
34
|
+
MessageType = {
|
|
35
|
+
PageView: 3,
|
|
36
|
+
PageEvent: 4,
|
|
37
|
+
Commerce: 16,
|
|
38
|
+
},
|
|
39
|
+
EventType = {
|
|
40
|
+
Unknown: 0,
|
|
41
|
+
Navigation: 1,
|
|
42
|
+
Location: 2,
|
|
43
|
+
Search: 3,
|
|
44
|
+
Transaction: 4,
|
|
45
|
+
UserContent: 5,
|
|
46
|
+
UserPreference: 6,
|
|
47
|
+
Social: 7,
|
|
48
|
+
Other: 8,
|
|
49
|
+
Media: 9,
|
|
50
|
+
};
|
|
110
51
|
|
|
111
|
-
|
|
52
|
+
var constructor = function() {
|
|
53
|
+
var self = this,
|
|
54
|
+
isInitialized = false,
|
|
55
|
+
forwarderSettings = null,
|
|
56
|
+
reportingService = null,
|
|
57
|
+
customDimensions = [],
|
|
58
|
+
initOptions = {},
|
|
59
|
+
trackerId = null;
|
|
112
60
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
61
|
+
self.name = name;
|
|
62
|
+
|
|
63
|
+
function createTrackerId() {
|
|
64
|
+
return 'mpllTracker' + trackerCount++;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function createCmd(cmd) {
|
|
68
|
+
// Prepends the specified command with the tracker id
|
|
69
|
+
return cmd + '.' + trackerId;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function initForwarder(settings, service, testMode, tid) {
|
|
73
|
+
forwarderSettings = settings;
|
|
74
|
+
reportingService = service;
|
|
75
|
+
initOptions = getInitOptions();
|
|
76
|
+
customDimensions = getOrderedCustomDimensions();
|
|
77
|
+
|
|
78
|
+
if (!tid) {
|
|
79
|
+
trackerId = createTrackerId();
|
|
80
|
+
} else {
|
|
81
|
+
trackerId = tid;
|
|
116
82
|
}
|
|
117
|
-
|
|
118
|
-
function getInitOptions() {
|
|
119
|
-
var options = {};
|
|
120
|
-
|
|
121
|
-
if(forwarderSettings.appVersion){
|
|
122
|
-
options.appVersion = forwarderSettings.appVersion;
|
|
123
|
-
}
|
|
124
83
|
|
|
125
|
-
|
|
126
|
-
|
|
84
|
+
try {
|
|
85
|
+
if (!testMode) {
|
|
86
|
+
!(function(l, y, t, i, c, s) {
|
|
87
|
+
l['LocalyticsGlobal'] = i;
|
|
88
|
+
l[i] = function() {
|
|
89
|
+
(l[i].q = l[i].q || []).push(arguments);
|
|
90
|
+
};
|
|
91
|
+
l[i].t = +new Date();
|
|
92
|
+
(s = y.createElement(t)).type = 'text/javascript';
|
|
93
|
+
s.src = '//web.localytics.com/v4/localytics.min.js';
|
|
94
|
+
(c = y.getElementsByTagName(t)[0]).parentNode.insertBefore(
|
|
95
|
+
s,
|
|
96
|
+
c
|
|
97
|
+
);
|
|
98
|
+
})(window, document, 'script', 'll');
|
|
99
|
+
|
|
100
|
+
window.ll(createCmd('init'), settings.appKey, initOptions);
|
|
127
101
|
}
|
|
128
102
|
|
|
129
|
-
|
|
130
|
-
options.domain = forwarderSettings.domain;
|
|
131
|
-
}
|
|
103
|
+
isInitialized = true;
|
|
132
104
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return options;
|
|
105
|
+
return 'Successfully initialized: ' + name;
|
|
106
|
+
} catch (e) {
|
|
107
|
+
return "Can't initialize forwarder: " + name + ':' + e;
|
|
137
108
|
}
|
|
109
|
+
}
|
|
138
110
|
|
|
139
|
-
|
|
140
|
-
|
|
111
|
+
function getInitOptions() {
|
|
112
|
+
var options = {};
|
|
141
113
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
114
|
+
if (forwarderSettings.appVersion) {
|
|
115
|
+
options.appVersion = forwarderSettings.appVersion;
|
|
116
|
+
}
|
|
145
117
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
logScreenViewEvent(event);
|
|
150
|
-
} else if (event.EventDataType == MessageType.Commerce) {
|
|
151
|
-
logCommerce(event);
|
|
152
|
-
reportEvent = true;
|
|
153
|
-
}
|
|
154
|
-
else if (event.EventDataType == MessageType.PageEvent) {
|
|
155
|
-
reportEvent = true;
|
|
156
|
-
logEvent(event);
|
|
157
|
-
}
|
|
118
|
+
if (forwarderSettings.sessionTimeout) {
|
|
119
|
+
options.sessionTimeout = forwarderSettings.sessionTimeout;
|
|
120
|
+
}
|
|
158
121
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
122
|
+
if (forwarderSettings.domain) {
|
|
123
|
+
options.domain = forwarderSettings.domain;
|
|
124
|
+
}
|
|
162
125
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
126
|
+
options.trackPageView =
|
|
127
|
+
forwarderSettings.hasOwnProperty('trackPageView') &&
|
|
128
|
+
forwarderSettings.trackPageView.toLowerCase() === 'true';
|
|
129
|
+
|
|
130
|
+
return options;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function processEvent(event) {
|
|
134
|
+
var reportEvent = false;
|
|
135
|
+
|
|
136
|
+
if (!isInitialized) {
|
|
137
|
+
return "Can't send forwarder " + name + ', not initialized';
|
|
167
138
|
}
|
|
168
139
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
140
|
+
try {
|
|
141
|
+
if (event.EventDataType == MessageType.PageView) {
|
|
142
|
+
reportEvent = true;
|
|
143
|
+
logScreenViewEvent(event);
|
|
144
|
+
} else if (event.EventDataType == MessageType.Commerce) {
|
|
145
|
+
logCommerce(event);
|
|
146
|
+
reportEvent = true;
|
|
147
|
+
} else if (event.EventDataType == MessageType.PageEvent) {
|
|
148
|
+
reportEvent = true;
|
|
149
|
+
logEvent(event);
|
|
174
150
|
}
|
|
175
|
-
|
|
176
|
-
|
|
151
|
+
|
|
152
|
+
if (reportEvent && reportingService) {
|
|
153
|
+
reportingService(self, event);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return 'Successfully sent to forwarder ' + name;
|
|
157
|
+
} catch (e) {
|
|
158
|
+
return "Can't send to forwarder: " + name + ' ' + e;
|
|
177
159
|
}
|
|
160
|
+
}
|
|
178
161
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
162
|
+
function logScreenViewEvent(event) {
|
|
163
|
+
var screenName = event.EventName;
|
|
164
|
+
|
|
165
|
+
if (
|
|
166
|
+
event.hasOwnProperty('CustomFlags') &&
|
|
167
|
+
event.CustomFlags.hasOwnProperty('Localytics.ScreenName')
|
|
168
|
+
) {
|
|
169
|
+
screenName = event.CustomFlags['Localytics.ScreenName'];
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
window.ll(createCmd('tagScreen'), screenName);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function logEvent(event) {
|
|
176
|
+
var ltv = null;
|
|
177
|
+
if (
|
|
178
|
+
event.hasOwnProperty('EventCategory') &&
|
|
179
|
+
event.EventCategory === EventType.Transaction
|
|
180
|
+
) {
|
|
181
|
+
if (
|
|
182
|
+
event.hasOwnProperty('EventAttributes') &&
|
|
183
|
+
event.EventAttributes.hasOwnProperty('$Amount')
|
|
184
|
+
) {
|
|
185
|
+
var ltvVal = event.EventAttributes['$Amount'];
|
|
186
|
+
if (!isNaN(parseFloat(ltvVal, 10))) {
|
|
187
|
+
ltv = parseFloat(ltvVal, 10).toFixed(2);
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
|
-
|
|
190
|
-
if(ltv !== null) {
|
|
191
|
-
var multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
|
|
192
|
-
window.ll(createCmd('tagEvent'), event.EventName, event.EventAttributes, ltv * multiplier);
|
|
193
|
-
} else {
|
|
194
|
-
window.ll(createCmd('tagEvent'), event.EventName, event.EventAttributes);
|
|
195
|
-
}
|
|
196
190
|
}
|
|
197
191
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if(!isNaN(parseFloat(data.ProductAction.TotalAmount, 10))) {
|
|
214
|
-
total = parseFloat(data.ProductAction.TotalAmount, 10).toFixed(2);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
if(total != null) {
|
|
218
|
-
window.ll(createCmd('tagEvent'), data.EventName, data.EventAttributes, total * multiplier);
|
|
219
|
-
} else {
|
|
220
|
-
return 'Can\'t forward commerce event: TotalAmount is set incorrectly';
|
|
221
|
-
}
|
|
222
|
-
break;
|
|
223
|
-
|
|
224
|
-
default:
|
|
225
|
-
logEvent(data);
|
|
226
|
-
break;
|
|
227
|
-
}
|
|
192
|
+
if (ltv !== null) {
|
|
193
|
+
var multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
|
|
194
|
+
window.ll(
|
|
195
|
+
createCmd('tagEvent'),
|
|
196
|
+
event.EventName,
|
|
197
|
+
event.EventAttributes,
|
|
198
|
+
ltv * multiplier
|
|
199
|
+
);
|
|
200
|
+
} else {
|
|
201
|
+
window.ll(
|
|
202
|
+
createCmd('tagEvent'),
|
|
203
|
+
event.EventName,
|
|
204
|
+
event.EventAttributes
|
|
205
|
+
);
|
|
228
206
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
function logCommerce(data) {
|
|
210
|
+
if (!data.ProductAction)
|
|
211
|
+
return "Can't forward commerce event: No production action found";
|
|
212
|
+
|
|
213
|
+
switch (data.ProductAction.ProductActionType) {
|
|
214
|
+
case mParticle.ProductActionType.Purchase:
|
|
215
|
+
case mParticle.ProductActionType.Refund:
|
|
216
|
+
var total = null,
|
|
217
|
+
multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
|
|
218
|
+
|
|
219
|
+
if (
|
|
220
|
+
data.ProductAction.ProductActionType ==
|
|
221
|
+
mParticle.ProductActionType.Refund
|
|
222
|
+
) {
|
|
223
|
+
multiplier *= -1;
|
|
238
224
|
}
|
|
239
|
-
|
|
240
|
-
|
|
225
|
+
|
|
226
|
+
if (!isNaN(parseFloat(data.ProductAction.TotalAmount, 10))) {
|
|
227
|
+
total = parseFloat(
|
|
228
|
+
data.ProductAction.TotalAmount,
|
|
229
|
+
10
|
|
230
|
+
).toFixed(2);
|
|
241
231
|
}
|
|
242
|
-
|
|
243
|
-
if(
|
|
244
|
-
|
|
232
|
+
|
|
233
|
+
if (total != null) {
|
|
234
|
+
window.ll(
|
|
235
|
+
createCmd('tagEvent'),
|
|
236
|
+
data.EventName,
|
|
237
|
+
data.EventAttributes,
|
|
238
|
+
total * multiplier
|
|
239
|
+
);
|
|
240
|
+
} else {
|
|
241
|
+
return "Can't forward commerce event: TotalAmount is set incorrectly";
|
|
245
242
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
updateCustomDimension(key, null);
|
|
252
|
-
}
|
|
243
|
+
break;
|
|
244
|
+
|
|
245
|
+
default:
|
|
246
|
+
logEvent(data);
|
|
247
|
+
break;
|
|
253
248
|
}
|
|
254
|
-
|
|
255
|
-
function setUserIdentity(id, type) {
|
|
256
|
-
if (!id) {
|
|
257
|
-
return 'Can\'t call setUserIdentity on forwarder: ' + name + ' without ID';
|
|
258
|
-
}
|
|
249
|
+
}
|
|
259
250
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
251
|
+
function setUserAttribute(key, value) {
|
|
252
|
+
if (!key) {
|
|
253
|
+
return "Can't call setUserAttribute on forwarder: No key provided";
|
|
254
|
+
}
|
|
263
255
|
|
|
256
|
+
if (key === 'Localytics.CustomerName') {
|
|
264
257
|
try {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
258
|
+
window.ll(createCmd('setCustomerName'), value);
|
|
259
|
+
} catch (e) {
|
|
260
|
+
return (
|
|
261
|
+
"Can't call setCustomerName on forwarder: " +
|
|
262
|
+
name +
|
|
263
|
+
': ' +
|
|
264
|
+
e
|
|
265
|
+
);
|
|
273
266
|
}
|
|
274
|
-
|
|
275
|
-
|
|
267
|
+
} else {
|
|
268
|
+
if (customDimensions.length > 0) {
|
|
269
|
+
updateCustomDimension(key, value);
|
|
276
270
|
}
|
|
277
271
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
function removeUserAttribute(key) {
|
|
275
|
+
if (customDimensions.length > 0) {
|
|
276
|
+
updateCustomDimension(key, null);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
function setUserIdentity(id, type) {
|
|
281
|
+
if (!id) {
|
|
282
|
+
return (
|
|
283
|
+
"Can't call setUserIdentity on forwarder: " +
|
|
284
|
+
name +
|
|
285
|
+
' without ID'
|
|
286
|
+
);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (!isInitialized) {
|
|
290
|
+
return (
|
|
291
|
+
"Can't call setUserIdentity on forwarder: " +
|
|
292
|
+
name +
|
|
293
|
+
', not initialized'
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
try {
|
|
298
|
+
if (window.mParticle.IdentityType.Email == type) {
|
|
299
|
+
window.ll(createCmd('setCustomerEmail'), id);
|
|
300
|
+
} else {
|
|
301
|
+
window.ll(createCmd('setCustomerId'), id);
|
|
294
302
|
}
|
|
303
|
+
|
|
304
|
+
return 'Successfully called identify on forwarder: ' + name;
|
|
305
|
+
} catch (e) {
|
|
306
|
+
return "Can't call identify on forwarder: " + name + ': ' + e;
|
|
295
307
|
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
function updateCustomDimension(key, value) {
|
|
311
|
+
if (customDimensions.length === 0) return;
|
|
312
|
+
|
|
313
|
+
var index = -1,
|
|
314
|
+
keyLower = key.toLowerCase();
|
|
315
|
+
|
|
316
|
+
for (var i = 0; i < customDimensions.length; i++) {
|
|
317
|
+
if (customDimensions[i].toLowerCase() === keyLower) {
|
|
318
|
+
index = i;
|
|
305
319
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
if (index >= 0) {
|
|
323
|
+
window.ll(createCmd('setCustomDimension'), index, value);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
function getOrderedCustomDimensions() {
|
|
328
|
+
var dimensions = null,
|
|
329
|
+
orderedDimensions = [];
|
|
330
|
+
|
|
331
|
+
try {
|
|
332
|
+
dimensions = JSON.parse(
|
|
333
|
+
forwarderSettings.customDimensions.replace(/"/g, '"')
|
|
334
|
+
);
|
|
335
|
+
} catch (e) {
|
|
336
|
+
return orderedDimensions;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
if (dimensions.length > 0) {
|
|
340
|
+
for (var index = 0; index < maxAllowedDimensions; index++) {
|
|
341
|
+
for (var j = 0; j < dimensions.length; j++) {
|
|
342
|
+
if (
|
|
343
|
+
dimensions[j].maptype.toLowerCase() !==
|
|
344
|
+
'userattributeclass.name' ||
|
|
345
|
+
!dimensions[j].value ||
|
|
346
|
+
!dimensions[j].map
|
|
347
|
+
)
|
|
348
|
+
continue;
|
|
349
|
+
|
|
350
|
+
if (
|
|
351
|
+
dimensions[j].value.toLowerCase() ===
|
|
352
|
+
'dimension ' + index
|
|
353
|
+
) {
|
|
354
|
+
orderedDimensions.push(dimensions[j].map);
|
|
318
355
|
}
|
|
319
356
|
}
|
|
320
357
|
}
|
|
321
|
-
|
|
322
|
-
return orderedDimensions;
|
|
323
358
|
}
|
|
324
|
-
|
|
325
|
-
this.init = initForwarder;
|
|
326
|
-
this.process = processEvent;
|
|
327
|
-
this.setUserAttribute = setUserAttribute;
|
|
328
|
-
this.setUserIdentity = setUserIdentity;
|
|
329
|
-
this.removeUserAttribute = removeUserAttribute;
|
|
330
|
-
};
|
|
331
359
|
|
|
332
|
-
|
|
333
|
-
return moduleId;
|
|
360
|
+
return orderedDimensions;
|
|
334
361
|
}
|
|
335
362
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
363
|
+
this.init = initForwarder;
|
|
364
|
+
this.process = processEvent;
|
|
365
|
+
this.setUserAttribute = setUserAttribute;
|
|
366
|
+
this.setUserIdentity = setUserIdentity;
|
|
367
|
+
this.removeUserAttribute = removeUserAttribute;
|
|
368
|
+
};
|
|
341
369
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
}
|
|
370
|
+
function getId() {
|
|
371
|
+
return moduleId;
|
|
372
|
+
}
|
|
346
373
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
374
|
+
function register(config) {
|
|
375
|
+
if (!config) {
|
|
376
|
+
console.log(
|
|
377
|
+
'You must pass a config object to register the kit ' + name
|
|
378
|
+
);
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (!isObject(config)) {
|
|
383
|
+
console.log(
|
|
384
|
+
"'config' must be an object. You passed in a " + typeof config
|
|
385
|
+
);
|
|
386
|
+
return;
|
|
358
387
|
}
|
|
359
388
|
|
|
389
|
+
if (isObject(config.kits)) {
|
|
390
|
+
config.kits[name] = {
|
|
391
|
+
constructor: constructor,
|
|
392
|
+
};
|
|
393
|
+
} else {
|
|
394
|
+
config.kits = {};
|
|
395
|
+
config.kits[name] = {
|
|
396
|
+
constructor: constructor,
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
console.log(
|
|
400
|
+
'Successfully registered ' + name + ' to your mParticle configuration'
|
|
401
|
+
);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
if (typeof window !== 'undefined') {
|
|
360
405
|
if (window && window.mParticle && window.mParticle.addForwarder) {
|
|
361
406
|
window.mParticle.addForwarder({
|
|
362
407
|
name: name,
|
|
363
408
|
constructor: constructor,
|
|
364
|
-
getId: getId
|
|
409
|
+
getId: getId,
|
|
365
410
|
});
|
|
366
411
|
}
|
|
412
|
+
}
|
|
367
413
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
414
|
+
var LocalyticsEventForwarder = {
|
|
415
|
+
register: register,
|
|
416
|
+
};
|
|
371
417
|
var LocalyticsEventForwarder_1 = LocalyticsEventForwarder.register;
|
|
372
418
|
|
|
373
419
|
exports.default = LocalyticsEventForwarder;
|
package/package.json
CHANGED
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
2
|
+
"name": "@mparticle/web-localytics-kit",
|
|
3
|
+
"version": "3.1.0",
|
|
4
|
+
"author": "mParticle Developers <developers@mparticle.com> (https://www.mparticle.com)",
|
|
5
|
+
"description": "mParticle integration sdk for Localytics",
|
|
6
|
+
"main": "dist/LocalyticsEventForwarder.common.js",
|
|
7
|
+
"browser": "dist/LocalyticsEventForwarder.common.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/LocalyticsEventForwarder.common.js"
|
|
10
|
+
],
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/mParticle/mparticle-web-sdk",
|
|
14
|
+
"directory": "kits/localytics/localytics-4"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "rollup --config rollup.config.js",
|
|
18
|
+
"watch": "rollup --config rollup.config.js -w",
|
|
19
|
+
"test": "node test/boilerplate/test-karma.js"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"chai": "^4.2.0",
|
|
23
|
+
"karma": "^5.1.0",
|
|
24
|
+
"karma-chai": "^0.1.0",
|
|
25
|
+
"karma-chrome-launcher": "^3.1.0",
|
|
26
|
+
"karma-firefox-launcher": "^1.3.0",
|
|
27
|
+
"karma-mocha": "^2.0.1",
|
|
28
|
+
"mocha": "^2.5.3",
|
|
29
|
+
"rollup": "^1.13.1",
|
|
30
|
+
"rollup-plugin-commonjs": "^10.0.0",
|
|
31
|
+
"rollup-plugin-node-resolve": "^5.0.1",
|
|
32
|
+
"shelljs": "^0.8.4",
|
|
33
|
+
"should": "^7.1.0",
|
|
34
|
+
"watchify": "^3.11.1"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"isobject": "^4.0.0",
|
|
38
|
+
"@mparticle/web-sdk": "^3.0.0"
|
|
39
|
+
},
|
|
40
|
+
"license": "Apache-2.0",
|
|
41
|
+
"homepage": "https://github.com/mParticle/mparticle-web-sdk/tree/main/kits/localytics/localytics-4#readme"
|
|
28
42
|
}
|