@mparticle/web-sdk 2.26.1 → 2.26.2

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.js CHANGED
@@ -244,371 +244,156 @@ var mParticle = (function () {
244
244
  return obj;
245
245
  }
246
246
 
247
- var _TriggerUploadType;
248
- var MessageType$2 = {
249
- SessionStart: 1,
250
- SessionEnd: 2,
251
- PageView: 3,
252
- PageEvent: 4,
253
- CrashReport: 5,
254
- OptOut: 6,
255
- AppStateTransition: 10,
256
- Profile: 14,
257
- Commerce: 16,
258
- Media: 20,
259
- UserAttributeChange: 17,
260
- UserIdentityChange: 18
261
- };
247
+ var EventTypeEnum;
248
+ (function (EventTypeEnum) {
249
+ EventTypeEnum[EventTypeEnum["Unknown"] = 0] = "Unknown";
250
+ EventTypeEnum[EventTypeEnum["Navigation"] = 1] = "Navigation";
251
+ EventTypeEnum[EventTypeEnum["Location"] = 2] = "Location";
252
+ EventTypeEnum[EventTypeEnum["Search"] = 3] = "Search";
253
+ EventTypeEnum[EventTypeEnum["Transaction"] = 4] = "Transaction";
254
+ EventTypeEnum[EventTypeEnum["UserContent"] = 5] = "UserContent";
255
+ EventTypeEnum[EventTypeEnum["UserPreference"] = 6] = "UserPreference";
256
+ EventTypeEnum[EventTypeEnum["Social"] = 7] = "Social";
257
+ EventTypeEnum[EventTypeEnum["Other"] = 8] = "Other";
258
+ EventTypeEnum[EventTypeEnum["Media"] = 9] = "Media";
259
+ })(EventTypeEnum || (EventTypeEnum = {}));
260
+ // TODO: https://mparticle-eng.atlassian.net/browse/SQDSDKS-5403
261
+ var MessageType$2;
262
+ (function (MessageType) {
263
+ MessageType[MessageType["SessionStart"] = 1] = "SessionStart";
264
+ MessageType[MessageType["SessionEnd"] = 2] = "SessionEnd";
265
+ MessageType[MessageType["PageView"] = 3] = "PageView";
266
+ MessageType[MessageType["PageEvent"] = 4] = "PageEvent";
267
+ MessageType[MessageType["CrashReport"] = 5] = "CrashReport";
268
+ MessageType[MessageType["OptOut"] = 6] = "OptOut";
269
+ MessageType[MessageType["AppStateTransition"] = 10] = "AppStateTransition";
270
+ MessageType[MessageType["Profile"] = 14] = "Profile";
271
+ MessageType[MessageType["Commerce"] = 16] = "Commerce";
272
+ MessageType[MessageType["UserAttributeChange"] = 17] = "UserAttributeChange";
273
+ MessageType[MessageType["UserIdentityChange"] = 18] = "UserIdentityChange";
274
+ MessageType[MessageType["Media"] = 20] = "Media";
275
+ })(MessageType$2 || (MessageType$2 = {}));
276
+ var IdentityType$1;
277
+ (function (IdentityType) {
278
+ IdentityType[IdentityType["Other"] = 0] = "Other";
279
+ IdentityType[IdentityType["CustomerId"] = 1] = "CustomerId";
280
+ IdentityType[IdentityType["Facebook"] = 2] = "Facebook";
281
+ IdentityType[IdentityType["Twitter"] = 3] = "Twitter";
282
+ IdentityType[IdentityType["Google"] = 4] = "Google";
283
+ IdentityType[IdentityType["Microsoft"] = 5] = "Microsoft";
284
+ IdentityType[IdentityType["Yahoo"] = 6] = "Yahoo";
285
+ IdentityType[IdentityType["Email"] = 7] = "Email";
286
+ IdentityType[IdentityType["FacebookCustomAudienceId"] = 9] = "FacebookCustomAudienceId";
287
+ IdentityType[IdentityType["Other2"] = 10] = "Other2";
288
+ IdentityType[IdentityType["Other3"] = 11] = "Other3";
289
+ IdentityType[IdentityType["Other4"] = 12] = "Other4";
290
+ IdentityType[IdentityType["Other5"] = 13] = "Other5";
291
+ IdentityType[IdentityType["Other6"] = 14] = "Other6";
292
+ IdentityType[IdentityType["Other7"] = 15] = "Other7";
293
+ IdentityType[IdentityType["Other8"] = 16] = "Other8";
294
+ IdentityType[IdentityType["Other9"] = 17] = "Other9";
295
+ IdentityType[IdentityType["Other10"] = 18] = "Other10";
296
+ IdentityType[IdentityType["MobileNumber"] = 19] = "MobileNumber";
297
+ IdentityType[IdentityType["PhoneNumber2"] = 20] = "PhoneNumber2";
298
+ IdentityType[IdentityType["PhoneNumber3"] = 21] = "PhoneNumber3";
299
+ })(IdentityType$1 || (IdentityType$1 = {}));
262
300
 
263
- // Dictionary that contains MessageTypes that will
264
- // trigger an immediate upload.
265
- var TriggerUploadType = (_TriggerUploadType = {}, _defineProperty(_TriggerUploadType, MessageType$2.Commerce, 1), _defineProperty(_TriggerUploadType, MessageType$2.UserIdentityChange, 1), _TriggerUploadType);
266
- var EventType = {
267
- Unknown: 0,
268
- Navigation: 1,
269
- Location: 2,
270
- Search: 3,
271
- Transaction: 4,
272
- UserContent: 5,
273
- UserPreference: 6,
274
- Social: 7,
275
- Other: 8,
276
- Media: 9,
277
- getName: function getName(id) {
278
- switch (id) {
279
- case EventType.Unknown:
280
- return 'Unknown';
281
- case EventType.Navigation:
282
- return 'Navigation';
283
- case EventType.Location:
284
- return 'Location';
285
- case EventType.Search:
286
- return 'Search';
287
- case EventType.Transaction:
288
- return 'Transaction';
289
- case EventType.UserContent:
290
- return 'User Content';
291
- case EventType.UserPreference:
292
- return 'User Preference';
293
- case EventType.Social:
294
- return 'Social';
295
- case CommerceEventType.ProductAddToCart:
296
- return 'Product Added to Cart';
297
- case CommerceEventType.ProductAddToWishlist:
298
- return 'Product Added to Wishlist';
299
- case CommerceEventType.ProductCheckout:
300
- return 'Product Checkout';
301
- case CommerceEventType.ProductCheckoutOption:
302
- return 'Product Checkout Options';
303
- case CommerceEventType.ProductClick:
304
- return 'Product Click';
305
- case CommerceEventType.ProductImpression:
306
- return 'Product Impression';
307
- case CommerceEventType.ProductPurchase:
308
- return 'Product Purchased';
309
- case CommerceEventType.ProductRefund:
310
- return 'Product Refunded';
311
- case CommerceEventType.ProductRemoveFromCart:
312
- return 'Product Removed From Cart';
313
- case CommerceEventType.ProductRemoveFromWishlist:
314
- return 'Product Removed from Wishlist';
315
- case CommerceEventType.ProductViewDetail:
316
- return 'Product View Details';
317
- case CommerceEventType.PromotionClick:
318
- return 'Promotion Click';
319
- case CommerceEventType.PromotionView:
320
- return 'Promotion View';
321
- default:
322
- return 'Other';
323
- }
324
- }
301
+ /******************************************************************************
302
+ Copyright (c) Microsoft Corporation.
303
+
304
+ Permission to use, copy, modify, and/or distribute this software for any
305
+ purpose with or without fee is hereby granted.
306
+
307
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
308
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
309
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
310
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
311
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
312
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
313
+ PERFORMANCE OF THIS SOFTWARE.
314
+ ***************************************************************************** */
315
+ /* global Reflect, Promise, SuppressedError, Symbol */
316
+
317
+ var extendStatics = function(d, b) {
318
+ extendStatics = Object.setPrototypeOf ||
319
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
320
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
321
+ return extendStatics(d, b);
322
+ };
323
+
324
+ function __extends(d, b) {
325
+ if (typeof b !== "function" && b !== null)
326
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
327
+ extendStatics(d, b);
328
+ function __() { this.constructor = d; }
329
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
330
+ }
331
+
332
+ var __assign = function() {
333
+ __assign = Object.assign || function __assign(t) {
334
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
335
+ s = arguments[i];
336
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
337
+ }
338
+ return t;
339
+ };
340
+ return __assign.apply(this, arguments);
341
+ };
342
+
343
+ function __awaiter(thisArg, _arguments, P, generator) {
344
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
345
+ return new (P || (P = Promise))(function (resolve, reject) {
346
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
347
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
348
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
349
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
350
+ });
351
+ }
352
+
353
+ function __generator(thisArg, body) {
354
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
355
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
356
+ function verb(n) { return function (v) { return step([n, v]); }; }
357
+ function step(op) {
358
+ if (f) throw new TypeError("Generator is already executing.");
359
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
360
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
361
+ if (y = 0, t) op = [op[0] & 2, t.value];
362
+ switch (op[0]) {
363
+ case 0: case 1: t = op; break;
364
+ case 4: _.label++; return { value: op[1], done: false };
365
+ case 5: _.label++; y = op[1]; op = [0]; continue;
366
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
367
+ default:
368
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
369
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
370
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
371
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
372
+ if (t[2]) _.ops.pop();
373
+ _.trys.pop(); continue;
374
+ }
375
+ op = body.call(thisArg, _);
376
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
377
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
378
+ }
379
+ }
380
+
381
+ function __spreadArray(to, from, pack) {
382
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
383
+ if (ar || !(i in from)) {
384
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
385
+ ar[i] = from[i];
386
+ }
387
+ }
388
+ return to.concat(ar || Array.prototype.slice.call(from));
389
+ }
390
+
391
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
392
+ var e = new Error(message);
393
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
325
394
  };
326
395
 
327
- // Continuation of enum above, but in seperate object since we don't expose these to end user
328
- var CommerceEventType = {
329
- ProductAddToCart: 10,
330
- ProductRemoveFromCart: 11,
331
- ProductCheckout: 12,
332
- ProductCheckoutOption: 13,
333
- ProductClick: 14,
334
- ProductViewDetail: 15,
335
- ProductPurchase: 16,
336
- ProductRefund: 17,
337
- PromotionView: 18,
338
- PromotionClick: 19,
339
- ProductAddToWishlist: 20,
340
- ProductRemoveFromWishlist: 21,
341
- ProductImpression: 22
342
- };
343
- var IdentityType$1 = {
344
- Other: 0,
345
- CustomerId: 1,
346
- Facebook: 2,
347
- Twitter: 3,
348
- Google: 4,
349
- Microsoft: 5,
350
- Yahoo: 6,
351
- Email: 7,
352
- FacebookCustomAudienceId: 9,
353
- Other2: 10,
354
- Other3: 11,
355
- Other4: 12,
356
- Other5: 13,
357
- Other6: 14,
358
- Other7: 15,
359
- Other8: 16,
360
- Other9: 17,
361
- Other10: 18,
362
- MobileNumber: 19,
363
- PhoneNumber2: 20,
364
- PhoneNumber3: 21
365
- };
366
- IdentityType$1.isValid = function (identityType) {
367
- if (typeof identityType === 'number') {
368
- for (var prop in IdentityType$1) {
369
- if (IdentityType$1.hasOwnProperty(prop)) {
370
- if (IdentityType$1[prop] === identityType) {
371
- return true;
372
- }
373
- }
374
- }
375
- }
376
- return false;
377
- };
378
- IdentityType$1.getName = function (identityType) {
379
- switch (identityType) {
380
- case window.mParticle.IdentityType.CustomerId:
381
- return 'Customer ID';
382
- case window.mParticle.IdentityType.Facebook:
383
- return 'Facebook ID';
384
- case window.mParticle.IdentityType.Twitter:
385
- return 'Twitter ID';
386
- case window.mParticle.IdentityType.Google:
387
- return 'Google ID';
388
- case window.mParticle.IdentityType.Microsoft:
389
- return 'Microsoft ID';
390
- case window.mParticle.IdentityType.Yahoo:
391
- return 'Yahoo ID';
392
- case window.mParticle.IdentityType.Email:
393
- return 'Email';
394
- case window.mParticle.IdentityType.FacebookCustomAudienceId:
395
- return 'Facebook App User ID';
396
- default:
397
- return 'Other ID';
398
- }
399
- };
400
- IdentityType$1.getIdentityType = function (identityName) {
401
- switch (identityName) {
402
- case 'other':
403
- return IdentityType$1.Other;
404
- case 'customerid':
405
- return IdentityType$1.CustomerId;
406
- case 'facebook':
407
- return IdentityType$1.Facebook;
408
- case 'twitter':
409
- return IdentityType$1.Twitter;
410
- case 'google':
411
- return IdentityType$1.Google;
412
- case 'microsoft':
413
- return IdentityType$1.Microsoft;
414
- case 'yahoo':
415
- return IdentityType$1.Yahoo;
416
- case 'email':
417
- return IdentityType$1.Email;
418
- case 'facebookcustomaudienceid':
419
- return IdentityType$1.FacebookCustomAudienceId;
420
- case 'other2':
421
- return IdentityType$1.Other2;
422
- case 'other3':
423
- return IdentityType$1.Other3;
424
- case 'other4':
425
- return IdentityType$1.Other4;
426
- case 'other5':
427
- return IdentityType$1.Other5;
428
- case 'other6':
429
- return IdentityType$1.Other6;
430
- case 'other7':
431
- return IdentityType$1.Other7;
432
- case 'other8':
433
- return IdentityType$1.Other8;
434
- case 'other9':
435
- return IdentityType$1.Other9;
436
- case 'other10':
437
- return IdentityType$1.Other10;
438
- case 'mobile_number':
439
- return IdentityType$1.MobileNumber;
440
- case 'phone_number_2':
441
- return IdentityType$1.PhoneNumber2;
442
- case 'phone_number_3':
443
- return IdentityType$1.PhoneNumber3;
444
- default:
445
- return false;
446
- }
447
- };
448
- IdentityType$1.getIdentityName = function (identityType) {
449
- switch (identityType) {
450
- case IdentityType$1.Other:
451
- return 'other';
452
- case IdentityType$1.CustomerId:
453
- return 'customerid';
454
- case IdentityType$1.Facebook:
455
- return 'facebook';
456
- case IdentityType$1.Twitter:
457
- return 'twitter';
458
- case IdentityType$1.Google:
459
- return 'google';
460
- case IdentityType$1.Microsoft:
461
- return 'microsoft';
462
- case IdentityType$1.Yahoo:
463
- return 'yahoo';
464
- case IdentityType$1.Email:
465
- return 'email';
466
- case IdentityType$1.FacebookCustomAudienceId:
467
- return 'facebookcustomaudienceid';
468
- case IdentityType$1.Other2:
469
- return 'other2';
470
- case IdentityType$1.Other3:
471
- return 'other3';
472
- case IdentityType$1.Other4:
473
- return 'other4';
474
- case IdentityType$1.Other5:
475
- return 'other5';
476
- case IdentityType$1.Other6:
477
- return 'other6';
478
- case IdentityType$1.Other7:
479
- return 'other7';
480
- case IdentityType$1.Other8:
481
- return 'other8';
482
- case IdentityType$1.Other9:
483
- return 'other9';
484
- case IdentityType$1.Other10:
485
- return 'other10';
486
- case IdentityType$1.MobileNumber:
487
- return 'mobile_number';
488
- case IdentityType$1.PhoneNumber2:
489
- return 'phone_number_2';
490
- case IdentityType$1.PhoneNumber3:
491
- return 'phone_number_3';
492
- }
493
- };
494
- var ProductActionType = {
495
- Unknown: 0,
496
- AddToCart: 1,
497
- RemoveFromCart: 2,
498
- Checkout: 3,
499
- CheckoutOption: 4,
500
- Click: 5,
501
- ViewDetail: 6,
502
- Purchase: 7,
503
- Refund: 8,
504
- AddToWishlist: 9,
505
- RemoveFromWishlist: 10
506
- };
507
- ProductActionType.getName = function (id) {
508
- switch (id) {
509
- case ProductActionType.AddToCart:
510
- return 'Add to Cart';
511
- case ProductActionType.RemoveFromCart:
512
- return 'Remove from Cart';
513
- case ProductActionType.Checkout:
514
- return 'Checkout';
515
- case ProductActionType.CheckoutOption:
516
- return 'Checkout Option';
517
- case ProductActionType.Click:
518
- return 'Click';
519
- case ProductActionType.ViewDetail:
520
- return 'View Detail';
521
- case ProductActionType.Purchase:
522
- return 'Purchase';
523
- case ProductActionType.Refund:
524
- return 'Refund';
525
- case ProductActionType.AddToWishlist:
526
- return 'Add to Wishlist';
527
- case ProductActionType.RemoveFromWishlist:
528
- return 'Remove from Wishlist';
529
- default:
530
- return 'Unknown';
531
- }
532
- };
533
-
534
- // these are the action names used by server and mobile SDKs when expanding a CommerceEvent
535
- ProductActionType.getExpansionName = function (id) {
536
- switch (id) {
537
- case ProductActionType.AddToCart:
538
- return 'add_to_cart';
539
- case ProductActionType.RemoveFromCart:
540
- return 'remove_from_cart';
541
- case ProductActionType.Checkout:
542
- return 'checkout';
543
- case ProductActionType.CheckoutOption:
544
- return 'checkout_option';
545
- case ProductActionType.Click:
546
- return 'click';
547
- case ProductActionType.ViewDetail:
548
- return 'view_detail';
549
- case ProductActionType.Purchase:
550
- return 'purchase';
551
- case ProductActionType.Refund:
552
- return 'refund';
553
- case ProductActionType.AddToWishlist:
554
- return 'add_to_wishlist';
555
- case ProductActionType.RemoveFromWishlist:
556
- return 'remove_from_wishlist';
557
- default:
558
- return 'unknown';
559
- }
560
- };
561
- var PromotionActionType = {
562
- Unknown: 0,
563
- PromotionView: 1,
564
- PromotionClick: 2
565
- };
566
- PromotionActionType.getName = function (id) {
567
- switch (id) {
568
- case PromotionActionType.PromotionView:
569
- return 'view';
570
- case PromotionActionType.PromotionClick:
571
- return 'click';
572
- default:
573
- return 'unknown';
574
- }
575
- };
576
-
577
- // these are the names that the server and mobile SDKs use while expanding CommerceEvent
578
- PromotionActionType.getExpansionName = function (id) {
579
- switch (id) {
580
- case PromotionActionType.PromotionView:
581
- return 'view';
582
- case PromotionActionType.PromotionClick:
583
- return 'click';
584
- default:
585
- return 'unknown';
586
- }
587
- };
588
- var ProfileMessageType = {
589
- Logout: 3
590
- };
591
- var ApplicationTransitionType$1 = {
592
- AppInit: 1
593
- };
594
- var Environment = {
595
- Production: 'production',
596
- Development: 'development'
597
- };
598
- var Types = {
599
- MessageType: MessageType$2,
600
- EventType: EventType,
601
- CommerceEventType: CommerceEventType,
602
- IdentityType: IdentityType$1,
603
- ProfileMessageType: ProfileMessageType,
604
- ApplicationTransitionType: ApplicationTransitionType$1,
605
- ProductActionType: ProductActionType,
606
- PromotionActionType: PromotionActionType,
607
- TriggerUploadType: TriggerUploadType,
608
- Environment: Environment
609
- };
610
-
611
- var version = "2.26.1";
396
+ var version = "2.26.2";
612
397
 
