@mparticle/web-sdk 2.63.0 → 2.64.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/mparticle.common.js +58 -40
- package/dist/mparticle.esm.js +58 -40
- package/dist/mparticle.js +420 -222
- package/dist/types/src/forwarder-utils.d.ts +15 -0
- package/dist/types/src/helpers.d.ts +1 -1
- package/dist/types/src/sdkToEventsApiConverter.d.ts +2 -0
- package/dist/types/src/types.d.ts +3 -0
- package/dist/types/src/utils.d.ts +2 -1
- package/package.json +1 -1
- package/src/apiClient.ts +2 -2
- package/src/ecommerce.js +6 -13
- package/src/forwarder-utils.ts +260 -0
- package/src/forwarders.js +83 -195
- package/src/helpers.js +1 -148
- package/src/mockBatchCreator.ts +2 -1
- package/src/mp-instance.ts +2 -2
- package/src/persistence.js +4 -4
- package/src/sdkToEventsApiConverter.ts +55 -1
- package/src/serverModel.ts +2 -1
- package/src/store.ts +2 -3
- package/src/types.ts +134 -0
- package/src/utils.ts +135 -0
package/dist/mparticle.js
CHANGED
|
@@ -203,7 +203,7 @@ var mParticle = (function () {
|
|
|
203
203
|
Base64: Base64$1
|
|
204
204
|
};
|
|
205
205
|
|
|
206
|
-
var version = "2.
|
|
206
|
+
var version = "2.64.0";
|
|
207
207
|
|
|
208
208
|
var Constants = {
|
|
209
209
|
sdkVersion: version,
|
|
@@ -918,6 +918,96 @@ var mParticle = (function () {
|
|
|
918
918
|
var obfuscateDevData = function obfuscateDevData(data, isDevelopmentMode) {
|
|
919
919
|
return isDevelopmentMode ? data : obfuscateData(data);
|
|
920
920
|
};
|
|
921
|
+
// Standalone version of jQuery.extend, from https://github.com/dansdom/extend
|
|
922
|
+
// https://go.mparticle.com/work/SQDSDKS-6047
|
|
923
|
+
function extend() {
|
|
924
|
+
var args = [];
|
|
925
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
926
|
+
args[_i] = arguments[_i];
|
|
927
|
+
}
|
|
928
|
+
var objectHelper = {
|
|
929
|
+
hasOwn: Object.prototype.hasOwnProperty,
|
|
930
|
+
class2type: {},
|
|
931
|
+
type: function type(obj) {
|
|
932
|
+
return obj == null ? String(obj) : objectHelper.class2type[Object.prototype.toString.call(obj)] || 'object';
|
|
933
|
+
},
|
|
934
|
+
isPlainObject: function isPlainObject(obj) {
|
|
935
|
+
if (!obj || objectHelper.type(obj) !== 'object' || obj.nodeType || objectHelper.isWindow(obj)) {
|
|
936
|
+
return false;
|
|
937
|
+
}
|
|
938
|
+
try {
|
|
939
|
+
if (obj.constructor && !objectHelper.hasOwn.call(obj, 'constructor') && !objectHelper.hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {
|
|
940
|
+
return false;
|
|
941
|
+
}
|
|
942
|
+
} catch (e) {
|
|
943
|
+
return false;
|
|
944
|
+
}
|
|
945
|
+
var key;
|
|
946
|
+
for (key in obj) {} // eslint-disable-line no-empty
|
|
947
|
+
return key === undefined || objectHelper.hasOwn.call(obj, key);
|
|
948
|
+
},
|
|
949
|
+
isArray: Array.isArray || function (obj) {
|
|
950
|
+
return objectHelper.type(obj) === 'array';
|
|
951
|
+
},
|
|
952
|
+
isFunction: function isFunction(obj) {
|
|
953
|
+
return objectHelper.type(obj) === 'function';
|
|
954
|
+
},
|
|
955
|
+
isWindow: function isWindow(obj) {
|
|
956
|
+
return obj != null && obj == obj.window;
|
|
957
|
+
}
|
|
958
|
+
};
|
|
959
|
+
var options,
|
|
960
|
+
name,
|
|
961
|
+
src,
|
|
962
|
+
copy,
|
|
963
|
+
copyIsArray,
|
|
964
|
+
clone,
|
|
965
|
+
target = args[0] || {},
|
|
966
|
+
i = 1,
|
|
967
|
+
deep = false;
|
|
968
|
+
var length = args.length;
|
|
969
|
+
if (typeof target === 'boolean') {
|
|
970
|
+
deep = target;
|
|
971
|
+
target = args[1] || {};
|
|
972
|
+
i = 2;
|
|
973
|
+
}
|
|
974
|
+
if (_typeof$1(target) !== 'object' && !objectHelper.isFunction(target)) {
|
|
975
|
+
target = {};
|
|
976
|
+
}
|
|
977
|
+
if (length === i) {
|
|
978
|
+
target = {};
|
|
979
|
+
--i;
|
|
980
|
+
}
|
|
981
|
+
for (; i < length; i++) {
|
|
982
|
+
if ((options = args[i]) != null) {
|
|
983
|
+
for (name in options) {
|
|
984
|
+
if (name === '__proto__' || name === 'constructor' || name === 'prototype') {
|
|
985
|
+
continue;
|
|
986
|
+
}
|
|
987
|
+
if (!Object.prototype.hasOwnProperty.call(options, name)) {
|
|
988
|
+
continue;
|
|
989
|
+
}
|
|
990
|
+
src = target[name];
|
|
991
|
+
copy = options[name];
|
|
992
|
+
if (target === copy) {
|
|
993
|
+
continue;
|
|
994
|
+
}
|
|
995
|
+
if (deep && copy && (objectHelper.isPlainObject(copy) || (copyIsArray = objectHelper.isArray(copy)))) {
|
|
996
|
+
if (copyIsArray) {
|
|
997
|
+
copyIsArray = false;
|
|
998
|
+
clone = src && objectHelper.isArray(src) ? src : [];
|
|
999
|
+
} else {
|
|
1000
|
+
clone = src && objectHelper.isPlainObject(src) ? src : {};
|
|
1001
|
+
}
|
|
1002
|
+
target[name] = extend(deep, clone, copy);
|
|
1003
|
+
} else if (copy !== undefined) {
|
|
1004
|
+
target[name] = copy;
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
return target;
|
|
1010
|
+
}
|
|
921
1011
|
|
|
922
1012
|
var MessageType$1 = {
|
|
923
1013
|
SessionStart: 1,
|
|
@@ -1285,6 +1375,131 @@ var mParticle = (function () {
|
|
|
1285
1375
|
JointSdkSelectPlacements: 'mp:jointSdkSelectPlacements',
|
|
1286
1376
|
JointSdkRoktKitInit: 'mp:jointSdkRoktKitInit'
|
|
1287
1377
|
};
|
|
1378
|
+
function getMessageTypeFromEventType(eventType) {
|
|
1379
|
+
switch (eventType) {
|
|
1380
|
+
case 'custom_event':
|
|
1381
|
+
return MessageType$1.PageEvent;
|
|
1382
|
+
case 'screen_view':
|
|
1383
|
+
return MessageType$1.PageView;
|
|
1384
|
+
case 'commerce_event':
|
|
1385
|
+
return MessageType$1.Commerce;
|
|
1386
|
+
case 'session_start':
|
|
1387
|
+
return MessageType$1.SessionStart;
|
|
1388
|
+
case 'session_end':
|
|
1389
|
+
return MessageType$1.SessionEnd;
|
|
1390
|
+
case 'crash_report':
|
|
1391
|
+
return MessageType$1.CrashReport;
|
|
1392
|
+
case 'opt_out':
|
|
1393
|
+
return MessageType$1.OptOut;
|
|
1394
|
+
case 'application_state_transition':
|
|
1395
|
+
return MessageType$1.AppStateTransition;
|
|
1396
|
+
case 'user_attribute_change':
|
|
1397
|
+
return MessageType$1.UserAttributeChange;
|
|
1398
|
+
case 'user_identity_change':
|
|
1399
|
+
return MessageType$1.UserIdentityChange;
|
|
1400
|
+
default:
|
|
1401
|
+
return -1;
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
function getEventCategoryFromCustomEventType(customEventType) {
|
|
1405
|
+
switch (customEventType) {
|
|
1406
|
+
case 'navigation':
|
|
1407
|
+
return EventType.Navigation;
|
|
1408
|
+
case 'location':
|
|
1409
|
+
return EventType.Location;
|
|
1410
|
+
case 'search':
|
|
1411
|
+
return EventType.Search;
|
|
1412
|
+
case 'transaction':
|
|
1413
|
+
return EventType.Transaction;
|
|
1414
|
+
case 'user_content':
|
|
1415
|
+
return EventType.UserContent;
|
|
1416
|
+
case 'user_preference':
|
|
1417
|
+
return EventType.UserPreference;
|
|
1418
|
+
case 'social':
|
|
1419
|
+
return EventType.Social;
|
|
1420
|
+
case 'other':
|
|
1421
|
+
return EventType.Other;
|
|
1422
|
+
case 'media':
|
|
1423
|
+
return EventType.Media;
|
|
1424
|
+
case 'add_to_cart':
|
|
1425
|
+
return CommerceEventType.ProductAddToCart;
|
|
1426
|
+
case 'remove_from_cart':
|
|
1427
|
+
return CommerceEventType.ProductRemoveFromCart;
|
|
1428
|
+
case 'checkout':
|
|
1429
|
+
return CommerceEventType.ProductCheckout;
|
|
1430
|
+
case 'checkout_option':
|
|
1431
|
+
return CommerceEventType.ProductCheckoutOption;
|
|
1432
|
+
case 'click':
|
|
1433
|
+
return CommerceEventType.ProductClick;
|
|
1434
|
+
case 'view_detail':
|
|
1435
|
+
return CommerceEventType.ProductViewDetail;
|
|
1436
|
+
case 'purchase':
|
|
1437
|
+
return CommerceEventType.ProductPurchase;
|
|
1438
|
+
case 'refund':
|
|
1439
|
+
return CommerceEventType.ProductRefund;
|
|
1440
|
+
case 'promotion_view':
|
|
1441
|
+
return CommerceEventType.PromotionView;
|
|
1442
|
+
case 'promotion_click':
|
|
1443
|
+
return CommerceEventType.PromotionClick;
|
|
1444
|
+
case 'add_to_wishlist':
|
|
1445
|
+
return CommerceEventType.ProductAddToWishlist;
|
|
1446
|
+
case 'remove_from_wishlist':
|
|
1447
|
+
case 'remove_from_wish_list':
|
|
1448
|
+
return CommerceEventType.ProductRemoveFromWishlist;
|
|
1449
|
+
case 'impression':
|
|
1450
|
+
return CommerceEventType.ProductImpression;
|
|
1451
|
+
default:
|
|
1452
|
+
return EventType.Unknown;
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
function getIdentityTypeFromBatchKey(key) {
|
|
1456
|
+
switch (key) {
|
|
1457
|
+
case 'other':
|
|
1458
|
+
return IdentityType.Other;
|
|
1459
|
+
case 'customer_id':
|
|
1460
|
+
return IdentityType.CustomerId;
|
|
1461
|
+
case 'facebook':
|
|
1462
|
+
return IdentityType.Facebook;
|
|
1463
|
+
case 'twitter':
|
|
1464
|
+
return IdentityType.Twitter;
|
|
1465
|
+
case 'google':
|
|
1466
|
+
return IdentityType.Google;
|
|
1467
|
+
case 'microsoft':
|
|
1468
|
+
return IdentityType.Microsoft;
|
|
1469
|
+
case 'yahoo':
|
|
1470
|
+
return IdentityType.Yahoo;
|
|
1471
|
+
case 'email':
|
|
1472
|
+
return IdentityType.Email;
|
|
1473
|
+
case 'facebook_custom_audience_id':
|
|
1474
|
+
return IdentityType.FacebookCustomAudienceId;
|
|
1475
|
+
case 'other_id_2':
|
|
1476
|
+
return IdentityType.Other2;
|
|
1477
|
+
case 'other_id_3':
|
|
1478
|
+
return IdentityType.Other3;
|
|
1479
|
+
case 'other_id_4':
|
|
1480
|
+
return IdentityType.Other4;
|
|
1481
|
+
case 'other_id_5':
|
|
1482
|
+
return IdentityType.Other5;
|
|
1483
|
+
case 'other_id_6':
|
|
1484
|
+
return IdentityType.Other6;
|
|
1485
|
+
case 'other_id_7':
|
|
1486
|
+
return IdentityType.Other7;
|
|
1487
|
+
case 'other_id_8':
|
|
1488
|
+
return IdentityType.Other8;
|
|
1489
|
+
case 'other_id_9':
|
|
1490
|
+
return IdentityType.Other9;
|
|
1491
|
+
case 'other_id_10':
|
|
1492
|
+
return IdentityType.Other10;
|
|
1493
|
+
case 'mobile_number':
|
|
1494
|
+
return IdentityType.MobileNumber;
|
|
1495
|
+
case 'phone_number_2':
|
|
1496
|
+
return IdentityType.PhoneNumber2;
|
|
1497
|
+
case 'phone_number_3':
|
|
1498
|
+
return IdentityType.PhoneNumber3;
|
|
1499
|
+
default:
|
|
1500
|
+
return -1;
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1288
1503
|
var Types = {
|
|
1289
1504
|
MessageType: MessageType$1,
|
|
1290
1505
|
EventType: EventType,
|
|
@@ -2186,6 +2401,44 @@ var mParticle = (function () {
|
|
|
2186
2401
|
return dist.IdentityTypeEnum.phoneNumber3;
|
|
2187
2402
|
}
|
|
2188
2403
|
}
|
|
2404
|
+
function getEventNameFromBatchEvent(batchEvent) {
|
|
2405
|
+
if (!batchEvent || !batchEvent.data) {
|
|
2406
|
+
return '';
|
|
2407
|
+
}
|
|
2408
|
+
if (batchEvent.event_type === 'screen_view') {
|
|
2409
|
+
return batchEvent.data.screen_name || '';
|
|
2410
|
+
}
|
|
2411
|
+
return batchEvent.data.event_name || '';
|
|
2412
|
+
}
|
|
2413
|
+
function getEventCategoryFromBatchEvent(batchEvent) {
|
|
2414
|
+
if (!batchEvent || !batchEvent.data) {
|
|
2415
|
+
return Types.EventType.Unknown;
|
|
2416
|
+
}
|
|
2417
|
+
var data = batchEvent.data;
|
|
2418
|
+
if (data.custom_event_type) {
|
|
2419
|
+
return getEventCategoryFromCustomEventType(data.custom_event_type);
|
|
2420
|
+
}
|
|
2421
|
+
if (batchEvent.event_type === 'commerce_event') {
|
|
2422
|
+
return getCommerceEventCategory(data);
|
|
2423
|
+
}
|
|
2424
|
+
return Types.EventType.Unknown;
|
|
2425
|
+
}
|
|
2426
|
+
function getCommerceEventCategory(data) {
|
|
2427
|
+
if (data.product_action && data.product_action.action) {
|
|
2428
|
+
return getEventCategoryFromCustomEventType(data.product_action.action);
|
|
2429
|
+
}
|
|
2430
|
+
var promoAction = data.promotion_action && data.promotion_action.action;
|
|
2431
|
+
if (promoAction === 'view') {
|
|
2432
|
+
return Types.CommerceEventType.PromotionView;
|
|
2433
|
+
}
|
|
2434
|
+
if (promoAction === 'click') {
|
|
2435
|
+
return Types.CommerceEventType.PromotionClick;
|
|
2436
|
+
}
|
|
2437
|
+
if (data.product_impressions) {
|
|
2438
|
+
return Types.CommerceEventType.ProductImpression;
|
|
2439
|
+
}
|
|
2440
|
+
return Types.EventType.Unknown;
|
|
2441
|
+
}
|
|
2189
2442
|
|
|
2190
2443
|
var BaseVault = /** @class */function () {
|
|
2191
2444
|
/**
|
|
@@ -3071,7 +3324,7 @@ var mParticle = (function () {
|
|
|
3071
3324
|
var defaultOptions = {
|
|
3072
3325
|
shouldUploadEvent: true
|
|
3073
3326
|
};
|
|
3074
|
-
var options =
|
|
3327
|
+
var options = extend(defaultOptions, _options);
|
|
3075
3328
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
3076
3329
|
mpInstance._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.LogEvent, JSON.stringify(event));
|
|
3077
3330
|
return;
|
|
@@ -3400,118 +3653,7 @@ var mParticle = (function () {
|
|
|
3400
3653
|
mpInstance.Logger.error('There was an error with your callback: ' + e);
|
|
3401
3654
|
}
|
|
3402
3655
|
};
|
|
3403
|
-
|
|
3404
|
-
// https://go.mparticle.com/work/SQDSDKS-6047
|
|
3405
|
-
// Standalone version of jQuery.extend, from https://github.com/dansdom/extend
|
|
3406
|
-
this.extend = function () {
|
|
3407
|
-
var options,
|
|
3408
|
-
name,
|
|
3409
|
-
src,
|
|
3410
|
-
copy,
|
|
3411
|
-
copyIsArray,
|
|
3412
|
-
clone,
|
|
3413
|
-
target = arguments[0] || {},
|
|
3414
|
-
i = 1,
|
|
3415
|
-
length = arguments.length,
|
|
3416
|
-
deep = false,
|
|
3417
|
-
// helper which replicates the jquery internal functions
|
|
3418
|
-
objectHelper = {
|
|
3419
|
-
hasOwn: Object.prototype.hasOwnProperty,
|
|
3420
|
-
class2type: {},
|
|
3421
|
-
type: function type(obj) {
|
|
3422
|
-
return obj == null ? String(obj) : objectHelper.class2type[Object.prototype.toString.call(obj)] || 'object';
|
|
3423
|
-
},
|
|
3424
|
-
isPlainObject: function isPlainObject(obj) {
|
|
3425
|
-
if (!obj || objectHelper.type(obj) !== 'object' || obj.nodeType || objectHelper.isWindow(obj)) {
|
|
3426
|
-
return false;
|
|
3427
|
-
}
|
|
3428
|
-
try {
|
|
3429
|
-
if (obj.constructor && !objectHelper.hasOwn.call(obj, 'constructor') && !objectHelper.hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {
|
|
3430
|
-
return false;
|
|
3431
|
-
}
|
|
3432
|
-
} catch (e) {
|
|
3433
|
-
return false;
|
|
3434
|
-
}
|
|
3435
|
-
var key;
|
|
3436
|
-
for (key in obj) {} // eslint-disable-line no-empty
|
|
3437
|
-
|
|
3438
|
-
return key === undefined || objectHelper.hasOwn.call(obj, key);
|
|
3439
|
-
},
|
|
3440
|
-
isArray: Array.isArray || function (obj) {
|
|
3441
|
-
return objectHelper.type(obj) === 'array';
|
|
3442
|
-
},
|
|
3443
|
-
isFunction: function isFunction(obj) {
|
|
3444
|
-
return objectHelper.type(obj) === 'function';
|
|
3445
|
-
},
|
|
3446
|
-
isWindow: function isWindow(obj) {
|
|
3447
|
-
return obj != null && obj == obj.window;
|
|
3448
|
-
}
|
|
3449
|
-
}; // end of objectHelper
|
|
3450
|
-
|
|
3451
|
-
// Handle a deep copy situation
|
|
3452
|
-
if (typeof target === 'boolean') {
|
|
3453
|
-
deep = target;
|
|
3454
|
-
target = arguments[1] || {};
|
|
3455
|
-
// skip the boolean and the target
|
|
3456
|
-
i = 2;
|
|
3457
|
-
}
|
|
3458
|
-
|
|
3459
|
-
// Handle case when target is a string or something (possible in deep copy)
|
|
3460
|
-
if (_typeof$1(target) !== 'object' && !objectHelper.isFunction(target)) {
|
|
3461
|
-
target = {};
|
|
3462
|
-
}
|
|
3463
|
-
|
|
3464
|
-
// If no second argument is used then this can extend an object that is using this method
|
|
3465
|
-
if (length === i) {
|
|
3466
|
-
target = this;
|
|
3467
|
-
--i;
|
|
3468
|
-
}
|
|
3469
|
-
for (; i < length; i++) {
|
|
3470
|
-
// Only deal with non-null/undefined values
|
|
3471
|
-
if ((options = arguments[i]) != null) {
|
|
3472
|
-
// Extend the base object
|
|
3473
|
-
for (name in options) {
|
|
3474
|
-
// Prevent prototype pollution
|
|
3475
|
-
// https://github.com/advisories/GHSA-jf85-cpcp-j695
|
|
3476
|
-
if (name === '__proto__' || name === 'constructor' || name === 'prototype') {
|
|
3477
|
-
continue;
|
|
3478
|
-
}
|
|
3479
|
-
|
|
3480
|
-
// Only copy own properties
|
|
3481
|
-
if (!Object.prototype.hasOwnProperty.call(options, name)) {
|
|
3482
|
-
continue;
|
|
3483
|
-
}
|
|
3484
|
-
src = target[name];
|
|
3485
|
-
copy = options[name];
|
|
3486
|
-
|
|
3487
|
-
// Prevent never-ending loop
|
|
3488
|
-
if (target === copy) {
|
|
3489
|
-
continue;
|
|
3490
|
-
}
|
|
3491
|
-
|
|
3492
|
-
// Recurse if we're merging plain objects or arrays
|
|
3493
|
-
if (deep && copy && (objectHelper.isPlainObject(copy) || (copyIsArray = objectHelper.isArray(copy)))) {
|
|
3494
|
-
if (copyIsArray) {
|
|
3495
|
-
copyIsArray = false;
|
|
3496
|
-
clone = src && objectHelper.isArray(src) ? src : [];
|
|
3497
|
-
} else {
|
|
3498
|
-
clone = src && objectHelper.isPlainObject(src) ? src : {};
|
|
3499
|
-
}
|
|
3500
|
-
|
|
3501
|
-
// Never move original objects, clone them
|
|
3502
|
-
target[name] = self.extend(deep, clone, copy);
|
|
3503
|
-
|
|
3504
|
-
// Don't bring in undefined values
|
|
3505
|
-
} else if (copy !== undefined) {
|
|
3506
|
-
target[name] = copy;
|
|
3507
|
-
}
|
|
3508
|
-
}
|
|
3509
|
-
}
|
|
3510
|
-
}
|
|
3511
|
-
|
|
3512
|
-
// Return the modified object
|
|
3513
|
-
return target;
|
|
3514
|
-
};
|
|
3656
|
+
this.extend = extend;
|
|
3515
3657
|
this.createServiceUrl = function (secureServiceUrl, devToken) {
|
|
3516
3658
|
var serviceScheme = window.mParticle && mpInstance._Store.SDKConfig.forceHttps ? 'https://' : window.location.protocol + '//';
|
|
3517
3659
|
var baseUrl;
|
|
@@ -4312,7 +4454,7 @@ var mParticle = (function () {
|
|
|
4312
4454
|
commerceEvent.ProductImpressions.forEach(function (productImpression) {
|
|
4313
4455
|
if (productImpression.ProductList) {
|
|
4314
4456
|
productImpression.ProductList.forEach(function (product) {
|
|
4315
|
-
var attributes =
|
|
4457
|
+
var attributes = extend(false, {}, commerceEvent.EventAttributes);
|
|
4316
4458
|
if (product.Attributes) {
|
|
4317
4459
|
for (var attribute in product.Attributes) {
|
|
4318
4460
|
attributes[attribute] = product.Attributes[attribute];
|
|
@@ -4347,7 +4489,7 @@ var mParticle = (function () {
|
|
|
4347
4489
|
}
|
|
4348
4490
|
var promotions = commerceEvent.PromotionAction.PromotionList;
|
|
4349
4491
|
promotions.forEach(function (promotion) {
|
|
4350
|
-
var attributes =
|
|
4492
|
+
var attributes = extend(false, {}, commerceEvent.EventAttributes);
|
|
4351
4493
|
self.extractPromotionAttributes(attributes, promotion);
|
|
4352
4494
|
var appEvent = mpInstance._ServerModel.createEventObject({
|
|
4353
4495
|
messageType: Types.MessageType.PageEvent,
|
|
@@ -4366,7 +4508,7 @@ var mParticle = (function () {
|
|
|
4366
4508
|
}
|
|
4367
4509
|
var shouldExtractActionAttributes = false;
|
|
4368
4510
|
if (commerceEvent.ProductAction.ProductActionType === Types.ProductActionType.Purchase || commerceEvent.ProductAction.ProductActionType === Types.ProductActionType.Refund) {
|
|
4369
|
-
var attributes =
|
|
4511
|
+
var attributes = extend(false, {}, commerceEvent.EventAttributes);
|
|
4370
4512
|
attributes['Product Count'] = commerceEvent.ProductAction.ProductList ? commerceEvent.ProductAction.ProductList.length : 0;
|
|
4371
4513
|
self.extractActionAttributes(attributes, commerceEvent.ProductAction);
|
|
4372
4514
|
if (commerceEvent.CurrencyCode) {
|
|
@@ -4387,7 +4529,7 @@ var mParticle = (function () {
|
|
|
4387
4529
|
return appEvents;
|
|
4388
4530
|
}
|
|
4389
4531
|
products.forEach(function (product) {
|
|
4390
|
-
var attributes =
|
|
4532
|
+
var attributes = extend(false, commerceEvent.EventAttributes, product.Attributes);
|
|
4391
4533
|
if (shouldExtractActionAttributes) {
|
|
4392
4534
|
self.extractActionAttributes(attributes, commerceEvent.ProductAction);
|
|
4393
4535
|
} else {
|
|
@@ -4858,7 +5000,7 @@ var mParticle = (function () {
|
|
|
4858
5000
|
};
|
|
4859
5001
|
this.syncPersistenceData = function () {
|
|
4860
5002
|
var persistenceData = mpInstance._Persistence.getPersistence();
|
|
4861
|
-
_this.persistenceData =
|
|
5003
|
+
_this.persistenceData = extend({}, _this.persistenceData, persistenceData);
|
|
4862
5004
|
};
|
|
4863
5005
|
this.getUserAttributes = function (mpid) {
|
|
4864
5006
|
return _this._getFromPersistence(mpid, 'ua') || {};
|
|
@@ -5121,7 +5263,7 @@ var mParticle = (function () {
|
|
|
5121
5263
|
if (localStorageData) {
|
|
5122
5264
|
if (cookies) {
|
|
5123
5265
|
// https://go.mparticle.com/work/SQDSDKS-6047
|
|
5124
|
-
allData =
|
|
5266
|
+
allData = extend(false, localStorageData, cookies);
|
|
5125
5267
|
} else {
|
|
5126
5268
|
allData = localStorageData;
|
|
5127
5269
|
}
|
|
@@ -5136,7 +5278,7 @@ var mParticle = (function () {
|
|
|
5136
5278
|
if (cookies) {
|
|
5137
5279
|
if (localStorageData) {
|
|
5138
5280
|
// https://go.mparticle.com/work/SQDSDKS-6047
|
|
5139
|
-
allData =
|
|
5281
|
+
allData = extend(false, localStorageData, cookies);
|
|
5140
5282
|
} else {
|
|
5141
5283
|
allData = cookies;
|
|
5142
5284
|
}
|
|
@@ -5276,7 +5418,7 @@ var mParticle = (function () {
|
|
|
5276
5418
|
localStorageData.cu = mpid;
|
|
5277
5419
|
}
|
|
5278
5420
|
if (Object.keys(mpInstance._Store.nonCurrentUserMPIDs).length) {
|
|
5279
|
-
localStorageData =
|
|
5421
|
+
localStorageData = extend({}, localStorageData, mpInstance._Store.nonCurrentUserMPIDs);
|
|
5280
5422
|
mpInstance._Store.nonCurrentUserMPIDs = {};
|
|
5281
5423
|
}
|
|
5282
5424
|
localStorageData = setGlobalStorageAttributes(localStorageData);
|
|
@@ -5419,7 +5561,7 @@ var mParticle = (function () {
|
|
|
5419
5561
|
cookies.l = mpInstance._Store.isLoggedIn ? 1 : 0;
|
|
5420
5562
|
cookies = setGlobalStorageAttributes(cookies);
|
|
5421
5563
|
if (Object.keys(mpInstance._Store.nonCurrentUserMPIDs).length) {
|
|
5422
|
-
cookies =
|
|
5564
|
+
cookies = extend({}, cookies, mpInstance._Store.nonCurrentUserMPIDs);
|
|
5423
5565
|
mpInstance._Store.nonCurrentUserMPIDs = {};
|
|
5424
5566
|
}
|
|
5425
5567
|
encodedCookiesWithExpirationAndPath = self.reduceAndEncodePersistence(cookies, expires, domain, mpInstance._Store.SDKConfig.maxCookieSize);
|
|
@@ -6505,6 +6647,117 @@ var mParticle = (function () {
|
|
|
6505
6647
|
};
|
|
6506
6648
|
}
|
|
6507
6649
|
|
|
6650
|
+
var FORWARDING_RULE_MESSAGE_TYPES = [Types.MessageType.PageEvent, Types.MessageType.PageView, Types.MessageType.Commerce];
|
|
6651
|
+
function inFilteredList(filterList, hash) {
|
|
6652
|
+
if (filterList && filterList.length) {
|
|
6653
|
+
return inArray(filterList, hash);
|
|
6654
|
+
}
|
|
6655
|
+
return false;
|
|
6656
|
+
}
|
|
6657
|
+
function isBlockedByForwardingRule(messageType, attributes, forwarder) {
|
|
6658
|
+
if (!FORWARDING_RULE_MESSAGE_TYPES.includes(messageType) || !forwarder.filteringEventAttributeValue || !forwarder.filteringEventAttributeValue.eventAttributeName || !forwarder.filteringEventAttributeValue.eventAttributeValue) {
|
|
6659
|
+
return false;
|
|
6660
|
+
}
|
|
6661
|
+
var foundProp = null;
|
|
6662
|
+
if (attributes) {
|
|
6663
|
+
for (var prop in attributes) {
|
|
6664
|
+
if (attributes.hasOwnProperty(prop)) {
|
|
6665
|
+
var hashedName = KitFilterHelper.hashAttributeConditionalForwarding(prop);
|
|
6666
|
+
if (hashedName === forwarder.filteringEventAttributeValue.eventAttributeName) {
|
|
6667
|
+
foundProp = {
|
|
6668
|
+
name: hashedName,
|
|
6669
|
+
value: KitFilterHelper.hashAttributeConditionalForwarding(attributes[prop])
|
|
6670
|
+
};
|
|
6671
|
+
break;
|
|
6672
|
+
}
|
|
6673
|
+
}
|
|
6674
|
+
}
|
|
6675
|
+
}
|
|
6676
|
+
var isMatch = foundProp !== null && foundProp.value === forwarder.filteringEventAttributeValue.eventAttributeValue;
|
|
6677
|
+
var shouldInclude = forwarder.filteringEventAttributeValue.includeOnMatch === true ? isMatch : !isMatch;
|
|
6678
|
+
return !shouldInclude;
|
|
6679
|
+
}
|
|
6680
|
+
function isBlockedByEventFilter(messageType, hashedEventName, hashedEventType, forwarder) {
|
|
6681
|
+
if (messageType === Types.MessageType.PageEvent && (inFilteredList(forwarder.eventNameFilters, hashedEventName) || inFilteredList(forwarder.eventTypeFilters, hashedEventType))) {
|
|
6682
|
+
return true;
|
|
6683
|
+
} else if (messageType === Types.MessageType.Commerce && inFilteredList(forwarder.eventTypeFilters, hashedEventType)) {
|
|
6684
|
+
return true;
|
|
6685
|
+
} else if (messageType === Types.MessageType.PageView && inFilteredList(forwarder.screenNameFilters, hashedEventName)) {
|
|
6686
|
+
return true;
|
|
6687
|
+
}
|
|
6688
|
+
return false;
|
|
6689
|
+
}
|
|
6690
|
+
function filterEventAttributes(messageType, eventCategory, eventName, attributes, forwarder) {
|
|
6691
|
+
if (!attributes) {
|
|
6692
|
+
return attributes;
|
|
6693
|
+
}
|
|
6694
|
+
var filterList;
|
|
6695
|
+
if (messageType === Types.MessageType.PageEvent) {
|
|
6696
|
+
filterList = forwarder.attributeFilters;
|
|
6697
|
+
} else if (messageType === Types.MessageType.PageView) {
|
|
6698
|
+
filterList = forwarder.screenAttributeFilters;
|
|
6699
|
+
}
|
|
6700
|
+
if (!filterList) {
|
|
6701
|
+
return attributes;
|
|
6702
|
+
}
|
|
6703
|
+
var filtered = {};
|
|
6704
|
+
for (var attrName in attributes) {
|
|
6705
|
+
if (attributes.hasOwnProperty(attrName)) {
|
|
6706
|
+
var hash = KitFilterHelper.hashEventAttributeKey(eventCategory, eventName, attrName);
|
|
6707
|
+
if (!inArray(filterList, hash)) {
|
|
6708
|
+
filtered[attrName] = attributes[attrName];
|
|
6709
|
+
}
|
|
6710
|
+
}
|
|
6711
|
+
}
|
|
6712
|
+
return filtered;
|
|
6713
|
+
}
|
|
6714
|
+
function filterUserIdentities(userIdentities, filterList) {
|
|
6715
|
+
if (!userIdentities || !userIdentities.length) {
|
|
6716
|
+
return userIdentities || [];
|
|
6717
|
+
}
|
|
6718
|
+
return userIdentities.filter(function (userIdentity) {
|
|
6719
|
+
return !inArray(filterList, KitFilterHelper.hashUserIdentity(userIdentity.Type));
|
|
6720
|
+
});
|
|
6721
|
+
}
|
|
6722
|
+
function isBatchEventAllowed(batchEvent, forwarder) {
|
|
6723
|
+
if (!batchEvent || !batchEvent.data) {
|
|
6724
|
+
return true;
|
|
6725
|
+
}
|
|
6726
|
+
var messageType = getMessageTypeFromEventType(batchEvent.event_type);
|
|
6727
|
+
var eventName = getEventNameFromBatchEvent(batchEvent);
|
|
6728
|
+
var eventCategory = getEventCategoryFromBatchEvent(batchEvent);
|
|
6729
|
+
if (isBlockedByForwardingRule(messageType, batchEvent.data.custom_attributes, forwarder)) {
|
|
6730
|
+
return false;
|
|
6731
|
+
}
|
|
6732
|
+
var hashedEventName = KitFilterHelper.hashEventName(eventName, eventCategory);
|
|
6733
|
+
var hashedEventType = KitFilterHelper.hashEventType(eventCategory);
|
|
6734
|
+
return !isBlockedByEventFilter(messageType, hashedEventName, hashedEventType, forwarder);
|
|
6735
|
+
}
|
|
6736
|
+
function filterBatchEventAttributes(batchEvent, forwarder) {
|
|
6737
|
+
if (!batchEvent || !batchEvent.data) {
|
|
6738
|
+
return;
|
|
6739
|
+
}
|
|
6740
|
+
var messageType = getMessageTypeFromEventType(batchEvent.event_type);
|
|
6741
|
+
var eventName = getEventNameFromBatchEvent(batchEvent);
|
|
6742
|
+
var eventCategory = getEventCategoryFromBatchEvent(batchEvent);
|
|
6743
|
+
batchEvent.data.custom_attributes = filterEventAttributes(messageType, eventCategory, eventName, batchEvent.data.custom_attributes, forwarder);
|
|
6744
|
+
}
|
|
6745
|
+
function filterBatchIdentities(userIdentities, filterList) {
|
|
6746
|
+
if (!userIdentities || !filterList) {
|
|
6747
|
+
return userIdentities;
|
|
6748
|
+
}
|
|
6749
|
+
var filtered = {};
|
|
6750
|
+
for (var key in userIdentities) {
|
|
6751
|
+
if (userIdentities.hasOwnProperty(key)) {
|
|
6752
|
+
var identityType = getIdentityTypeFromBatchKey(key);
|
|
6753
|
+
if (identityType === -1 || !inArray(filterList, identityType)) {
|
|
6754
|
+
filtered[key] = userIdentities[key];
|
|
6755
|
+
}
|
|
6756
|
+
}
|
|
6757
|
+
}
|
|
6758
|
+
return filtered;
|
|
6759
|
+
}
|
|
6760
|
+
|
|
6508
6761
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
6509
6762
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6510
6763
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -6541,7 +6794,7 @@ var mParticle = (function () {
|
|
|
6541
6794
|
return false;
|
|
6542
6795
|
}
|
|
6543
6796
|
var filteredUserIdentities = mpInstance._Helpers.filterUserIdentities(userIdentities, forwarder.userIdentityFilters);
|
|
6544
|
-
var filteredUserAttributes =
|
|
6797
|
+
var filteredUserAttributes = KitFilterHelper.filterUserAttributes(user ? user.getAllUserAttributes() : {}, forwarder.userAttributeFilters);
|
|
6545
6798
|
if (!forwarder.initialized) {
|
|
6546
6799
|
forwarder.logger = mpInstance.Logger;
|
|
6547
6800
|
forwarder.init(forwarder.settings, forwardingStatsCallback, false, null, filteredUserAttributes, filteredUserIdentities, mpInstance._Store.SDKConfig.appVersion, mpInstance._Store.SDKConfig.appName, mpInstance._Store.SDKConfig.customFlags, mpInstance._Store.clientId);
|
|
@@ -6611,109 +6864,33 @@ var mParticle = (function () {
|
|
|
6611
6864
|
}
|
|
6612
6865
|
};
|
|
6613
6866
|
this.sendEventToForwarders = function (event) {
|
|
6614
|
-
var clonedEvent
|
|
6615
|
-
|
|
6616
|
-
|
|
6617
|
-
filterUserIdentities = function filterUserIdentities(event, filterList) {
|
|
6618
|
-
if (event.UserIdentities && event.UserIdentities.length) {
|
|
6619
|
-
event.UserIdentities.forEach(function (userIdentity, i) {
|
|
6620
|
-
if (mpInstance._Helpers.inArray(filterList, KitFilterHelper.hashUserIdentity(userIdentity.Type))) {
|
|
6621
|
-
event.UserIdentities.splice(i, 1);
|
|
6622
|
-
if (i > 0) {
|
|
6623
|
-
i--;
|
|
6624
|
-
}
|
|
6625
|
-
}
|
|
6626
|
-
});
|
|
6627
|
-
}
|
|
6628
|
-
},
|
|
6629
|
-
filterAttributes = function filterAttributes(event, filterList) {
|
|
6630
|
-
var hash;
|
|
6631
|
-
if (!filterList) {
|
|
6632
|
-
return;
|
|
6633
|
-
}
|
|
6634
|
-
for (var attrName in event.EventAttributes) {
|
|
6635
|
-
if (event.EventAttributes.hasOwnProperty(attrName)) {
|
|
6636
|
-
hash = KitFilterHelper.hashEventAttributeKey(event.EventCategory, event.EventName, attrName);
|
|
6637
|
-
if (mpInstance._Helpers.inArray(filterList, hash)) {
|
|
6638
|
-
delete event.EventAttributes[attrName];
|
|
6639
|
-
}
|
|
6640
|
-
}
|
|
6641
|
-
}
|
|
6642
|
-
},
|
|
6643
|
-
inFilteredList = function inFilteredList(filterList, hash) {
|
|
6644
|
-
if (filterList && filterList.length) {
|
|
6645
|
-
if (mpInstance._Helpers.inArray(filterList, hash)) {
|
|
6646
|
-
return true;
|
|
6647
|
-
}
|
|
6648
|
-
}
|
|
6649
|
-
return false;
|
|
6650
|
-
},
|
|
6651
|
-
forwardingRuleMessageTypes = [Types.MessageType.PageEvent, Types.MessageType.PageView, Types.MessageType.Commerce];
|
|
6867
|
+
var clonedEvent;
|
|
6868
|
+
var hashedEventName;
|
|
6869
|
+
var hashedEventType;
|
|
6652
6870
|
if (!mpInstance._Store.webviewBridgeEnabled && mpInstance._Store.activeForwarders) {
|
|
6653
6871
|
hashedEventName = KitFilterHelper.hashEventName(event.EventName, event.EventCategory);
|
|
6654
6872
|
hashedEventType = KitFilterHelper.hashEventType(event.EventCategory);
|
|
6655
6873
|
for (var i = 0; i < mpInstance._Store.activeForwarders.length; i++) {
|
|
6656
|
-
|
|
6657
|
-
|
|
6658
|
-
|
|
6659
|
-
// The two cases are controlled by the "includeOnMatch" boolean value.
|
|
6660
|
-
// Supported message types for attribute forwarding rules are defined in the forwardingRuleMessageTypes array
|
|
6661
|
-
|
|
6662
|
-
if (forwardingRuleMessageTypes.indexOf(event.EventDataType) > -1 && mpInstance._Store.activeForwarders[i].filteringEventAttributeValue && mpInstance._Store.activeForwarders[i].filteringEventAttributeValue.eventAttributeName && mpInstance._Store.activeForwarders[i].filteringEventAttributeValue.eventAttributeValue) {
|
|
6663
|
-
var foundProp = null;
|
|
6664
|
-
|
|
6665
|
-
// Attempt to find the attribute in the collection of event attributes
|
|
6666
|
-
if (event.EventAttributes) {
|
|
6667
|
-
for (var prop in event.EventAttributes) {
|
|
6668
|
-
var hashedEventAttributeName;
|
|
6669
|
-
hashedEventAttributeName = KitFilterHelper.hashAttributeConditionalForwarding(prop);
|
|
6670
|
-
if (hashedEventAttributeName === mpInstance._Store.activeForwarders[i].filteringEventAttributeValue.eventAttributeName) {
|
|
6671
|
-
foundProp = {
|
|
6672
|
-
name: hashedEventAttributeName,
|
|
6673
|
-
value: KitFilterHelper.hashAttributeConditionalForwarding(event.EventAttributes[prop])
|
|
6674
|
-
};
|
|
6675
|
-
}
|
|
6676
|
-
if (foundProp) {
|
|
6677
|
-
break;
|
|
6678
|
-
}
|
|
6679
|
-
}
|
|
6680
|
-
}
|
|
6681
|
-
var isMatch = foundProp !== null && foundProp.value === mpInstance._Store.activeForwarders[i].filteringEventAttributeValue.eventAttributeValue;
|
|
6682
|
-
var shouldInclude = mpInstance._Store.activeForwarders[i].filteringEventAttributeValue.includeOnMatch === true ? isMatch : !isMatch;
|
|
6683
|
-
if (!shouldInclude) {
|
|
6684
|
-
continue;
|
|
6685
|
-
}
|
|
6874
|
+
var forwarder = mpInstance._Store.activeForwarders[i];
|
|
6875
|
+
if (isBlockedByForwardingRule(event.EventDataType, event.EventAttributes, forwarder)) {
|
|
6876
|
+
continue;
|
|
6686
6877
|
}
|
|
6687
6878
|
|
|
6688
6879
|
// Clone the event object, as we could be sending different attributes to each forwarder
|
|
6689
|
-
clonedEvent = {};
|
|
6690
|
-
|
|
6691
|
-
// Check event filtering rules
|
|
6692
|
-
if (event.EventDataType === Types.MessageType.PageEvent && (inFilteredList(mpInstance._Store.activeForwarders[i].eventNameFilters, hashedEventName) || inFilteredList(mpInstance._Store.activeForwarders[i].eventTypeFilters, hashedEventType))) {
|
|
6880
|
+
clonedEvent = extend(true, {}, event);
|
|
6881
|
+
if (isBlockedByEventFilter(event.EventDataType, hashedEventName, hashedEventType, forwarder)) {
|
|
6693
6882
|
continue;
|
|
6694
|
-
} else if (event.EventDataType === Types.MessageType.Commerce && inFilteredList(mpInstance._Store.activeForwarders[i].eventTypeFilters, hashedEventType)) {
|
|
6695
|
-
continue;
|
|
6696
|
-
} else if (event.EventDataType === Types.MessageType.PageView && inFilteredList(mpInstance._Store.activeForwarders[i].screenNameFilters, hashedEventName)) {
|
|
6697
|
-
continue;
|
|
6698
|
-
}
|
|
6699
|
-
|
|
6700
|
-
// Check attribute filtering rules
|
|
6701
|
-
if (clonedEvent.EventAttributes) {
|
|
6702
|
-
if (event.EventDataType === Types.MessageType.PageEvent) {
|
|
6703
|
-
filterAttributes(clonedEvent, mpInstance._Store.activeForwarders[i].attributeFilters);
|
|
6704
|
-
} else if (event.EventDataType === Types.MessageType.PageView) {
|
|
6705
|
-
filterAttributes(clonedEvent, mpInstance._Store.activeForwarders[i].screenAttributeFilters);
|
|
6706
|
-
}
|
|
6707
6883
|
}
|
|
6884
|
+
clonedEvent.EventAttributes = filterEventAttributes(event.EventDataType, event.EventCategory, event.EventName, clonedEvent.EventAttributes, forwarder);
|
|
6708
6885
|
|
|
6709
6886
|
// Check user identity filtering rules
|
|
6710
|
-
filterUserIdentities(clonedEvent,
|
|
6887
|
+
clonedEvent.UserIdentities = filterUserIdentities(clonedEvent.UserIdentities, forwarder.userIdentityFilters);
|
|
6711
6888
|
|
|
6712
6889
|
// Check user attribute filtering rules
|
|
6713
|
-
clonedEvent.UserAttributes =
|
|
6714
|
-
if (
|
|
6715
|
-
mpInstance.Logger.verbose('Sending message to forwarder: ' +
|
|
6716
|
-
var result =
|
|
6890
|
+
clonedEvent.UserAttributes = KitFilterHelper.filterUserAttributes(clonedEvent.UserAttributes, forwarder.userAttributeFilters);
|
|
6891
|
+
if (forwarder.process) {
|
|
6892
|
+
mpInstance.Logger.verbose('Sending message to forwarder: ' + forwarder.name);
|
|
6893
|
+
var result = forwarder.process(clonedEvent);
|
|
6717
6894
|
if (result) {
|
|
6718
6895
|
mpInstance.Logger.verbose(result);
|
|
6719
6896
|
}
|
|
@@ -6728,11 +6905,28 @@ var mParticle = (function () {
|
|
|
6728
6905
|
var _iterator = _createForOfIteratorHelper(mpInstance._Store.activeForwarders),
|
|
6729
6906
|
_step;
|
|
6730
6907
|
try {
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
-
|
|
6908
|
+
var _loop = function _loop() {
|
|
6909
|
+
var forwarder = _step.value;
|
|
6910
|
+
if (!forwarder.processBatch) {
|
|
6911
|
+
return 0; // continue
|
|
6912
|
+
}
|
|
6734
6913
|
try {
|
|
6735
|
-
var batchCopy =
|
|
6914
|
+
var batchCopy = extend(true, {}, batch);
|
|
6915
|
+
if (batchCopy.events) {
|
|
6916
|
+
batchCopy.events = batchCopy.events.filter(function (batchEvent) {
|
|
6917
|
+
return isBatchEventAllowed(batchEvent, forwarder);
|
|
6918
|
+
});
|
|
6919
|
+
batchCopy.events.forEach(function (batchEvent) {
|
|
6920
|
+
filterBatchEventAttributes(batchEvent, forwarder);
|
|
6921
|
+
});
|
|
6922
|
+
}
|
|
6923
|
+
batchCopy.user_identities = filterBatchIdentities(batchCopy.user_identities, forwarder.userIdentityFilters);
|
|
6924
|
+
if (batchCopy.user_attributes) {
|
|
6925
|
+
batchCopy.user_attributes = KitFilterHelper.filterUserAttributes(batchCopy.user_attributes, forwarder.userAttributeFilters);
|
|
6926
|
+
}
|
|
6927
|
+
if (!batchCopy.events || batchCopy.events.length === 0) {
|
|
6928
|
+
return 0; // continue
|
|
6929
|
+
}
|
|
6736
6930
|
var result = forwarder.processBatch(batchCopy);
|
|
6737
6931
|
if (result) {
|
|
6738
6932
|
mpInstance.Logger.verbose(result);
|
|
@@ -6740,7 +6934,11 @@ var mParticle = (function () {
|
|
|
6740
6934
|
} catch (e) {
|
|
6741
6935
|
mpInstance.Logger.verbose(e);
|
|
6742
6936
|
}
|
|
6743
|
-
}
|
|
6937
|
+
},
|
|
6938
|
+
_ret;
|
|
6939
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6940
|
+
_ret = _loop();
|
|
6941
|
+
if (_ret === 0) continue;
|
|
6744
6942
|
}
|
|
6745
6943
|
} catch (err) {
|
|
6746
6944
|
_iterator.e(err);
|
|
@@ -7237,7 +7435,7 @@ var mParticle = (function () {
|
|
|
7237
7435
|
mpInstance._Store.sessionStartDate = null;
|
|
7238
7436
|
}
|
|
7239
7437
|
uploadObject.Timestamp = mpInstance._Store.dateLastEventSent.getTime();
|
|
7240
|
-
return
|
|
7438
|
+
return extend({}, eventObject, uploadObject);
|
|
7241
7439
|
}
|
|
7242
7440
|
return null;
|
|
7243
7441
|
};
|
|
@@ -10634,7 +10832,7 @@ var mParticle = (function () {
|
|
|
10634
10832
|
if (!config.hasOwnProperty('requestConfig') || config.requestConfig) {
|
|
10635
10833
|
var configApiClient = new ConfigAPIClient(apiKey, config, this);
|
|
10636
10834
|
configApiClient.getSDKConfiguration().then(function (result) {
|
|
10637
|
-
var mergedConfig =
|
|
10835
|
+
var mergedConfig = extend({}, config, result);
|
|
10638
10836
|
completeSDKInitialization(apiKey, mergedConfig, _this);
|
|
10639
10837
|
});
|
|
10640
10838
|
} else {
|
|
@@ -11760,7 +11958,7 @@ var mParticle = (function () {
|
|
|
11760
11958
|
generateUniqueId: function generateUniqueId() {
|
|
11761
11959
|
return 'mockId';
|
|
11762
11960
|
},
|
|
11763
|
-
extend:
|
|
11961
|
+
extend: extend,
|
|
11764
11962
|
createServiceUrl: mockFunction,
|
|
11765
11963
|
parseNumber: mockFunction,
|
|
11766
11964
|
isObject: mockFunction,
|