@mparticle/web-sdk 2.63.0 → 2.64.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mparticle.common.js +59 -41
- package/dist/mparticle.esm.js +59 -41
- package/dist/mparticle.js +421 -223
- package/dist/types/src/constants.d.ts +1 -1
- package/dist/types/src/forwarder-utils.d.ts +15 -0
- package/dist/types/src/helpers.d.ts +1 -1
- package/dist/types/src/sdkToEventsApiConverter.d.ts +2 -0
- package/dist/types/src/store.d.ts +1 -1
- package/dist/types/src/types.d.ts +3 -0
- package/dist/types/src/utils.d.ts +2 -1
- package/package.json +1 -1
- package/src/apiClient.ts +2 -2
- package/src/constants.ts +1 -1
- package/src/ecommerce.js +6 -13
- package/src/forwarder-utils.ts +260 -0
- package/src/forwarders.js +83 -195
- package/src/helpers.js +1 -148
- package/src/mockBatchCreator.ts +2 -1
- package/src/mp-instance.ts +2 -2
- package/src/persistence.js +4 -4
- package/src/sdkToEventsApiConverter.ts +55 -1
- package/src/serverModel.ts +2 -1
- package/src/store.ts +3 -4
- package/src/types.ts +134 -0
- package/src/utils.ts +135 -0
package/src/types.ts
CHANGED
|
@@ -397,6 +397,140 @@ export const PerformanceMarkType = {
|
|
|
397
397
|
JointSdkRoktKitInit: 'mp:jointSdkRoktKitInit' as const,
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
+
export function getMessageTypeFromEventType(
|
|
401
|
+
eventType: string
|
|
402
|
+
): number {
|
|
403
|
+
switch (eventType) {
|
|
404
|
+
case 'custom_event':
|
|
405
|
+
return MessageType.PageEvent;
|
|
406
|
+
case 'screen_view':
|
|
407
|
+
return MessageType.PageView;
|
|
408
|
+
case 'commerce_event':
|
|
409
|
+
return MessageType.Commerce;
|
|
410
|
+
case 'session_start':
|
|
411
|
+
return MessageType.SessionStart;
|
|
412
|
+
case 'session_end':
|
|
413
|
+
return MessageType.SessionEnd;
|
|
414
|
+
case 'crash_report':
|
|
415
|
+
return MessageType.CrashReport;
|
|
416
|
+
case 'opt_out':
|
|
417
|
+
return MessageType.OptOut;
|
|
418
|
+
case 'application_state_transition':
|
|
419
|
+
return MessageType.AppStateTransition;
|
|
420
|
+
case 'user_attribute_change':
|
|
421
|
+
return MessageType.UserAttributeChange;
|
|
422
|
+
case 'user_identity_change':
|
|
423
|
+
return MessageType.UserIdentityChange;
|
|
424
|
+
default:
|
|
425
|
+
return -1;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
export function getEventCategoryFromCustomEventType(
|
|
430
|
+
customEventType: string
|
|
431
|
+
): number {
|
|
432
|
+
switch (customEventType) {
|
|
433
|
+
case 'navigation':
|
|
434
|
+
return EventType.Navigation;
|
|
435
|
+
case 'location':
|
|
436
|
+
return EventType.Location;
|
|
437
|
+
case 'search':
|
|
438
|
+
return EventType.Search;
|
|
439
|
+
case 'transaction':
|
|
440
|
+
return EventType.Transaction;
|
|
441
|
+
case 'user_content':
|
|
442
|
+
return EventType.UserContent;
|
|
443
|
+
case 'user_preference':
|
|
444
|
+
return EventType.UserPreference;
|
|
445
|
+
case 'social':
|
|
446
|
+
return EventType.Social;
|
|
447
|
+
case 'other':
|
|
448
|
+
return EventType.Other;
|
|
449
|
+
case 'media':
|
|
450
|
+
return EventType.Media;
|
|
451
|
+
case 'add_to_cart':
|
|
452
|
+
return CommerceEventType.ProductAddToCart;
|
|
453
|
+
case 'remove_from_cart':
|
|
454
|
+
return CommerceEventType.ProductRemoveFromCart;
|
|
455
|
+
case 'checkout':
|
|
456
|
+
return CommerceEventType.ProductCheckout;
|
|
457
|
+
case 'checkout_option':
|
|
458
|
+
return CommerceEventType.ProductCheckoutOption;
|
|
459
|
+
case 'click':
|
|
460
|
+
return CommerceEventType.ProductClick;
|
|
461
|
+
case 'view_detail':
|
|
462
|
+
return CommerceEventType.ProductViewDetail;
|
|
463
|
+
case 'purchase':
|
|
464
|
+
return CommerceEventType.ProductPurchase;
|
|
465
|
+
case 'refund':
|
|
466
|
+
return CommerceEventType.ProductRefund;
|
|
467
|
+
case 'promotion_view':
|
|
468
|
+
return CommerceEventType.PromotionView;
|
|
469
|
+
case 'promotion_click':
|
|
470
|
+
return CommerceEventType.PromotionClick;
|
|
471
|
+
case 'add_to_wishlist':
|
|
472
|
+
return CommerceEventType.ProductAddToWishlist;
|
|
473
|
+
case 'remove_from_wishlist':
|
|
474
|
+
case 'remove_from_wish_list':
|
|
475
|
+
return CommerceEventType.ProductRemoveFromWishlist;
|
|
476
|
+
case 'impression':
|
|
477
|
+
return CommerceEventType.ProductImpression;
|
|
478
|
+
default:
|
|
479
|
+
return EventType.Unknown;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
export function getIdentityTypeFromBatchKey(
|
|
484
|
+
key: string
|
|
485
|
+
): number {
|
|
486
|
+
switch (key) {
|
|
487
|
+
case 'other':
|
|
488
|
+
return IdentityType.Other;
|
|
489
|
+
case 'customer_id':
|
|
490
|
+
return IdentityType.CustomerId;
|
|
491
|
+
case 'facebook':
|
|
492
|
+
return IdentityType.Facebook;
|
|
493
|
+
case 'twitter':
|
|
494
|
+
return IdentityType.Twitter;
|
|
495
|
+
case 'google':
|
|
496
|
+
return IdentityType.Google;
|
|
497
|
+
case 'microsoft':
|
|
498
|
+
return IdentityType.Microsoft;
|
|
499
|
+
case 'yahoo':
|
|
500
|
+
return IdentityType.Yahoo;
|
|
501
|
+
case 'email':
|
|
502
|
+
return IdentityType.Email;
|
|
503
|
+
case 'facebook_custom_audience_id':
|
|
504
|
+
return IdentityType.FacebookCustomAudienceId;
|
|
505
|
+
case 'other_id_2':
|
|
506
|
+
return IdentityType.Other2;
|
|
507
|
+
case 'other_id_3':
|
|
508
|
+
return IdentityType.Other3;
|
|
509
|
+
case 'other_id_4':
|
|
510
|
+
return IdentityType.Other4;
|
|
511
|
+
case 'other_id_5':
|
|
512
|
+
return IdentityType.Other5;
|
|
513
|
+
case 'other_id_6':
|
|
514
|
+
return IdentityType.Other6;
|
|
515
|
+
case 'other_id_7':
|
|
516
|
+
return IdentityType.Other7;
|
|
517
|
+
case 'other_id_8':
|
|
518
|
+
return IdentityType.Other8;
|
|
519
|
+
case 'other_id_9':
|
|
520
|
+
return IdentityType.Other9;
|
|
521
|
+
case 'other_id_10':
|
|
522
|
+
return IdentityType.Other10;
|
|
523
|
+
case 'mobile_number':
|
|
524
|
+
return IdentityType.MobileNumber;
|
|
525
|
+
case 'phone_number_2':
|
|
526
|
+
return IdentityType.PhoneNumber2;
|
|
527
|
+
case 'phone_number_3':
|
|
528
|
+
return IdentityType.PhoneNumber3;
|
|
529
|
+
default:
|
|
530
|
+
return -1;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
|
|
400
534
|
export default {
|
|
401
535
|
MessageType,
|
|
402
536
|
EventType,
|
package/src/utils.ts
CHANGED
|
@@ -491,6 +491,140 @@ const obfuscateData = (value: any): any => {
|
|
|
491
491
|
const obfuscateDevData = (data: any, isDevelopmentMode?: boolean): any =>
|
|
492
492
|
isDevelopmentMode ? data : obfuscateData(data);
|
|
493
493
|
|
|
494
|
+
// Standalone version of jQuery.extend, from https://github.com/dansdom/extend
|
|
495
|
+
// https://go.mparticle.com/work/SQDSDKS-6047
|
|
496
|
+
function extend(...args: any[]): any {
|
|
497
|
+
const objectHelper = {
|
|
498
|
+
hasOwn: Object.prototype.hasOwnProperty,
|
|
499
|
+
class2type: {} as Record<string, string>,
|
|
500
|
+
type(obj: any): string {
|
|
501
|
+
return obj == null
|
|
502
|
+
? String(obj)
|
|
503
|
+
: objectHelper.class2type[
|
|
504
|
+
Object.prototype.toString.call(obj)
|
|
505
|
+
] || 'object';
|
|
506
|
+
},
|
|
507
|
+
isPlainObject(obj: any): boolean {
|
|
508
|
+
if (
|
|
509
|
+
!obj ||
|
|
510
|
+
objectHelper.type(obj) !== 'object' ||
|
|
511
|
+
obj.nodeType ||
|
|
512
|
+
objectHelper.isWindow(obj)
|
|
513
|
+
) {
|
|
514
|
+
return false;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
try {
|
|
518
|
+
if (
|
|
519
|
+
obj.constructor &&
|
|
520
|
+
!objectHelper.hasOwn.call(obj, 'constructor') &&
|
|
521
|
+
!objectHelper.hasOwn.call(
|
|
522
|
+
obj.constructor.prototype,
|
|
523
|
+
'isPrototypeOf'
|
|
524
|
+
)
|
|
525
|
+
) {
|
|
526
|
+
return false;
|
|
527
|
+
}
|
|
528
|
+
} catch (e) {
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
let key;
|
|
533
|
+
for (key in obj) {
|
|
534
|
+
} // eslint-disable-line no-empty
|
|
535
|
+
|
|
536
|
+
return (
|
|
537
|
+
key === undefined || objectHelper.hasOwn.call(obj, key)
|
|
538
|
+
);
|
|
539
|
+
},
|
|
540
|
+
isArray:
|
|
541
|
+
Array.isArray ||
|
|
542
|
+
function(obj: any): boolean {
|
|
543
|
+
return objectHelper.type(obj) === 'array';
|
|
544
|
+
},
|
|
545
|
+
isFunction(obj: any): boolean {
|
|
546
|
+
return objectHelper.type(obj) === 'function';
|
|
547
|
+
},
|
|
548
|
+
isWindow(obj: any): boolean {
|
|
549
|
+
return obj != null && obj == obj.window;
|
|
550
|
+
},
|
|
551
|
+
};
|
|
552
|
+
|
|
553
|
+
let options: any,
|
|
554
|
+
name: string,
|
|
555
|
+
src: any,
|
|
556
|
+
copy: any,
|
|
557
|
+
copyIsArray: boolean,
|
|
558
|
+
clone: any,
|
|
559
|
+
target = args[0] || {},
|
|
560
|
+
i = 1,
|
|
561
|
+
deep = false;
|
|
562
|
+
const length = args.length;
|
|
563
|
+
|
|
564
|
+
if (typeof target === 'boolean') {
|
|
565
|
+
deep = target;
|
|
566
|
+
target = args[1] || {};
|
|
567
|
+
i = 2;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
if (typeof target !== 'object' && !objectHelper.isFunction(target)) {
|
|
571
|
+
target = {};
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
if (length === i) {
|
|
575
|
+
target = {};
|
|
576
|
+
--i;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
for (; i < length; i++) {
|
|
580
|
+
if ((options = args[i]) != null) {
|
|
581
|
+
for (name in options) {
|
|
582
|
+
if (
|
|
583
|
+
name === '__proto__' ||
|
|
584
|
+
name === 'constructor' ||
|
|
585
|
+
name === 'prototype'
|
|
586
|
+
) {
|
|
587
|
+
continue;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
if (!Object.prototype.hasOwnProperty.call(options, name)) {
|
|
591
|
+
continue;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
src = target[name];
|
|
595
|
+
copy = options[name];
|
|
596
|
+
|
|
597
|
+
if (target === copy) {
|
|
598
|
+
continue;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
if (
|
|
602
|
+
deep &&
|
|
603
|
+
copy &&
|
|
604
|
+
(objectHelper.isPlainObject(copy) ||
|
|
605
|
+
(copyIsArray = objectHelper.isArray(copy)))
|
|
606
|
+
) {
|
|
607
|
+
if (copyIsArray) {
|
|
608
|
+
copyIsArray = false;
|
|
609
|
+
clone = src && objectHelper.isArray(src) ? src : [];
|
|
610
|
+
} else {
|
|
611
|
+
clone =
|
|
612
|
+
src && objectHelper.isPlainObject(src)
|
|
613
|
+
? src
|
|
614
|
+
: {};
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
target[name] = extend(deep, clone, copy);
|
|
618
|
+
} else if (copy !== undefined) {
|
|
619
|
+
target[name] = copy;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
return target;
|
|
626
|
+
}
|
|
627
|
+
|
|
494
628
|
export {
|
|
495
629
|
createCookieString,
|
|
496
630
|
revertCookieString,
|
|
@@ -534,4 +668,5 @@ export {
|
|
|
534
668
|
getHref,
|
|
535
669
|
replaceMPID,
|
|
536
670
|
replaceAmpWithAmpersand,
|
|
671
|
+
extend,
|
|
537
672
|
};
|