613
398
  var Constants = {
614
399
  sdkVersion: version,
@@ -673,479 +458,114 @@ var mParticle = (function () {
673
458
  UserIdentitiesInvalidValues: 'All user identity values must be strings or null. Request not sent to server. Please fix and try again.',
674
459
  AliasMissingMpid: 'Alias Request must contain both a destinationMpid and a sourceMpid',
675
460
  AliasNonUniqueMpid: "Alias Request's destinationMpid and sourceMpid must be unique",
676
- AliasMissingTime: 'Alias Request must have both a startTime and an endTime',
677
- AliasStartBeforeEndTime: "Alias Request's endTime must be later than its startTime"
678
- }
679
- },
680
- NativeSdkPaths: {
681
- LogEvent: 'logEvent',
682
- SetUserTag: 'setUserTag',
683
- RemoveUserTag: 'removeUserTag',
684
- SetUserAttribute: 'setUserAttribute',
685
- RemoveUserAttribute: 'removeUserAttribute',
686
- SetSessionAttribute: 'setSessionAttribute',
687
- AddToCart: 'addToCart',
688
- RemoveFromCart: 'removeFromCart',
689
- ClearCart: 'clearCart',
690
- LogOut: 'logOut',
691
- SetUserAttributeList: 'setUserAttributeList',
692
- RemoveAllUserAttributes: 'removeAllUserAttributes',
693
- GetUserAttributesLists: 'getUserAttributesLists',
694
- GetAllUserAttributes: 'getAllUserAttributes',
695
- Identify: 'identify',
696
- Logout: 'logout',
697
- Login: 'login',
698
- Modify: 'modify',
699
- Alias: 'aliasUsers',
700
- Upload: 'upload'
701
- },
702
- StorageNames: {
703
- localStorageName: 'mprtcl-api',
704
- localStorageNameV3: 'mprtcl-v3',
705
- cookieName: 'mprtcl-api',
706
- cookieNameV2: 'mprtcl-v2',
707
- cookieNameV3: 'mprtcl-v3',
708
- localStorageNameV4: 'mprtcl-v4',
709
- localStorageProductsV4: 'mprtcl-prodv4',
710
- cookieNameV4: 'mprtcl-v4',
711
- currentStorageName: 'mprtcl-v4',
712
- currentStorageProductsName: 'mprtcl-prodv4'
713
- },
714
- DefaultConfig: {
715
- cookieDomain: null,
716
- cookieExpiration: 365,
717
- logLevel: null,
718
- timeout: 300,
719
- sessionTimeout: 30,
720
- maxProducts: 20,
721
- forwarderStatsTimeout: 5000,
722
- integrationDelayTimeout: 5000,
723
- maxCookieSize: 3000,
724
- aliasMaxWindow: 90,
725
- uploadInterval: 0 // Maximum milliseconds in between batch uploads, below 500 will mean immediate upload. The server returns this as a string, but we are using it as a number internally
726
- },
727
-
728
- DefaultBaseUrls: {
729
- v1SecureServiceUrl: 'jssdks.mparticle.com/v1/JS/',
730
- v2SecureServiceUrl: 'jssdks.mparticle.com/v2/JS/',
731
- v3SecureServiceUrl: 'jssdks.mparticle.com/v3/JS/',
732
- configUrl: 'jssdkcdns.mparticle.com/JS/v2/',
733
- identityUrl: 'identity.mparticle.com/v1/',
734
- aliasUrl: 'jssdks.mparticle.com/v1/identity/',
735
- userAudienceUrl: 'nativesdks.mparticle.com/v1/'
736
- },
737
- Base64CookieKeys: {
738
- csm: 1,
739
- sa: 1,
740
- ss: 1,
741
- ua: 1,
742
- ui: 1,
743
- csd: 1,
744
- ia: 1,
745
- con: 1
746
- },
747
- // https://go.mparticle.com/work/SQDSDKS-6039
748
- SDKv2NonMPIDCookieKeys: {
749
- gs: 1,
750
- cu: 1,
751
- l: 1,
752
- globalSettings: 1,
753
- currentUserMPID: 1
754
- },
755
- HTTPCodes: {
756
- noHttpCoverage: -1,
757
- activeIdentityRequest: -2,
758
- activeSession: -3,
759
- validationIssue: -4,
760
- nativeIdentityRequest: -5,
761
- loggingDisabledOrMissingAPIKey: -6,
762
- tooManyRequests: 429
763
- },
764
- FeatureFlags: {
765
- ReportBatching: 'reportBatching',
766
- EventBatchingIntervalMillis: 'eventBatchingIntervalMillis',
767
- OfflineStorage: 'offlineStorage',
768
- DirectUrlRouting: 'directURLRouting',
769
- CacheIdentity: 'cacheIdentity',
770
- AudienceAPI: 'audienceAPI'
771
- },
772
- DefaultInstance: 'default_instance',
773
- CCPAPurpose: 'data_sale_opt_out',
774
- IdentityMethods: {
775
- Modify: 'modify',
776
- Logout: 'logout',
777
- Login: 'login',
778
- Identify: 'identify'
779
- }
780
- };
781
- // https://go.mparticle.com/work/SQDSDKS-6080
782
- var ONE_DAY_IN_SECONDS = 60 * 60 * 24;
783
- var MILLIS_IN_ONE_SEC = 1000;
784
-
785
- /******************************************************************************
786
- Copyright (c) Microsoft Corporation.
787
-
788
- Permission to use, copy, modify, and/or distribute this software for any
789
- purpose with or without fee is hereby granted.
790
-
791
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
792
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
793
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
794
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
795
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
796
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
797
- PERFORMANCE OF THIS SOFTWARE.
798
- ***************************************************************************** */
799
- /* global Reflect, Promise, SuppressedError, Symbol */
800
-
801
- var extendStatics = function(d, b) {
802
- extendStatics = Object.setPrototypeOf ||
803
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
804
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
805
- return extendStatics(d, b);
806
- };
807
-
808
- function __extends(d, b) {
809
- if (typeof b !== "function" && b !== null)
810
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
811
- extendStatics(d, b);
812
- function __() { this.constructor = d; }
813
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
814
- }
815
-
816
- var __assign = function() {
817
- __assign = Object.assign || function __assign(t) {
818
- for (var s, i = 1, n = arguments.length; i < n; i++) {
819
- s = arguments[i];
820
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
821
- }
822
- return t;
823
- };
824
- return __assign.apply(this, arguments);
825
- };
826
-
827
- function __awaiter(thisArg, _arguments, P, generator) {
828
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
829
- return new (P || (P = Promise))(function (resolve, reject) {
830
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
831
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
832
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
833
- step((generator = generator.apply(thisArg, _arguments || [])).next());
834
- });
835
- }
836
-
837
- function __generator(thisArg, body) {
838
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
839
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
840
- function verb(n) { return function (v) { return step([n, v]); }; }
841
- function step(op) {
842
- if (f) throw new TypeError("Generator is already executing.");
843
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
844
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
845
- if (y = 0, t) op = [op[0] & 2, t.value];
846
- switch (op[0]) {
847
- case 0: case 1: t = op; break;
848
- case 4: _.label++; return { value: op[1], done: false };
849
- case 5: _.label++; y = op[1]; op = [0]; continue;
850
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
851
- default:
852
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
853
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
854
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
855
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
856
- if (t[2]) _.ops.pop();
857
- _.trys.pop(); continue;
858
- }
859
- op = body.call(thisArg, _);
860
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
861
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
862
- }
863
- }
864
-
865
- function __spreadArray(to, from, pack) {
866
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
867
- if (ar || !(i in from)) {
868
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
869
- ar[i] = from[i];
870
- }
871
- }
872
- return to.concat(ar || Array.prototype.slice.call(from));
873
- }
874
-
875
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
876
- var e = new Error(message);
877
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
878
- };
879
-
880
- var SDKProductActionType;
881
- (function (SDKProductActionType) {
882
- SDKProductActionType[SDKProductActionType["Unknown"] = 0] = "Unknown";
883
- SDKProductActionType[SDKProductActionType["AddToCart"] = 1] = "AddToCart";
884
- SDKProductActionType[SDKProductActionType["RemoveFromCart"] = 2] = "RemoveFromCart";
885
- SDKProductActionType[SDKProductActionType["Checkout"] = 3] = "Checkout";
886
- SDKProductActionType[SDKProductActionType["CheckoutOption"] = 4] = "CheckoutOption";
887
- SDKProductActionType[SDKProductActionType["Click"] = 5] = "Click";
888
- SDKProductActionType[SDKProductActionType["ViewDetail"] = 6] = "ViewDetail";
889
- SDKProductActionType[SDKProductActionType["Purchase"] = 7] = "Purchase";
890
- SDKProductActionType[SDKProductActionType["Refund"] = 8] = "Refund";
891
- SDKProductActionType[SDKProductActionType["AddToWishlist"] = 9] = "AddToWishlist";
892
- SDKProductActionType[SDKProductActionType["RemoveFromWishlist"] = 10] = "RemoveFromWishlist";
893
- })(SDKProductActionType || (SDKProductActionType = {}));
894
- var SDKIdentityTypeEnum;
895
- (function (SDKIdentityTypeEnum) {
896
- SDKIdentityTypeEnum["other"] = "other";
897
- SDKIdentityTypeEnum["customerId"] = "customerid";
898
- SDKIdentityTypeEnum["facebook"] = "facebook";
899
- SDKIdentityTypeEnum["twitter"] = "twitter";
900
- SDKIdentityTypeEnum["google"] = "google";
901
- SDKIdentityTypeEnum["microsoft"] = "microsoft";
902
- SDKIdentityTypeEnum["yahoo"] = "yahoo";
903
- SDKIdentityTypeEnum["email"] = "email";
904
- SDKIdentityTypeEnum["alias"] = "alias";
905
- SDKIdentityTypeEnum["facebookCustomAudienceId"] = "facebookcustomaudienceid";
906
- SDKIdentityTypeEnum["otherId2"] = "other2";
907
- SDKIdentityTypeEnum["otherId3"] = "other3";
908
- SDKIdentityTypeEnum["otherId4"] = "other4";
909
- SDKIdentityTypeEnum["otherId5"] = "other5";
910
- SDKIdentityTypeEnum["otherId6"] = "other6";
911
- SDKIdentityTypeEnum["otherId7"] = "other7";
912
- SDKIdentityTypeEnum["otherId8"] = "other8";
913
- SDKIdentityTypeEnum["otherId9"] = "other9";
914
- SDKIdentityTypeEnum["otherId10"] = "other10";
915
- SDKIdentityTypeEnum["mobileNumber"] = "mobile_number";
916
- SDKIdentityTypeEnum["phoneNumber2"] = "phone_number_2";
917
- SDKIdentityTypeEnum["phoneNumber3"] = "phone_number_3";
918
- })(SDKIdentityTypeEnum || (SDKIdentityTypeEnum = {}));
919
-
920
- var dist = {};
921
-
922
- (function (exports) {
923
- Object.defineProperty(exports, "__esModule", { value: true });
924
- (function (ApplicationInformationOsEnum) {
925
- ApplicationInformationOsEnum["unknown"] = "Unknown";
926
- ApplicationInformationOsEnum["iOS"] = "IOS";
927
- ApplicationInformationOsEnum["android"] = "Android";
928
- ApplicationInformationOsEnum["windowsPhone"] = "WindowsPhone";
929
- ApplicationInformationOsEnum["mobileWeb"] = "MobileWeb";
930
- ApplicationInformationOsEnum["unityIOS"] = "UnityIOS";
931
- ApplicationInformationOsEnum["unityAndroid"] = "UnityAndroid";
932
- ApplicationInformationOsEnum["desktop"] = "Desktop";
933
- ApplicationInformationOsEnum["tvOS"] = "TVOS";
934
- ApplicationInformationOsEnum["roku"] = "Roku";
935
- ApplicationInformationOsEnum["outOfBand"] = "OutOfBand";
936
- ApplicationInformationOsEnum["alexa"] = "Alexa";
937
- ApplicationInformationOsEnum["smartTV"] = "SmartTV";
938
- ApplicationInformationOsEnum["fireTV"] = "FireTV";
939
- ApplicationInformationOsEnum["xbox"] = "Xbox";
940
- })(exports.ApplicationInformationOsEnum || (exports.ApplicationInformationOsEnum = {}));
941
- (function (ApplicationStateTransitionEventEventTypeEnum) {
942
- ApplicationStateTransitionEventEventTypeEnum["applicationStateTransition"] = "application_state_transition";
943
- })(exports.ApplicationStateTransitionEventEventTypeEnum || (exports.ApplicationStateTransitionEventEventTypeEnum = {}));
944
- (function (ApplicationStateTransitionEventDataApplicationTransitionTypeEnum) {
945
- ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationInitialized"] = "application_initialized";
946
- ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationExit"] = "application_exit";
947
- ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationBackground"] = "application_background";
948
- ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationForeground"] = "application_foreground";
949
- })(exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum || (exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum = {}));
950
- (function (BatchEnvironmentEnum) {
951
- BatchEnvironmentEnum["unknown"] = "unknown";
952
- BatchEnvironmentEnum["development"] = "development";
953
- BatchEnvironmentEnum["production"] = "production";
954
- })(exports.BatchEnvironmentEnum || (exports.BatchEnvironmentEnum = {}));
955
- (function (BreadcrumbEventEventTypeEnum) {
956
- BreadcrumbEventEventTypeEnum["breadcrumb"] = "breadcrumb";
957
- })(exports.BreadcrumbEventEventTypeEnum || (exports.BreadcrumbEventEventTypeEnum = {}));
958
- (function (CommerceEventEventTypeEnum) {
959
- CommerceEventEventTypeEnum["commerceEvent"] = "commerce_event";
960
- })(exports.CommerceEventEventTypeEnum || (exports.CommerceEventEventTypeEnum = {}));
961
- (function (CommerceEventDataCustomEventTypeEnum) {
962
- CommerceEventDataCustomEventTypeEnum["addToCart"] = "add_to_cart";
963
- CommerceEventDataCustomEventTypeEnum["removeFromCart"] = "remove_from_cart";
964
- CommerceEventDataCustomEventTypeEnum["checkout"] = "checkout";
965
- CommerceEventDataCustomEventTypeEnum["checkoutOption"] = "checkout_option";
966
- CommerceEventDataCustomEventTypeEnum["click"] = "click";
967
- CommerceEventDataCustomEventTypeEnum["viewDetail"] = "view_detail";
968
- CommerceEventDataCustomEventTypeEnum["purchase"] = "purchase";
969
- CommerceEventDataCustomEventTypeEnum["refund"] = "refund";
970
- CommerceEventDataCustomEventTypeEnum["promotionView"] = "promotion_view";
971
- CommerceEventDataCustomEventTypeEnum["promotionClick"] = "promotion_click";
972
- CommerceEventDataCustomEventTypeEnum["addToWishlist"] = "add_to_wishlist";
973
- CommerceEventDataCustomEventTypeEnum["removeFromWishlist"] = "remove_from_wishlist";
974
- CommerceEventDataCustomEventTypeEnum["impression"] = "impression";
975
- })(exports.CommerceEventDataCustomEventTypeEnum || (exports.CommerceEventDataCustomEventTypeEnum = {}));
976
- (function (CrashReportEventEventTypeEnum) {
977
- CrashReportEventEventTypeEnum["crashReport"] = "crash_report";
978
- })(exports.CrashReportEventEventTypeEnum || (exports.CrashReportEventEventTypeEnum = {}));
979
- (function (CustomEventEventTypeEnum) {
980
- CustomEventEventTypeEnum["customEvent"] = "custom_event";
981
- })(exports.CustomEventEventTypeEnum || (exports.CustomEventEventTypeEnum = {}));
982
- (function (CustomEventDataCustomEventTypeEnum) {
983
- CustomEventDataCustomEventTypeEnum["navigation"] = "navigation";
984
- CustomEventDataCustomEventTypeEnum["location"] = "location";
985
- CustomEventDataCustomEventTypeEnum["search"] = "search";
986
- CustomEventDataCustomEventTypeEnum["transaction"] = "transaction";
987
- CustomEventDataCustomEventTypeEnum["userContent"] = "user_content";
988
- CustomEventDataCustomEventTypeEnum["userPreference"] = "user_preference";
989
- CustomEventDataCustomEventTypeEnum["social"] = "social";
990
- CustomEventDataCustomEventTypeEnum["media"] = "media";
991
- CustomEventDataCustomEventTypeEnum["other"] = "other";
992
- CustomEventDataCustomEventTypeEnum["unknown"] = "unknown";
993
- })(exports.CustomEventDataCustomEventTypeEnum || (exports.CustomEventDataCustomEventTypeEnum = {}));
994
- (function (DeviceCurrentStateDeviceOrientationEnum) {
995
- DeviceCurrentStateDeviceOrientationEnum["portrait"] = "portrait";
996
- DeviceCurrentStateDeviceOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
997
- DeviceCurrentStateDeviceOrientationEnum["landscape"] = "landscape";
998
- DeviceCurrentStateDeviceOrientationEnum["landscapeLeft"] = "LandscapeLeft";
999
- DeviceCurrentStateDeviceOrientationEnum["landscapeRight"] = "LandscapeRight";
1000
- DeviceCurrentStateDeviceOrientationEnum["faceUp"] = "FaceUp";
1001
- DeviceCurrentStateDeviceOrientationEnum["faceDown"] = "FaceDown";
1002
- DeviceCurrentStateDeviceOrientationEnum["square"] = "Square";
1003
- })(exports.DeviceCurrentStateDeviceOrientationEnum || (exports.DeviceCurrentStateDeviceOrientationEnum = {}));
1004
- (function (DeviceCurrentStateStatusBarOrientationEnum) {
1005
- DeviceCurrentStateStatusBarOrientationEnum["portrait"] = "portrait";
1006
- DeviceCurrentStateStatusBarOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
1007
- DeviceCurrentStateStatusBarOrientationEnum["landscape"] = "landscape";
1008
- DeviceCurrentStateStatusBarOrientationEnum["landscapeLeft"] = "LandscapeLeft";
1009
- DeviceCurrentStateStatusBarOrientationEnum["landscapeRight"] = "LandscapeRight";
1010
- DeviceCurrentStateStatusBarOrientationEnum["faceUp"] = "FaceUp";
1011
- DeviceCurrentStateStatusBarOrientationEnum["faceDown"] = "FaceDown";
1012
- DeviceCurrentStateStatusBarOrientationEnum["square"] = "Square";
1013
- })(exports.DeviceCurrentStateStatusBarOrientationEnum || (exports.DeviceCurrentStateStatusBarOrientationEnum = {}));
1014
- (function (DeviceInformationPlatformEnum) {
1015
- DeviceInformationPlatformEnum["iOS"] = "iOS";
1016
- DeviceInformationPlatformEnum["android"] = "Android";
1017
- DeviceInformationPlatformEnum["web"] = "web";
1018
- DeviceInformationPlatformEnum["desktop"] = "desktop";
1019
- DeviceInformationPlatformEnum["tvOS"] = "tvOS";
1020
- DeviceInformationPlatformEnum["roku"] = "roku";
1021
- DeviceInformationPlatformEnum["outOfBand"] = "out_of_band";
1022
- DeviceInformationPlatformEnum["smartTV"] = "smart_tv";
1023
- DeviceInformationPlatformEnum["xbox"] = "xbox";
1024
- })(exports.DeviceInformationPlatformEnum || (exports.DeviceInformationPlatformEnum = {}));
1025
- (function (EventTypeEnum) {
1026
- EventTypeEnum["unknown"] = "unknown";
1027
- EventTypeEnum["sessionStart"] = "session_start";
1028
- EventTypeEnum["sessionEnd"] = "session_end";
1029
- EventTypeEnum["screenView"] = "screen_view";
1030
- EventTypeEnum["customEvent"] = "custom_event";
1031
- EventTypeEnum["crashReport"] = "crash_report";
1032
- EventTypeEnum["optOut"] = "opt_out";
1033
- EventTypeEnum["firstRun"] = "first_run";
1034
- EventTypeEnum["preAttribution"] = "pre_attribution";
1035
- EventTypeEnum["pushRegistration"] = "push_registration";
1036
- EventTypeEnum["applicationStateTransition"] = "application_state_transition";
1037
- EventTypeEnum["pushMessage"] = "push_message";
1038
- EventTypeEnum["networkPerformance"] = "network_performance";
1039
- EventTypeEnum["breadcrumb"] = "breadcrumb";
1040
- EventTypeEnum["profile"] = "profile";
1041
- EventTypeEnum["pushReaction"] = "push_reaction";
1042
- EventTypeEnum["commerceEvent"] = "commerce_event";
1043
- EventTypeEnum["userAttributeChange"] = "user_attribute_change";
1044
- EventTypeEnum["userIdentityChange"] = "user_identity_change";
1045
- EventTypeEnum["uninstall"] = "uninstall";
1046
- EventTypeEnum["validationResult"] = "validation_result";
1047
- })(exports.EventTypeEnum || (exports.EventTypeEnum = {}));
1048
- (function (IdentityTypeEnum) {
1049
- IdentityTypeEnum["other"] = "other";
1050
- IdentityTypeEnum["customerId"] = "customer_id";
1051
- IdentityTypeEnum["facebook"] = "facebook";
1052
- IdentityTypeEnum["twitter"] = "twitter";
1053
- IdentityTypeEnum["google"] = "google";
1054
- IdentityTypeEnum["microsoft"] = "microsoft";
1055
- IdentityTypeEnum["yahoo"] = "yahoo";
1056
- IdentityTypeEnum["email"] = "email";
1057
- IdentityTypeEnum["alias"] = "alias";
1058
- IdentityTypeEnum["facebookCustomAudienceId"] = "facebook_custom_audience_id";
1059
- IdentityTypeEnum["otherId2"] = "other_id_2";
1060
- IdentityTypeEnum["otherId3"] = "other_id_3";
1061
- IdentityTypeEnum["otherId4"] = "other_id_4";
1062
- IdentityTypeEnum["otherId5"] = "other_id_5";
1063
- IdentityTypeEnum["otherId6"] = "other_id_6";
1064
- IdentityTypeEnum["otherId7"] = "other_id_7";
1065
- IdentityTypeEnum["otherId8"] = "other_id_8";
1066
- IdentityTypeEnum["otherId9"] = "other_id_9";
1067
- IdentityTypeEnum["otherId10"] = "other_id_10";
1068
- IdentityTypeEnum["mobileNumber"] = "mobile_number";
1069
- IdentityTypeEnum["phoneNumber2"] = "phone_number_2";
1070
- IdentityTypeEnum["phoneNumber3"] = "phone_number_3";
1071
- })(exports.IdentityTypeEnum || (exports.IdentityTypeEnum = {}));
1072
- (function (NetworkPerformanceEventEventTypeEnum) {
1073
- NetworkPerformanceEventEventTypeEnum["networkPerformance"] = "network_performance";
1074
- })(exports.NetworkPerformanceEventEventTypeEnum || (exports.NetworkPerformanceEventEventTypeEnum = {}));
1075
- (function (OptOutEventEnum) {
1076
- OptOutEventEnum["optOut"] = "opt_out";
1077
- })(exports.OptOutEventEnum || (exports.OptOutEventEnum = {}));
1078
- (function (ProductActionActionEnum) {
1079
- ProductActionActionEnum["unknown"] = "unknown";
1080
- ProductActionActionEnum["addToCart"] = "add_to_cart";
1081
- ProductActionActionEnum["removeFromCart"] = "remove_from_cart";
1082
- ProductActionActionEnum["checkout"] = "checkout";
1083
- ProductActionActionEnum["checkoutOption"] = "checkout_option";
1084
- ProductActionActionEnum["click"] = "click";
1085
- ProductActionActionEnum["viewDetail"] = "view_detail";
1086
- ProductActionActionEnum["purchase"] = "purchase";
1087
- ProductActionActionEnum["refund"] = "refund";
1088
- ProductActionActionEnum["addToWishlist"] = "add_to_wishlist";
1089
- ProductActionActionEnum["removeFromWishlist"] = "remove_from_wish_list";
1090
- })(exports.ProductActionActionEnum || (exports.ProductActionActionEnum = {}));
1091
- (function (ProfileEventEventTypeEnum) {
1092
- ProfileEventEventTypeEnum["profile"] = "profile";
1093
- })(exports.ProfileEventEventTypeEnum || (exports.ProfileEventEventTypeEnum = {}));
1094
- (function (ProfileEventDataProfileEventTypeEnum) {
1095
- ProfileEventDataProfileEventTypeEnum["signup"] = "signup";
1096
- ProfileEventDataProfileEventTypeEnum["login"] = "login";
1097
- ProfileEventDataProfileEventTypeEnum["logout"] = "logout";
1098
- ProfileEventDataProfileEventTypeEnum["update"] = "update";
1099
- ProfileEventDataProfileEventTypeEnum["delete"] = "delete";
1100
- })(exports.ProfileEventDataProfileEventTypeEnum || (exports.ProfileEventDataProfileEventTypeEnum = {}));
1101
- (function (PromotionActionActionEnum) {
1102
- PromotionActionActionEnum["view"] = "view";
1103
- PromotionActionActionEnum["click"] = "click";
1104
- })(exports.PromotionActionActionEnum || (exports.PromotionActionActionEnum = {}));
1105
- (function (PushMessageEventEventTypeEnum) {
1106
- PushMessageEventEventTypeEnum["pushMessage"] = "push_message";
1107
- })(exports.PushMessageEventEventTypeEnum || (exports.PushMessageEventEventTypeEnum = {}));
1108
- (function (PushMessageEventDataPushMessageTypeEnum) {
1109
- PushMessageEventDataPushMessageTypeEnum["sent"] = "sent";
1110
- PushMessageEventDataPushMessageTypeEnum["received"] = "received";
1111
- PushMessageEventDataPushMessageTypeEnum["action"] = "action";
1112
- })(exports.PushMessageEventDataPushMessageTypeEnum || (exports.PushMessageEventDataPushMessageTypeEnum = {}));
1113
- (function (PushMessageEventDataApplicationStateEnum) {
1114
- PushMessageEventDataApplicationStateEnum["notRunning"] = "not_running";
1115
- PushMessageEventDataApplicationStateEnum["background"] = "background";
1116
- PushMessageEventDataApplicationStateEnum["foreground"] = "foreground";
1117
- })(exports.PushMessageEventDataApplicationStateEnum || (exports.PushMessageEventDataApplicationStateEnum = {}));
1118
- (function (PushMessageEventDataPushMessageBehaviorEnum) {
1119
- PushMessageEventDataPushMessageBehaviorEnum["received"] = "Received";
1120
- PushMessageEventDataPushMessageBehaviorEnum["directOpen"] = "DirectOpen";
1121
- PushMessageEventDataPushMessageBehaviorEnum["read"] = "Read";
1122
- PushMessageEventDataPushMessageBehaviorEnum["influencedOpen"] = "InfluencedOpen";
1123
- PushMessageEventDataPushMessageBehaviorEnum["displayed"] = "Displayed";
1124
- })(exports.PushMessageEventDataPushMessageBehaviorEnum || (exports.PushMessageEventDataPushMessageBehaviorEnum = {}));
1125
- (function (PushRegistrationEventEventTypeEnum) {
1126
- PushRegistrationEventEventTypeEnum["pushRegistration"] = "push_registration";
1127
- })(exports.PushRegistrationEventEventTypeEnum || (exports.PushRegistrationEventEventTypeEnum = {}));
1128
- (function (SessionEndEventEventTypeEnum) {
1129
- SessionEndEventEventTypeEnum["sessionEnd"] = "session_end";
1130
- })(exports.SessionEndEventEventTypeEnum || (exports.SessionEndEventEventTypeEnum = {}));
1131
- (function (SessionStartEventEventTypeEnum) {
1132
- SessionStartEventEventTypeEnum["sessionStart"] = "session_start";
1133
- })(exports.SessionStartEventEventTypeEnum || (exports.SessionStartEventEventTypeEnum = {}));
1134
- (function (SourceInformationChannelEnum) {
1135
- SourceInformationChannelEnum["native"] = "native";
1136
- SourceInformationChannelEnum["javascript"] = "javascript";
1137
- SourceInformationChannelEnum["pixel"] = "pixel";
1138
- SourceInformationChannelEnum["desktop"] = "desktop";
1139
- SourceInformationChannelEnum["partner"] = "partner";
1140
- SourceInformationChannelEnum["serverToServer"] = "server_to_server";
1141
- })(exports.SourceInformationChannelEnum || (exports.SourceInformationChannelEnum = {}));
1142
- (function (UserAttributeChangeEventEventTypeEnum) {
1143
- UserAttributeChangeEventEventTypeEnum["userAttributeChange"] = "user_attribute_change";
1144
- })(exports.UserAttributeChangeEventEventTypeEnum || (exports.UserAttributeChangeEventEventTypeEnum = {}));
1145
- (function (UserIdentityChangeEventEventTypeEnum) {
1146
- UserIdentityChangeEventEventTypeEnum["userIdentityChange"] = "user_identity_change";
1147
- })(exports.UserIdentityChangeEventEventTypeEnum || (exports.UserIdentityChangeEventEventTypeEnum = {}));
1148
- } (dist));
461
+ AliasMissingTime: 'Alias Request must have both a startTime and an endTime',
462
+ AliasStartBeforeEndTime: "Alias Request's endTime must be later than its startTime"
463
+ }
464
+ },
465
+ NativeSdkPaths: {
466
+ LogEvent: 'logEvent',
467
+ SetUserTag: 'setUserTag',
468
+ RemoveUserTag: 'removeUserTag',
469
+ SetUserAttribute: 'setUserAttribute',
470
+ RemoveUserAttribute: 'removeUserAttribute',
471
+ SetSessionAttribute: 'setSessionAttribute',
472
+ AddToCart: 'addToCart',
473
+ RemoveFromCart: 'removeFromCart',
474
+ ClearCart: 'clearCart',
475
+ LogOut: 'logOut',
476
+ SetUserAttributeList: 'setUserAttributeList',
477
+ RemoveAllUserAttributes: 'removeAllUserAttributes',
478
+ GetUserAttributesLists: 'getUserAttributesLists',
479
+ GetAllUserAttributes: 'getAllUserAttributes',
480
+ Identify: 'identify',
481
+ Logout: 'logout',
482
+ Login: 'login',
483
+ Modify: 'modify',
484
+ Alias: 'aliasUsers',
485
+ Upload: 'upload'
486
+ },
487
+ StorageNames: {
488
+ localStorageName: 'mprtcl-api',
489
+ localStorageNameV3: 'mprtcl-v3',
490
+ cookieName: 'mprtcl-api',
491
+ cookieNameV2: 'mprtcl-v2',
492
+ cookieNameV3: 'mprtcl-v3',
493
+ localStorageNameV4: 'mprtcl-v4',
494
+ localStorageProductsV4: 'mprtcl-prodv4',
495
+ cookieNameV4: 'mprtcl-v4',
496
+ currentStorageName: 'mprtcl-v4',
497
+ currentStorageProductsName: 'mprtcl-prodv4'
498
+ },
499
+ DefaultConfig: {
500
+ cookieDomain: null,
501
+ cookieExpiration: 365,
502
+ logLevel: null,
503
+ timeout: 300,
504
+ sessionTimeout: 30,
505
+ maxProducts: 20,
506
+ forwarderStatsTimeout: 5000,
507
+ integrationDelayTimeout: 5000,
508
+ maxCookieSize: 3000,
509
+ aliasMaxWindow: 90,
510
+ uploadInterval: 0 // Maximum milliseconds in between batch uploads, below 500 will mean immediate upload. The server returns this as a string, but we are using it as a number internally
511
+ },
512
+
513
+ DefaultBaseUrls: {
514
+ v1SecureServiceUrl: 'jssdks.mparticle.com/v1/JS/',
515
+ v2SecureServiceUrl: 'jssdks.mparticle.com/v2/JS/',
516
+ v3SecureServiceUrl: 'jssdks.mparticle.com/v3/JS/',
517
+ configUrl: 'jssdkcdns.mparticle.com/JS/v2/',
518
+ identityUrl: 'identity.mparticle.com/v1/',
519
+ aliasUrl: 'jssdks.mparticle.com/v1/identity/',
520
+ userAudienceUrl: 'nativesdks.mparticle.com/v1/'
521
+ },
522
+ Base64CookieKeys: {
523
+ csm: 1,
524
+ sa: 1,
525
+ ss: 1,
526
+ ua: 1,
527
+ ui: 1,
528
+ csd: 1,
529
+ ia: 1,
530
+ con: 1
531
+ },
532
+ // https://go.mparticle.com/work/SQDSDKS-6039
533
+ SDKv2NonMPIDCookieKeys: {
534
+ gs: 1,
535
+ cu: 1,
536
+ l: 1,
537
+ globalSettings: 1,
538
+ currentUserMPID: 1
539
+ },
540
+ HTTPCodes: {
541
+ noHttpCoverage: -1,
542
+ activeIdentityRequest: -2,
543
+ activeSession: -3,
544
+ validationIssue: -4,
545
+ nativeIdentityRequest: -5,
546
+ loggingDisabledOrMissingAPIKey: -6,
547
+ tooManyRequests: 429
548
+ },
549
+ FeatureFlags: {
550
+ ReportBatching: 'reportBatching',
551
+ EventBatchingIntervalMillis: 'eventBatchingIntervalMillis',
552
+ OfflineStorage: 'offlineStorage',
553
+ DirectUrlRouting: 'directURLRouting',
554
+ CacheIdentity: 'cacheIdentity',
555
+ AudienceAPI: 'audienceAPI'
556
+ },
557
+ DefaultInstance: 'default_instance',
558
+ CCPAPurpose: 'data_sale_opt_out',
559
+ IdentityMethods: {
560
+ Modify: 'modify',
561
+ Logout: 'logout',
562
+ Login: 'login',
563
+ Identify: 'identify'
564
+ }
565
+ };
566
+ // https://go.mparticle.com/work/SQDSDKS-6080
567
+ var ONE_DAY_IN_SECONDS = 60 * 60 * 24;
568
+ var MILLIS_IN_ONE_SEC = 1000;
1149
569
 
1150
570
  var Messages$9 = Constants.Messages;
1151
571
  var createCookieString = function createCookieString(value) {
@@ -1206,130 +626,781 @@ var mParticle = (function () {
1206
626
  hash = (hash << 5) - hash + character;
1207
627
  hash = hash & hash;
1208
628
  }
1209
- return hash;
629
+ return hash;
630
+ }
631
+ var generateRandomValue = function generateRandomValue(value) {
632
+ var randomValue;
633
+ var a;
634
+ if (window.crypto && window.crypto.getRandomValues) {
635
+ // @ts-ignore
636
+ randomValue = window.crypto.getRandomValues(new Uint8Array(1)); // eslint-disable-line no-undef
637
+ }
638
+
639
+ if (randomValue) {
640
+ // @ts-ignore
641
+ return (a ^ randomValue[0] % 16 >> a / 4).toString(16);
642
+ }
643
+ return (a ^ Math.random() * 16 >> a / 4).toString(16);
644
+ };
645
+ var generateUniqueId = function generateUniqueId(a) {
646
+ // https://gist.github.com/jed/982883
647
+ // Added support for crypto for better random
648
+ if (a === void 0) {
649
+ a = '';
650
+ }
651
+ return a // if the placeholder was passed, return
652
+ ? generateRandomValue() // if the placeholder was passed, return
653
+ :
654
+ // [1e7] -> // 10000000 +
655
+ // -1e3 -> // -1000 +
656
+ // -4e3 -> // -4000 +
657
+ // -8e3 -> // -80000000 +
658
+ // -1e11 -> //-100000000000,
659
+ "".concat(1e7, "-").concat(1e3, "-").concat(4e3, "-").concat(8e3, "-").concat(1e11).replace(/[018]/g,
660
+ // zeroes, ones, and eights with
661
+ generateUniqueId // random hex digits
662
+ );
663
+ };
664
+ /**
665
+ * Returns a value between 1-100 inclusive.
666
+ */
667
+ var getRampNumber = function getRampNumber(value) {
668
+ if (!value) {
669
+ return 100;
670
+ }
671
+ var hash = generateHash(value);
672
+ return Math.abs(hash % 100) + 1;
673
+ };
674
+ var isObject = function isObject(value) {
675
+ var objType = Object.prototype.toString.call(value);
676
+ return objType === '[object Object]' || objType === '[object Error]';
677
+ };
678
+ var parseNumber = function parseNumber(value) {
679
+ if (isNaN(value) || !isFinite(value)) {
680
+ return 0;
681
+ }
682
+ var floatValue = parseFloat(value);
683
+ return isNaN(floatValue) ? 0 : floatValue;
684
+ };
685
+ var parseStringOrNumber = function parseStringOrNumber(value) {
686
+ if (isStringOrNumber(value)) {
687
+ return value;
688
+ } else {
689
+ return null;
690
+ }
691
+ };
692
+ var replaceCommasWithPipes = function replaceCommasWithPipes(value) {
693
+ return value.replace(/,/g, '|');
694
+ };
695
+ var replacePipesWithCommas = function replacePipesWithCommas(value) {
696
+ return value.replace(/\|/g, ',');
697
+ };
698
+ var replaceApostrophesWithQuotes = function replaceApostrophesWithQuotes(value) {
699
+ return value.replace(/\'/g, '"');
700
+ };
701
+ var replaceQuotesWithApostrophes = function replaceQuotesWithApostrophes(value) {
702
+ return value.replace(/\"/g, "'");
703
+ };
704
+ // FIXME: REFACTOR for V3
705
+ // only used in store.js to sanitize server-side formatting of
706
+ // booleans when checking for `isDevelopmentMode`
707
+ // Should be removed in v3
708
+ var returnConvertedBoolean = function returnConvertedBoolean(data) {
709
+ if (data === 'false' || data === '0') {
710
+ return false;
711
+ } else {
712
+ return Boolean(data);
713
+ }
714
+ };
715
+ var decoded = function decoded(s) {
716
+ return decodeURIComponent(s.replace(/\+/g, ' '));
717
+ };
718
+ var converted = function converted(s) {
719
+ if (s.indexOf('"') === 0) {
720
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
721
+ }
722
+ return s;
723
+ };
724
+ var isString = function isString(value) {
725
+ return typeof value === 'string';
726
+ };
727
+ var isNumber = function isNumber(value) {
728
+ return typeof value === 'number';
729
+ };
730
+ var isBoolean = function isBoolean(value) {
731
+ return typeof value === 'boolean';
732
+ };
733
+ var isFunction = function isFunction(fn) {
734
+ return typeof fn === 'function';
735
+ };
736
+ var isValidCustomFlagProperty = function isValidCustomFlagProperty(value) {
737
+ return isNumber(value) || isString(value) || isBoolean(value);
738
+ };
739
+ var toDataPlanSlug = function toDataPlanSlug(value) {
740
+ // Make sure we are only acting on strings or numbers
741
+ return isStringOrNumber(value) ? value.toString().toLowerCase().replace(/[^0-9a-zA-Z]+/g, '_') : '';
742
+ };
743
+ var isDataPlanSlug = function isDataPlanSlug(str) {
744
+ return str === toDataPlanSlug(str);
745
+ };
746
+ var isStringOrNumber = function isStringOrNumber(value) {
747
+ return isString(value) || isNumber(value);
748
+ };
749
+ var isEmpty = function isEmpty(value) {
750
+ return value == null || !(Object.keys(value) || value).length;
751
+ };
752
+ var moveElementToEnd = function moveElementToEnd(array, index) {
753
+ return array.slice(0, index).concat(array.slice(index + 1), array[index]);
754
+ };
755
+
756
+ function getNewIdentitiesByName(newIdentitiesByType) {
757
+ var newIdentitiesByName = {};
758
+ for (var key in newIdentitiesByType) {
759
+ var identityNameKey = getIdentityName(parseNumber(key));
760
+ newIdentitiesByName[identityNameKey] = newIdentitiesByType[key];
761
+ }
762
+ return newIdentitiesByName;
763
+ }
764
+ function getIdentityName(identityType) {
765
+ switch (identityType) {
766
+ case IdentityType$1.Other:
767
+ return 'other';
768
+ case IdentityType$1.CustomerId:
769
+ return 'customerid';
770
+ case IdentityType$1.Facebook:
771
+ return 'facebook';
772
+ case IdentityType$1.Twitter:
773
+ return 'twitter';
774
+ case IdentityType$1.Google:
775
+ return 'google';
776
+ case IdentityType$1.Microsoft:
777
+ return 'microsoft';
778
+ case IdentityType$1.Yahoo:
779
+ return 'yahoo';
780
+ case IdentityType$1.Email:
781
+ return 'email';
782
+ case IdentityType$1.FacebookCustomAudienceId:
783
+ return 'facebookcustomaudienceid';
784
+ case IdentityType$1.Other2:
785
+ return 'other2';
786
+ case IdentityType$1.Other3:
787
+ return 'other3';
788
+ case IdentityType$1.Other4:
789
+ return 'other4';
790
+ case IdentityType$1.Other5:
791
+ return 'other5';
792
+ case IdentityType$1.Other6:
793
+ return 'other6';
794
+ case IdentityType$1.Other7:
795
+ return 'other7';
796
+ case IdentityType$1.Other8:
797
+ return 'other8';
798
+ case IdentityType$1.Other9:
799
+ return 'other9';
800
+ case IdentityType$1.Other10:
801
+ return 'other10';
802
+ case IdentityType$1.MobileNumber:
803
+ return 'mobile_number';
804
+ case IdentityType$1.PhoneNumber2:
805
+ return 'phone_number_2';
806
+ case IdentityType$1.PhoneNumber3:
807
+ return 'phone_number_3';
808
+ default:
809
+ return null;
810
+ }
1210
811
  }
1211
- var generateRandomValue = function generateRandomValue(value) {
1212
- var randomValue;
1213
- var a;
1214
- if (window.crypto && window.crypto.getRandomValues) {
1215
- // @ts-ignore
1216
- randomValue = window.crypto.getRandomValues(new Uint8Array(1)); // eslint-disable-line no-undef
1217
- }
1218
812
 
1219
- if (randomValue) {
1220
- // @ts-ignore
1221
- return (a ^ randomValue[0] % 16 >> a / 4).toString(16);
1222
- }
1223
- return (a ^ Math.random() * 16 >> a / 4).toString(16);
813
+ var _TriggerUploadType;
814
+ var MessageType$1 = {
815
+ SessionStart: 1,
816
+ SessionEnd: 2,
817
+ PageView: 3,
818
+ PageEvent: 4,
819
+ CrashReport: 5,
820
+ OptOut: 6,
821
+ AppStateTransition: 10,
822
+ Profile: 14,
823
+ Commerce: 16,
824
+ Media: 20,
825
+ UserAttributeChange: 17,
826
+ UserIdentityChange: 18
1224
827
  };
1225
- var generateUniqueId = function generateUniqueId(a) {
1226
- // https://gist.github.com/jed/982883
1227
- // Added support for crypto for better random
1228
- if (a === void 0) {
1229
- a = '';
828
+
829
+ // Dictionary that contains MessageTypes that will
830
+ // trigger an immediate upload.
831
+ var TriggerUploadType = (_TriggerUploadType = {}, _defineProperty(_TriggerUploadType, MessageType$1.Commerce, 1), _defineProperty(_TriggerUploadType, MessageType$1.UserIdentityChange, 1), _TriggerUploadType);
832
+ var EventType = {
833
+ Unknown: 0,
834
+ Navigation: 1,
835
+ Location: 2,
836
+ Search: 3,
837
+ Transaction: 4,
838
+ UserContent: 5,
839
+ UserPreference: 6,
840
+ Social: 7,
841
+ Other: 8,
842
+ Media: 9,
843
+ getName: function getName(id) {
844
+ switch (id) {
845
+ case EventType.Unknown:
846
+ return 'Unknown';
847
+ case EventType.Navigation:
848
+ return 'Navigation';
849
+ case EventType.Location:
850
+ return 'Location';
851
+ case EventType.Search:
852
+ return 'Search';
853
+ case EventType.Transaction:
854
+ return 'Transaction';
855
+ case EventType.UserContent:
856
+ return 'User Content';
857
+ case EventType.UserPreference:
858
+ return 'User Preference';
859
+ case EventType.Social:
860
+ return 'Social';
861
+ case CommerceEventType.ProductAddToCart:
862
+ return 'Product Added to Cart';
863
+ case CommerceEventType.ProductAddToWishlist:
864
+ return 'Product Added to Wishlist';
865
+ case CommerceEventType.ProductCheckout:
866
+ return 'Product Checkout';
867
+ case CommerceEventType.ProductCheckoutOption:
868
+ return 'Product Checkout Options';
869
+ case CommerceEventType.ProductClick:
870
+ return 'Product Click';
871
+ case CommerceEventType.ProductImpression:
872
+ return 'Product Impression';
873
+ case CommerceEventType.ProductPurchase:
874
+ return 'Product Purchased';
875
+ case CommerceEventType.ProductRefund:
876
+ return 'Product Refunded';
877
+ case CommerceEventType.ProductRemoveFromCart:
878
+ return 'Product Removed From Cart';
879
+ case CommerceEventType.ProductRemoveFromWishlist:
880
+ return 'Product Removed from Wishlist';
881
+ case CommerceEventType.ProductViewDetail:
882
+ return 'Product View Details';
883
+ case CommerceEventType.PromotionClick:
884
+ return 'Promotion Click';
885
+ case CommerceEventType.PromotionView:
886
+ return 'Promotion View';
887
+ default:
888
+ return 'Other';
889
+ }
1230
890
  }
1231
- return a // if the placeholder was passed, return
1232
- ? generateRandomValue() // if the placeholder was passed, return
1233
- :
1234
- // [1e7] -> // 10000000 +
1235
- // -1e3 -> // -1000 +
1236
- // -4e3 -> // -4000 +
1237
- // -8e3 -> // -80000000 +
1238
- // -1e11 -> //-100000000000,
1239
- "".concat(1e7, "-").concat(1e3, "-").concat(4e3, "-").concat(8e3, "-").concat(1e11).replace(/[018]/g,
1240
- // zeroes, ones, and eights with
1241
- generateUniqueId // random hex digits
1242
- );
1243
891
  };
1244
- /**
1245
- * Returns a value between 1-100 inclusive.
1246
- */
1247
- var getRampNumber = function getRampNumber(value) {
1248
- if (!value) {
1249
- return 100;
1250
- }
1251
- var hash = generateHash(value);
1252
- return Math.abs(hash % 100) + 1;
892
+
893
+ // Continuation of enum above, but in seperate object since we don't expose these to end user
894
+ var CommerceEventType = {
895
+ ProductAddToCart: 10,
896
+ ProductRemoveFromCart: 11,
897
+ ProductCheckout: 12,
898
+ ProductCheckoutOption: 13,
899
+ ProductClick: 14,
900
+ ProductViewDetail: 15,
901
+ ProductPurchase: 16,
902
+ ProductRefund: 17,
903
+ PromotionView: 18,
904
+ PromotionClick: 19,
905
+ ProductAddToWishlist: 20,
906
+ ProductRemoveFromWishlist: 21,
907
+ ProductImpression: 22
1253
908
  };
1254
- var isObject = function isObject(value) {
1255
- var objType = Object.prototype.toString.call(value);
1256
- return objType === '[object Object]' || objType === '[object Error]';
909
+ var IdentityType = {
910
+ Other: 0,
911
+ CustomerId: 1,
912
+ Facebook: 2,
913
+ Twitter: 3,
914
+ Google: 4,
915
+ Microsoft: 5,
916
+ Yahoo: 6,
917
+ Email: 7,
918
+ FacebookCustomAudienceId: 9,
919
+ Other2: 10,
920
+ Other3: 11,
921
+ Other4: 12,
922
+ Other5: 13,
923
+ Other6: 14,
924
+ Other7: 15,
925
+ Other8: 16,
926
+ Other9: 17,
927
+ Other10: 18,
928
+ MobileNumber: 19,
929
+ PhoneNumber2: 20,
930
+ PhoneNumber3: 21
1257
931
  };
1258
- var parseNumber = function parseNumber(value) {
1259
- if (isNaN(value) || !isFinite(value)) {
1260
- return 0;
932
+ IdentityType.isValid = function (identityType) {
933
+ if (typeof identityType === 'number') {
934
+ for (var prop in IdentityType) {
935
+ if (IdentityType.hasOwnProperty(prop)) {
936
+ if (IdentityType[prop] === identityType) {
937
+ return true;
938
+ }
939
+ }
940
+ }
1261
941
  }
1262
- var floatValue = parseFloat(value);
1263
- return isNaN(floatValue) ? 0 : floatValue;
942
+ return false;
1264
943
  };
1265
- var parseStringOrNumber = function parseStringOrNumber(value) {
1266
- if (isStringOrNumber(value)) {
1267
- return value;
1268
- } else {
1269
- return null;
944
+ IdentityType.getName = function (identityType) {
945
+ switch (identityType) {
946
+ case window.mParticle.IdentityType.CustomerId:
947
+ return 'Customer ID';
948
+ case window.mParticle.IdentityType.Facebook:
949
+ return 'Facebook ID';
950
+ case window.mParticle.IdentityType.Twitter:
951
+ return 'Twitter ID';
952
+ case window.mParticle.IdentityType.Google:
953
+ return 'Google ID';
954
+ case window.mParticle.IdentityType.Microsoft:
955
+ return 'Microsoft ID';
956
+ case window.mParticle.IdentityType.Yahoo:
957
+ return 'Yahoo ID';
958
+ case window.mParticle.IdentityType.Email:
959
+ return 'Email';
960
+ case window.mParticle.IdentityType.FacebookCustomAudienceId:
961
+ return 'Facebook App User ID';
962
+ default:
963
+ return 'Other ID';
1270
964
  }
1271
965
  };
1272
- var replaceCommasWithPipes = function replaceCommasWithPipes(value) {
1273
- return value.replace(/,/g, '|');
1274
- };
1275
- var replacePipesWithCommas = function replacePipesWithCommas(value) {
1276
- return value.replace(/\|/g, ',');
1277
- };
1278
- var replaceApostrophesWithQuotes = function replaceApostrophesWithQuotes(value) {
1279
- return value.replace(/\'/g, '"');
1280
- };
1281
- var replaceQuotesWithApostrophes = function replaceQuotesWithApostrophes(value) {
1282
- return value.replace(/\"/g, "'");
1283
- };
1284
- // FIXME: REFACTOR for V3
1285
- // only used in store.js to sanitize server-side formatting of
1286
- // booleans when checking for `isDevelopmentMode`
1287
- // Should be removed in v3
1288
- var returnConvertedBoolean = function returnConvertedBoolean(data) {
1289
- if (data === 'false' || data === '0') {
1290
- return false;
1291
- } else {
1292
- return Boolean(data);
966
+ IdentityType.getIdentityType = function (identityName) {
967
+ switch (identityName) {
968
+ case 'other':
969
+ return IdentityType.Other;
970
+ case 'customerid':
971
+ return IdentityType.CustomerId;
972
+ case 'facebook':
973
+ return IdentityType.Facebook;
974
+ case 'twitter':
975
+ return IdentityType.Twitter;
976
+ case 'google':
977
+ return IdentityType.Google;
978
+ case 'microsoft':
979
+ return IdentityType.Microsoft;
980
+ case 'yahoo':
981
+ return IdentityType.Yahoo;
982
+ case 'email':
983
+ return IdentityType.Email;
984
+ case 'facebookcustomaudienceid':
985
+ return IdentityType.FacebookCustomAudienceId;
986
+ case 'other2':
987
+ return IdentityType.Other2;
988
+ case 'other3':
989
+ return IdentityType.Other3;
990
+ case 'other4':
991
+ return IdentityType.Other4;
992
+ case 'other5':
993
+ return IdentityType.Other5;
994
+ case 'other6':
995
+ return IdentityType.Other6;
996
+ case 'other7':
997
+ return IdentityType.Other7;
998
+ case 'other8':
999
+ return IdentityType.Other8;
1000
+ case 'other9':
1001
+ return IdentityType.Other9;
1002
+ case 'other10':
1003
+ return IdentityType.Other10;
1004
+ case 'mobile_number':
1005
+ return IdentityType.MobileNumber;
1006
+ case 'phone_number_2':
1007
+ return IdentityType.PhoneNumber2;
1008
+ case 'phone_number_3':
1009
+ return IdentityType.PhoneNumber3;
1010
+ default:
1011
+ return false;
1293
1012
  }
1294
1013
  };
1295
- var decoded = function decoded(s) {
1296
- return decodeURIComponent(s.replace(/\+/g, ' '));
1014
+ IdentityType.getIdentityName = function (identityType) {
1015
+ return getIdentityName(identityType);
1297
1016
  };
1298
- var converted = function converted(s) {
1299
- if (s.indexOf('"') === 0) {
1300
- s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
1301
- }
1302
- return s;
1017
+ var ProductActionType = {
1018
+ Unknown: 0,
1019
+ AddToCart: 1,
1020
+ RemoveFromCart: 2,
1021
+ Checkout: 3,
1022
+ CheckoutOption: 4,
1023
+ Click: 5,
1024
+ ViewDetail: 6,
1025
+ Purchase: 7,
1026
+ Refund: 8,
1027
+ AddToWishlist: 9,
1028
+ RemoveFromWishlist: 10
1303
1029
  };
1304
- var isString = function isString(value) {
1305
- return typeof value === 'string';
1030
+ ProductActionType.getName = function (id) {
1031
+ switch (id) {
1032
+ case ProductActionType.AddToCart:
1033
+ return 'Add to Cart';
1034
+ case ProductActionType.RemoveFromCart:
1035
+ return 'Remove from Cart';
1036
+ case ProductActionType.Checkout:
1037
+ return 'Checkout';
1038
+ case ProductActionType.CheckoutOption:
1039
+ return 'Checkout Option';
1040
+ case ProductActionType.Click:
1041
+ return 'Click';
1042
+ case ProductActionType.ViewDetail:
1043
+ return 'View Detail';
1044
+ case ProductActionType.Purchase:
1045
+ return 'Purchase';
1046
+ case ProductActionType.Refund:
1047
+ return 'Refund';
1048
+ case ProductActionType.AddToWishlist:
1049
+ return 'Add to Wishlist';
1050
+ case ProductActionType.RemoveFromWishlist:
1051
+ return 'Remove from Wishlist';
1052
+ default:
1053
+ return 'Unknown';
1054
+ }
1306
1055
  };
1307
- var isNumber = function isNumber(value) {
1308
- return typeof value === 'number';
1056
+
1057
+ // these are the action names used by server and mobile SDKs when expanding a CommerceEvent
1058
+ ProductActionType.getExpansionName = function (id) {
1059
+ switch (id) {
1060
+ case ProductActionType.AddToCart:
1061
+ return 'add_to_cart';
1062
+ case ProductActionType.RemoveFromCart:
1063
+ return 'remove_from_cart';
1064
+ case ProductActionType.Checkout:
1065
+ return 'checkout';
1066
+ case ProductActionType.CheckoutOption:
1067
+ return 'checkout_option';
1068
+ case ProductActionType.Click:
1069
+ return 'click';
1070
+ case ProductActionType.ViewDetail:
1071
+ return 'view_detail';
1072
+ case ProductActionType.Purchase:
1073
+ return 'purchase';
1074
+ case ProductActionType.Refund:
1075
+ return 'refund';
1076
+ case ProductActionType.AddToWishlist:
1077
+ return 'add_to_wishlist';
1078
+ case ProductActionType.RemoveFromWishlist:
1079
+ return 'remove_from_wishlist';
1080
+ default:
1081
+ return 'unknown';
1082
+ }
1309
1083
  };
1310
- var isBoolean = function isBoolean(value) {
1311
- return typeof value === 'boolean';
1084
+ var PromotionActionType = {
1085
+ Unknown: 0,
1086
+ PromotionView: 1,
1087
+ PromotionClick: 2
1312
1088
  };
1313
- var isFunction = function isFunction(fn) {
1314
- return typeof fn === 'function';
1089
+ PromotionActionType.getName = function (id) {
1090
+ switch (id) {
1091
+ case PromotionActionType.PromotionView:
1092
+ return 'view';
1093
+ case PromotionActionType.PromotionClick:
1094
+ return 'click';
1095
+ default:
1096
+ return 'unknown';
1097
+ }
1315
1098
  };
1316
- var isValidCustomFlagProperty = function isValidCustomFlagProperty(value) {
1317
- return isNumber(value) || isString(value) || isBoolean(value);
1099
+
1100
+ // these are the names that the server and mobile SDKs use while expanding CommerceEvent
1101
+ PromotionActionType.getExpansionName = function (id) {
1102
+ switch (id) {
1103
+ case PromotionActionType.PromotionView:
1104
+ return 'view';
1105
+ case PromotionActionType.PromotionClick:
1106
+ return 'click';
1107
+ default:
1108
+ return 'unknown';
1109
+ }
1318
1110
  };
1319
- var toDataPlanSlug = function toDataPlanSlug(value) {
1320
- // Make sure we are only acting on strings or numbers
1321
- return isStringOrNumber(value) ? value.toString().toLowerCase().replace(/[^0-9a-zA-Z]+/g, '_') : '';
1111
+ var ProfileMessageType = {
1112
+ Logout: 3
1322
1113
  };
1323
- var isDataPlanSlug = function isDataPlanSlug(str) {
1324
- return str === toDataPlanSlug(str);
1114
+ var ApplicationTransitionType$1 = {
1115
+ AppInit: 1
1325
1116
  };
1326
- var isStringOrNumber = function isStringOrNumber(value) {
1327
- return isString(value) || isNumber(value);
1117
+ var Environment = {
1118
+ Production: 'production',
1119
+ Development: 'development'
1328
1120
  };
1329
- var isEmpty = function isEmpty(value) {
1330
- return value == null || !(Object.keys(value) || value).length;
1121
+ var Types = {
1122
+ MessageType: MessageType$1,
1123
+ EventType: EventType,
1124
+ CommerceEventType: CommerceEventType,
1125
+ IdentityType: IdentityType,
1126
+ ProfileMessageType: ProfileMessageType,
1127
+ ApplicationTransitionType: ApplicationTransitionType$1,
1128
+ ProductActionType: ProductActionType,
1129
+ PromotionActionType: PromotionActionType,
1130
+ TriggerUploadType: TriggerUploadType,
1131
+ Environment: Environment
1331
1132
  };
1332
1133
 
1134
+ var SDKProductActionType;
1135
+ (function (SDKProductActionType) {
1136
+ SDKProductActionType[SDKProductActionType["Unknown"] = 0] = "Unknown";
1137
+ SDKProductActionType[SDKProductActionType["AddToCart"] = 1] = "AddToCart";
1138
+ SDKProductActionType[SDKProductActionType["RemoveFromCart"] = 2] = "RemoveFromCart";
1139
+ SDKProductActionType[SDKProductActionType["Checkout"] = 3] = "Checkout";
1140
+ SDKProductActionType[SDKProductActionType["CheckoutOption"] = 4] = "CheckoutOption";
1141
+ SDKProductActionType[SDKProductActionType["Click"] = 5] = "Click";
1142
+ SDKProductActionType[SDKProductActionType["ViewDetail"] = 6] = "ViewDetail";
1143
+ SDKProductActionType[SDKProductActionType["Purchase"] = 7] = "Purchase";
1144
+ SDKProductActionType[SDKProductActionType["Refund"] = 8] = "Refund";
1145
+ SDKProductActionType[SDKProductActionType["AddToWishlist"] = 9] = "AddToWishlist";
1146
+ SDKProductActionType[SDKProductActionType["RemoveFromWishlist"] = 10] = "RemoveFromWishlist";
1147
+ })(SDKProductActionType || (SDKProductActionType = {}));
1148
+ var SDKIdentityTypeEnum;
1149
+ (function (SDKIdentityTypeEnum) {
1150
+ SDKIdentityTypeEnum["other"] = "other";
1151
+ SDKIdentityTypeEnum["customerId"] = "customerid";
1152
+ SDKIdentityTypeEnum["facebook"] = "facebook";
1153
+ SDKIdentityTypeEnum["twitter"] = "twitter";
1154
+ SDKIdentityTypeEnum["google"] = "google";
1155
+ SDKIdentityTypeEnum["microsoft"] = "microsoft";
1156
+ SDKIdentityTypeEnum["yahoo"] = "yahoo";
1157
+ SDKIdentityTypeEnum["email"] = "email";
1158
+ SDKIdentityTypeEnum["alias"] = "alias";
1159
+ SDKIdentityTypeEnum["facebookCustomAudienceId"] = "facebookcustomaudienceid";
1160
+ SDKIdentityTypeEnum["otherId2"] = "other2";
1161
+ SDKIdentityTypeEnum["otherId3"] = "other3";
1162
+ SDKIdentityTypeEnum["otherId4"] = "other4";
1163
+ SDKIdentityTypeEnum["otherId5"] = "other5";
1164
+ SDKIdentityTypeEnum["otherId6"] = "other6";
1165
+ SDKIdentityTypeEnum["otherId7"] = "other7";
1166
+ SDKIdentityTypeEnum["otherId8"] = "other8";
1167
+ SDKIdentityTypeEnum["otherId9"] = "other9";
1168
+ SDKIdentityTypeEnum["otherId10"] = "other10";
1169
+ SDKIdentityTypeEnum["mobileNumber"] = "mobile_number";
1170
+ SDKIdentityTypeEnum["phoneNumber2"] = "phone_number_2";
1171
+ SDKIdentityTypeEnum["phoneNumber3"] = "phone_number_3";
1172
+ })(SDKIdentityTypeEnum || (SDKIdentityTypeEnum = {}));
1173
+
1174
+ var dist = {};
1175
+
1176
+ (function (exports) {
1177
+ Object.defineProperty(exports, "__esModule", { value: true });
1178
+ (function (ApplicationInformationOsEnum) {
1179
+ ApplicationInformationOsEnum["unknown"] = "Unknown";
1180
+ ApplicationInformationOsEnum["iOS"] = "IOS";
1181
+ ApplicationInformationOsEnum["android"] = "Android";
1182
+ ApplicationInformationOsEnum["windowsPhone"] = "WindowsPhone";
1183
+ ApplicationInformationOsEnum["mobileWeb"] = "MobileWeb";
1184
+ ApplicationInformationOsEnum["unityIOS"] = "UnityIOS";
1185
+ ApplicationInformationOsEnum["unityAndroid"] = "UnityAndroid";
1186
+ ApplicationInformationOsEnum["desktop"] = "Desktop";
1187
+ ApplicationInformationOsEnum["tvOS"] = "TVOS";
1188
+ ApplicationInformationOsEnum["roku"] = "Roku";
1189
+ ApplicationInformationOsEnum["outOfBand"] = "OutOfBand";
1190
+ ApplicationInformationOsEnum["alexa"] = "Alexa";
1191
+ ApplicationInformationOsEnum["smartTV"] = "SmartTV";
1192
+ ApplicationInformationOsEnum["fireTV"] = "FireTV";
1193
+ ApplicationInformationOsEnum["xbox"] = "Xbox";
1194
+ })(exports.ApplicationInformationOsEnum || (exports.ApplicationInformationOsEnum = {}));
1195
+ (function (ApplicationStateTransitionEventEventTypeEnum) {
1196
+ ApplicationStateTransitionEventEventTypeEnum["applicationStateTransition"] = "application_state_transition";
1197
+ })(exports.ApplicationStateTransitionEventEventTypeEnum || (exports.ApplicationStateTransitionEventEventTypeEnum = {}));
1198
+ (function (ApplicationStateTransitionEventDataApplicationTransitionTypeEnum) {
1199
+ ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationInitialized"] = "application_initialized";
1200
+ ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationExit"] = "application_exit";
1201
+ ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationBackground"] = "application_background";
1202
+ ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationForeground"] = "application_foreground";
1203
+ })(exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum || (exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum = {}));
1204
+ (function (BatchEnvironmentEnum) {
1205
+ BatchEnvironmentEnum["unknown"] = "unknown";
1206
+ BatchEnvironmentEnum["development"] = "development";
1207
+ BatchEnvironmentEnum["production"] = "production";
1208
+ })(exports.BatchEnvironmentEnum || (exports.BatchEnvironmentEnum = {}));
1209
+ (function (BreadcrumbEventEventTypeEnum) {
1210
+ BreadcrumbEventEventTypeEnum["breadcrumb"] = "breadcrumb";
1211
+ })(exports.BreadcrumbEventEventTypeEnum || (exports.BreadcrumbEventEventTypeEnum = {}));
1212
+ (function (CommerceEventEventTypeEnum) {
1213
+ CommerceEventEventTypeEnum["commerceEvent"] = "commerce_event";
1214
+ })(exports.CommerceEventEventTypeEnum || (exports.CommerceEventEventTypeEnum = {}));
1215
+ (function (CommerceEventDataCustomEventTypeEnum) {
1216
+ CommerceEventDataCustomEventTypeEnum["addToCart"] = "add_to_cart";
1217
+ CommerceEventDataCustomEventTypeEnum["removeFromCart"] = "remove_from_cart";
1218
+ CommerceEventDataCustomEventTypeEnum["checkout"] = "checkout";
1219
+ CommerceEventDataCustomEventTypeEnum["checkoutOption"] = "checkout_option";
1220
+ CommerceEventDataCustomEventTypeEnum["click"] = "click";
1221
+ CommerceEventDataCustomEventTypeEnum["viewDetail"] = "view_detail";
1222
+ CommerceEventDataCustomEventTypeEnum["purchase"] = "purchase";
1223
+ CommerceEventDataCustomEventTypeEnum["refund"] = "refund";
1224
+ CommerceEventDataCustomEventTypeEnum["promotionView"] = "promotion_view";
1225
+ CommerceEventDataCustomEventTypeEnum["promotionClick"] = "promotion_click";
1226
+ CommerceEventDataCustomEventTypeEnum["addToWishlist"] = "add_to_wishlist";
1227
+ CommerceEventDataCustomEventTypeEnum["removeFromWishlist"] = "remove_from_wishlist";
1228
+ CommerceEventDataCustomEventTypeEnum["impression"] = "impression";
1229
+ })(exports.CommerceEventDataCustomEventTypeEnum || (exports.CommerceEventDataCustomEventTypeEnum = {}));
1230
+ (function (CrashReportEventEventTypeEnum) {
1231
+ CrashReportEventEventTypeEnum["crashReport"] = "crash_report";
1232
+ })(exports.CrashReportEventEventTypeEnum || (exports.CrashReportEventEventTypeEnum = {}));
1233
+ (function (CustomEventEventTypeEnum) {
1234
+ CustomEventEventTypeEnum["customEvent"] = "custom_event";
1235
+ })(exports.CustomEventEventTypeEnum || (exports.CustomEventEventTypeEnum = {}));
1236
+ (function (CustomEventDataCustomEventTypeEnum) {
1237
+ CustomEventDataCustomEventTypeEnum["navigation"] = "navigation";
1238
+ CustomEventDataCustomEventTypeEnum["location"] = "location";
1239
+ CustomEventDataCustomEventTypeEnum["search"] = "search";
1240
+ CustomEventDataCustomEventTypeEnum["transaction"] = "transaction";
1241
+ CustomEventDataCustomEventTypeEnum["userContent"] = "user_content";
1242
+ CustomEventDataCustomEventTypeEnum["userPreference"] = "user_preference";
1243
+ CustomEventDataCustomEventTypeEnum["social"] = "social";
1244
+ CustomEventDataCustomEventTypeEnum["media"] = "media";
1245
+ CustomEventDataCustomEventTypeEnum["other"] = "other";
1246
+ CustomEventDataCustomEventTypeEnum["unknown"] = "unknown";
1247
+ })(exports.CustomEventDataCustomEventTypeEnum || (exports.CustomEventDataCustomEventTypeEnum = {}));
1248
+ (function (DeviceCurrentStateDeviceOrientationEnum) {
1249
+ DeviceCurrentStateDeviceOrientationEnum["portrait"] = "portrait";
1250
+ DeviceCurrentStateDeviceOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
1251
+ DeviceCurrentStateDeviceOrientationEnum["landscape"] = "landscape";
1252
+ DeviceCurrentStateDeviceOrientationEnum["landscapeLeft"] = "LandscapeLeft";
1253
+ DeviceCurrentStateDeviceOrientationEnum["landscapeRight"] = "LandscapeRight";
1254
+ DeviceCurrentStateDeviceOrientationEnum["faceUp"] = "FaceUp";
1255
+ DeviceCurrentStateDeviceOrientationEnum["faceDown"] = "FaceDown";
1256
+ DeviceCurrentStateDeviceOrientationEnum["square"] = "Square";
1257
+ })(exports.DeviceCurrentStateDeviceOrientationEnum || (exports.DeviceCurrentStateDeviceOrientationEnum = {}));
1258
+ (function (DeviceCurrentStateStatusBarOrientationEnum) {
1259
+ DeviceCurrentStateStatusBarOrientationEnum["portrait"] = "portrait";
1260
+ DeviceCurrentStateStatusBarOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
1261
+ DeviceCurrentStateStatusBarOrientationEnum["landscape"] = "landscape";
1262
+ DeviceCurrentStateStatusBarOrientationEnum["landscapeLeft"] = "LandscapeLeft";
1263
+ DeviceCurrentStateStatusBarOrientationEnum["landscapeRight"] = "LandscapeRight";
1264
+ DeviceCurrentStateStatusBarOrientationEnum["faceUp"] = "FaceUp";
1265
+ DeviceCurrentStateStatusBarOrientationEnum["faceDown"] = "FaceDown";
1266
+ DeviceCurrentStateStatusBarOrientationEnum["square"] = "Square";
1267
+ })(exports.DeviceCurrentStateStatusBarOrientationEnum || (exports.DeviceCurrentStateStatusBarOrientationEnum = {}));
1268
+ (function (DeviceInformationPlatformEnum) {
1269
+ DeviceInformationPlatformEnum["iOS"] = "iOS";
1270
+ DeviceInformationPlatformEnum["android"] = "Android";
1271
+ DeviceInformationPlatformEnum["web"] = "web";
1272
+ DeviceInformationPlatformEnum["desktop"] = "desktop";
1273
+ DeviceInformationPlatformEnum["tvOS"] = "tvOS";
1274
+ DeviceInformationPlatformEnum["roku"] = "roku";
1275
+ DeviceInformationPlatformEnum["outOfBand"] = "out_of_band";
1276
+ DeviceInformationPlatformEnum["smartTV"] = "smart_tv";
1277
+ DeviceInformationPlatformEnum["xbox"] = "xbox";
1278
+ })(exports.DeviceInformationPlatformEnum || (exports.DeviceInformationPlatformEnum = {}));
1279
+ (function (EventTypeEnum) {
1280
+ EventTypeEnum["unknown"] = "unknown";
1281
+ EventTypeEnum["sessionStart"] = "session_start";
1282
+ EventTypeEnum["sessionEnd"] = "session_end";
1283
+ EventTypeEnum["screenView"] = "screen_view";
1284
+ EventTypeEnum["customEvent"] = "custom_event";
1285
+ EventTypeEnum["crashReport"] = "crash_report";
1286
+ EventTypeEnum["optOut"] = "opt_out";
1287
+ EventTypeEnum["firstRun"] = "first_run";
1288
+ EventTypeEnum["preAttribution"] = "pre_attribution";
1289
+ EventTypeEnum["pushRegistration"] = "push_registration";
1290
+ EventTypeEnum["applicationStateTransition"] = "application_state_transition";
1291
+ EventTypeEnum["pushMessage"] = "push_message";
1292
+ EventTypeEnum["networkPerformance"] = "network_performance";
1293
+ EventTypeEnum["breadcrumb"] = "breadcrumb";
1294
+ EventTypeEnum["profile"] = "profile";
1295
+ EventTypeEnum["pushReaction"] = "push_reaction";
1296
+ EventTypeEnum["commerceEvent"] = "commerce_event";
1297
+ EventTypeEnum["userAttributeChange"] = "user_attribute_change";
1298
+ EventTypeEnum["userIdentityChange"] = "user_identity_change";
1299
+ EventTypeEnum["uninstall"] = "uninstall";
1300
+ EventTypeEnum["validationResult"] = "validation_result";
1301
+ })(exports.EventTypeEnum || (exports.EventTypeEnum = {}));
1302
+ (function (IdentityTypeEnum) {
1303
+ IdentityTypeEnum["other"] = "other";
1304
+ IdentityTypeEnum["customerId"] = "customer_id";
1305
+ IdentityTypeEnum["facebook"] = "facebook";
1306
+ IdentityTypeEnum["twitter"] = "twitter";
1307
+ IdentityTypeEnum["google"] = "google";
1308
+ IdentityTypeEnum["microsoft"] = "microsoft";
1309
+ IdentityTypeEnum["yahoo"] = "yahoo";
1310
+ IdentityTypeEnum["email"] = "email";
1311
+ IdentityTypeEnum["alias"] = "alias";
1312
+ IdentityTypeEnum["facebookCustomAudienceId"] = "facebook_custom_audience_id";
1313
+ IdentityTypeEnum["otherId2"] = "other_id_2";
1314
+ IdentityTypeEnum["otherId3"] = "other_id_3";
1315
+ IdentityTypeEnum["otherId4"] = "other_id_4";
1316
+ IdentityTypeEnum["otherId5"] = "other_id_5";
1317
+ IdentityTypeEnum["otherId6"] = "other_id_6";
1318
+ IdentityTypeEnum["otherId7"] = "other_id_7";
1319
+ IdentityTypeEnum["otherId8"] = "other_id_8";
1320
+ IdentityTypeEnum["otherId9"] = "other_id_9";
1321
+ IdentityTypeEnum["otherId10"] = "other_id_10";
1322
+ IdentityTypeEnum["mobileNumber"] = "mobile_number";
1323
+ IdentityTypeEnum["phoneNumber2"] = "phone_number_2";
1324
+ IdentityTypeEnum["phoneNumber3"] = "phone_number_3";
1325
+ })(exports.IdentityTypeEnum || (exports.IdentityTypeEnum = {}));
1326
+ (function (NetworkPerformanceEventEventTypeEnum) {
1327
+ NetworkPerformanceEventEventTypeEnum["networkPerformance"] = "network_performance";
1328
+ })(exports.NetworkPerformanceEventEventTypeEnum || (exports.NetworkPerformanceEventEventTypeEnum = {}));
1329
+ (function (OptOutEventEnum) {
1330
+ OptOutEventEnum["optOut"] = "opt_out";
1331
+ })(exports.OptOutEventEnum || (exports.OptOutEventEnum = {}));
1332
+ (function (ProductActionActionEnum) {
1333
+ ProductActionActionEnum["unknown"] = "unknown";
1334
+ ProductActionActionEnum["addToCart"] = "add_to_cart";
1335
+ ProductActionActionEnum["removeFromCart"] = "remove_from_cart";
1336
+ ProductActionActionEnum["checkout"] = "checkout";
1337
+ ProductActionActionEnum["checkoutOption"] = "checkout_option";
1338
+ ProductActionActionEnum["click"] = "click";
1339
+ ProductActionActionEnum["viewDetail"] = "view_detail";
1340
+ ProductActionActionEnum["purchase"] = "purchase";
1341
+ ProductActionActionEnum["refund"] = "refund";
1342
+ ProductActionActionEnum["addToWishlist"] = "add_to_wishlist";
1343
+ ProductActionActionEnum["removeFromWishlist"] = "remove_from_wish_list";
1344
+ })(exports.ProductActionActionEnum || (exports.ProductActionActionEnum = {}));
1345
+ (function (ProfileEventEventTypeEnum) {
1346
+ ProfileEventEventTypeEnum["profile"] = "profile";
1347
+ })(exports.ProfileEventEventTypeEnum || (exports.ProfileEventEventTypeEnum = {}));
1348
+ (function (ProfileEventDataProfileEventTypeEnum) {
1349
+ ProfileEventDataProfileEventTypeEnum["signup"] = "signup";
1350
+ ProfileEventDataProfileEventTypeEnum["login"] = "login";
1351
+ ProfileEventDataProfileEventTypeEnum["logout"] = "logout";
1352
+ ProfileEventDataProfileEventTypeEnum["update"] = "update";
1353
+ ProfileEventDataProfileEventTypeEnum["delete"] = "delete";
1354
+ })(exports.ProfileEventDataProfileEventTypeEnum || (exports.ProfileEventDataProfileEventTypeEnum = {}));
1355
+ (function (PromotionActionActionEnum) {
1356
+ PromotionActionActionEnum["view"] = "view";
1357
+ PromotionActionActionEnum["click"] = "click";
1358
+ })(exports.PromotionActionActionEnum || (exports.PromotionActionActionEnum = {}));
1359
+ (function (PushMessageEventEventTypeEnum) {
1360
+ PushMessageEventEventTypeEnum["pushMessage"] = "push_message";
1361
+ })(exports.PushMessageEventEventTypeEnum || (exports.PushMessageEventEventTypeEnum = {}));
1362
+ (function (PushMessageEventDataPushMessageTypeEnum) {
1363
+ PushMessageEventDataPushMessageTypeEnum["sent"] = "sent";
1364
+ PushMessageEventDataPushMessageTypeEnum["received"] = "received";
1365
+ PushMessageEventDataPushMessageTypeEnum["action"] = "action";
1366
+ })(exports.PushMessageEventDataPushMessageTypeEnum || (exports.PushMessageEventDataPushMessageTypeEnum = {}));
1367
+ (function (PushMessageEventDataApplicationStateEnum) {
1368
+ PushMessageEventDataApplicationStateEnum["notRunning"] = "not_running";
1369
+ PushMessageEventDataApplicationStateEnum["background"] = "background";
1370
+ PushMessageEventDataApplicationStateEnum["foreground"] = "foreground";
1371
+ })(exports.PushMessageEventDataApplicationStateEnum || (exports.PushMessageEventDataApplicationStateEnum = {}));
1372
+ (function (PushMessageEventDataPushMessageBehaviorEnum) {
1373
+ PushMessageEventDataPushMessageBehaviorEnum["received"] = "Received";
1374
+ PushMessageEventDataPushMessageBehaviorEnum["directOpen"] = "DirectOpen";
1375
+ PushMessageEventDataPushMessageBehaviorEnum["read"] = "Read";
1376
+ PushMessageEventDataPushMessageBehaviorEnum["influencedOpen"] = "InfluencedOpen";
1377
+ PushMessageEventDataPushMessageBehaviorEnum["displayed"] = "Displayed";
1378
+ })(exports.PushMessageEventDataPushMessageBehaviorEnum || (exports.PushMessageEventDataPushMessageBehaviorEnum = {}));
1379
+ (function (PushRegistrationEventEventTypeEnum) {
1380
+ PushRegistrationEventEventTypeEnum["pushRegistration"] = "push_registration";
1381
+ })(exports.PushRegistrationEventEventTypeEnum || (exports.PushRegistrationEventEventTypeEnum = {}));
1382
+ (function (SessionEndEventEventTypeEnum) {
1383
+ SessionEndEventEventTypeEnum["sessionEnd"] = "session_end";
1384
+ })(exports.SessionEndEventEventTypeEnum || (exports.SessionEndEventEventTypeEnum = {}));
1385
+ (function (SessionStartEventEventTypeEnum) {
1386
+ SessionStartEventEventTypeEnum["sessionStart"] = "session_start";
1387
+ })(exports.SessionStartEventEventTypeEnum || (exports.SessionStartEventEventTypeEnum = {}));
1388
+ (function (SourceInformationChannelEnum) {
1389
+ SourceInformationChannelEnum["native"] = "native";
1390
+ SourceInformationChannelEnum["javascript"] = "javascript";
1391
+ SourceInformationChannelEnum["pixel"] = "pixel";
1392
+ SourceInformationChannelEnum["desktop"] = "desktop";
1393
+ SourceInformationChannelEnum["partner"] = "partner";
1394
+ SourceInformationChannelEnum["serverToServer"] = "server_to_server";
1395
+ })(exports.SourceInformationChannelEnum || (exports.SourceInformationChannelEnum = {}));
1396
+ (function (UserAttributeChangeEventEventTypeEnum) {
1397
+ UserAttributeChangeEventEventTypeEnum["userAttributeChange"] = "user_attribute_change";
1398
+ })(exports.UserAttributeChangeEventEventTypeEnum || (exports.UserAttributeChangeEventEventTypeEnum = {}));
1399
+ (function (UserIdentityChangeEventEventTypeEnum) {
1400
+ UserIdentityChangeEventEventTypeEnum["userIdentityChange"] = "user_identity_change";
1401
+ })(exports.UserIdentityChangeEventEventTypeEnum || (exports.UserIdentityChangeEventEventTypeEnum = {}));
1402
+ } (dist));
1403
+
1333
1404
  function convertEvents(mpid, sdkEvents, mpInstance) {
1334
1405
  if (!mpid) {
1335
1406
  return null;
@@ -4012,6 +4083,16 @@ var mParticle = (function () {
4012
4083
  _this.persistenceData.gs.das = deviceId;
4013
4084
  mpInstance._Persistence.update();
4014
4085
  };
4086
+ this.addMpidToSessionHistory = function (mpid, previousMPID) {
4087
+ var indexOfMPID = _this.currentSessionMPIDs.indexOf(mpid);
4088
+ if (mpid && previousMPID !== mpid && indexOfMPID < 0) {
4089
+ _this.currentSessionMPIDs.push(mpid);
4090
+ return;
4091
+ }
4092
+ if (indexOfMPID >= 0) {
4093
+ _this.currentSessionMPIDs = moveElementToEnd(_this.currentSessionMPIDs, indexOfMPID);
4094
+ }
4095
+ };
4015
4096
  this.getFirstSeenTime = function (mpid) {
4016
4097
  if (!mpid) {
4017
4098
  return null;
@@ -4949,6 +5030,16 @@ var mParticle = (function () {
4949
5030
  }
4950
5031
  }
4951
5032
  };
5033
+ this.swapCurrentUser = function (previousMPID, currentMPID, currentSessionMPIDs) {
5034
+ if (previousMPID && currentMPID && previousMPID !== currentMPID) {
5035
+ var persistence = self.getPersistence();
5036
+ if (persistence) {
5037
+ persistence.cu = currentMPID;
5038
+ persistence.gs.csm = currentSessionMPIDs;
5039
+ self.savePersistence(persistence);
5040
+ }
5041
+ }
5042
+ };
4952
5043
 
4953
5044
  // https://go.mparticle.com/work/SQDSDKS-6021
4954
5045
  this.savePersistence = function (persistence) {
@@ -5004,6 +5095,7 @@ var mParticle = (function () {
5004
5095
  if (!mpid) {
5005
5096
  return;
5006
5097
  }
5098
+ // https://go.mparticle.com/work/SQDSDKS-6329
5007
5099
  if (!time) {
5008
5100
  time = new Date().getTime();
5009
5101
  }
@@ -5043,6 +5135,7 @@ var mParticle = (function () {
5043
5135
  if (!mpid) {
5044
5136
  return;
5045
5137
  }
5138
+ // https://go.mparticle.com/work/SQDSDKS-6329
5046
5139
  if (!time) {
5047
5140
  time = new Date().getTime();
5048
5141
  }
@@ -5416,11 +5509,11 @@ var mParticle = (function () {
5416
5509
  };
5417
5510
  }
5418
5511
 
5419
- var _Constants$IdentityMe$1 = Constants.IdentityMethods,
5420
- Modify$3 = _Constants$IdentityMe$1.Modify,
5421
- Identify$2 = _Constants$IdentityMe$1.Identify,
5422
- Login$2 = _Constants$IdentityMe$1.Login,
5423
- Logout$2 = _Constants$IdentityMe$1.Logout;
5512
+ var _Constants$IdentityMe = Constants.IdentityMethods,
5513
+ Modify$3 = _Constants$IdentityMe.Modify,
5514
+ Identify$2 = _Constants$IdentityMe.Identify,
5515
+ Login$2 = _Constants$IdentityMe.Login,
5516
+ Logout$2 = _Constants$IdentityMe.Logout;
5424
5517
  function Forwarders(mpInstance, kitBlocker) {
5425
5518
  var self = this;
5426
5519
  var UserAttributeActionTypes = {
@@ -5894,7 +5987,7 @@ var mParticle = (function () {
5894
5987
  }
5895
5988
 
5896
5989
  // TODO: This file is no longer the server model because the web SDK payload
5897
- var MessageType$1 = Types.MessageType;
5990
+ var MessageType = Types.MessageType;
5898
5991
  var ApplicationTransitionType = Types.ApplicationTransitionType;
5899
5992
  // TODO: Make this a pure function that returns a new object
5900
5993
  function convertCustomFlags(event, dto) {
@@ -6077,7 +6170,7 @@ var mParticle = (function () {
6077
6170
  CurrencyCode: mpInstance._Store.currencyCode,
6078
6171
  DataPlan: mpInstance._Store.SDKConfig.dataPlan ? mpInstance._Store.SDKConfig.dataPlan : {}
6079
6172
  };
6080
- if (eventObject.EventDataType === MessageType$1.AppStateTransition) {
6173
+ if (eventObject.EventDataType === MessageType.AppStateTransition) {
6081
6174
  eventObject.IsFirstRun = mpInstance._Store.isFirstRun;
6082
6175
  eventObject.LaunchReferral = window.location.href || null;
6083
6176
  }
@@ -6137,7 +6230,7 @@ var mParticle = (function () {
6137
6230
  if (consent) {
6138
6231
  dto.con = consent;
6139
6232
  }
6140
- if (event.EventDataType === MessageType$1.AppStateTransition) {
6233
+ if (event.EventDataType === MessageType.AppStateTransition) {
6141
6234
  dto.fr = event.IsFirstRun;
6142
6235
  dto.iu = false;
6143
6236
  dto.at = ApplicationTransitionType.AppInit;
@@ -6149,7 +6242,7 @@ var mParticle = (function () {
6149
6242
  if (event.CustomFlags) {
6150
6243
  convertCustomFlags(event, dto);
6151
6244
  }
6152
- if (event.EventDataType === MessageType$1.Commerce) {
6245
+ if (event.EventDataType === MessageType.Commerce) {
6153
6246
  dto.cu = event.CurrencyCode;
6154
6247
  // TODO: If Cart is deprecated, we should deprecate this too
6155
6248
  if (event.ShoppingCart) {
@@ -6190,7 +6283,7 @@ var mParticle = (function () {
6190
6283
  };
6191
6284
  });
6192
6285
  }
6193
- } else if (event.EventDataType === MessageType$1.Profile) {
6286
+ } else if (event.EventDataType === MessageType.Profile) {
6194
6287
  dto.pet = event.ProfileMessageType;
6195
6288
  }
6196
6289
  return dto;
@@ -6449,29 +6542,29 @@ var mParticle = (function () {
6449
6542
  return AudienceManager;
6450
6543
  }();
6451
6544
 
6545
+ function didUserChange(previousUser, newUser) {
6546
+ return !previousUser || newUser.getMPID() !== previousUser.getMPID() || previousUser.isLoggedIn() !== newUser.isLoggedIn();
6547
+ }
6548
+
6452
6549
  var Messages$2 = Constants.Messages,
6453
6550
  HTTPCodes$2 = Constants.HTTPCodes,
6454
- FeatureFlags$1 = Constants.FeatureFlags;
6551
+ FeatureFlags$1 = Constants.FeatureFlags,
6552
+ IdentityMethods = Constants.IdentityMethods;
6455
6553
  var ErrorMessages = Messages$2.ErrorMessages;
6456
- var _Constants$IdentityMe = Constants.IdentityMethods,
6457
- Identify = _Constants$IdentityMe.Identify,
6458
- Modify$1 = _Constants$IdentityMe.Modify,
6459
- Login = _Constants$IdentityMe.Login,
6460
- Logout = _Constants$IdentityMe.Logout;
6554
+ var CacheIdentity = FeatureFlags$1.CacheIdentity;
6555
+ var Identify = IdentityMethods.Identify,
6556
+ Modify$1 = IdentityMethods.Modify,
6557
+ Login = IdentityMethods.Login,
6558
+ Logout = IdentityMethods.Logout;
6461
6559
  function Identity(mpInstance) {
6560
+ var _mpInstance$_Helpers = mpInstance._Helpers,
6561
+ getFeatureFlag = _mpInstance$_Helpers.getFeatureFlag,
6562
+ extend = _mpInstance$_Helpers.extend;
6462
6563
  var self = this;
6463
6564
  this.idCache = null;
6464
6565
  this.audienceManager = null;
6465
- this.checkIdentitySwap = function (previousMPID, currentMPID, currentSessionMPIDs) {
6466
- if (previousMPID && currentMPID && previousMPID !== currentMPID) {
6467
- var persistence = mpInstance._Persistence.getPersistence();
6468
- if (persistence) {
6469
- persistence.cu = currentMPID;
6470
- persistence.gs.csm = currentSessionMPIDs;
6471
- mpInstance._Persistence.savePersistence(persistence);
6472
- }
6473
- }
6474
- };
6566
+
6567
+ // https://go.mparticle.com/work/SQDSDKS-6353
6475
6568
  this.IdentityRequest = {
6476
6569
  preProcessIdentityRequest: function preProcessIdentityRequest(identityApiData, callback, method) {
6477
6570
  mpInstance.Logger.verbose(Messages$2.InformationMessages.StartingLogEvent + ': ' + method);
@@ -6528,7 +6621,7 @@ var mParticle = (function () {
6528
6621
  createIdentityChanges: function createIdentityChanges(previousIdentities, newIdentities) {
6529
6622
  var identityChanges = [];
6530
6623
  var key;
6531
- if (newIdentities && mpInstance._Helpers.isObject(newIdentities) && previousIdentities && mpInstance._Helpers.isObject(previousIdentities)) {
6624
+ if (newIdentities && isObject(newIdentities) && previousIdentities && isObject(previousIdentities)) {
6532
6625
  for (key in newIdentities) {
6533
6626
  identityChanges.push({
6534
6627
  old_value: previousIdentities[key] || null,
@@ -6542,7 +6635,7 @@ var mParticle = (function () {
6542
6635
  // takes 2 UI objects keyed by name, combines them, returns them keyed by type
6543
6636
  combineUserIdentities: function combineUserIdentities(previousUIByName, newUIByName) {
6544
6637
  var combinedUIByType = {};
6545
- var combinedUIByName = mpInstance._Helpers.extend(previousUIByName, newUIByName);
6638
+ var combinedUIByName = extend({}, previousUIByName, newUIByName);
6546
6639
  for (var key in combinedUIByName) {
6547
6640
  var type = Types.IdentityType.getIdentityType(key);
6548
6641
  // this check removes anything that is not whitelisted as an identity type
@@ -6607,6 +6700,7 @@ var mParticle = (function () {
6607
6700
  * @param {Function} [callback] A callback function that is called when the identify request completes
6608
6701
  */
6609
6702
  identify: function identify(identityApiData, callback) {
6703
+ // https://go.mparticle.com/work/SQDSDKS-6337
6610
6704
  var mpid,
6611
6705
  currentUser = mpInstance.Identity.getCurrentUser(),
6612
6706
  preProcessResult = mpInstance._Identity.IdentityRequest.preProcessIdentityRequest(identityApiData, callback, Identify);
@@ -6644,6 +6738,7 @@ var mParticle = (function () {
6644
6738
  * @param {Function} [callback] A callback function that is called when the logout request completes
6645
6739
  */
6646
6740
  logout: function logout(identityApiData, callback) {
6741
+ // https://go.mparticle.com/work/SQDSDKS-6337
6647
6742
  var mpid,
6648
6743
  currentUser = mpInstance.Identity.getCurrentUser(),
6649
6744
  preProcessResult = mpInstance._Identity.IdentityRequest.preProcessIdentityRequest(identityApiData, callback, Logout);
@@ -6687,6 +6782,7 @@ var mParticle = (function () {
6687
6782
  * @param {Function} [callback] A callback function that is called when the login request completes
6688
6783
  */
6689
6784
  login: function login(identityApiData, callback) {
6785
+ // https://go.mparticle.com/work/SQDSDKS-6337
6690
6786
  var mpid,
6691
6787
  currentUser = mpInstance.Identity.getCurrentUser(),
6692
6788
  preProcessResult = mpInstance._Identity.IdentityRequest.preProcessIdentityRequest(identityApiData, callback, Login);
@@ -6724,6 +6820,7 @@ var mParticle = (function () {
6724
6820
  * @param {Function} [callback] A callback function that is called when the modify request completes
6725
6821
  */
6726
6822
  modify: function modify(identityApiData, callback) {
6823
+ // https://go.mparticle.com/work/SQDSDKS-6337
6727
6824
  var mpid,
6728
6825
  currentUser = mpInstance.Identity.getCurrentUser(),
6729
6826
  preProcessResult = mpInstance._Identity.IdentityRequest.preProcessIdentityRequest(identityApiData, callback, Modify$1);
@@ -6905,6 +7002,7 @@ var mParticle = (function () {
6905
7002
  }
6906
7003
  };
6907
7004
 
7005
+ // https://go.mparticle.com/work/SQDSDKS-6354
6908
7006
  /**
6909
7007
  * Invoke these methods on the mParticle.Identity.getCurrentUser() object.
6910
7008
  * Example: mParticle.Identity.getCurrentUser().getAllUserAttributes()
@@ -7014,7 +7112,7 @@ var mParticle = (function () {
7014
7112
  */
7015
7113
  setUserAttributes: function setUserAttributes(userAttributes) {
7016
7114
  mpInstance._SessionManager.resetSessionTimer();
7017
- if (mpInstance._Helpers.isObject(userAttributes)) {
7115
+ if (isObject(userAttributes)) {
7018
7116
  if (mpInstance._Helpers.canLog()) {
7019
7117
  for (var key in userAttributes) {
7020
7118
  if (userAttributes.hasOwnProperty(key)) {
@@ -7354,64 +7452,51 @@ var mParticle = (function () {
7354
7452
  }
7355
7453
  };
7356
7454
  };
7455
+
7456
+ // https://go.mparticle.com/work/SQDSDKS-6355
7357
7457
  this.parseIdentityResponse = function (xhr, previousMPID, callback, identityApiData, method, knownIdentities, parsingCachedResponse) {
7358
- var prevUser = mpInstance.Identity.getUser(previousMPID),
7359
- newUser,
7360
- mpidIsNotInCookies,
7361
- identityApiResult,
7362
- indexOfMPID,
7363
- newIdentitiesByType = {},
7364
- previousUIByName = prevUser ? prevUser.getUserIdentities().userIdentities : {},
7365
- previousUIByNameCopy = mpInstance._Helpers.extend({}, previousUIByName);
7458
+ var prevUser = mpInstance.Identity.getUser(previousMPID);
7459
+ var prevUserMPID = prevUser ? prevUser.getMPID() : null;
7460
+ var previousUIByName = prevUser ? prevUser.getUserIdentities().userIdentities : {};
7461
+ var identityApiResult;
7462
+ var newUser;
7463
+ var newIdentitiesByType = {};
7366
7464
  mpInstance._Store.identityCallInFlight = false;
7367
7465
  try {
7466
+ var _identityApiResult;
7368
7467
  mpInstance.Logger.verbose('Parsing "' + method + '" identity response from server');
7369
- if (xhr.responseText) {
7370
- identityApiResult = JSON.parse(xhr.responseText);
7371
- if (identityApiResult.hasOwnProperty('is_logged_in')) {
7372
- mpInstance._Store.isLoggedIn = identityApiResult.is_logged_in;
7373
- }
7468
+ identityApiResult = xhr.responseText ? JSON.parse(xhr.responseText) : null;
7469
+ mpInstance._Store.isLoggedIn = ((_identityApiResult = identityApiResult) === null || _identityApiResult === void 0 ? void 0 : _identityApiResult.is_logged_in) || false;
7470
+ mpInstance._Store.mpid = identityApiResult.mpid;
7471
+ if (prevUser) {
7472
+ // https://go.mparticle.com/work/SQDSDKS-6329
7473
+ mpInstance._Persistence.setLastSeenTime(previousMPID);
7374
7474
  }
7475
+ var mpidIsNotInCookies = !mpInstance._Persistence.getFirstSeenTime(identityApiResult.mpid);
7375
7476
 
7376
- // set currentUser
7377
- if (!prevUser || prevUser.getMPID() && identityApiResult.mpid && identityApiResult.mpid !== prevUser.getMPID()) {
7378
- mpInstance._Store.mpid = identityApiResult.mpid;
7379
- if (prevUser) {
7380
- mpInstance._Persistence.setLastSeenTime(previousMPID);
7381
- }
7382
- if (!mpInstance._Persistence.getFirstSeenTime(identityApiResult.mpid)) mpidIsNotInCookies = true;
7383
- mpInstance._Persistence.setFirstSeenTime(identityApiResult.mpid);
7384
- }
7477
+ // https://go.mparticle.com/work/SQDSDKS-6329
7478
+ mpInstance._Persistence.setFirstSeenTime(identityApiResult.mpid);
7385
7479
  if (xhr.status === 200) {
7386
- if (mpInstance._Helpers.getFeatureFlag(Constants.FeatureFlags.CacheIdentity)) {
7480
+ if (getFeatureFlag(CacheIdentity)) {
7387
7481
  cacheOrClearIdCache(method, knownIdentities, self.idCache, xhr, parsingCachedResponse);
7388
7482
  }
7483
+ var incomingUser = self.IdentityAPI.getUser(identityApiResult.mpid);
7484
+ var incomingMpidUIByName = incomingUser ? incomingUser.getUserIdentities().userIdentities : {};
7389
7485
  if (method === Modify$1) {
7390
7486
  newIdentitiesByType = mpInstance._Identity.IdentityRequest.combineUserIdentities(previousUIByName, identityApiData.userIdentities);
7391
7487
  mpInstance._Persistence.saveUserIdentitiesToPersistence(previousMPID, newIdentitiesByType);
7392
7488
  } else {
7393
- var incomingUser = self.IdentityAPI.getUser(identityApiResult.mpid);
7394
- var incomingMpidUIByName = incomingUser ? incomingUser.getUserIdentities().userIdentities : {};
7395
- var incomingMpidUIByNameCopy = mpInstance._Helpers.extend({}, incomingMpidUIByName);
7396
- mpInstance.Logger.verbose('Successfully parsed Identity Response');
7397
-
7489
+ // https://go.mparticle.com/work/SQDSDKS-6356
7398
7490
  //this covers an edge case where, users stored before "firstSeenTime" was introduced
7399
7491
  //will not have a value for "fst" until the current MPID changes, and in some cases,
7400
7492
  //the current MPID will never change
7401
- if (method === Identify && prevUser && identityApiResult.mpid === prevUser.getMPID()) {
7493
+ if (method === Identify && prevUser && identityApiResult.mpid === prevUserMPID) {
7402
7494
  mpInstance._Persistence.setFirstSeenTime(identityApiResult.mpid);
7403
7495
  }
7404
- indexOfMPID = mpInstance._Store.currentSessionMPIDs.indexOf(identityApiResult.mpid);
7405
- if (mpInstance._Store.sessionId && identityApiResult.mpid && previousMPID !== identityApiResult.mpid && indexOfMPID < 0) {
7406
- mpInstance._Store.currentSessionMPIDs.push(identityApiResult.mpid);
7407
- }
7408
- if (indexOfMPID > -1) {
7409
- mpInstance._Store.currentSessionMPIDs = mpInstance._Store.currentSessionMPIDs.slice(0, indexOfMPID).concat(mpInstance._Store.currentSessionMPIDs.slice(indexOfMPID + 1, mpInstance._Store.currentSessionMPIDs.length));
7410
- mpInstance._Store.currentSessionMPIDs.push(identityApiResult.mpid);
7411
- }
7496
+ mpInstance._Store.addMpidToSessionHistory(identityApiResult.mpid, previousMPID);
7412
7497
  mpInstance._CookieSyncManager.attemptCookieSync(previousMPID, identityApiResult.mpid, mpidIsNotInCookies);
7413
- self.checkIdentitySwap(previousMPID, identityApiResult.mpid, mpInstance._Store.currentSessionMPIDs);
7414
- if (identityApiData && identityApiData.userIdentities && Object.keys(identityApiData.userIdentities).length) {
7498
+ mpInstance._Persistence.swapCurrentUser(previousMPID, identityApiResult.mpid, mpInstance._Store.currentSessionMPIDs);
7499
+ if (identityApiData && !isEmpty(identityApiData.userIdentities)) {
7415
7500
  newIdentitiesByType = self.IdentityRequest.combineUserIdentities(incomingMpidUIByName, identityApiData.userIdentities);
7416
7501
  }
7417
7502
 
@@ -7419,46 +7504,31 @@ var mParticle = (function () {
7419
7504
  mpInstance._Persistence.saveUserIdentitiesToPersistence(identityApiResult.mpid, newIdentitiesByType);
7420
7505
  mpInstance._Persistence.update();
7421
7506
  mpInstance._Persistence.findPrevCookiesBasedOnUI(identityApiData);
7507
+
7508
+ // https://go.mparticle.com/work/SQDSDKS-6357
7422
7509
  mpInstance._Store.context = identityApiResult.context || mpInstance._Store.context;
7423
7510
  }
7424
7511
  newUser = mpInstance.Identity.getCurrentUser();
7425
- if (identityApiData && identityApiData.onUserAlias && mpInstance._Helpers.Validators.isFunction(identityApiData.onUserAlias)) {
7426
- try {
7427
- mpInstance.Logger.warning('Deprecated function onUserAlias will be removed in future releases');
7428
- identityApiData.onUserAlias(prevUser, newUser);
7429
- } catch (e) {
7430
- mpInstance.Logger.error('There was an error with your onUserAlias function - ' + e);
7431
- }
7432
- }
7512
+
7513
+ // https://go.mparticle.com/work/SQDSDKS-6359
7514
+ tryOnUserAlias(prevUser, newUser, identityApiData, mpInstance.Logger);
7433
7515
  var persistence = mpInstance._Persistence.getPersistence();
7434
7516
  if (newUser) {
7435
7517
  mpInstance._Persistence.storeDataInMemory(persistence, newUser.getMPID());
7436
- if (!prevUser || newUser.getMPID() !== prevUser.getMPID() || prevUser.isLoggedIn() !== newUser.isLoggedIn()) {
7437
- mpInstance._Forwarders.initForwarders(newUser.getUserIdentities().userIdentities, mpInstance._APIClient.prepareForwardingStats);
7438
- }
7439
-
7440
- // TODO: https://go.mparticle.com/work/SQDSDKS-6036
7441
- mpInstance._Forwarders.setForwarderUserIdentities(newUser.getUserIdentities().userIdentities);
7442
- mpInstance._Forwarders.setForwarderOnIdentityComplete(newUser, method);
7443
- mpInstance._Forwarders.setForwarderOnUserIdentified(newUser);
7518
+ self.reinitForwardersOnUserChange(prevUser, newUser);
7519
+ self.setForwarderCallbacks(newUser, method);
7444
7520
  }
7445
- var newIdentitiesByName = {};
7446
- for (var key in newIdentitiesByType) {
7447
- newIdentitiesByName[Types.IdentityType.getIdentityName(mpInstance._Helpers.parseNumber(key))] = newIdentitiesByType[key];
7448
- }
7449
- self.sendUserIdentityChangeEvent(newIdentitiesByName, method, identityApiResult.mpid, method === Modify$1 ? previousUIByNameCopy : incomingMpidUIByNameCopy);
7521
+ var newIdentitiesByName = getNewIdentitiesByName(newIdentitiesByType);
7522
+ var uiByName = method === Modify$1 ? previousUIByName : incomingMpidUIByName;
7523
+ self.sendUserIdentityChangeEvent(newIdentitiesByName, identityApiResult.mpid, uiByName);
7450
7524
  }
7451
7525
  if (callback) {
7452
- if (xhr.status === 0) {
7453
- mpInstance._Helpers.invokeCallback(callback, HTTPCodes$2.noHttpCoverage, identityApiResult || null, newUser);
7454
- } else {
7455
- mpInstance._Helpers.invokeCallback(callback, xhr.status, identityApiResult || null, newUser);
7456
- }
7457
- } else {
7458
- if (identityApiResult && identityApiResult.errors && identityApiResult.errors.length) {
7459
- mpInstance.Logger.error('Received HTTP response code of ' + xhr.status + ' - ' + identityApiResult.errors[0].message);
7460
- }
7526
+ var callbackCode = xhr.status === 0 ? HTTPCodes$2.noHttpCoverage : xhr.status;
7527
+ mpInstance._Helpers.invokeCallback(callback, callbackCode, identityApiResult || null, newUser);
7528
+ } else if (identityApiResult && !isEmpty(identityApiResult.errors)) {
7529
+ mpInstance.Logger.error('Received HTTP response code of ' + xhr.status + ' - ' + identityApiResult.errors[0].message);
7461
7530
  }
7531
+ mpInstance.Logger.verbose('Successfully parsed Identity Response');
7462
7532
  mpInstance._APIClient.processQueuedEvents();
7463
7533
  } catch (e) {
7464
7534
  if (callback) {
@@ -7472,23 +7542,22 @@ var mParticle = (function () {
7472
7542
  // compare what identities exist vs what is previously was for the specific user if they were in memory before.
7473
7543
  // if it's the first time the user is logging in, send a user identity change request with
7474
7544
 
7475
- this.sendUserIdentityChangeEvent = function (newUserIdentities, method, mpid, prevUserIdentities) {
7476
- var currentUserInMemory, userIdentityChangeEvent;
7477
- if (!mpid) {
7478
- if (method !== Modify$1) {
7479
- return;
7480
- }
7481
- }
7482
- currentUserInMemory = this.IdentityAPI.getUser(mpid);
7545
+ this.sendUserIdentityChangeEvent = function (newUserIdentities, mpid, currentUserIdentities) {
7546
+ // https://go.mparticle.com/work/SQDSDKS-6354
7547
+ var currentUserInMemory = this.IdentityAPI.getUser(mpid);
7483
7548
  for (var identityType in newUserIdentities) {
7484
- if (prevUserIdentities[identityType] !== newUserIdentities[identityType]) {
7485
- var isNewUserIdentityType = !prevUserIdentities[identityType];
7486
- userIdentityChangeEvent = self.createUserIdentityChange(identityType, newUserIdentities[identityType], prevUserIdentities[identityType], isNewUserIdentityType, currentUserInMemory);
7549
+ // Verifies a change actually happened
7550
+ if (currentUserIdentities[identityType] !== newUserIdentities[identityType]) {
7551
+ // If a new identity type was introduced when the identity changes
7552
+ // we need to notify the server so that it will associate the new
7553
+ // identity type with subsequent events
7554
+ var isNewUserIdentityType = !currentUserIdentities[identityType];
7555
+ var userIdentityChangeEvent = self.createUserIdentityChange(identityType, newUserIdentities[identityType], currentUserIdentities[identityType], isNewUserIdentityType, currentUserInMemory);
7487
7556
  mpInstance._APIClient.sendEventToServer(userIdentityChangeEvent);
7488
7557
  }
7489
7558
  }
7490
7559
  };
7491
- this.createUserIdentityChange = function (identityType, newIdentity, oldIdentity, newCreatedThisBatch, userInMemory) {
7560
+ this.createUserIdentityChange = function (identityType, newIdentity, oldIdentity, isIdentityTypeNewToBatch, userInMemory) {
7492
7561
  var userIdentityChangeEvent;
7493
7562
  userIdentityChangeEvent = mpInstance._ServerModel.createEventObject({
7494
7563
  messageType: Types.MessageType.UserIdentityChange,
@@ -7496,7 +7565,7 @@ var mParticle = (function () {
7496
7565
  New: {
7497
7566
  IdentityType: identityType,
7498
7567
  Identity: newIdentity,
7499
- CreatedThisBatch: newCreatedThisBatch
7568
+ CreatedThisBatch: isIdentityTypeNewToBatch
7500
7569
  },
7501
7570
  Old: {
7502
7571
  IdentityType: identityType,
@@ -7533,6 +7602,29 @@ var mParticle = (function () {
7533
7602
  }
7534
7603
  return userAttributeChangeEvent;
7535
7604
  };
7605
+ this.reinitForwardersOnUserChange = function (prevUser, newUser) {
7606
+ if (didUserChange(prevUser, newUser)) {
7607
+ mpInstance._Forwarders.initForwarders(newUser.getUserIdentities().userIdentities, mpInstance._APIClient.prepareForwardingStats);
7608
+ }
7609
+ };
7610
+ this.setForwarderCallbacks = function (user, method) {
7611
+ // https://go.mparticle.com/work/SQDSDKS-6036
7612
+ mpInstance._Forwarders.setForwarderUserIdentities(user.getUserIdentities().userIdentities);
7613
+ mpInstance._Forwarders.setForwarderOnIdentityComplete(user, method);
7614
+ mpInstance._Forwarders.setForwarderOnUserIdentified(user);
7615
+ };
7616
+ }
7617
+
7618
+ // https://go.mparticle.com/work/SQDSDKS-6359
7619
+ function tryOnUserAlias(previousUser, newUser, identityApiData, logger) {
7620
+ if (identityApiData && identityApiData.onUserAlias && isFunction(identityApiData.onUserAlias)) {
7621
+ try {
7622
+ logger.warning(generateDeprecationMessage('onUserAlias'));
7623
+ identityApiData.onUserAlias(previousUser, newUser);
7624
+ } catch (e) {
7625
+ logger.error('There was an error with your onUserAlias function - ' + e);
7626
+ }
7627
+ }
7536
7628
  }
7537
7629
 
7538
7630
  var CCPAPurpose = Constants.CCPAPurpose;
@@ -8339,6 +8431,7 @@ var mParticle = (function () {
8339
8431
  var xhr,
8340
8432
  xhrCallback = function xhrCallback() {
8341
8433
  if (xhr.readyState === 4) {
8434
+ // https://go.mparticle.com/work/SQDSDKS-6368
8342
8435
  mpInstance.Logger.verbose('Received ' + xhr.statusText + ' from server');
8343
8436
  //only parse error messages from failing requests
8344
8437
  if (xhr.status !== 200 && xhr.status !== 202) {
@@ -8371,6 +8464,7 @@ var mParticle = (function () {
8371
8464
  previousMPID,
8372
8465
  xhrCallback = function xhrCallback() {
8373
8466
  if (xhr.readyState === 4) {
8467
+ // https://go.mparticle.com/work/SQDSDKS-6368
8374
8468
  mpInstance.Logger.verbose('Received ' + xhr.statusText + ' from server');
8375
8469
  parseIdentityResponse(xhr, previousMPID, callback, originalIdentityApiData, method, knownIdentities, false);
8376
8470
  }
@@ -9684,60 +9778,6 @@ var mParticle = (function () {
9684
9778
  return _BatchValidator;
9685
9779
  }();
9686
9780
 
9687
- var EventTypeEnum;
9688
- (function (EventTypeEnum) {
9689
- EventTypeEnum[EventTypeEnum["Unknown"] = 0] = "Unknown";
9690
- EventTypeEnum[EventTypeEnum["Navigation"] = 1] = "Navigation";
9691
- EventTypeEnum[EventTypeEnum["Location"] = 2] = "Location";
9692
- EventTypeEnum[EventTypeEnum["Search"] = 3] = "Search";
9693
- EventTypeEnum[EventTypeEnum["Transaction"] = 4] = "Transaction";
9694
- EventTypeEnum[EventTypeEnum["UserContent"] = 5] = "UserContent";
9695
- EventTypeEnum[EventTypeEnum["UserPreference"] = 6] = "UserPreference";
9696
- EventTypeEnum[EventTypeEnum["Social"] = 7] = "Social";
9697
- EventTypeEnum[EventTypeEnum["Other"] = 8] = "Other";
9698
- EventTypeEnum[EventTypeEnum["Media"] = 9] = "Media";
9699
- })(EventTypeEnum || (EventTypeEnum = {}));
9700
- // TODO: https://mparticle-eng.atlassian.net/browse/SQDSDKS-5403
9701
- var MessageType;
9702
- (function (MessageType) {
9703
- MessageType[MessageType["SessionStart"] = 1] = "SessionStart";
9704
- MessageType[MessageType["SessionEnd"] = 2] = "SessionEnd";
9705
- MessageType[MessageType["PageView"] = 3] = "PageView";
9706
- MessageType[MessageType["PageEvent"] = 4] = "PageEvent";
9707
- MessageType[MessageType["CrashReport"] = 5] = "CrashReport";
9708
- MessageType[MessageType["OptOut"] = 6] = "OptOut";
9709
- MessageType[MessageType["AppStateTransition"] = 10] = "AppStateTransition";
9710
- MessageType[MessageType["Profile"] = 14] = "Profile";
9711
- MessageType[MessageType["Commerce"] = 16] = "Commerce";
9712
- MessageType[MessageType["UserAttributeChange"] = 17] = "UserAttributeChange";
9713
- MessageType[MessageType["UserIdentityChange"] = 18] = "UserIdentityChange";
9714
- MessageType[MessageType["Media"] = 20] = "Media";
9715
- })(MessageType || (MessageType = {}));
9716
- var IdentityType;
9717
- (function (IdentityType) {
9718
- IdentityType[IdentityType["Other"] = 0] = "Other";
9719
- IdentityType[IdentityType["CustomerId"] = 1] = "CustomerId";
9720
- IdentityType[IdentityType["Facebook"] = 2] = "Facebook";
9721
- IdentityType[IdentityType["Twitter"] = 3] = "Twitter";
9722
- IdentityType[IdentityType["Google"] = 4] = "Google";
9723
- IdentityType[IdentityType["Microsoft"] = 5] = "Microsoft";
9724
- IdentityType[IdentityType["Yahoo"] = 6] = "Yahoo";
9725
- IdentityType[IdentityType["Email"] = 7] = "Email";
9726
- IdentityType[IdentityType["FacebookCustomAudienceId"] = 9] = "FacebookCustomAudienceId";
9727
- IdentityType[IdentityType["Other2"] = 10] = "Other2";
9728
- IdentityType[IdentityType["Other3"] = 11] = "Other3";
9729
- IdentityType[IdentityType["Other4"] = 12] = "Other4";
9730
- IdentityType[IdentityType["Other5"] = 13] = "Other5";
9731
- IdentityType[IdentityType["Other6"] = 14] = "Other6";
9732
- IdentityType[IdentityType["Other7"] = 15] = "Other7";
9733
- IdentityType[IdentityType["Other8"] = 16] = "Other8";
9734
- IdentityType[IdentityType["Other9"] = 17] = "Other9";
9735
- IdentityType[IdentityType["Other10"] = 18] = "Other10";
9736
- IdentityType[IdentityType["MobileNumber"] = 19] = "MobileNumber";
9737
- IdentityType[IdentityType["PhoneNumber2"] = 20] = "PhoneNumber2";
9738
- IdentityType[IdentityType["PhoneNumber3"] = 21] = "PhoneNumber3";
9739
- })(IdentityType || (IdentityType = {}));
9740
-
9741
9781
  var MPSideloadedKit = /** @class */function () {
9742
9782
  function MPSideloadedKit(unregisteredKitInstance) {
9743
9783
  this.filterDictionary = {