@mparticle/web-sdk 2.16.0 → 2.16.3
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 +505 -2076
- package/dist/mparticle.esm.js +506 -2077
- package/dist/mparticle.js +2717 -3667
- package/package.json +19 -14
- package/src/batchUploader.ts +5 -1
- package/src/constants.ts +1 -2
- package/src/helpers.js +16 -220
- package/src/sdkToEventsApiConverter.ts +1 -2
- package/src/utils.ts +82 -0
- package/src/validators.ts +163 -0
package/dist/mparticle.esm.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
if (typeof globalThis !== 'undefined') {globalThis.regeneratorRuntime = undefined}
|
|
2
2
|
|
|
3
3
|
// Base64 encoder/decoder - http://www.webtoolkit.info/javascript_base64.html
|
|
4
|
-
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",// Input must be a string
|
|
5
|
-
encode:function(a){try{if(window.btoa&&window.atob)return window.btoa(unescape(encodeURIComponent(a)))}catch(a){console.error("Error encoding cookie values into Base64:"+a);}return this._encode(a)},_encode:function(a){var b,c,d,e,f,g,h,j="",k=0;for(a=UTF8.encode(a);k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),d=a.charCodeAt(k++),e=b>>2,f=(3&b)<<4|c>>4,g=(15&c)<<2|d>>6,h=63&d,isNaN(c)?g=h=64:isNaN(d)&&(h=64),j=j+Base64._keyStr.charAt(e)+Base64._keyStr.charAt(f)+Base64._keyStr.charAt(g)+Base64._keyStr.charAt(h);return j},decode:function(a){try{if(window.btoa&&window.atob)return decodeURIComponent(escape(window.atob(a)))}catch(a){//log(e);
|
|
6
|
-
}return Base64._decode(a)},_decode:function(a){var b,c,d,e,f,g,h,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)e=Base64._keyStr.indexOf(a.charAt(k++)),f=Base64._keyStr.indexOf(a.charAt(k++)),g=Base64._keyStr.indexOf(a.charAt(k++)),h=Base64._keyStr.indexOf(a.charAt(k++)),b=e<<2|f>>4,c=(15&f)<<4|g>>2,d=(3&g)<<6|h,j+=String.fromCharCode(b),64!==g&&(j+=String.fromCharCode(c)),64!==h&&(j+=String.fromCharCode(d));return j=UTF8.decode(j),j}},UTF8={encode:function(a){for(var b,d="",e=0;e<a.length;e++)b=a.charCodeAt(e),128>b?d+=String.fromCharCode(b):127<b&&2048>b?(d+=String.fromCharCode(192|b>>6),d+=String.fromCharCode(128|63&b)):(d+=String.fromCharCode(224|b>>12),d+=String.fromCharCode(128|63&b>>6),d+=String.fromCharCode(128|63&b));return d},decode:function(a){for(var b="",d=0,e=0,f=0,g=0;d<a.length;)e=a.charCodeAt(d),128>e?(b+=String.fromCharCode(e),d++):191<e&&224>e?(f=a.charCodeAt(d+1),b+=String.fromCharCode((31&e)<<6|63&f),d+=2):(f=a.charCodeAt(d+1),g=a.charCodeAt(d+2),b+=String.fromCharCode((15&e)<<12|(63&f)<<6|63&g),d+=3);return b}};var Polyfill = {// forEach polyfill
|
|
4
|
+
var Base64$2={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",// Input must be a string
|
|
5
|
+
encode:function(a){try{if(window.btoa&&window.atob)return window.btoa(unescape(encodeURIComponent(a)))}catch(a){console.error("Error encoding cookie values into Base64:"+a);}return this._encode(a)},_encode:function(a){var b,c,d,e,f,g,h,j="",k=0;for(a=UTF8.encode(a);k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),d=a.charCodeAt(k++),e=b>>2,f=(3&b)<<4|c>>4,g=(15&c)<<2|d>>6,h=63&d,isNaN(c)?g=h=64:isNaN(d)&&(h=64),j=j+Base64$2._keyStr.charAt(e)+Base64$2._keyStr.charAt(f)+Base64$2._keyStr.charAt(g)+Base64$2._keyStr.charAt(h);return j},decode:function(a){try{if(window.btoa&&window.atob)return decodeURIComponent(escape(window.atob(a)))}catch(a){//log(e);
|
|
6
|
+
}return Base64$2._decode(a)},_decode:function(a){var b,c,d,e,f,g,h,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)e=Base64$2._keyStr.indexOf(a.charAt(k++)),f=Base64$2._keyStr.indexOf(a.charAt(k++)),g=Base64$2._keyStr.indexOf(a.charAt(k++)),h=Base64$2._keyStr.indexOf(a.charAt(k++)),b=e<<2|f>>4,c=(15&f)<<4|g>>2,d=(3&g)<<6|h,j+=String.fromCharCode(b),64!==g&&(j+=String.fromCharCode(c)),64!==h&&(j+=String.fromCharCode(d));return j=UTF8.decode(j),j}},UTF8={encode:function(a){for(var b,d="",e=0;e<a.length;e++)b=a.charCodeAt(e),128>b?d+=String.fromCharCode(b):127<b&&2048>b?(d+=String.fromCharCode(192|b>>6),d+=String.fromCharCode(128|63&b)):(d+=String.fromCharCode(224|b>>12),d+=String.fromCharCode(128|63&b>>6),d+=String.fromCharCode(128|63&b));return d},decode:function(a){for(var b="",d=0,e=0,f=0,g=0;d<a.length;)e=a.charCodeAt(d),128>e?(b+=String.fromCharCode(e),d++):191<e&&224>e?(f=a.charCodeAt(d+1),b+=String.fromCharCode((31&e)<<6|63&f),d+=2):(f=a.charCodeAt(d+1),g=a.charCodeAt(d+2),b+=String.fromCharCode((15&e)<<12|(63&f)<<6|63&g),d+=3);return b}};var Polyfill = {// forEach polyfill
|
|
7
7
|
// Production steps of ECMA-262, Edition 5, 15.4.4.18
|
|
8
8
|
// Reference: http://es5.github.io/#x15.4.4.18
|
|
9
9
|
forEach:function forEach(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(1<arguments.length&&(c=b),d=0;d<f;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++;}},// map polyfill
|
|
@@ -13,7 +13,7 @@ map:function map(a,b){var c,d,e;if(null===this)throw new TypeError(" this is nul
|
|
|
13
13
|
// Prodcution steps of ECMA-262, Edition 5
|
|
14
14
|
// Reference: http://es5.github.io/#x15.4.4.20
|
|
15
15
|
filter:function filter(a/*, thisArg*/){if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=[],e=2<=arguments.length?arguments[1]:void 0,f=0;f<c;f++)if(f in b){var g=b[f];a.call(e,g,f,b)&&d.push(g);}return d},// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
|
|
16
|
-
isArray:function isArray(a){return "[object Array]"===Object.prototype.toString.call(a)},Base64:Base64};
|
|
16
|
+
isArray:function isArray(a){return "[object Array]"===Object.prototype.toString.call(a)},Base64:Base64$2};
|
|
17
17
|
|
|
18
18
|
function _defineProperty(obj, key, value) {
|
|
19
19
|
if (key in obj) {
|
|
@@ -30,1856 +30,481 @@ function _defineProperty(obj, key, value) {
|
|
|
30
30
|
return obj;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _TriggerUploadType,MessageType$1={SessionStart:1,SessionEnd:2,PageView:3,PageEvent:4,CrashReport:5,OptOut:6,AppStateTransition:10,Profile:14,Commerce:16,Media:20,UserAttributeChange:17,UserIdentityChange:18},TriggerUploadType=(_TriggerUploadType={},_defineProperty(_TriggerUploadType,MessageType$1.Commerce,1),_defineProperty(_TriggerUploadType,MessageType$1.UserAttributeChange,1),_defineProperty(_TriggerUploadType,MessageType$1.UserIdentityChange,1),_TriggerUploadType),EventType={Unknown:0,Navigation:1,Location:2,Search:3,Transaction:4,UserContent:5,UserPreference:6,Social:7,Other:8,Media:9,getName:function getName(a){return a===EventType.Unknown?"Unknown":a===EventType.Navigation?"Navigation":a===EventType.Location?"Location":a===EventType.Search?"Search":a===EventType.Transaction?"Transaction":a===EventType.UserContent?"User Content":a===EventType.UserPreference?"User Preference":a===EventType.Social?"Social":a===CommerceEventType.ProductAddToCart?"Product Added to Cart":a===CommerceEventType.ProductAddToWishlist?"Product Added to Wishlist":a===CommerceEventType.ProductCheckout?"Product Checkout":a===CommerceEventType.ProductCheckoutOption?"Product Checkout Options":a===CommerceEventType.ProductClick?"Product Click":a===CommerceEventType.ProductImpression?"Product Impression":a===CommerceEventType.ProductPurchase?"Product Purchased":a===CommerceEventType.ProductRefund?"Product Refunded":a===CommerceEventType.ProductRemoveFromCart?"Product Removed From Cart":a===CommerceEventType.ProductRemoveFromWishlist?"Product Removed from Wishlist":a===CommerceEventType.ProductViewDetail?"Product View Details":a===CommerceEventType.PromotionClick?"Promotion Click":a===CommerceEventType.PromotionView?"Promotion View":"Other"}},CommerceEventType={ProductAddToCart:10,ProductRemoveFromCart:11,ProductCheckout:12,ProductCheckoutOption:13,ProductClick:14,ProductViewDetail:15,ProductPurchase:16,ProductRefund:17,PromotionView:18,PromotionClick:19,ProductAddToWishlist:20,ProductRemoveFromWishlist:21,ProductImpression:22},IdentityType={Other:0,CustomerId:1,Facebook:2,Twitter:3,Google:4,Microsoft:5,Yahoo:6,Email:7,FacebookCustomAudienceId:9,Other2:10,Other3:11,Other4:12,Other5:13,Other6:14,Other7:15,Other8:16,Other9:17,Other10:18,MobileNumber:19,PhoneNumber2:20,PhoneNumber3:21};IdentityType.isValid=function(a){if("number"==typeof a)for(var b in IdentityType)if(IdentityType.hasOwnProperty(b)&&IdentityType[b]===a)return !0;return !1},IdentityType.getName=function(a){return a===window.mParticle.IdentityType.CustomerId?"Customer ID":a===window.mParticle.IdentityType.Facebook?"Facebook ID":a===window.mParticle.IdentityType.Twitter?"Twitter ID":a===window.mParticle.IdentityType.Google?"Google ID":a===window.mParticle.IdentityType.Microsoft?"Microsoft ID":a===window.mParticle.IdentityType.Yahoo?"Yahoo ID":a===window.mParticle.IdentityType.Email?"Email":a===window.mParticle.IdentityType.FacebookCustomAudienceId?"Facebook App User ID":"Other ID"},IdentityType.getIdentityType=function(a){return "other"===a?IdentityType.Other:"customerid"===a?IdentityType.CustomerId:"facebook"===a?IdentityType.Facebook:"twitter"===a?IdentityType.Twitter:"google"===a?IdentityType.Google:"microsoft"===a?IdentityType.Microsoft:"yahoo"===a?IdentityType.Yahoo:"email"===a?IdentityType.Email:"facebookcustomaudienceid"===a?IdentityType.FacebookCustomAudienceId:"other2"===a?IdentityType.Other2:"other3"===a?IdentityType.Other3:"other4"===a?IdentityType.Other4:"other5"===a?IdentityType.Other5:"other6"===a?IdentityType.Other6:"other7"===a?IdentityType.Other7:"other8"===a?IdentityType.Other8:"other9"===a?IdentityType.Other9:"other10"===a?IdentityType.Other10:"mobile_number"===a?IdentityType.MobileNumber:"phone_number_2"===a?IdentityType.PhoneNumber2:!("phone_number_3"!=a)&&IdentityType.PhoneNumber3},IdentityType.getIdentityName=function(a){return a===IdentityType.Other?"other":a===IdentityType.CustomerId?"customerid":a===IdentityType.Facebook?"facebook":a===IdentityType.Twitter?"twitter":a===IdentityType.Google?"google":a===IdentityType.Microsoft?"microsoft":a===IdentityType.Yahoo?"yahoo":a===IdentityType.Email?"email":a===IdentityType.FacebookCustomAudienceId?"facebookcustomaudienceid":a===IdentityType.Other2?"other2":a===IdentityType.Other3?"other3":a===IdentityType.Other4?"other4":a===IdentityType.Other5?"other5":a===IdentityType.Other6?"other6":a===IdentityType.Other7?"other7":a===IdentityType.Other8?"other8":a===IdentityType.Other9?"other9":a===IdentityType.Other10?"other10":a===IdentityType.MobileNumber?"mobile_number":a===IdentityType.PhoneNumber2?"phone_number_2":a===IdentityType.PhoneNumber3?"phone_number_3":void 0};var ProductActionType={Unknown:0,AddToCart:1,RemoveFromCart:2,Checkout:3,CheckoutOption:4,Click:5,ViewDetail:6,Purchase:7,Refund:8,AddToWishlist:9,RemoveFromWishlist:10};ProductActionType.getName=function(a){return a===ProductActionType.AddToCart?"Add to Cart":a===ProductActionType.RemoveFromCart?"Remove from Cart":a===ProductActionType.Checkout?"Checkout":a===ProductActionType.CheckoutOption?"Checkout Option":a===ProductActionType.Click?"Click":a===ProductActionType.ViewDetail?"View Detail":a===ProductActionType.Purchase?"Purchase":a===ProductActionType.Refund?"Refund":a===ProductActionType.AddToWishlist?"Add to Wishlist":a===ProductActionType.RemoveFromWishlist?"Remove from Wishlist":"Unknown"},ProductActionType.getExpansionName=function(a){return a===ProductActionType.AddToCart?"add_to_cart":a===ProductActionType.RemoveFromCart?"remove_from_cart":a===ProductActionType.Checkout?"checkout":a===ProductActionType.CheckoutOption?"checkout_option":a===ProductActionType.Click?"click":a===ProductActionType.ViewDetail?"view_detail":a===ProductActionType.Purchase?"purchase":a===ProductActionType.Refund?"refund":a===ProductActionType.AddToWishlist?"add_to_wishlist":a===ProductActionType.RemoveFromWishlist?"remove_from_wishlist":"unknown"};var PromotionActionType={Unknown:0,PromotionView:1,PromotionClick:2};PromotionActionType.getName=function(a){return a===PromotionActionType.PromotionView?"view":a===PromotionActionType.PromotionClick?"click":"unknown"},PromotionActionType.getExpansionName=function(a){return a===PromotionActionType.PromotionView?"view":a===PromotionActionType.PromotionClick?"click":"unknown"};var ProfileMessageType={Logout:3},ApplicationTransitionType$1={AppInit:1};var Types = {MessageType:MessageType$1,EventType:EventType,CommerceEventType:CommerceEventType,IdentityType:IdentityType,ProfileMessageType:ProfileMessageType,ApplicationTransitionType:ApplicationTransitionType$1,ProductActionType:ProductActionType,PromotionActionType:PromotionActionType,TriggerUploadType:TriggerUploadType};
|
|
34
34
|
|
|
35
|
-
var
|
|
35
|
+
var version = "2.16.3";
|
|
36
36
|
|
|
37
|
-
var version
|
|
37
|
+
var Constants={sdkVersion:version,sdkVendor:"mparticle",platform:"web",Messages:{ErrorMessages:{NoToken:"A token must be specified.",EventNameInvalidType:"Event name must be a valid string value.",EventDataInvalidType:"Event data must be a valid object hash.",LoggingDisabled:"Event logging is currently disabled.",CookieParseError:"Could not parse cookie",EventEmpty:"Event object is null or undefined, cancelling send",APIRequestEmpty:"APIRequest is null or undefined, cancelling send",NoEventType:"Event type must be specified.",TransactionIdRequired:"Transaction ID is required",TransactionRequired:"A transaction attributes object is required",PromotionIdRequired:"Promotion ID is required",BadAttribute:"Attribute value cannot be object or array",BadKey:"Key value cannot be object or array",BadLogPurchase:"Transaction attributes and a product are both required to log a purchase, https://docs.mparticle.com/?javascript#measuring-transactions"},InformationMessages:{CookieSearch:"Searching for cookie",CookieFound:"Cookie found, parsing values",CookieNotFound:"Cookies not found",CookieSet:"Setting cookie",CookieSync:"Performing cookie sync",SendBegin:"Starting to send event",SendIdentityBegin:"Starting to send event to identity server",SendWindowsPhone:"Sending event to Windows Phone container",SendIOS:"Calling iOS path: ",SendAndroid:"Calling Android JS interface method: ",SendHttp:"Sending event to mParticle HTTP service",SendAliasHttp:"Sending alias request to mParticle HTTP service",SendIdentityHttp:"Sending event to mParticle HTTP service",StartingNewSession:"Starting new Session",StartingLogEvent:"Starting to log event",StartingLogOptOut:"Starting to log user opt in/out",StartingEndSession:"Starting to end session",StartingInitialization:"Starting to initialize",StartingLogCommerceEvent:"Starting to log commerce event",StartingAliasRequest:"Starting to Alias MPIDs",LoadingConfig:"Loading configuration options",AbandonLogEvent:"Cannot log event, logging disabled or developer token not set",AbandonAliasUsers:"Cannot Alias Users, logging disabled or developer token not set",AbandonStartSession:"Cannot start session, logging disabled or developer token not set",AbandonEndSession:"Cannot end session, logging disabled or developer token not set",NoSessionToEnd:"Cannot end session, no active session found"},ValidationMessages:{ModifyIdentityRequestUserIdentitiesPresent:"identityRequests to modify require userIdentities to be present. Request not sent to server. Please fix and try again",IdentityRequesetInvalidKey:"There is an invalid key on your identityRequest object. It can only contain a `userIdentities` object and a `onUserAlias` function. Request not sent to server. Please fix and try again.",OnUserAliasType:"The onUserAlias value must be a function.",UserIdentities:"The userIdentities key must be an object with keys of identityTypes and values of strings. Request not sent to server. Please fix and try again.",UserIdentitiesInvalidKey:"There is an invalid identity key on your `userIdentities` object within the identityRequest. Request not sent to server. Please fix and try again.",UserIdentitiesInvalidValues:"All user identity values must be strings or null. Request not sent to server. Please fix and try again.",AliasMissingMpid:"Alias Request must contain both a destinationMpid and a sourceMpid",AliasNonUniqueMpid:"Alias Request's destinationMpid and sourceMpid must be unique",AliasMissingTime:"Alias Request must have both a startTime and an endTime",AliasStartBeforeEndTime:"Alias Request's endTime must be later than its startTime"}},NativeSdkPaths:{LogEvent:"logEvent",SetUserTag:"setUserTag",RemoveUserTag:"removeUserTag",SetUserAttribute:"setUserAttribute",RemoveUserAttribute:"removeUserAttribute",SetSessionAttribute:"setSessionAttribute",AddToCart:"addToCart",RemoveFromCart:"removeFromCart",ClearCart:"clearCart",LogOut:"logOut",SetUserAttributeList:"setUserAttributeList",RemoveAllUserAttributes:"removeAllUserAttributes",GetUserAttributesLists:"getUserAttributesLists",GetAllUserAttributes:"getAllUserAttributes",Identify:"identify",Logout:"logout",Login:"login",Modify:"modify",Alias:"aliasUsers",Upload:"upload"},StorageNames:{localStorageName:"mprtcl-api",localStorageNameV3:"mprtcl-v3",cookieName:"mprtcl-api",cookieNameV2:"mprtcl-v2",cookieNameV3:"mprtcl-v3",localStorageNameV4:"mprtcl-v4",localStorageProductsV4:"mprtcl-prodv4",cookieNameV4:"mprtcl-v4",currentStorageName:"mprtcl-v4",currentStorageProductsName:"mprtcl-prodv4"},DefaultConfig:{cookieDomain:null,cookieExpiration:365,logLevel:null,timeout:300,sessionTimeout:30,maxProducts:20,forwarderStatsTimeout:5e3,integrationDelayTimeout:5e3,maxCookieSize:3e3,aliasMaxWindow:90,uploadInterval:0// Maximum milliseconds in between batch uploads, below 500 will mean immediate upload
|
|
38
|
+
},DefaultUrls:{v1SecureServiceUrl:"jssdks.mparticle.com/v1/JS/",v2SecureServiceUrl:"jssdks.mparticle.com/v2/JS/",v3SecureServiceUrl:"jssdks.mparticle.com/v3/JS/",configUrl:"jssdkcdns.mparticle.com/JS/v2/",identityUrl:"identity.mparticle.com/v1/",aliasUrl:"jssdks.mparticle.com/v1/identity/"},Base64CookieKeys:{csm:1,sa:1,ss:1,ua:1,ui:1,csd:1,ia:1,con:1},SDKv2NonMPIDCookieKeys:{gs:1,cu:1,l:1,globalSettings:1,currentUserMPID:1},HTTPCodes:{noHttpCoverage:-1,activeIdentityRequest:-2,activeSession:-3,validationIssue:-4,nativeIdentityRequest:-5,loggingDisabledOrMissingAPIKey:-6,tooManyRequests:429},FeatureFlags:{ReportBatching:"reportBatching",EventsV3:"eventsV3",EventBatchingIntervalMillis:"eventBatchingIntervalMillis"},DefaultInstance:"default_instance"};
|
|
38
39
|
|
|
39
|
-
var Constants = { sdkVersion: version, sdkVendor: "mparticle", platform: "web", Messages: { ErrorMessages: { NoToken: "A token must be specified.", EventNameInvalidType: "Event name must be a valid string value.", EventDataInvalidType: "Event data must be a valid object hash.", LoggingDisabled: "Event logging is currently disabled.", CookieParseError: "Could not parse cookie", EventEmpty: "Event object is null or undefined, cancelling send", APIRequestEmpty: "APIRequest is null or undefined, cancelling send", NoEventType: "Event type must be specified.", TransactionIdRequired: "Transaction ID is required", TransactionRequired: "A transaction attributes object is required", PromotionIdRequired: "Promotion ID is required", BadAttribute: "Attribute value cannot be object or array", BadKey: "Key value cannot be object or array", BadLogPurchase: "Transaction attributes and a product are both required to log a purchase, https://docs.mparticle.com/?javascript#measuring-transactions" }, InformationMessages: { CookieSearch: "Searching for cookie", CookieFound: "Cookie found, parsing values", CookieNotFound: "Cookies not found", CookieSet: "Setting cookie", CookieSync: "Performing cookie sync", SendBegin: "Starting to send event", SendIdentityBegin: "Starting to send event to identity server", SendWindowsPhone: "Sending event to Windows Phone container", SendIOS: "Calling iOS path: ", SendAndroid: "Calling Android JS interface method: ", SendHttp: "Sending event to mParticle HTTP service", SendAliasHttp: "Sending alias request to mParticle HTTP service", SendIdentityHttp: "Sending event to mParticle HTTP service", StartingNewSession: "Starting new Session", StartingLogEvent: "Starting to log event", StartingLogOptOut: "Starting to log user opt in/out", StartingEndSession: "Starting to end session", StartingInitialization: "Starting to initialize", StartingLogCommerceEvent: "Starting to log commerce event", StartingAliasRequest: "Starting to Alias MPIDs", LoadingConfig: "Loading configuration options", AbandonLogEvent: "Cannot log event, logging disabled or developer token not set", AbandonAliasUsers: "Cannot Alias Users, logging disabled or developer token not set", AbandonStartSession: "Cannot start session, logging disabled or developer token not set", AbandonEndSession: "Cannot end session, logging disabled or developer token not set", NoSessionToEnd: "Cannot end session, no active session found" }, ValidationMessages: { ModifyIdentityRequestUserIdentitiesPresent: "identityRequests to modify require userIdentities to be present. Request not sent to server. Please fix and try again", IdentityRequesetInvalidKey: "There is an invalid key on your identityRequest object. It can only contain a `userIdentities` object and a `onUserAlias` function. Request not sent to server. Please fix and try again.", OnUserAliasType: "The onUserAlias value must be a function. The onUserAlias provided is of type", UserIdentities: "The userIdentities key must be an object with keys of identityTypes and values of strings. Request not sent to server. Please fix and try again.", UserIdentitiesInvalidKey: "There is an invalid identity key on your `userIdentities` object within the identityRequest. Request not sent to server. Please fix and try again.", UserIdentitiesInvalidValues: "All user identity values must be strings or null. Request not sent to server. Please fix and try again.", AliasMissingMpid: "Alias Request must contain both a destinationMpid and a sourceMpid", AliasNonUniqueMpid: "Alias Request's destinationMpid and sourceMpid must be unique", AliasMissingTime: "Alias Request must have both a startTime and an endTime", AliasStartBeforeEndTime: "Alias Request's endTime must be later than its startTime" } }, NativeSdkPaths: { LogEvent: "logEvent", SetUserTag: "setUserTag", RemoveUserTag: "removeUserTag", SetUserAttribute: "setUserAttribute", RemoveUserAttribute: "removeUserAttribute", SetSessionAttribute: "setSessionAttribute", AddToCart: "addToCart", RemoveFromCart: "removeFromCart", ClearCart: "clearCart", LogOut: "logOut", SetUserAttributeList: "setUserAttributeList", RemoveAllUserAttributes: "removeAllUserAttributes", GetUserAttributesLists: "getUserAttributesLists", GetAllUserAttributes: "getAllUserAttributes", Identify: "identify", Logout: "logout", Login: "login", Modify: "modify", Alias: "aliasUsers", Upload: "upload" }, StorageNames: { localStorageName: "mprtcl-api",
|
|
40
|
-
localStorageNameV3: "mprtcl-v3",
|
|
41
|
-
cookieName: "mprtcl-api",
|
|
42
|
-
cookieNameV2: "mprtcl-v2",
|
|
43
|
-
cookieNameV3: "mprtcl-v3",
|
|
44
|
-
localStorageNameV4: "mprtcl-v4",
|
|
45
|
-
localStorageProductsV4: "mprtcl-prodv4",
|
|
46
|
-
cookieNameV4: "mprtcl-v4",
|
|
47
|
-
currentStorageName: "mprtcl-v4", currentStorageProductsName: "mprtcl-prodv4" }, DefaultConfig: { cookieDomain: null,
|
|
48
|
-
cookieExpiration: 365,
|
|
49
|
-
logLevel: null,
|
|
50
|
-
timeout: 300,
|
|
51
|
-
sessionTimeout: 30,
|
|
52
|
-
maxProducts: 20,
|
|
53
|
-
forwarderStatsTimeout: 5e3,
|
|
54
|
-
integrationDelayTimeout: 5e3,
|
|
55
|
-
maxCookieSize: 3e3,
|
|
56
|
-
aliasMaxWindow: 90,
|
|
57
|
-
uploadInterval: 0 // Maximum milliseconds in between batch uploads, below 500 will mean immediate upload
|
|
58
|
-
}, DefaultUrls: { v1SecureServiceUrl: "jssdks.mparticle.com/v1/JS/", v2SecureServiceUrl: "jssdks.mparticle.com/v2/JS/", v3SecureServiceUrl: "jssdks.mparticle.com/v3/JS/", configUrl: "jssdkcdns.mparticle.com/JS/v2/", identityUrl: "identity.mparticle.com/v1/", aliasUrl: "jssdks.mparticle.com/v1/identity/" }, Base64CookieKeys: { csm: 1, sa: 1, ss: 1, ua: 1, ui: 1, csd: 1, ia: 1, con: 1 }, SDKv2NonMPIDCookieKeys: { gs: 1, cu: 1, l: 1, globalSettings: 1, currentUserMPID: 1 }, HTTPCodes: { noHttpCoverage: -1, activeIdentityRequest: -2, activeSession: -3, validationIssue: -4, nativeIdentityRequest: -5, loggingDisabledOrMissingAPIKey: -6, tooManyRequests: 429 }, FeatureFlags: { ReportBatching: "reportBatching", EventsV3: "eventsV3", EventBatchingIntervalMillis: "eventBatchingIntervalMillis" }, DefaultInstance: "default_instance" };
|
|
59
|
-
|
|
60
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
61
|
-
|
|
62
|
-
function unwrapExports (x) {
|
|
63
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function createCommonjsModule(fn, module) {
|
|
67
|
-
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
var _typeof_1 = createCommonjsModule(function (module) {
|
|
71
40
|
function _typeof(obj) {
|
|
72
41
|
"@babel/helpers - typeof";
|
|
73
42
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
module.exports = _typeof = function _typeof(obj) {
|
|
80
|
-
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return _typeof(obj);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
module.exports = _typeof;
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
var setPrototypeOf = createCommonjsModule(function (module) {
|
|
91
|
-
function _setPrototypeOf(o, p) {
|
|
92
|
-
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
93
|
-
o.__proto__ = p;
|
|
94
|
-
return o;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
return _setPrototypeOf(o, p);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
module.exports = _setPrototypeOf;
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
function _inherits(subClass, superClass) {
|
|
104
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
105
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
109
|
-
constructor: {
|
|
110
|
-
value: subClass,
|
|
111
|
-
writable: true,
|
|
112
|
-
configurable: true
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
if (superClass) setPrototypeOf(subClass, superClass);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
var inherits = _inherits;
|
|
119
|
-
|
|
120
|
-
function _assertThisInitialized(self) {
|
|
121
|
-
if (self === void 0) {
|
|
122
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return self;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
var assertThisInitialized = _assertThisInitialized;
|
|
129
|
-
|
|
130
|
-
function _possibleConstructorReturn(self, call) {
|
|
131
|
-
if (call && (_typeof_1(call) === "object" || typeof call === "function")) {
|
|
132
|
-
return call;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
return assertThisInitialized(self);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
var possibleConstructorReturn = _possibleConstructorReturn;
|
|
139
|
-
|
|
140
|
-
var getPrototypeOf = createCommonjsModule(function (module) {
|
|
141
|
-
function _getPrototypeOf(o) {
|
|
142
|
-
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
143
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
144
|
-
};
|
|
145
|
-
return _getPrototypeOf(o);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
module.exports = _getPrototypeOf;
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
function _arrayLikeToArray(arr, len) {
|
|
152
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
153
|
-
|
|
154
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
155
|
-
arr2[i] = arr[i];
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return arr2;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
var arrayLikeToArray = _arrayLikeToArray;
|
|
162
|
-
|
|
163
|
-
function _arrayWithoutHoles(arr) {
|
|
164
|
-
if (Array.isArray(arr)) return arrayLikeToArray(arr);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
var arrayWithoutHoles = _arrayWithoutHoles;
|
|
168
|
-
|
|
169
|
-
function _iterableToArray(iter) {
|
|
170
|
-
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
var iterableToArray = _iterableToArray;
|
|
174
|
-
|
|
175
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
176
|
-
if (!o) return;
|
|
177
|
-
if (typeof o === "string") return arrayLikeToArray(o, minLen);
|
|
178
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
179
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
180
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
181
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
var unsupportedIterableToArray = _unsupportedIterableToArray;
|
|
185
|
-
|
|
186
|
-
function _nonIterableSpread() {
|
|
187
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
var nonIterableSpread = _nonIterableSpread;
|
|
191
|
-
|
|
192
|
-
function _toConsumableArray(arr) {
|
|
193
|
-
return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
var toConsumableArray = _toConsumableArray;
|
|
197
|
-
|
|
198
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
199
|
-
try {
|
|
200
|
-
var info = gen[key](arg);
|
|
201
|
-
var value = info.value;
|
|
202
|
-
} catch (error) {
|
|
203
|
-
reject(error);
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
if (info.done) {
|
|
208
|
-
resolve(value);
|
|
209
|
-
} else {
|
|
210
|
-
Promise.resolve(value).then(_next, _throw);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
function _asyncToGenerator(fn) {
|
|
215
|
-
return function () {
|
|
216
|
-
var self = this,
|
|
217
|
-
args = arguments;
|
|
218
|
-
return new Promise(function (resolve, reject) {
|
|
219
|
-
var gen = fn.apply(self, args);
|
|
220
|
-
|
|
221
|
-
function _next(value) {
|
|
222
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
function _throw(err) {
|
|
226
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
_next(undefined);
|
|
230
|
-
});
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
var asyncToGenerator = _asyncToGenerator;
|
|
235
|
-
|
|
236
|
-
function _classCallCheck(instance, Constructor) {
|
|
237
|
-
if (!(instance instanceof Constructor)) {
|
|
238
|
-
throw new TypeError("Cannot call a class as a function");
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
var classCallCheck = _classCallCheck;
|
|
243
|
-
|
|
244
|
-
function _defineProperties(target, props) {
|
|
245
|
-
for (var i = 0; i < props.length; i++) {
|
|
246
|
-
var descriptor = props[i];
|
|
247
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
248
|
-
descriptor.configurable = true;
|
|
249
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
250
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
251
|
-
}
|
|
43
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
44
|
+
return typeof obj;
|
|
45
|
+
} : function (obj) {
|
|
46
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
47
|
+
}, _typeof(obj);
|
|
252
48
|
}
|
|
253
49
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
*/
|
|
269
|
-
|
|
270
|
-
var
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
IteratorPrototype[iteratorSymbol] = function () {
|
|
333
|
-
return this;
|
|
334
|
-
};
|
|
335
|
-
|
|
336
|
-
var getProto = Object.getPrototypeOf;
|
|
337
|
-
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
|
|
338
|
-
if (NativeIteratorPrototype &&
|
|
339
|
-
NativeIteratorPrototype !== Op &&
|
|
340
|
-
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
|
|
341
|
-
// This environment has a native %IteratorPrototype%; use it instead
|
|
342
|
-
// of the polyfill.
|
|
343
|
-
IteratorPrototype = NativeIteratorPrototype;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
var Gp = GeneratorFunctionPrototype.prototype =
|
|
347
|
-
Generator.prototype = Object.create(IteratorPrototype);
|
|
348
|
-
GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
|
|
349
|
-
GeneratorFunctionPrototype.constructor = GeneratorFunction;
|
|
350
|
-
GeneratorFunctionPrototype[toStringTagSymbol] =
|
|
351
|
-
GeneratorFunction.displayName = "GeneratorFunction";
|
|
352
|
-
|
|
353
|
-
// Helper for defining the .next, .throw, and .return methods of the
|
|
354
|
-
// Iterator interface in terms of a single ._invoke method.
|
|
355
|
-
function defineIteratorMethods(prototype) {
|
|
356
|
-
["next", "throw", "return"].forEach(function(method) {
|
|
357
|
-
prototype[method] = function(arg) {
|
|
358
|
-
return this._invoke(method, arg);
|
|
359
|
-
};
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
exports.isGeneratorFunction = function(genFun) {
|
|
364
|
-
var ctor = typeof genFun === "function" && genFun.constructor;
|
|
365
|
-
return ctor
|
|
366
|
-
? ctor === GeneratorFunction ||
|
|
367
|
-
// For the native GeneratorFunction constructor, the best we can
|
|
368
|
-
// do is to check its .name property.
|
|
369
|
-
(ctor.displayName || ctor.name) === "GeneratorFunction"
|
|
370
|
-
: false;
|
|
371
|
-
};
|
|
372
|
-
|
|
373
|
-
exports.mark = function(genFun) {
|
|
374
|
-
if (Object.setPrototypeOf) {
|
|
375
|
-
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
|
|
376
|
-
} else {
|
|
377
|
-
genFun.__proto__ = GeneratorFunctionPrototype;
|
|
378
|
-
if (!(toStringTagSymbol in genFun)) {
|
|
379
|
-
genFun[toStringTagSymbol] = "GeneratorFunction";
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
genFun.prototype = Object.create(Gp);
|
|
383
|
-
return genFun;
|
|
384
|
-
};
|
|
385
|
-
|
|
386
|
-
// Within the body of any async function, `await x` is transformed to
|
|
387
|
-
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
|
|
388
|
-
// `hasOwn.call(value, "__await")` to determine if the yielded value is
|
|
389
|
-
// meant to be awaited.
|
|
390
|
-
exports.awrap = function(arg) {
|
|
391
|
-
return { __await: arg };
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
function AsyncIterator(generator, PromiseImpl) {
|
|
395
|
-
function invoke(method, arg, resolve, reject) {
|
|
396
|
-
var record = tryCatch(generator[method], generator, arg);
|
|
397
|
-
if (record.type === "throw") {
|
|
398
|
-
reject(record.arg);
|
|
399
|
-
} else {
|
|
400
|
-
var result = record.arg;
|
|
401
|
-
var value = result.value;
|
|
402
|
-
if (value &&
|
|
403
|
-
typeof value === "object" &&
|
|
404
|
-
hasOwn.call(value, "__await")) {
|
|
405
|
-
return PromiseImpl.resolve(value.__await).then(function(value) {
|
|
406
|
-
invoke("next", value, resolve, reject);
|
|
407
|
-
}, function(err) {
|
|
408
|
-
invoke("throw", err, resolve, reject);
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
return PromiseImpl.resolve(value).then(function(unwrapped) {
|
|
413
|
-
// When a yielded Promise is resolved, its final value becomes
|
|
414
|
-
// the .value of the Promise<{value,done}> result for the
|
|
415
|
-
// current iteration.
|
|
416
|
-
result.value = unwrapped;
|
|
417
|
-
resolve(result);
|
|
418
|
-
}, function(error) {
|
|
419
|
-
// If a rejected Promise was yielded, throw the rejection back
|
|
420
|
-
// into the async generator function so it can be handled there.
|
|
421
|
-
return invoke("throw", error, resolve, reject);
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
var previousPromise;
|
|
427
|
-
|
|
428
|
-
function enqueue(method, arg) {
|
|
429
|
-
function callInvokeWithMethodAndArg() {
|
|
430
|
-
return new PromiseImpl(function(resolve, reject) {
|
|
431
|
-
invoke(method, arg, resolve, reject);
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
return previousPromise =
|
|
436
|
-
// If enqueue has been called before, then we want to wait until
|
|
437
|
-
// all previous Promises have been resolved before calling invoke,
|
|
438
|
-
// so that results are always delivered in the correct order. If
|
|
439
|
-
// enqueue has not been called before, then it is important to
|
|
440
|
-
// call invoke immediately, without waiting on a callback to fire,
|
|
441
|
-
// so that the async generator function has the opportunity to do
|
|
442
|
-
// any necessary setup in a predictable way. This predictability
|
|
443
|
-
// is why the Promise constructor synchronously invokes its
|
|
444
|
-
// executor callback, and why async functions synchronously
|
|
445
|
-
// execute code before the first await. Since we implement simple
|
|
446
|
-
// async functions in terms of async generators, it is especially
|
|
447
|
-
// important to get this right, even though it requires care.
|
|
448
|
-
previousPromise ? previousPromise.then(
|
|
449
|
-
callInvokeWithMethodAndArg,
|
|
450
|
-
// Avoid propagating failures to Promises returned by later
|
|
451
|
-
// invocations of the iterator.
|
|
452
|
-
callInvokeWithMethodAndArg
|
|
453
|
-
) : callInvokeWithMethodAndArg();
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
// Define the unified helper method that is used to implement .next,
|
|
457
|
-
// .throw, and .return (see defineIteratorMethods).
|
|
458
|
-
this._invoke = enqueue;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
defineIteratorMethods(AsyncIterator.prototype);
|
|
462
|
-
AsyncIterator.prototype[asyncIteratorSymbol] = function () {
|
|
463
|
-
return this;
|
|
464
|
-
};
|
|
465
|
-
exports.AsyncIterator = AsyncIterator;
|
|
466
|
-
|
|
467
|
-
// Note that simple async functions are implemented on top of
|
|
468
|
-
// AsyncIterator objects; they just return a Promise for the value of
|
|
469
|
-
// the final result produced by the iterator.
|
|
470
|
-
exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
|
|
471
|
-
if (PromiseImpl === void 0) PromiseImpl = Promise;
|
|
472
|
-
|
|
473
|
-
var iter = new AsyncIterator(
|
|
474
|
-
wrap(innerFn, outerFn, self, tryLocsList),
|
|
475
|
-
PromiseImpl
|
|
476
|
-
);
|
|
477
|
-
|
|
478
|
-
return exports.isGeneratorFunction(outerFn)
|
|
479
|
-
? iter // If outerFn is a generator, return the full iterator.
|
|
480
|
-
: iter.next().then(function(result) {
|
|
481
|
-
return result.done ? result.value : iter.next();
|
|
482
|
-
});
|
|
483
|
-
};
|
|
484
|
-
|
|
485
|
-
function makeInvokeMethod(innerFn, self, context) {
|
|
486
|
-
var state = GenStateSuspendedStart;
|
|
487
|
-
|
|
488
|
-
return function invoke(method, arg) {
|
|
489
|
-
if (state === GenStateExecuting) {
|
|
490
|
-
throw new Error("Generator is already running");
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
if (state === GenStateCompleted) {
|
|
494
|
-
if (method === "throw") {
|
|
495
|
-
throw arg;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
// Be forgiving, per 25.3.3.3.3 of the spec:
|
|
499
|
-
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
|
|
500
|
-
return doneResult();
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
context.method = method;
|
|
504
|
-
context.arg = arg;
|
|
505
|
-
|
|
506
|
-
while (true) {
|
|
507
|
-
var delegate = context.delegate;
|
|
508
|
-
if (delegate) {
|
|
509
|
-
var delegateResult = maybeInvokeDelegate(delegate, context);
|
|
510
|
-
if (delegateResult) {
|
|
511
|
-
if (delegateResult === ContinueSentinel) continue;
|
|
512
|
-
return delegateResult;
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
if (context.method === "next") {
|
|
517
|
-
// Setting context._sent for legacy support of Babel's
|
|
518
|
-
// function.sent implementation.
|
|
519
|
-
context.sent = context._sent = context.arg;
|
|
520
|
-
|
|
521
|
-
} else if (context.method === "throw") {
|
|
522
|
-
if (state === GenStateSuspendedStart) {
|
|
523
|
-
state = GenStateCompleted;
|
|
524
|
-
throw context.arg;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
context.dispatchException(context.arg);
|
|
528
|
-
|
|
529
|
-
} else if (context.method === "return") {
|
|
530
|
-
context.abrupt("return", context.arg);
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
state = GenStateExecuting;
|
|
534
|
-
|
|
535
|
-
var record = tryCatch(innerFn, self, context);
|
|
536
|
-
if (record.type === "normal") {
|
|
537
|
-
// If an exception is thrown from innerFn, we leave state ===
|
|
538
|
-
// GenStateExecuting and loop back for another invocation.
|
|
539
|
-
state = context.done
|
|
540
|
-
? GenStateCompleted
|
|
541
|
-
: GenStateSuspendedYield;
|
|
542
|
-
|
|
543
|
-
if (record.arg === ContinueSentinel) {
|
|
544
|
-
continue;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
return {
|
|
548
|
-
value: record.arg,
|
|
549
|
-
done: context.done
|
|
550
|
-
};
|
|
551
|
-
|
|
552
|
-
} else if (record.type === "throw") {
|
|
553
|
-
state = GenStateCompleted;
|
|
554
|
-
// Dispatch the exception by looping back around to the
|
|
555
|
-
// context.dispatchException(context.arg) call above.
|
|
556
|
-
context.method = "throw";
|
|
557
|
-
context.arg = record.arg;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
};
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
// Call delegate.iterator[context.method](context.arg) and handle the
|
|
564
|
-
// result, either by returning a { value, done } result from the
|
|
565
|
-
// delegate iterator, or by modifying context.method and context.arg,
|
|
566
|
-
// setting context.delegate to null, and returning the ContinueSentinel.
|
|
567
|
-
function maybeInvokeDelegate(delegate, context) {
|
|
568
|
-
var method = delegate.iterator[context.method];
|
|
569
|
-
if (method === undefined$1) {
|
|
570
|
-
// A .throw or .return when the delegate iterator has no .throw
|
|
571
|
-
// method always terminates the yield* loop.
|
|
572
|
-
context.delegate = null;
|
|
573
|
-
|
|
574
|
-
if (context.method === "throw") {
|
|
575
|
-
// Note: ["return"] must be used for ES3 parsing compatibility.
|
|
576
|
-
if (delegate.iterator["return"]) {
|
|
577
|
-
// If the delegate iterator has a return method, give it a
|
|
578
|
-
// chance to clean up.
|
|
579
|
-
context.method = "return";
|
|
580
|
-
context.arg = undefined$1;
|
|
581
|
-
maybeInvokeDelegate(delegate, context);
|
|
582
|
-
|
|
583
|
-
if (context.method === "throw") {
|
|
584
|
-
// If maybeInvokeDelegate(context) changed context.method from
|
|
585
|
-
// "return" to "throw", let that override the TypeError below.
|
|
586
|
-
return ContinueSentinel;
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
context.method = "throw";
|
|
591
|
-
context.arg = new TypeError(
|
|
592
|
-
"The iterator does not provide a 'throw' method");
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
return ContinueSentinel;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
var record = tryCatch(method, delegate.iterator, context.arg);
|
|
599
|
-
|
|
600
|
-
if (record.type === "throw") {
|
|
601
|
-
context.method = "throw";
|
|
602
|
-
context.arg = record.arg;
|
|
603
|
-
context.delegate = null;
|
|
604
|
-
return ContinueSentinel;
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
var info = record.arg;
|
|
608
|
-
|
|
609
|
-
if (! info) {
|
|
610
|
-
context.method = "throw";
|
|
611
|
-
context.arg = new TypeError("iterator result is not an object");
|
|
612
|
-
context.delegate = null;
|
|
613
|
-
return ContinueSentinel;
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
if (info.done) {
|
|
617
|
-
// Assign the result of the finished delegate to the temporary
|
|
618
|
-
// variable specified by delegate.resultName (see delegateYield).
|
|
619
|
-
context[delegate.resultName] = info.value;
|
|
620
|
-
|
|
621
|
-
// Resume execution at the desired location (see delegateYield).
|
|
622
|
-
context.next = delegate.nextLoc;
|
|
623
|
-
|
|
624
|
-
// If context.method was "throw" but the delegate handled the
|
|
625
|
-
// exception, let the outer generator proceed normally. If
|
|
626
|
-
// context.method was "next", forget context.arg since it has been
|
|
627
|
-
// "consumed" by the delegate iterator. If context.method was
|
|
628
|
-
// "return", allow the original .return call to continue in the
|
|
629
|
-
// outer generator.
|
|
630
|
-
if (context.method !== "return") {
|
|
631
|
-
context.method = "next";
|
|
632
|
-
context.arg = undefined$1;
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
} else {
|
|
636
|
-
// Re-yield the result returned by the delegate method.
|
|
637
|
-
return info;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
// The delegate iterator is finished, so forget it and continue with
|
|
641
|
-
// the outer generator.
|
|
642
|
-
context.delegate = null;
|
|
643
|
-
return ContinueSentinel;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
// Define Generator.prototype.{next,throw,return} in terms of the
|
|
647
|
-
// unified ._invoke helper method.
|
|
648
|
-
defineIteratorMethods(Gp);
|
|
649
|
-
|
|
650
|
-
Gp[toStringTagSymbol] = "Generator";
|
|
651
|
-
|
|
652
|
-
// A Generator should always return itself as the iterator object when the
|
|
653
|
-
// @@iterator function is called on it. Some browsers' implementations of the
|
|
654
|
-
// iterator prototype chain incorrectly implement this, causing the Generator
|
|
655
|
-
// object to not be returned from this call. This ensures that doesn't happen.
|
|
656
|
-
// See https://github.com/facebook/regenerator/issues/274 for more details.
|
|
657
|
-
Gp[iteratorSymbol] = function() {
|
|
658
|
-
return this;
|
|
659
|
-
};
|
|
660
|
-
|
|
661
|
-
Gp.toString = function() {
|
|
662
|
-
return "[object Generator]";
|
|
663
|
-
};
|
|
664
|
-
|
|
665
|
-
function pushTryEntry(locs) {
|
|
666
|
-
var entry = { tryLoc: locs[0] };
|
|
667
|
-
|
|
668
|
-
if (1 in locs) {
|
|
669
|
-
entry.catchLoc = locs[1];
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
if (2 in locs) {
|
|
673
|
-
entry.finallyLoc = locs[2];
|
|
674
|
-
entry.afterLoc = locs[3];
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
this.tryEntries.push(entry);
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
function resetTryEntry(entry) {
|
|
681
|
-
var record = entry.completion || {};
|
|
682
|
-
record.type = "normal";
|
|
683
|
-
delete record.arg;
|
|
684
|
-
entry.completion = record;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
function Context(tryLocsList) {
|
|
688
|
-
// The root entry object (effectively a try statement without a catch
|
|
689
|
-
// or a finally block) gives us a place to store values thrown from
|
|
690
|
-
// locations where there is no enclosing try statement.
|
|
691
|
-
this.tryEntries = [{ tryLoc: "root" }];
|
|
692
|
-
tryLocsList.forEach(pushTryEntry, this);
|
|
693
|
-
this.reset(true);
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
exports.keys = function(object) {
|
|
697
|
-
var keys = [];
|
|
698
|
-
for (var key in object) {
|
|
699
|
-
keys.push(key);
|
|
700
|
-
}
|
|
701
|
-
keys.reverse();
|
|
702
|
-
|
|
703
|
-
// Rather than returning an object with a next method, we keep
|
|
704
|
-
// things simple and return the next function itself.
|
|
705
|
-
return function next() {
|
|
706
|
-
while (keys.length) {
|
|
707
|
-
var key = keys.pop();
|
|
708
|
-
if (key in object) {
|
|
709
|
-
next.value = key;
|
|
710
|
-
next.done = false;
|
|
711
|
-
return next;
|
|
712
|
-
}
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
// To avoid creating an additional object, we just hang the .value
|
|
716
|
-
// and .done properties off the next function object itself. This
|
|
717
|
-
// also ensures that the minifier will not anonymize the function.
|
|
718
|
-
next.done = true;
|
|
719
|
-
return next;
|
|
720
|
-
};
|
|
721
|
-
};
|
|
722
|
-
|
|
723
|
-
function values(iterable) {
|
|
724
|
-
if (iterable) {
|
|
725
|
-
var iteratorMethod = iterable[iteratorSymbol];
|
|
726
|
-
if (iteratorMethod) {
|
|
727
|
-
return iteratorMethod.call(iterable);
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
if (typeof iterable.next === "function") {
|
|
731
|
-
return iterable;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
if (!isNaN(iterable.length)) {
|
|
735
|
-
var i = -1, next = function next() {
|
|
736
|
-
while (++i < iterable.length) {
|
|
737
|
-
if (hasOwn.call(iterable, i)) {
|
|
738
|
-
next.value = iterable[i];
|
|
739
|
-
next.done = false;
|
|
740
|
-
return next;
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
next.value = undefined$1;
|
|
745
|
-
next.done = true;
|
|
746
|
-
|
|
747
|
-
return next;
|
|
748
|
-
};
|
|
749
|
-
|
|
750
|
-
return next.next = next;
|
|
751
|
-
}
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
// Return an iterator with no values.
|
|
755
|
-
return { next: doneResult };
|
|
756
|
-
}
|
|
757
|
-
exports.values = values;
|
|
758
|
-
|
|
759
|
-
function doneResult() {
|
|
760
|
-
return { value: undefined$1, done: true };
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
Context.prototype = {
|
|
764
|
-
constructor: Context,
|
|
765
|
-
|
|
766
|
-
reset: function(skipTempReset) {
|
|
767
|
-
this.prev = 0;
|
|
768
|
-
this.next = 0;
|
|
769
|
-
// Resetting context._sent for legacy support of Babel's
|
|
770
|
-
// function.sent implementation.
|
|
771
|
-
this.sent = this._sent = undefined$1;
|
|
772
|
-
this.done = false;
|
|
773
|
-
this.delegate = null;
|
|
774
|
-
|
|
775
|
-
this.method = "next";
|
|
776
|
-
this.arg = undefined$1;
|
|
777
|
-
|
|
778
|
-
this.tryEntries.forEach(resetTryEntry);
|
|
779
|
-
|
|
780
|
-
if (!skipTempReset) {
|
|
781
|
-
for (var name in this) {
|
|
782
|
-
// Not sure about the optimal order of these conditions:
|
|
783
|
-
if (name.charAt(0) === "t" &&
|
|
784
|
-
hasOwn.call(this, name) &&
|
|
785
|
-
!isNaN(+name.slice(1))) {
|
|
786
|
-
this[name] = undefined$1;
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
|
-
}
|
|
790
|
-
},
|
|
791
|
-
|
|
792
|
-
stop: function() {
|
|
793
|
-
this.done = true;
|
|
794
|
-
|
|
795
|
-
var rootEntry = this.tryEntries[0];
|
|
796
|
-
var rootRecord = rootEntry.completion;
|
|
797
|
-
if (rootRecord.type === "throw") {
|
|
798
|
-
throw rootRecord.arg;
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
return this.rval;
|
|
802
|
-
},
|
|
803
|
-
|
|
804
|
-
dispatchException: function(exception) {
|
|
805
|
-
if (this.done) {
|
|
806
|
-
throw exception;
|
|
807
|
-
}
|
|
808
|
-
|
|
809
|
-
var context = this;
|
|
810
|
-
function handle(loc, caught) {
|
|
811
|
-
record.type = "throw";
|
|
812
|
-
record.arg = exception;
|
|
813
|
-
context.next = loc;
|
|
814
|
-
|
|
815
|
-
if (caught) {
|
|
816
|
-
// If the dispatched exception was caught by a catch block,
|
|
817
|
-
// then let that catch block handle the exception normally.
|
|
818
|
-
context.method = "next";
|
|
819
|
-
context.arg = undefined$1;
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
return !! caught;
|
|
823
|
-
}
|
|
824
|
-
|
|
825
|
-
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
826
|
-
var entry = this.tryEntries[i];
|
|
827
|
-
var record = entry.completion;
|
|
828
|
-
|
|
829
|
-
if (entry.tryLoc === "root") {
|
|
830
|
-
// Exception thrown outside of any try block that could handle
|
|
831
|
-
// it, so set the completion value of the entire function to
|
|
832
|
-
// throw the exception.
|
|
833
|
-
return handle("end");
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
if (entry.tryLoc <= this.prev) {
|
|
837
|
-
var hasCatch = hasOwn.call(entry, "catchLoc");
|
|
838
|
-
var hasFinally = hasOwn.call(entry, "finallyLoc");
|
|
839
|
-
|
|
840
|
-
if (hasCatch && hasFinally) {
|
|
841
|
-
if (this.prev < entry.catchLoc) {
|
|
842
|
-
return handle(entry.catchLoc, true);
|
|
843
|
-
} else if (this.prev < entry.finallyLoc) {
|
|
844
|
-
return handle(entry.finallyLoc);
|
|
845
|
-
}
|
|
846
|
-
|
|
847
|
-
} else if (hasCatch) {
|
|
848
|
-
if (this.prev < entry.catchLoc) {
|
|
849
|
-
return handle(entry.catchLoc, true);
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
} else if (hasFinally) {
|
|
853
|
-
if (this.prev < entry.finallyLoc) {
|
|
854
|
-
return handle(entry.finallyLoc);
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
} else {
|
|
858
|
-
throw new Error("try statement without catch or finally");
|
|
859
|
-
}
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
},
|
|
863
|
-
|
|
864
|
-
abrupt: function(type, arg) {
|
|
865
|
-
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
866
|
-
var entry = this.tryEntries[i];
|
|
867
|
-
if (entry.tryLoc <= this.prev &&
|
|
868
|
-
hasOwn.call(entry, "finallyLoc") &&
|
|
869
|
-
this.prev < entry.finallyLoc) {
|
|
870
|
-
var finallyEntry = entry;
|
|
871
|
-
break;
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
if (finallyEntry &&
|
|
876
|
-
(type === "break" ||
|
|
877
|
-
type === "continue") &&
|
|
878
|
-
finallyEntry.tryLoc <= arg &&
|
|
879
|
-
arg <= finallyEntry.finallyLoc) {
|
|
880
|
-
// Ignore the finally entry if control is not jumping to a
|
|
881
|
-
// location outside the try/catch block.
|
|
882
|
-
finallyEntry = null;
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
var record = finallyEntry ? finallyEntry.completion : {};
|
|
886
|
-
record.type = type;
|
|
887
|
-
record.arg = arg;
|
|
888
|
-
|
|
889
|
-
if (finallyEntry) {
|
|
890
|
-
this.method = "next";
|
|
891
|
-
this.next = finallyEntry.finallyLoc;
|
|
892
|
-
return ContinueSentinel;
|
|
893
|
-
}
|
|
894
|
-
|
|
895
|
-
return this.complete(record);
|
|
896
|
-
},
|
|
897
|
-
|
|
898
|
-
complete: function(record, afterLoc) {
|
|
899
|
-
if (record.type === "throw") {
|
|
900
|
-
throw record.arg;
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
if (record.type === "break" ||
|
|
904
|
-
record.type === "continue") {
|
|
905
|
-
this.next = record.arg;
|
|
906
|
-
} else if (record.type === "return") {
|
|
907
|
-
this.rval = this.arg = record.arg;
|
|
908
|
-
this.method = "return";
|
|
909
|
-
this.next = "end";
|
|
910
|
-
} else if (record.type === "normal" && afterLoc) {
|
|
911
|
-
this.next = afterLoc;
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
return ContinueSentinel;
|
|
915
|
-
},
|
|
916
|
-
|
|
917
|
-
finish: function(finallyLoc) {
|
|
918
|
-
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
919
|
-
var entry = this.tryEntries[i];
|
|
920
|
-
if (entry.finallyLoc === finallyLoc) {
|
|
921
|
-
this.complete(entry.completion, entry.afterLoc);
|
|
922
|
-
resetTryEntry(entry);
|
|
923
|
-
return ContinueSentinel;
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
|
-
},
|
|
927
|
-
|
|
928
|
-
"catch": function(tryLoc) {
|
|
929
|
-
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
930
|
-
var entry = this.tryEntries[i];
|
|
931
|
-
if (entry.tryLoc === tryLoc) {
|
|
932
|
-
var record = entry.completion;
|
|
933
|
-
if (record.type === "throw") {
|
|
934
|
-
var thrown = record.arg;
|
|
935
|
-
resetTryEntry(entry);
|
|
936
|
-
}
|
|
937
|
-
return thrown;
|
|
938
|
-
}
|
|
939
|
-
}
|
|
940
|
-
|
|
941
|
-
// The context.catch method must only be called with a location
|
|
942
|
-
// argument that corresponds to a known catch block.
|
|
943
|
-
throw new Error("illegal catch attempt");
|
|
944
|
-
},
|
|
945
|
-
|
|
946
|
-
delegateYield: function(iterable, resultName, nextLoc) {
|
|
947
|
-
this.delegate = {
|
|
948
|
-
iterator: values(iterable),
|
|
949
|
-
resultName: resultName,
|
|
950
|
-
nextLoc: nextLoc
|
|
951
|
-
};
|
|
952
|
-
|
|
953
|
-
if (this.method === "next") {
|
|
954
|
-
// Deliberately forget the last sent value so that we don't
|
|
955
|
-
// accidentally pass it on to the delegate.
|
|
956
|
-
this.arg = undefined$1;
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
return ContinueSentinel;
|
|
960
|
-
}
|
|
961
|
-
};
|
|
962
|
-
|
|
963
|
-
// Regardless of whether this script is executing as a CommonJS module
|
|
964
|
-
// or not, return the runtime object so that we can declare the variable
|
|
965
|
-
// regeneratorRuntime in the outer scope, which allows this module to be
|
|
966
|
-
// injected easily by `bin/regenerator --include-runtime script.js`.
|
|
967
|
-
return exports;
|
|
968
|
-
|
|
969
|
-
}(
|
|
970
|
-
// If this script is executing as a CommonJS module, use module.exports
|
|
971
|
-
// as the regeneratorRuntime namespace. Otherwise create a new empty
|
|
972
|
-
// object. Either way, the resulting object will be used to initialize
|
|
973
|
-
// the regeneratorRuntime variable at the top of this file.
|
|
974
|
-
module.exports
|
|
975
|
-
));
|
|
976
|
-
|
|
977
|
-
try {
|
|
978
|
-
regeneratorRuntime = runtime;
|
|
979
|
-
} catch (accidentalStrictMode) {
|
|
980
|
-
// This module should not be running in strict mode, so the above
|
|
981
|
-
// assignment should always work unless something is misconfigured. Just
|
|
982
|
-
// in case runtime.js accidentally runs in strict mode, we can escape
|
|
983
|
-
// strict mode using a global Function call. This could conceivably fail
|
|
984
|
-
// if a Content Security Policy forbids using Function, but in that case
|
|
985
|
-
// the proper solution is to fix the accidental strict mode problem. If
|
|
986
|
-
// you've misconfigured your bundler to force strict mode and applied a
|
|
987
|
-
// CSP to forbid Function, and you're not willing to fix either of those
|
|
988
|
-
// problems, please detail your unique predicament in a GitHub issue.
|
|
989
|
-
Function("r", "regeneratorRuntime = r")(runtime);
|
|
50
|
+
/******************************************************************************
|
|
51
|
+
Copyright (c) Microsoft Corporation.
|
|
52
|
+
|
|
53
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
54
|
+
purpose with or without fee is hereby granted.
|
|
55
|
+
|
|
56
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
57
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
58
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
59
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
60
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
61
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
62
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
63
|
+
***************************************************************************** */
|
|
64
|
+
/* global Reflect, Promise */
|
|
65
|
+
|
|
66
|
+
var extendStatics = function(d, b) {
|
|
67
|
+
extendStatics = Object.setPrototypeOf ||
|
|
68
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
69
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
70
|
+
return extendStatics(d, b);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
function __extends(d, b) {
|
|
74
|
+
if (typeof b !== "function" && b !== null)
|
|
75
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
76
|
+
extendStatics(d, b);
|
|
77
|
+
function __() { this.constructor = d; }
|
|
78
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
var __assign = function() {
|
|
82
|
+
__assign = Object.assign || function __assign(t) {
|
|
83
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
84
|
+
s = arguments[i];
|
|
85
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
86
|
+
}
|
|
87
|
+
return t;
|
|
88
|
+
};
|
|
89
|
+
return __assign.apply(this, arguments);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
93
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
94
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
95
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
96
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
97
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
98
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function __generator(thisArg, body) {
|
|
103
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
104
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
105
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
106
|
+
function step(op) {
|
|
107
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
108
|
+
while (_) try {
|
|
109
|
+
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;
|
|
110
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
111
|
+
switch (op[0]) {
|
|
112
|
+
case 0: case 1: t = op; break;
|
|
113
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
114
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
115
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
116
|
+
default:
|
|
117
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
118
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
119
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
120
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
121
|
+
if (t[2]) _.ops.pop();
|
|
122
|
+
_.trys.pop(); continue;
|
|
123
|
+
}
|
|
124
|
+
op = body.call(thisArg, _);
|
|
125
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
126
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
127
|
+
}
|
|
990
128
|
}
|
|
991
|
-
});
|
|
992
|
-
|
|
993
|
-
var regenerator = runtime_1;
|
|
994
|
-
|
|
995
|
-
var SDKProductActionType;
|
|
996
|
-
(function (a) { a[a.Unknown = 0] = "Unknown", a[a.AddToCart = 1] = "AddToCart", a[a.RemoveFromCart = 2] = "RemoveFromCart", a[a.Checkout = 3] = "Checkout", a[a.CheckoutOption = 4] = "CheckoutOption", a[a.Click = 5] = "Click", a[a.ViewDetail = 6] = "ViewDetail", a[a.Purchase = 7] = "Purchase", a[a.Refund = 8] = "Refund", a[a.AddToWishlist = 9] = "AddToWishlist", a[a.RemoveFromWishlist = 10] = "RemoveFromWishlist"; })(SDKProductActionType || (SDKProductActionType = {}));
|
|
997
|
-
var SDKIdentityTypeEnum;
|
|
998
|
-
(function (a) { a.other = "other", a.customerId = "customerid", a.facebook = "facebook", a.twitter = "twitter", a.google = "google", a.microsoft = "microsoft", a.yahoo = "yahoo", a.email = "email", a.alias = "alias", a.facebookCustomAudienceId = "facebookcustomaudienceid", a.otherId2 = "other2", a.otherId3 = "other3", a.otherId4 = "other4", a.otherId5 = "other5", a.otherId6 = "other6", a.otherId7 = "other7", a.otherId8 = "other8", a.otherId9 = "other9", a.otherId10 = "other10", a.mobileNumber = "mobile_number", a.phoneNumber2 = "phone_number_2", a.phoneNumber3 = "phone_number_3"; })(SDKIdentityTypeEnum || (SDKIdentityTypeEnum = {}));
|
|
999
|
-
|
|
1000
|
-
var dist = createCommonjsModule(function (module, exports) {
|
|
1001
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1002
|
-
/**
|
|
1003
|
-
* Enum for the os property.
|
|
1004
|
-
*/
|
|
1005
|
-
var ApplicationInformationOsEnum;
|
|
1006
|
-
(function (ApplicationInformationOsEnum) {
|
|
1007
|
-
ApplicationInformationOsEnum["unknown"] = "Unknown";
|
|
1008
|
-
ApplicationInformationOsEnum["iOS"] = "IOS";
|
|
1009
|
-
ApplicationInformationOsEnum["android"] = "Android";
|
|
1010
|
-
ApplicationInformationOsEnum["windowsPhone"] = "WindowsPhone";
|
|
1011
|
-
ApplicationInformationOsEnum["mobileWeb"] = "MobileWeb";
|
|
1012
|
-
ApplicationInformationOsEnum["unityIOS"] = "UnityIOS";
|
|
1013
|
-
ApplicationInformationOsEnum["unityAndroid"] = "UnityAndroid";
|
|
1014
|
-
ApplicationInformationOsEnum["desktop"] = "Desktop";
|
|
1015
|
-
ApplicationInformationOsEnum["tvOS"] = "TVOS";
|
|
1016
|
-
ApplicationInformationOsEnum["roku"] = "Roku";
|
|
1017
|
-
ApplicationInformationOsEnum["outOfBand"] = "OutOfBand";
|
|
1018
|
-
ApplicationInformationOsEnum["alexa"] = "Alexa";
|
|
1019
|
-
ApplicationInformationOsEnum["smartTV"] = "SmartTV";
|
|
1020
|
-
ApplicationInformationOsEnum["fireTV"] = "FireTV";
|
|
1021
|
-
ApplicationInformationOsEnum["xbox"] = "Xbox";
|
|
1022
|
-
})(ApplicationInformationOsEnum = exports.ApplicationInformationOsEnum || (exports.ApplicationInformationOsEnum = {}));
|
|
1023
|
-
/**
|
|
1024
|
-
* Enum for the event_type property.
|
|
1025
|
-
*/
|
|
1026
|
-
var ApplicationStateTransitionEventEventTypeEnum;
|
|
1027
|
-
(function (ApplicationStateTransitionEventEventTypeEnum) {
|
|
1028
|
-
ApplicationStateTransitionEventEventTypeEnum["applicationStateTransition"] = "application_state_transition";
|
|
1029
|
-
})(ApplicationStateTransitionEventEventTypeEnum = exports.ApplicationStateTransitionEventEventTypeEnum || (exports.ApplicationStateTransitionEventEventTypeEnum = {}));
|
|
1030
|
-
/**
|
|
1031
|
-
* Enum for the application_transition_type property.
|
|
1032
|
-
*/
|
|
1033
|
-
var ApplicationStateTransitionEventDataApplicationTransitionTypeEnum;
|
|
1034
|
-
(function (ApplicationStateTransitionEventDataApplicationTransitionTypeEnum) {
|
|
1035
|
-
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationInitialized"] = "application_initialized";
|
|
1036
|
-
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationExit"] = "application_exit";
|
|
1037
|
-
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationBackground"] = "application_background";
|
|
1038
|
-
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationForeground"] = "application_foreground";
|
|
1039
|
-
})(ApplicationStateTransitionEventDataApplicationTransitionTypeEnum = exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum || (exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum = {}));
|
|
1040
|
-
/**
|
|
1041
|
-
* Enum for the environment property.
|
|
1042
|
-
*/
|
|
1043
|
-
var BatchEnvironmentEnum;
|
|
1044
|
-
(function (BatchEnvironmentEnum) {
|
|
1045
|
-
BatchEnvironmentEnum["unknown"] = "unknown";
|
|
1046
|
-
BatchEnvironmentEnum["development"] = "development";
|
|
1047
|
-
BatchEnvironmentEnum["production"] = "production";
|
|
1048
|
-
})(BatchEnvironmentEnum = exports.BatchEnvironmentEnum || (exports.BatchEnvironmentEnum = {}));
|
|
1049
|
-
/**
|
|
1050
|
-
* Enum for the event_type property.
|
|
1051
|
-
*/
|
|
1052
|
-
var BreadcrumbEventEventTypeEnum;
|
|
1053
|
-
(function (BreadcrumbEventEventTypeEnum) {
|
|
1054
|
-
BreadcrumbEventEventTypeEnum["breadcrumb"] = "breadcrumb";
|
|
1055
|
-
})(BreadcrumbEventEventTypeEnum = exports.BreadcrumbEventEventTypeEnum || (exports.BreadcrumbEventEventTypeEnum = {}));
|
|
1056
|
-
/**
|
|
1057
|
-
* Enum for the event_type property.
|
|
1058
|
-
*/
|
|
1059
|
-
var CommerceEventEventTypeEnum;
|
|
1060
|
-
(function (CommerceEventEventTypeEnum) {
|
|
1061
|
-
CommerceEventEventTypeEnum["commerceEvent"] = "commerce_event";
|
|
1062
|
-
})(CommerceEventEventTypeEnum = exports.CommerceEventEventTypeEnum || (exports.CommerceEventEventTypeEnum = {}));
|
|
1063
|
-
/**
|
|
1064
|
-
* Enum for the custom_event_type property.
|
|
1065
|
-
*/
|
|
1066
|
-
var CommerceEventDataCustomEventTypeEnum;
|
|
1067
|
-
(function (CommerceEventDataCustomEventTypeEnum) {
|
|
1068
|
-
CommerceEventDataCustomEventTypeEnum["addToCart"] = "add_to_cart";
|
|
1069
|
-
CommerceEventDataCustomEventTypeEnum["removeFromCart"] = "remove_from_cart";
|
|
1070
|
-
CommerceEventDataCustomEventTypeEnum["checkout"] = "checkout";
|
|
1071
|
-
CommerceEventDataCustomEventTypeEnum["checkoutOption"] = "checkout_option";
|
|
1072
|
-
CommerceEventDataCustomEventTypeEnum["click"] = "click";
|
|
1073
|
-
CommerceEventDataCustomEventTypeEnum["viewDetail"] = "view_detail";
|
|
1074
|
-
CommerceEventDataCustomEventTypeEnum["purchase"] = "purchase";
|
|
1075
|
-
CommerceEventDataCustomEventTypeEnum["refund"] = "refund";
|
|
1076
|
-
CommerceEventDataCustomEventTypeEnum["promotionView"] = "promotion_view";
|
|
1077
|
-
CommerceEventDataCustomEventTypeEnum["promotionClick"] = "promotion_click";
|
|
1078
|
-
CommerceEventDataCustomEventTypeEnum["addToWishlist"] = "add_to_wishlist";
|
|
1079
|
-
CommerceEventDataCustomEventTypeEnum["removeFromWishlist"] = "remove_from_wishlist";
|
|
1080
|
-
CommerceEventDataCustomEventTypeEnum["impression"] = "impression";
|
|
1081
|
-
})(CommerceEventDataCustomEventTypeEnum = exports.CommerceEventDataCustomEventTypeEnum || (exports.CommerceEventDataCustomEventTypeEnum = {}));
|
|
1082
|
-
/**
|
|
1083
|
-
* Enum for the event_type property.
|
|
1084
|
-
*/
|
|
1085
|
-
var CrashReportEventEventTypeEnum;
|
|
1086
|
-
(function (CrashReportEventEventTypeEnum) {
|
|
1087
|
-
CrashReportEventEventTypeEnum["crashReport"] = "crash_report";
|
|
1088
|
-
})(CrashReportEventEventTypeEnum = exports.CrashReportEventEventTypeEnum || (exports.CrashReportEventEventTypeEnum = {}));
|
|
1089
|
-
/**
|
|
1090
|
-
* Enum for the event_type property.
|
|
1091
|
-
*/
|
|
1092
|
-
var CustomEventEventTypeEnum;
|
|
1093
|
-
(function (CustomEventEventTypeEnum) {
|
|
1094
|
-
CustomEventEventTypeEnum["customEvent"] = "custom_event";
|
|
1095
|
-
})(CustomEventEventTypeEnum = exports.CustomEventEventTypeEnum || (exports.CustomEventEventTypeEnum = {}));
|
|
1096
|
-
/**
|
|
1097
|
-
* Enum for the custom_event_type property.
|
|
1098
|
-
*/
|
|
1099
|
-
var CustomEventDataCustomEventTypeEnum;
|
|
1100
|
-
(function (CustomEventDataCustomEventTypeEnum) {
|
|
1101
|
-
CustomEventDataCustomEventTypeEnum["navigation"] = "navigation";
|
|
1102
|
-
CustomEventDataCustomEventTypeEnum["location"] = "location";
|
|
1103
|
-
CustomEventDataCustomEventTypeEnum["search"] = "search";
|
|
1104
|
-
CustomEventDataCustomEventTypeEnum["transaction"] = "transaction";
|
|
1105
|
-
CustomEventDataCustomEventTypeEnum["userContent"] = "user_content";
|
|
1106
|
-
CustomEventDataCustomEventTypeEnum["userPreference"] = "user_preference";
|
|
1107
|
-
CustomEventDataCustomEventTypeEnum["social"] = "social";
|
|
1108
|
-
CustomEventDataCustomEventTypeEnum["media"] = "media";
|
|
1109
|
-
CustomEventDataCustomEventTypeEnum["other"] = "other";
|
|
1110
|
-
CustomEventDataCustomEventTypeEnum["unknown"] = "unknown";
|
|
1111
|
-
})(CustomEventDataCustomEventTypeEnum = exports.CustomEventDataCustomEventTypeEnum || (exports.CustomEventDataCustomEventTypeEnum = {}));
|
|
1112
|
-
/**
|
|
1113
|
-
* Enum for the device_orientation property.
|
|
1114
|
-
*/
|
|
1115
|
-
var DeviceCurrentStateDeviceOrientationEnum;
|
|
1116
|
-
(function (DeviceCurrentStateDeviceOrientationEnum) {
|
|
1117
|
-
DeviceCurrentStateDeviceOrientationEnum["portrait"] = "portrait";
|
|
1118
|
-
DeviceCurrentStateDeviceOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
|
|
1119
|
-
DeviceCurrentStateDeviceOrientationEnum["landscape"] = "landscape";
|
|
1120
|
-
DeviceCurrentStateDeviceOrientationEnum["landscapeLeft"] = "LandscapeLeft";
|
|
1121
|
-
DeviceCurrentStateDeviceOrientationEnum["landscapeRight"] = "LandscapeRight";
|
|
1122
|
-
DeviceCurrentStateDeviceOrientationEnum["faceUp"] = "FaceUp";
|
|
1123
|
-
DeviceCurrentStateDeviceOrientationEnum["faceDown"] = "FaceDown";
|
|
1124
|
-
DeviceCurrentStateDeviceOrientationEnum["square"] = "Square";
|
|
1125
|
-
})(DeviceCurrentStateDeviceOrientationEnum = exports.DeviceCurrentStateDeviceOrientationEnum || (exports.DeviceCurrentStateDeviceOrientationEnum = {}));
|
|
1126
|
-
/**
|
|
1127
|
-
* Enum for the status_bar_orientation property.
|
|
1128
|
-
*/
|
|
1129
|
-
var DeviceCurrentStateStatusBarOrientationEnum;
|
|
1130
|
-
(function (DeviceCurrentStateStatusBarOrientationEnum) {
|
|
1131
|
-
DeviceCurrentStateStatusBarOrientationEnum["portrait"] = "portrait";
|
|
1132
|
-
DeviceCurrentStateStatusBarOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
|
|
1133
|
-
DeviceCurrentStateStatusBarOrientationEnum["landscape"] = "landscape";
|
|
1134
|
-
DeviceCurrentStateStatusBarOrientationEnum["landscapeLeft"] = "LandscapeLeft";
|
|
1135
|
-
DeviceCurrentStateStatusBarOrientationEnum["landscapeRight"] = "LandscapeRight";
|
|
1136
|
-
DeviceCurrentStateStatusBarOrientationEnum["faceUp"] = "FaceUp";
|
|
1137
|
-
DeviceCurrentStateStatusBarOrientationEnum["faceDown"] = "FaceDown";
|
|
1138
|
-
DeviceCurrentStateStatusBarOrientationEnum["square"] = "Square";
|
|
1139
|
-
})(DeviceCurrentStateStatusBarOrientationEnum = exports.DeviceCurrentStateStatusBarOrientationEnum || (exports.DeviceCurrentStateStatusBarOrientationEnum = {}));
|
|
1140
|
-
/**
|
|
1141
|
-
* Enum for the platform property.
|
|
1142
|
-
*/
|
|
1143
|
-
var DeviceInformationPlatformEnum;
|
|
1144
|
-
(function (DeviceInformationPlatformEnum) {
|
|
1145
|
-
DeviceInformationPlatformEnum["iOS"] = "iOS";
|
|
1146
|
-
DeviceInformationPlatformEnum["android"] = "Android";
|
|
1147
|
-
DeviceInformationPlatformEnum["web"] = "web";
|
|
1148
|
-
DeviceInformationPlatformEnum["desktop"] = "desktop";
|
|
1149
|
-
DeviceInformationPlatformEnum["tvOS"] = "tvOS";
|
|
1150
|
-
DeviceInformationPlatformEnum["roku"] = "roku";
|
|
1151
|
-
DeviceInformationPlatformEnum["outOfBand"] = "out_of_band";
|
|
1152
|
-
DeviceInformationPlatformEnum["smartTV"] = "smart_tv";
|
|
1153
|
-
DeviceInformationPlatformEnum["xbox"] = "xbox";
|
|
1154
|
-
})(DeviceInformationPlatformEnum = exports.DeviceInformationPlatformEnum || (exports.DeviceInformationPlatformEnum = {}));
|
|
1155
|
-
var EventTypeEnum;
|
|
1156
|
-
(function (EventTypeEnum) {
|
|
1157
|
-
EventTypeEnum["unknown"] = "unknown";
|
|
1158
|
-
EventTypeEnum["sessionStart"] = "session_start";
|
|
1159
|
-
EventTypeEnum["sessionEnd"] = "session_end";
|
|
1160
|
-
EventTypeEnum["screenView"] = "screen_view";
|
|
1161
|
-
EventTypeEnum["customEvent"] = "custom_event";
|
|
1162
|
-
EventTypeEnum["crashReport"] = "crash_report";
|
|
1163
|
-
EventTypeEnum["optOut"] = "opt_out";
|
|
1164
|
-
EventTypeEnum["firstRun"] = "first_run";
|
|
1165
|
-
EventTypeEnum["preAttribution"] = "pre_attribution";
|
|
1166
|
-
EventTypeEnum["pushRegistration"] = "push_registration";
|
|
1167
|
-
EventTypeEnum["applicationStateTransition"] = "application_state_transition";
|
|
1168
|
-
EventTypeEnum["pushMessage"] = "push_message";
|
|
1169
|
-
EventTypeEnum["networkPerformance"] = "network_performance";
|
|
1170
|
-
EventTypeEnum["breadcrumb"] = "breadcrumb";
|
|
1171
|
-
EventTypeEnum["profile"] = "profile";
|
|
1172
|
-
EventTypeEnum["pushReaction"] = "push_reaction";
|
|
1173
|
-
EventTypeEnum["commerceEvent"] = "commerce_event";
|
|
1174
|
-
EventTypeEnum["userAttributeChange"] = "user_attribute_change";
|
|
1175
|
-
EventTypeEnum["userIdentityChange"] = "user_identity_change";
|
|
1176
|
-
EventTypeEnum["uninstall"] = "uninstall";
|
|
1177
|
-
EventTypeEnum["validationResult"] = "validation_result";
|
|
1178
|
-
})(EventTypeEnum = exports.EventTypeEnum || (exports.EventTypeEnum = {}));
|
|
1179
|
-
var IdentityTypeEnum;
|
|
1180
|
-
(function (IdentityTypeEnum) {
|
|
1181
|
-
IdentityTypeEnum["other"] = "other";
|
|
1182
|
-
IdentityTypeEnum["customerId"] = "customer_id";
|
|
1183
|
-
IdentityTypeEnum["facebook"] = "facebook";
|
|
1184
|
-
IdentityTypeEnum["twitter"] = "twitter";
|
|
1185
|
-
IdentityTypeEnum["google"] = "google";
|
|
1186
|
-
IdentityTypeEnum["microsoft"] = "microsoft";
|
|
1187
|
-
IdentityTypeEnum["yahoo"] = "yahoo";
|
|
1188
|
-
IdentityTypeEnum["email"] = "email";
|
|
1189
|
-
IdentityTypeEnum["alias"] = "alias";
|
|
1190
|
-
IdentityTypeEnum["facebookCustomAudienceId"] = "facebook_custom_audience_id";
|
|
1191
|
-
IdentityTypeEnum["otherId2"] = "other_id_2";
|
|
1192
|
-
IdentityTypeEnum["otherId3"] = "other_id_3";
|
|
1193
|
-
IdentityTypeEnum["otherId4"] = "other_id_4";
|
|
1194
|
-
IdentityTypeEnum["otherId5"] = "other_id_5";
|
|
1195
|
-
IdentityTypeEnum["otherId6"] = "other_id_6";
|
|
1196
|
-
IdentityTypeEnum["otherId7"] = "other_id_7";
|
|
1197
|
-
IdentityTypeEnum["otherId8"] = "other_id_8";
|
|
1198
|
-
IdentityTypeEnum["otherId9"] = "other_id_9";
|
|
1199
|
-
IdentityTypeEnum["otherId10"] = "other_id_10";
|
|
1200
|
-
IdentityTypeEnum["mobileNumber"] = "mobile_number";
|
|
1201
|
-
IdentityTypeEnum["phoneNumber2"] = "phone_number_2";
|
|
1202
|
-
IdentityTypeEnum["phoneNumber3"] = "phone_number_3";
|
|
1203
|
-
})(IdentityTypeEnum = exports.IdentityTypeEnum || (exports.IdentityTypeEnum = {}));
|
|
1204
|
-
/**
|
|
1205
|
-
* Enum for the event_type property.
|
|
1206
|
-
*/
|
|
1207
|
-
var NetworkPerformanceEventEventTypeEnum;
|
|
1208
|
-
(function (NetworkPerformanceEventEventTypeEnum) {
|
|
1209
|
-
NetworkPerformanceEventEventTypeEnum["networkPerformance"] = "network_performance";
|
|
1210
|
-
})(NetworkPerformanceEventEventTypeEnum = exports.NetworkPerformanceEventEventTypeEnum || (exports.NetworkPerformanceEventEventTypeEnum = {}));
|
|
1211
|
-
/**
|
|
1212
|
-
* Enum for the event_type property.
|
|
1213
|
-
*/
|
|
1214
|
-
var OptOutEventEnum;
|
|
1215
|
-
(function (OptOutEventEnum) {
|
|
1216
|
-
OptOutEventEnum["optOut"] = "opt_out";
|
|
1217
|
-
})(OptOutEventEnum = exports.OptOutEventEnum || (exports.OptOutEventEnum = {}));
|
|
1218
|
-
/**
|
|
1219
|
-
* Enum for the action property.
|
|
1220
|
-
*/
|
|
1221
|
-
var ProductActionActionEnum;
|
|
1222
|
-
(function (ProductActionActionEnum) {
|
|
1223
|
-
ProductActionActionEnum["unknown"] = "unknown";
|
|
1224
|
-
ProductActionActionEnum["addToCart"] = "add_to_cart";
|
|
1225
|
-
ProductActionActionEnum["removeFromCart"] = "remove_from_cart";
|
|
1226
|
-
ProductActionActionEnum["checkout"] = "checkout";
|
|
1227
|
-
ProductActionActionEnum["checkoutOption"] = "checkout_option";
|
|
1228
|
-
ProductActionActionEnum["click"] = "click";
|
|
1229
|
-
ProductActionActionEnum["viewDetail"] = "view_detail";
|
|
1230
|
-
ProductActionActionEnum["purchase"] = "purchase";
|
|
1231
|
-
ProductActionActionEnum["refund"] = "refund";
|
|
1232
|
-
ProductActionActionEnum["addToWishlist"] = "add_to_wishlist";
|
|
1233
|
-
ProductActionActionEnum["removeFromWishlist"] = "remove_from_wish_list";
|
|
1234
|
-
})(ProductActionActionEnum = exports.ProductActionActionEnum || (exports.ProductActionActionEnum = {}));
|
|
1235
|
-
/**
|
|
1236
|
-
* Enum for the event_type property.
|
|
1237
|
-
*/
|
|
1238
|
-
var ProfileEventEventTypeEnum;
|
|
1239
|
-
(function (ProfileEventEventTypeEnum) {
|
|
1240
|
-
ProfileEventEventTypeEnum["profile"] = "profile";
|
|
1241
|
-
})(ProfileEventEventTypeEnum = exports.ProfileEventEventTypeEnum || (exports.ProfileEventEventTypeEnum = {}));
|
|
1242
|
-
/**
|
|
1243
|
-
* Enum for the profile_event_type property.
|
|
1244
|
-
*/
|
|
1245
|
-
var ProfileEventDataProfileEventTypeEnum;
|
|
1246
|
-
(function (ProfileEventDataProfileEventTypeEnum) {
|
|
1247
|
-
ProfileEventDataProfileEventTypeEnum["signup"] = "signup";
|
|
1248
|
-
ProfileEventDataProfileEventTypeEnum["login"] = "login";
|
|
1249
|
-
ProfileEventDataProfileEventTypeEnum["logout"] = "logout";
|
|
1250
|
-
ProfileEventDataProfileEventTypeEnum["update"] = "update";
|
|
1251
|
-
ProfileEventDataProfileEventTypeEnum["delete"] = "delete";
|
|
1252
|
-
})(ProfileEventDataProfileEventTypeEnum = exports.ProfileEventDataProfileEventTypeEnum || (exports.ProfileEventDataProfileEventTypeEnum = {}));
|
|
1253
|
-
/**
|
|
1254
|
-
* Enum for the action property.
|
|
1255
|
-
*/
|
|
1256
|
-
var PromotionActionActionEnum;
|
|
1257
|
-
(function (PromotionActionActionEnum) {
|
|
1258
|
-
PromotionActionActionEnum["view"] = "view";
|
|
1259
|
-
PromotionActionActionEnum["click"] = "click";
|
|
1260
|
-
})(PromotionActionActionEnum = exports.PromotionActionActionEnum || (exports.PromotionActionActionEnum = {}));
|
|
1261
|
-
/**
|
|
1262
|
-
* Enum for the event_type property.
|
|
1263
|
-
*/
|
|
1264
|
-
var PushMessageEventEventTypeEnum;
|
|
1265
|
-
(function (PushMessageEventEventTypeEnum) {
|
|
1266
|
-
PushMessageEventEventTypeEnum["pushMessage"] = "push_message";
|
|
1267
|
-
})(PushMessageEventEventTypeEnum = exports.PushMessageEventEventTypeEnum || (exports.PushMessageEventEventTypeEnum = {}));
|
|
1268
|
-
/**
|
|
1269
|
-
* Enum for the push_message_type property.
|
|
1270
|
-
*/
|
|
1271
|
-
var PushMessageEventDataPushMessageTypeEnum;
|
|
1272
|
-
(function (PushMessageEventDataPushMessageTypeEnum) {
|
|
1273
|
-
PushMessageEventDataPushMessageTypeEnum["sent"] = "sent";
|
|
1274
|
-
PushMessageEventDataPushMessageTypeEnum["received"] = "received";
|
|
1275
|
-
PushMessageEventDataPushMessageTypeEnum["action"] = "action";
|
|
1276
|
-
})(PushMessageEventDataPushMessageTypeEnum = exports.PushMessageEventDataPushMessageTypeEnum || (exports.PushMessageEventDataPushMessageTypeEnum = {}));
|
|
1277
|
-
/**
|
|
1278
|
-
* Enum for the application_state property.
|
|
1279
|
-
*/
|
|
1280
|
-
var PushMessageEventDataApplicationStateEnum;
|
|
1281
|
-
(function (PushMessageEventDataApplicationStateEnum) {
|
|
1282
|
-
PushMessageEventDataApplicationStateEnum["notRunning"] = "not_running";
|
|
1283
|
-
PushMessageEventDataApplicationStateEnum["background"] = "background";
|
|
1284
|
-
PushMessageEventDataApplicationStateEnum["foreground"] = "foreground";
|
|
1285
|
-
})(PushMessageEventDataApplicationStateEnum = exports.PushMessageEventDataApplicationStateEnum || (exports.PushMessageEventDataApplicationStateEnum = {}));
|
|
1286
|
-
/**
|
|
1287
|
-
* Enum for the push_message_behavior property.
|
|
1288
|
-
*/
|
|
1289
|
-
var PushMessageEventDataPushMessageBehaviorEnum;
|
|
1290
|
-
(function (PushMessageEventDataPushMessageBehaviorEnum) {
|
|
1291
|
-
PushMessageEventDataPushMessageBehaviorEnum["received"] = "Received";
|
|
1292
|
-
PushMessageEventDataPushMessageBehaviorEnum["directOpen"] = "DirectOpen";
|
|
1293
|
-
PushMessageEventDataPushMessageBehaviorEnum["read"] = "Read";
|
|
1294
|
-
PushMessageEventDataPushMessageBehaviorEnum["influencedOpen"] = "InfluencedOpen";
|
|
1295
|
-
PushMessageEventDataPushMessageBehaviorEnum["displayed"] = "Displayed";
|
|
1296
|
-
})(PushMessageEventDataPushMessageBehaviorEnum = exports.PushMessageEventDataPushMessageBehaviorEnum || (exports.PushMessageEventDataPushMessageBehaviorEnum = {}));
|
|
1297
|
-
/**
|
|
1298
|
-
* Enum for the event_type property.
|
|
1299
|
-
*/
|
|
1300
|
-
var PushRegistrationEventEventTypeEnum;
|
|
1301
|
-
(function (PushRegistrationEventEventTypeEnum) {
|
|
1302
|
-
PushRegistrationEventEventTypeEnum["pushRegistration"] = "push_registration";
|
|
1303
|
-
})(PushRegistrationEventEventTypeEnum = exports.PushRegistrationEventEventTypeEnum || (exports.PushRegistrationEventEventTypeEnum = {}));
|
|
1304
|
-
/**
|
|
1305
|
-
* Enum for the event_type property.
|
|
1306
|
-
*/
|
|
1307
|
-
var SessionEndEventEventTypeEnum;
|
|
1308
|
-
(function (SessionEndEventEventTypeEnum) {
|
|
1309
|
-
SessionEndEventEventTypeEnum["sessionEnd"] = "session_end";
|
|
1310
|
-
})(SessionEndEventEventTypeEnum = exports.SessionEndEventEventTypeEnum || (exports.SessionEndEventEventTypeEnum = {}));
|
|
1311
|
-
/**
|
|
1312
|
-
* Enum for the event_type property.
|
|
1313
|
-
*/
|
|
1314
|
-
var SessionStartEventEventTypeEnum;
|
|
1315
|
-
(function (SessionStartEventEventTypeEnum) {
|
|
1316
|
-
SessionStartEventEventTypeEnum["sessionStart"] = "session_start";
|
|
1317
|
-
})(SessionStartEventEventTypeEnum = exports.SessionStartEventEventTypeEnum || (exports.SessionStartEventEventTypeEnum = {}));
|
|
1318
|
-
/**
|
|
1319
|
-
* Enum for the channel property.
|
|
1320
|
-
*/
|
|
1321
|
-
var SourceInformationChannelEnum;
|
|
1322
|
-
(function (SourceInformationChannelEnum) {
|
|
1323
|
-
SourceInformationChannelEnum["native"] = "native";
|
|
1324
|
-
SourceInformationChannelEnum["javascript"] = "javascript";
|
|
1325
|
-
SourceInformationChannelEnum["pixel"] = "pixel";
|
|
1326
|
-
SourceInformationChannelEnum["desktop"] = "desktop";
|
|
1327
|
-
SourceInformationChannelEnum["partner"] = "partner";
|
|
1328
|
-
SourceInformationChannelEnum["serverToServer"] = "server_to_server";
|
|
1329
|
-
})(SourceInformationChannelEnum = exports.SourceInformationChannelEnum || (exports.SourceInformationChannelEnum = {}));
|
|
1330
|
-
/**
|
|
1331
|
-
* Enum for the event_type property.
|
|
1332
|
-
*/
|
|
1333
|
-
var UserAttributeChangeEventEventTypeEnum;
|
|
1334
|
-
(function (UserAttributeChangeEventEventTypeEnum) {
|
|
1335
|
-
UserAttributeChangeEventEventTypeEnum["userAttributeChange"] = "user_attribute_change";
|
|
1336
|
-
})(UserAttributeChangeEventEventTypeEnum = exports.UserAttributeChangeEventEventTypeEnum || (exports.UserAttributeChangeEventEventTypeEnum = {}));
|
|
1337
|
-
/**
|
|
1338
|
-
* Enum for the event_type property.
|
|
1339
|
-
*/
|
|
1340
|
-
var UserIdentityChangeEventEventTypeEnum;
|
|
1341
|
-
(function (UserIdentityChangeEventEventTypeEnum) {
|
|
1342
|
-
UserIdentityChangeEventEventTypeEnum["userIdentityChange"] = "user_identity_change";
|
|
1343
|
-
})(UserIdentityChangeEventEventTypeEnum = exports.UserIdentityChangeEventEventTypeEnum || (exports.UserIdentityChangeEventEventTypeEnum = {}));
|
|
1344
|
-
});
|
|
1345
129
|
|
|
1346
|
-
|
|
1347
|
-
var dist_1 = dist.ApplicationInformationOsEnum;
|
|
1348
|
-
var dist_2 = dist.ApplicationStateTransitionEventEventTypeEnum;
|
|
1349
|
-
var dist_3 = dist.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum;
|
|
1350
|
-
var dist_4 = dist.BatchEnvironmentEnum;
|
|
1351
|
-
var dist_5 = dist.BreadcrumbEventEventTypeEnum;
|
|
1352
|
-
var dist_6 = dist.CommerceEventEventTypeEnum;
|
|
1353
|
-
var dist_7 = dist.CommerceEventDataCustomEventTypeEnum;
|
|
1354
|
-
var dist_8 = dist.CrashReportEventEventTypeEnum;
|
|
1355
|
-
var dist_9 = dist.CustomEventEventTypeEnum;
|
|
1356
|
-
var dist_10 = dist.CustomEventDataCustomEventTypeEnum;
|
|
1357
|
-
var dist_11 = dist.DeviceCurrentStateDeviceOrientationEnum;
|
|
1358
|
-
var dist_12 = dist.DeviceCurrentStateStatusBarOrientationEnum;
|
|
1359
|
-
var dist_13 = dist.DeviceInformationPlatformEnum;
|
|
1360
|
-
var dist_14 = dist.EventTypeEnum;
|
|
1361
|
-
var dist_15 = dist.IdentityTypeEnum;
|
|
1362
|
-
var dist_16 = dist.NetworkPerformanceEventEventTypeEnum;
|
|
1363
|
-
var dist_17 = dist.OptOutEventEnum;
|
|
1364
|
-
var dist_18 = dist.ProductActionActionEnum;
|
|
1365
|
-
var dist_19 = dist.ProfileEventEventTypeEnum;
|
|
1366
|
-
var dist_20 = dist.ProfileEventDataProfileEventTypeEnum;
|
|
1367
|
-
var dist_21 = dist.PromotionActionActionEnum;
|
|
1368
|
-
var dist_22 = dist.PushMessageEventEventTypeEnum;
|
|
1369
|
-
var dist_23 = dist.PushMessageEventDataPushMessageTypeEnum;
|
|
1370
|
-
var dist_24 = dist.PushMessageEventDataApplicationStateEnum;
|
|
1371
|
-
var dist_25 = dist.PushMessageEventDataPushMessageBehaviorEnum;
|
|
1372
|
-
var dist_26 = dist.PushRegistrationEventEventTypeEnum;
|
|
1373
|
-
var dist_27 = dist.SessionEndEventEventTypeEnum;
|
|
1374
|
-
var dist_28 = dist.SessionStartEventEventTypeEnum;
|
|
1375
|
-
var dist_29 = dist.SourceInformationChannelEnum;
|
|
1376
|
-
var dist_30 = dist.UserAttributeChangeEventEventTypeEnum;
|
|
1377
|
-
var dist_31 = dist.UserIdentityChangeEventEventTypeEnum;
|
|
130
|
+
var SDKProductActionType;(function(a){a[a.Unknown=0]="Unknown",a[a.AddToCart=1]="AddToCart",a[a.RemoveFromCart=2]="RemoveFromCart",a[a.Checkout=3]="Checkout",a[a.CheckoutOption=4]="CheckoutOption",a[a.Click=5]="Click",a[a.ViewDetail=6]="ViewDetail",a[a.Purchase=7]="Purchase",a[a.Refund=8]="Refund",a[a.AddToWishlist=9]="AddToWishlist",a[a.RemoveFromWishlist=10]="RemoveFromWishlist";})(SDKProductActionType||(SDKProductActionType={}));var SDKIdentityTypeEnum;(function(a){a.other="other",a.customerId="customerid",a.facebook="facebook",a.twitter="twitter",a.google="google",a.microsoft="microsoft",a.yahoo="yahoo",a.email="email",a.alias="alias",a.facebookCustomAudienceId="facebookcustomaudienceid",a.otherId2="other2",a.otherId3="other3",a.otherId4="other4",a.otherId5="other5",a.otherId6="other6",a.otherId7="other7",a.otherId8="other8",a.otherId9="other9",a.otherId10="other10",a.mobileNumber="mobile_number",a.phoneNumber2="phone_number_2",a.phoneNumber3="phone_number_3";})(SDKIdentityTypeEnum||(SDKIdentityTypeEnum={}));
|
|
1378
131
|
|
|
1379
|
-
|
|
1380
|
-
var d = Object.getOwnPropertySymbols(a);
|
|
1381
|
-
b && (d = d.filter(function (b) { return Object.getOwnPropertyDescriptor(a, b).enumerable; })), c.push.apply(c, d);
|
|
1382
|
-
} return c; }
|
|
1383
|
-
function _objectSpread(a) { for (var b, c = 1; c < arguments.length; c++)
|
|
1384
|
-
b = null == arguments[c] ? {} : arguments[c], c % 2 ? ownKeys(Object(b), !0).forEach(function (c) { defineProperty(a, c, b[c]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(b)) : ownKeys(Object(b)).forEach(function (c) { Object.defineProperty(a, c, Object.getOwnPropertyDescriptor(b, c)); }); return a; }
|
|
1385
|
-
function _createForOfIteratorHelper(a, b) { var c = "undefined" != typeof Symbol && a[Symbol.iterator] || a["@@iterator"]; if (!c) {
|
|
1386
|
-
if (Array.isArray(a) || (c = _unsupportedIterableToArray$1(a)) || b && a && "number" == typeof a.length) {
|
|
1387
|
-
c && (a = c);
|
|
1388
|
-
var d = 0, e = function () { };
|
|
1389
|
-
return { s: e, n: function n() { return d >= a.length ? { done: !0 } : { done: !1, value: a[d++] }; }, e: function e(a) { throw a; }, f: e };
|
|
1390
|
-
}
|
|
1391
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1392
|
-
} var f, g = !0, h = !1; return { s: function s() { c = c.call(a); }, n: function n() { var a = c.next(); return g = a.done, a; }, e: function e(a) { h = !0, f = a; }, f: function f() { try {
|
|
1393
|
-
g || null == c["return"] || c["return"]();
|
|
1394
|
-
}
|
|
1395
|
-
finally {
|
|
1396
|
-
if (h)
|
|
1397
|
-
throw f;
|
|
1398
|
-
} } }; }
|
|
1399
|
-
function _unsupportedIterableToArray$1(a, b) { if (a) {
|
|
1400
|
-
if ("string" == typeof a)
|
|
1401
|
-
return _arrayLikeToArray$1(a, b);
|
|
1402
|
-
var c = Object.prototype.toString.call(a).slice(8, -1);
|
|
1403
|
-
return "Object" === c && a.constructor && (c = a.constructor.name), "Map" === c || "Set" === c ? Array.from(a) : "Arguments" === c || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c) ? _arrayLikeToArray$1(a, b) : void 0;
|
|
1404
|
-
} }
|
|
1405
|
-
function _arrayLikeToArray$1(a, b) { (null == b || b > a.length) && (b = a.length); for (var c = 0, d = Array(b); c < b; c++)
|
|
1406
|
-
d[c] = a[c]; return d; }
|
|
1407
|
-
function convertEvents(a, b, c) { if (!a)
|
|
1408
|
-
return null; if (!b || 1 > b.length)
|
|
1409
|
-
return null; var d, e = [], f = null, g = _createForOfIteratorHelper(b); try {
|
|
1410
|
-
for (g.s(); !(d = g.n()).done;) {
|
|
1411
|
-
var i = d.value;
|
|
1412
|
-
if (i) {
|
|
1413
|
-
f = i;
|
|
1414
|
-
var j = convertEvent(i);
|
|
1415
|
-
j && e.push(j);
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
}
|
|
1419
|
-
catch (a) {
|
|
1420
|
-
g.e(a);
|
|
1421
|
-
}
|
|
1422
|
-
finally {
|
|
1423
|
-
g.f();
|
|
1424
|
-
} if (!f)
|
|
1425
|
-
return null; var h = { source_request_id: c._Helpers.generateUniqueId(), mpid: a, timestamp_unixtime_ms: new Date().getTime(), environment: f.Debug ? dist_4.development : dist_4.production, events: e, mp_deviceid: f.DeviceId, sdk_version: f.SDKVersion, application_info: { application_version: f.AppVersion, application_name: f.AppName, package: f.Package }, device_info: { platform: dist_13.web, screen_width: window.screen.width, screen_height: window.screen.height }, user_attributes: f.UserAttributes, user_identities: convertUserIdentities(f.UserIdentities), consent_state: convertConsentState(f.ConsentState), integration_attributes: f.IntegrationAttributes }; return f.DataPlan && f.DataPlan.PlanId && (h.context = { data_plan: { plan_id: f.DataPlan.PlanId, plan_version: f.DataPlan.PlanVersion || void 0 } }), h; }
|
|
1426
|
-
function convertConsentState(a) { if (!a)
|
|
1427
|
-
return null; var b = { gdpr: convertGdprConsentState(a.getGDPRConsentState()), ccpa: convertCcpaConsentState(a.getCCPAConsentState()) }; return b; }
|
|
1428
|
-
function convertGdprConsentState(a) { if (!a)
|
|
1429
|
-
return null; var b = {}; for (var c in a)
|
|
1430
|
-
a.hasOwnProperty(c) && (b[c] = { consented: a[c].Consented, hardware_id: a[c].HardwareId, document: a[c].ConsentDocument, timestamp_unixtime_ms: a[c].Timestamp, location: a[c].Location }); return b; }
|
|
1431
|
-
function convertCcpaConsentState(a) { if (!a)
|
|
1432
|
-
return null; var b = { data_sale_opt_out: { consented: a.Consented, hardware_id: a.HardwareId, document: a.ConsentDocument, timestamp_unixtime_ms: a.Timestamp, location: a.Location } }; return b; }
|
|
1433
|
-
function convertUserIdentities(a) { if (!a || !a.length)
|
|
1434
|
-
return null; var b, c = {}, d = _createForOfIteratorHelper(a); try {
|
|
1435
|
-
for (d.s(); !(b = d.n()).done;) {
|
|
1436
|
-
var e = b.value;
|
|
1437
|
-
switch (e.Type) {
|
|
1438
|
-
case Types.IdentityType.CustomerId:
|
|
1439
|
-
c.customer_id = e.Identity;
|
|
1440
|
-
break;
|
|
1441
|
-
case Types.IdentityType.Email:
|
|
1442
|
-
c.email = e.Identity;
|
|
1443
|
-
break;
|
|
1444
|
-
case Types.IdentityType.Facebook:
|
|
1445
|
-
c.facebook = e.Identity;
|
|
1446
|
-
break;
|
|
1447
|
-
case Types.IdentityType.FacebookCustomAudienceId:
|
|
1448
|
-
c.facebook_custom_audience_id = e.Identity;
|
|
1449
|
-
break;
|
|
1450
|
-
case Types.IdentityType.Google:
|
|
1451
|
-
c.google = e.Identity;
|
|
1452
|
-
break;
|
|
1453
|
-
case Types.IdentityType.Microsoft:
|
|
1454
|
-
c.microsoft = e.Identity;
|
|
1455
|
-
break;
|
|
1456
|
-
case Types.IdentityType.Other:
|
|
1457
|
-
c.other = e.Identity;
|
|
1458
|
-
break;
|
|
1459
|
-
case Types.IdentityType.Other2:
|
|
1460
|
-
c.other_id_2 = e.Identity;
|
|
1461
|
-
break;
|
|
1462
|
-
case Types.IdentityType.Other3:
|
|
1463
|
-
c.other_id_3 = e.Identity;
|
|
1464
|
-
break;
|
|
1465
|
-
case Types.IdentityType.Other4:
|
|
1466
|
-
c.other_id_4 = e.Identity;
|
|
1467
|
-
break;
|
|
1468
|
-
case Types.IdentityType.Other5:
|
|
1469
|
-
c.other_id_5 = e.Identity;
|
|
1470
|
-
break;
|
|
1471
|
-
case Types.IdentityType.Other6:
|
|
1472
|
-
c.other_id_6 = e.Identity;
|
|
1473
|
-
break;
|
|
1474
|
-
case Types.IdentityType.Other7:
|
|
1475
|
-
c.other_id_7 = e.Identity;
|
|
1476
|
-
break;
|
|
1477
|
-
case Types.IdentityType.Other8:
|
|
1478
|
-
c.other_id_8 = e.Identity;
|
|
1479
|
-
break;
|
|
1480
|
-
case Types.IdentityType.Other9:
|
|
1481
|
-
c.other_id_9 = e.Identity;
|
|
1482
|
-
break;
|
|
1483
|
-
case Types.IdentityType.Other10:
|
|
1484
|
-
c.other_id_10 = e.Identity;
|
|
1485
|
-
break;
|
|
1486
|
-
case Types.IdentityType.MobileNumber:
|
|
1487
|
-
c.mobile_number = e.Identity;
|
|
1488
|
-
break;
|
|
1489
|
-
case Types.IdentityType.PhoneNumber2:
|
|
1490
|
-
c.phone_number_2 = e.Identity;
|
|
1491
|
-
break;
|
|
1492
|
-
case Types.IdentityType.PhoneNumber3:
|
|
1493
|
-
c.phone_number_3 = e.Identity;
|
|
1494
|
-
break;
|
|
1495
|
-
default:
|
|
1496
|
-
}
|
|
1497
|
-
}
|
|
1498
|
-
}
|
|
1499
|
-
catch (a) {
|
|
1500
|
-
d.e(a);
|
|
1501
|
-
}
|
|
1502
|
-
finally {
|
|
1503
|
-
d.f();
|
|
1504
|
-
} return c; }
|
|
1505
|
-
function convertEvent(a) {
|
|
1506
|
-
if (!a)
|
|
1507
|
-
return null;
|
|
1508
|
-
switch (a.EventDataType) {
|
|
1509
|
-
case Types.MessageType.AppStateTransition: return convertAST(a);
|
|
1510
|
-
case Types.MessageType.Commerce: return convertCommerceEvent(a);
|
|
1511
|
-
case Types.MessageType.CrashReport: return convertCrashReportEvent(a);
|
|
1512
|
-
case Types.MessageType.OptOut: return convertOptOutEvent(a);
|
|
1513
|
-
case Types.MessageType.PageEvent: // Note: Media Events are also sent as PageEvents/CustomEvents
|
|
1514
|
-
return convertCustomEvent(a);
|
|
1515
|
-
case Types.MessageType.PageView: return convertPageViewEvent(a);
|
|
1516
|
-
case Types.MessageType.Profile: //deprecated and not supported by the web SDK
|
|
1517
|
-
return null;
|
|
1518
|
-
case Types.MessageType.SessionEnd: return convertSessionEndEvent(a);
|
|
1519
|
-
case Types.MessageType.SessionStart: return convertSessionStartEvent(a);
|
|
1520
|
-
case Types.MessageType.UserAttributeChange: return convertUserAttributeChangeEvent(a);
|
|
1521
|
-
case Types.MessageType.UserIdentityChange: return convertUserIdentityChangeEvent(a);
|
|
1522
|
-
}
|
|
1523
|
-
return null;
|
|
1524
|
-
}
|
|
1525
|
-
function convertProductActionType(a) { if (!a)
|
|
1526
|
-
return dist_18.unknown; return a === SDKProductActionType.AddToCart ? dist_18.addToCart : a === SDKProductActionType.AddToWishlist ? dist_18.addToWishlist : a === SDKProductActionType.Checkout ? dist_18.checkout : a === SDKProductActionType.CheckoutOption ? dist_18.checkoutOption : a === SDKProductActionType.Click ? dist_18.click : a === SDKProductActionType.Purchase ? dist_18.purchase : a === SDKProductActionType.Refund ? dist_18.refund : a === SDKProductActionType.RemoveFromCart ? dist_18.removeFromCart : a === SDKProductActionType.RemoveFromWishlist ? dist_18.removeFromWishlist : a === SDKProductActionType.ViewDetail ? dist_18.viewDetail : dist_18.unknown; }
|
|
1527
|
-
function convertProductAction(a) { if (!a.ProductAction)
|
|
1528
|
-
return null; var b = { action: convertProductActionType(a.ProductAction.ProductActionType), checkout_step: a.ProductAction.CheckoutStep, checkout_options: a.ProductAction.CheckoutOptions, transaction_id: a.ProductAction.TransactionId, affiliation: a.ProductAction.Affiliation, total_amount: a.ProductAction.TotalAmount, tax_amount: a.ProductAction.TaxAmount, shipping_amount: a.ProductAction.ShippingAmount, coupon_code: a.ProductAction.CouponCode, products: convertProducts(a.ProductAction.ProductList) }; return b; }
|
|
1529
|
-
function convertProducts(a) { if (!a || !a.length)
|
|
1530
|
-
return null; var b, c = [], d = _createForOfIteratorHelper(a); try {
|
|
1531
|
-
for (d.s(); !(b = d.n()).done;) {
|
|
1532
|
-
var e = b.value, f = { id: e.Sku, name: e.Name, brand: e.Brand, category: e.Category, variant: e.Variant, total_product_amount: e.TotalAmount, position: e.Position, price: e.Price, quantity: e.Quantity, coupon_code: e.CouponCode, custom_attributes: e.Attributes };
|
|
1533
|
-
c.push(f);
|
|
1534
|
-
}
|
|
1535
|
-
}
|
|
1536
|
-
catch (a) {
|
|
1537
|
-
d.e(a);
|
|
1538
|
-
}
|
|
1539
|
-
finally {
|
|
1540
|
-
d.f();
|
|
1541
|
-
} return c; }
|
|
1542
|
-
function convertPromotionAction(a) { if (!a.PromotionAction)
|
|
1543
|
-
return null; var b = { action: a.PromotionAction.PromotionActionType, promotions: convertPromotions(a.PromotionAction.PromotionList) }; return b; }
|
|
1544
|
-
function convertPromotions(a) { if (!a || !a.length)
|
|
1545
|
-
return null; var b, c = [], d = _createForOfIteratorHelper(a); try {
|
|
1546
|
-
for (d.s(); !(b = d.n()).done;) {
|
|
1547
|
-
var e = b.value, f = { id: e.Id, name: e.Name, creative: e.Creative, position: e.Position };
|
|
1548
|
-
c.push(f);
|
|
1549
|
-
}
|
|
1550
|
-
}
|
|
1551
|
-
catch (a) {
|
|
1552
|
-
d.e(a);
|
|
1553
|
-
}
|
|
1554
|
-
finally {
|
|
1555
|
-
d.f();
|
|
1556
|
-
} return c; }
|
|
1557
|
-
function convertImpressions(a) { if (!a.ProductImpressions)
|
|
1558
|
-
return null; var b, c = [], d = _createForOfIteratorHelper(a.ProductImpressions); try {
|
|
1559
|
-
for (d.s(); !(b = d.n()).done;) {
|
|
1560
|
-
var e = b.value, f = { product_impression_list: e.ProductImpressionList, products: convertProducts(e.ProductList) };
|
|
1561
|
-
c.push(f);
|
|
1562
|
-
}
|
|
1563
|
-
}
|
|
1564
|
-
catch (a) {
|
|
1565
|
-
d.e(a);
|
|
1566
|
-
}
|
|
1567
|
-
finally {
|
|
1568
|
-
d.f();
|
|
1569
|
-
} return c; }
|
|
1570
|
-
function convertShoppingCart(a) { if (!a.ShoppingCart || !a.ShoppingCart.ProductList || !a.ShoppingCart.ProductList.length)
|
|
1571
|
-
return null; var b = { products: convertProducts(a.ShoppingCart.ProductList) }; return b; }
|
|
1572
|
-
function convertCommerceEvent(a) { var b = convertBaseEventData(a), c = { custom_flags: a.CustomFlags, product_action: convertProductAction(a), promotion_action: convertPromotionAction(a), product_impressions: convertImpressions(a), shopping_cart: convertShoppingCart(a), currency_code: a.CurrencyCode }; return c = Object.assign(c, b), { event_type: dist_14.commerceEvent, data: c }; }
|
|
1573
|
-
function convertCrashReportEvent(a) { var b = convertBaseEventData(a), c = { message: a.EventName }; return c = Object.assign(c, b), { event_type: dist_14.crashReport, data: c }; }
|
|
1574
|
-
function convertAST(a) { var b = convertBaseEventData(a), c = { application_transition_type: dist_3.applicationInitialized, is_first_run: a.IsFirstRun, is_upgrade: !1, launch_referral: a.LaunchReferral }; return c = Object.assign(c, b), { event_type: dist_14.applicationStateTransition, data: c }; }
|
|
1575
|
-
function convertSessionEndEvent(a) {
|
|
1576
|
-
var b = convertBaseEventData(a), c = { session_duration_ms: a.SessionLength //note: External Events DTO does not support the session mpids array as of this time.
|
|
1577
|
-
//spanning_mpids: sdkEvent.SessionMpids
|
|
1578
|
-
};
|
|
1579
|
-
return c = Object.assign(c, b), { event_type: dist_14.sessionEnd, data: c };
|
|
1580
|
-
}
|
|
1581
|
-
function convertSessionStartEvent(a) { var b = convertBaseEventData(a), c = {}; return c = Object.assign(c, b), { event_type: dist_14.sessionStart, data: c }; }
|
|
1582
|
-
function convertPageViewEvent(a) { var b = convertBaseEventData(a), c = { custom_flags: a.CustomFlags, screen_name: a.EventName }; return c = Object.assign(c, b), { event_type: dist_14.screenView, data: c }; }
|
|
1583
|
-
function convertOptOutEvent(a) { var b = convertBaseEventData(a), c = { is_opted_out: a.OptOut }; return c = Object.assign(c, b), { event_type: dist_14.optOut, data: c }; }
|
|
1584
|
-
function convertCustomEvent(a) { var b = convertBaseEventData(a), c = { custom_event_type: convertSdkEventType(a.EventCategory), custom_flags: a.CustomFlags, event_name: a.EventName }; return c = Object.assign(c, b), { event_type: dist_14.customEvent, data: c }; }
|
|
1585
|
-
function convertSdkEventType(a) { return a === Types.EventType.Other ? dist_10.other : a === Types.EventType.Location ? dist_10.location : a === Types.EventType.Navigation ? dist_10.navigation : a === Types.EventType.Search ? dist_10.search : a === Types.EventType.Social ? dist_10.social : a === Types.EventType.Transaction ? dist_10.transaction : a === Types.EventType.UserContent ? dist_10.userContent : a === Types.EventType.UserPreference ? dist_10.userPreference : a === Types.EventType.Media ? dist_10.media : a === Types.CommerceEventType.ProductAddToCart ? dist_7.addToCart : a === Types.CommerceEventType.ProductAddToWishlist ? dist_7.addToWishlist : a === Types.CommerceEventType.ProductCheckout ? dist_7.checkout : a === Types.CommerceEventType.ProductCheckoutOption ? dist_7.checkoutOption : a === Types.CommerceEventType.ProductClick ? dist_7.click : a === Types.CommerceEventType.ProductImpression ? dist_7.impression : a === Types.CommerceEventType.ProductPurchase ? dist_7.purchase : a === Types.CommerceEventType.ProductRefund ? dist_7.refund : a === Types.CommerceEventType.ProductRemoveFromCart ? dist_7.removeFromCart : a === Types.CommerceEventType.ProductRemoveFromWishlist ? dist_7.removeFromWishlist : a === Types.CommerceEventType.ProductViewDetail ? dist_7.viewDetail : a === Types.CommerceEventType.PromotionClick ? dist_7.promotionClick : a === Types.CommerceEventType.PromotionView ? dist_7.promotionView : dist_10.unknown; }
|
|
1586
|
-
function convertBaseEventData(a) { var b = { timestamp_unixtime_ms: a.Timestamp, session_uuid: a.SessionId, session_start_unixtime_ms: a.SessionStartDate, custom_attributes: a.EventAttributes, location: convertSDKLocation(a.Location), source_message_id: a.SourceMessageId }; return b; }
|
|
1587
|
-
function convertSDKLocation(a) { return a && Object.keys(a).length ? { latitude: a.lat, longitude: a.lng } : null; }
|
|
1588
|
-
function convertUserAttributeChangeEvent(a) { var b = convertBaseEventData(a), c = { user_attribute_name: a.UserAttributeChanges.UserAttributeName, new: a.UserAttributeChanges.New, old: a.UserAttributeChanges.Old, deleted: a.UserAttributeChanges.Deleted, is_new_attribute: a.UserAttributeChanges.IsNewAttribute }; return c = _objectSpread(_objectSpread({}, c), b), { event_type: dist_14.userAttributeChange, data: c }; }
|
|
1589
|
-
function convertUserIdentityChangeEvent(a) { var b = convertBaseEventData(a), c = { new: { identity_type: convertUserIdentityTypeToServerIdentityType(a.UserIdentityChanges.New.IdentityType), identity: a.UserIdentityChanges.New.Identity || null, timestamp_unixtime_ms: a.Timestamp, created_this_batch: a.UserIdentityChanges.New.CreatedThisBatch }, old: { identity_type: convertUserIdentityTypeToServerIdentityType(a.UserIdentityChanges.Old.IdentityType), identity: a.UserIdentityChanges.Old.Identity || null, timestamp_unixtime_ms: a.Timestamp, created_this_batch: a.UserIdentityChanges.Old.CreatedThisBatch } }; return c = Object.assign(c, b), { event_type: dist_14.userIdentityChange, data: c }; }
|
|
1590
|
-
function convertUserIdentityTypeToServerIdentityType(a) { return a === SDKIdentityTypeEnum.other ? dist_15.other : a === SDKIdentityTypeEnum.customerId ? dist_15.customerId : a === SDKIdentityTypeEnum.facebook ? dist_15.facebook : a === SDKIdentityTypeEnum.twitter ? dist_15.twitter : a === SDKIdentityTypeEnum.google ? dist_15.google : a === SDKIdentityTypeEnum.microsoft ? dist_15.microsoft : a === SDKIdentityTypeEnum.yahoo ? dist_15.yahoo : a === SDKIdentityTypeEnum.email ? dist_15.email : a === SDKIdentityTypeEnum.alias ? dist_15.alias : a === SDKIdentityTypeEnum.facebookCustomAudienceId ? dist_15.facebookCustomAudienceId : a === SDKIdentityTypeEnum.otherId2 ? dist_15.otherId2 : a === SDKIdentityTypeEnum.otherId3 ? dist_15.otherId3 : a === SDKIdentityTypeEnum.otherId4 ? dist_15.otherId4 : a === SDKIdentityTypeEnum.otherId5 ? dist_15.otherId5 : a === SDKIdentityTypeEnum.otherId6 ? dist_15.otherId6 : a === SDKIdentityTypeEnum.otherId7 ? dist_15.otherId7 : a === SDKIdentityTypeEnum.otherId8 ? dist_15.otherId8 : a === SDKIdentityTypeEnum.otherId9 ? dist_15.otherId9 : a === SDKIdentityTypeEnum.otherId10 ? dist_15.otherId10 : a === SDKIdentityTypeEnum.mobileNumber ? dist_15.mobileNumber : a === SDKIdentityTypeEnum.phoneNumber2 ? dist_15.phoneNumber2 : a === SDKIdentityTypeEnum.phoneNumber3 ? dist_15.phoneNumber3 : void 0; }
|
|
1591
|
-
|
|
1592
|
-
function _createSuper(a) { var b = _isNativeReflectConstruct(); return function () { var c, d = getPrototypeOf(a); if (b) {
|
|
1593
|
-
var e = getPrototypeOf(this).constructor;
|
|
1594
|
-
c = Reflect.construct(d, arguments, e);
|
|
1595
|
-
}
|
|
1596
|
-
else
|
|
1597
|
-
c = d.apply(this, arguments); return possibleConstructorReturn(this, c); }; }
|
|
1598
|
-
function _isNativeReflectConstruct() { if ("undefined" == typeof Reflect || !Reflect.construct)
|
|
1599
|
-
return !1; if (Reflect.construct.sham)
|
|
1600
|
-
return !1; if ("function" == typeof Proxy)
|
|
1601
|
-
return !0; try {
|
|
1602
|
-
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () { })), !0;
|
|
1603
|
-
}
|
|
1604
|
-
catch (a) {
|
|
1605
|
-
return !1;
|
|
1606
|
-
} }
|
|
1607
|
-
function _createForOfIteratorHelper$1(a, b) { var c = "undefined" != typeof Symbol && a[Symbol.iterator] || a["@@iterator"]; if (!c) {
|
|
1608
|
-
if (Array.isArray(a) || (c = _unsupportedIterableToArray$2(a)) || b && a && "number" == typeof a.length) {
|
|
1609
|
-
c && (a = c);
|
|
1610
|
-
var d = 0, e = function () { };
|
|
1611
|
-
return { s: e, n: function n() { return d >= a.length ? { done: !0 } : { done: !1, value: a[d++] }; }, e: function e(a) { throw a; }, f: e };
|
|
1612
|
-
}
|
|
1613
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1614
|
-
} var f, g = !0, h = !1; return { s: function s() { c = c.call(a); }, n: function n() { var a = c.next(); return g = a.done, a; }, e: function e(a) { h = !0, f = a; }, f: function f() { try {
|
|
1615
|
-
g || null == c["return"] || c["return"]();
|
|
1616
|
-
}
|
|
1617
|
-
finally {
|
|
1618
|
-
if (h)
|
|
1619
|
-
throw f;
|
|
1620
|
-
} } }; }
|
|
1621
|
-
function _unsupportedIterableToArray$2(a, b) { if (a) {
|
|
1622
|
-
if ("string" == typeof a)
|
|
1623
|
-
return _arrayLikeToArray$2(a, b);
|
|
1624
|
-
var c = Object.prototype.toString.call(a).slice(8, -1);
|
|
1625
|
-
return "Object" === c && a.constructor && (c = a.constructor.name), "Map" === c || "Set" === c ? Array.from(a) : "Arguments" === c || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c) ? _arrayLikeToArray$2(a, b) : void 0;
|
|
1626
|
-
} }
|
|
1627
|
-
function _arrayLikeToArray$2(a, b) { (null == b || b > a.length) && (b = a.length); for (var c = 0, d = Array(b); c < b; c++)
|
|
1628
|
-
d[c] = a[c]; return d; }
|
|
1629
|
-
var BatchUploader = /*#__PURE__*/ function () {
|
|
1630
|
-
function a(b, c) { var d = this; classCallCheck(this, a), defineProperty(this, "uploadIntervalMillis", void 0), defineProperty(this, "pendingEvents", void 0), defineProperty(this, "pendingUploads", void 0), defineProperty(this, "mpInstance", void 0), defineProperty(this, "uploadUrl", void 0), defineProperty(this, "batchingEnabled", void 0), this.mpInstance = b, this.uploadIntervalMillis = c, this.batchingEnabled = c >= a.MINIMUM_INTERVAL_MILLIS, this.uploadIntervalMillis < a.MINIMUM_INTERVAL_MILLIS && (this.uploadIntervalMillis = a.MINIMUM_INTERVAL_MILLIS), this.pendingEvents = [], this.pendingUploads = []; var e = this.mpInstance._Store, f = e.SDKConfig, g = e.devToken, h = this.mpInstance._Helpers.createServiceUrl(f.v3SecureServiceUrl, g); this.uploadUrl = "".concat(h, "/events"), setTimeout(function () { d.prepareAndUpload(!0, !1); }, this.uploadIntervalMillis), this.addEventListeners(); }
|
|
1631
|
-
return createClass(a, [{ key: "addEventListeners", value: function addEventListeners() { var a = this; document.addEventListener("visibilitychange", function () { a.prepareAndUpload(!1, a.isBeaconAvailable()); }), window.addEventListener("beforeunload", function () { a.prepareAndUpload(!1, a.isBeaconAvailable()); }), window.addEventListener("pagehide", function () { a.prepareAndUpload(!1, a.isBeaconAvailable()); }); } }, { key: "isBeaconAvailable", value: function isBeaconAvailable() { return !!navigator.sendBeacon; } }, { key: "queueEvent", value: function queueEvent(a) { a && (this.pendingEvents.push(a), this.mpInstance.Logger.verbose("Queuing event: ".concat(JSON.stringify(a))), this.mpInstance.Logger.verbose("Queued event count: ".concat(this.pendingEvents.length)), (!this.batchingEnabled || Types.TriggerUploadType[a.EventDataType]) && this.prepareAndUpload(!1, !1)); } /**
|
|
1632
|
-
* This implements crucial logic to:
|
|
1633
|
-
* - bucket pending events by MPID, and then by Session, and upload individual batches for each bucket.
|
|
1634
|
-
*
|
|
1635
|
-
* In the future this should enforce other requirements such as maximum batch size.
|
|
1636
|
-
*
|
|
1637
|
-
* @param sdkEvents current pending events
|
|
1638
|
-
* @param defaultUser the user to reference for events that are missing data
|
|
1639
|
-
*/
|
|
1640
|
-
}, { key: "prepareAndUpload", value: /**
|
|
1641
|
-
* This is the main loop function:
|
|
1642
|
-
* - take all pending events and turn them into batches
|
|
1643
|
-
* - attempt to upload each batch
|
|
1644
|
-
*
|
|
1645
|
-
* @param triggerFuture whether to trigger the loop again - for manual/forced uploads this should be false
|
|
1646
|
-
* @param useBeacon whether to use the beacon API - used when the page is being unloaded
|
|
1647
|
-
*/ function () { var b = asyncToGenerator(/*#__PURE__*/ regenerator.mark(function b(c, d) { var e, f, g, h, i, j, k, l = this; return regenerator.wrap(function (b) { for (;;)
|
|
1648
|
-
switch (b.prev = b.next) {
|
|
1649
|
-
case 0: return e = this.mpInstance.Identity.getCurrentUser(), f = this.pendingEvents, this.pendingEvents = [], g = a.createNewUploads(f, e, this.mpInstance), g && g.length && (h = this.pendingUploads).push.apply(h, toConsumableArray(g)), i = this.pendingUploads, this.pendingUploads = [], b.next = 9, this.upload(this.mpInstance.Logger, i, d);
|
|
1650
|
-
case 9: j = b.sent, j && j.length && (k = this.pendingUploads).unshift.apply(k, toConsumableArray(j)), c && setTimeout(function () { l.prepareAndUpload(!0, !1); }, this.uploadIntervalMillis);
|
|
1651
|
-
case 12:
|
|
1652
|
-
case "end": return b.stop();
|
|
1653
|
-
} }, b, this); })); return function prepareAndUpload() { return b.apply(this, arguments); }; }() }, { key: "upload", value: function () { var b = asyncToGenerator(/*#__PURE__*/ regenerator.mark(function b(c, d, e) { var f, g, h, j, k; return regenerator.wrap(function (b) { for (;;)
|
|
1654
|
-
switch (b.prev = b.next) {
|
|
1655
|
-
case 0:
|
|
1656
|
-
if (d && !(1 > d.length)) {
|
|
1657
|
-
b.next = 2;
|
|
1658
|
-
break;
|
|
1659
|
-
}
|
|
1660
|
-
return b.abrupt("return", null);
|
|
1661
|
-
case 2: c.verbose("Uploading batches: ".concat(JSON.stringify(d))), c.verbose("Batch count: ".concat(d.length)), g = 0;
|
|
1662
|
-
case 5:
|
|
1663
|
-
if (!(g < d.length)) {
|
|
1664
|
-
b.next = 38;
|
|
1665
|
-
break;
|
|
1666
|
-
}
|
|
1667
|
-
if (h = { method: "POST", headers: { Accept: a.CONTENT_TYPE, "Content-Type": "text/plain;charset=UTF-8" }, body: JSON.stringify(d[g]) }, !(e && this.isBeaconAvailable())) {
|
|
1668
|
-
b.next = 12;
|
|
1669
|
-
break;
|
|
1670
|
-
}
|
|
1671
|
-
j = new Blob([h.body], { type: "text/plain;charset=UTF-8" }), navigator.sendBeacon(this.uploadUrl, j), b.next = 35;
|
|
1672
|
-
break;
|
|
1673
|
-
case 12: return f || (window.fetch ? f = new FetchUploader(this.uploadUrl, c) : f = new XHRUploader(this.uploadUrl, c)), b.prev = 13, b.next = 16, f.upload(h, d, g);
|
|
1674
|
-
case 16:
|
|
1675
|
-
if (k = b.sent, !(200 <= k.status && 300 > k.status)) {
|
|
1676
|
-
b.next = 21;
|
|
1677
|
-
break;
|
|
1678
|
-
}
|
|
1679
|
-
c.verbose("Upload success for request ID: ".concat(d[g].source_request_id)), b.next = 29;
|
|
1680
|
-
break;
|
|
1681
|
-
case 21:
|
|
1682
|
-
if (!(500 <= k.status || 429 === k.status)) {
|
|
1683
|
-
b.next = 26;
|
|
1684
|
-
break;
|
|
1685
|
-
}
|
|
1686
|
-
return c.error("HTTP error status ".concat(k.status, " received")), b.abrupt("return", d.slice(g, d.length));
|
|
1687
|
-
case 26:
|
|
1688
|
-
if (!(401 <= k.status)) {
|
|
1689
|
-
b.next = 29;
|
|
1690
|
-
break;
|
|
1691
|
-
}
|
|
1692
|
-
return c.error("HTTP error status ".concat(k.status, " while uploading - please verify your API key.")), b.abrupt("return", null);
|
|
1693
|
-
case 29:
|
|
1694
|
-
b.next = 35;
|
|
1695
|
-
break;
|
|
1696
|
-
case 31: return b.prev = 31, b.t0 = b["catch"](13), c.error("Error sending event to mParticle servers. ".concat(b.t0)), b.abrupt("return", d.slice(g, d.length));
|
|
1697
|
-
case 35:
|
|
1698
|
-
g++, b.next = 5;
|
|
1699
|
-
break;
|
|
1700
|
-
case 38: return b.abrupt("return", null);
|
|
1701
|
-
case 39:
|
|
1702
|
-
case "end": return b.stop();
|
|
1703
|
-
} }, b, this, [[13, 31]]); })); return function upload() { return b.apply(this, arguments); }; }() }], [{ key: "createNewUploads", value: function createNewUploads(a, b, c) {
|
|
1704
|
-
if (!b || !a || !a.length)
|
|
1705
|
-
return null; //bucket by MPID, and then by session, ordered by timestamp
|
|
1706
|
-
var d, e = [], f = new Map, g = _createForOfIteratorHelper$1(a);
|
|
1707
|
-
try {
|
|
1708
|
-
for (g.s(); !(d = g.n()).done;) {
|
|
1709
|
-
var w = d.value; //on initial startup, there may be events logged without an mpid.
|
|
1710
|
-
if (!w.MPID) {
|
|
1711
|
-
var x = b.getMPID();
|
|
1712
|
-
w.MPID = x;
|
|
1713
|
-
}
|
|
1714
|
-
var y = f.get(w.MPID);
|
|
1715
|
-
y || (y = []), y.push(w), f.set(w.MPID, y);
|
|
1716
|
-
}
|
|
1717
|
-
}
|
|
1718
|
-
catch (a) {
|
|
1719
|
-
g.e(a);
|
|
1720
|
-
}
|
|
1721
|
-
finally {
|
|
1722
|
-
g.f();
|
|
1723
|
-
}
|
|
1724
|
-
for (var h = 0, i = Array.from(f.entries()); h < i.length; h++) {
|
|
1725
|
-
var j, k = i[h], l = k[0], m = k[1], n = new Map, o = _createForOfIteratorHelper$1(m);
|
|
1726
|
-
try {
|
|
1727
|
-
for (o.s(); !(j = o.n()).done;) {
|
|
1728
|
-
var p = j.value, q = n.get(p.SessionId);
|
|
1729
|
-
q || (q = []), q.push(p), n.set(p.SessionId, q);
|
|
1730
|
-
}
|
|
1731
|
-
}
|
|
1732
|
-
catch (a) {
|
|
1733
|
-
o.e(a);
|
|
1734
|
-
}
|
|
1735
|
-
finally {
|
|
1736
|
-
o.f();
|
|
1737
|
-
}
|
|
1738
|
-
for (var r = 0, s = Array.from(n.entries()); r < s.length; r++) {
|
|
1739
|
-
var t = s[r], u = convertEvents(l, t[1], c), v = c._Store.SDKConfig.onCreateBatch;
|
|
1740
|
-
v && (u = v(u), u.mutated = !0), u && e.push(u);
|
|
1741
|
-
}
|
|
1742
|
-
}
|
|
1743
|
-
return e;
|
|
1744
|
-
} }]), a;
|
|
1745
|
-
}();
|
|
1746
|
-
defineProperty(BatchUploader, "CONTENT_TYPE", "text/plain;charset=UTF-8"), defineProperty(BatchUploader, "MINIMUM_INTERVAL_MILLIS", 500);
|
|
1747
|
-
var AsyncUploader = function a(b, c) { classCallCheck(this, a), defineProperty(this, "url", void 0), defineProperty(this, "logger", void 0), this.url = b, this.logger = c; }, FetchUploader = /*#__PURE__*/ function (a) { function b() { return classCallCheck(this, b), c.apply(this, arguments); } inherits(b, a); var c = _createSuper(b); return createClass(b, [{ key: "upload", value: function () { var a = asyncToGenerator(/*#__PURE__*/ regenerator.mark(function a(b) { var c; return regenerator.wrap(function (a) { for (;;)
|
|
1748
|
-
switch (a.prev = a.next) {
|
|
1749
|
-
case 0: return a.next = 2, fetch(this.url, b);
|
|
1750
|
-
case 2: return c = a.sent, a.abrupt("return", c);
|
|
1751
|
-
case 4:
|
|
1752
|
-
case "end": return a.stop();
|
|
1753
|
-
} }, a, this); })); return function upload() { return a.apply(this, arguments); }; }() }]), b; }(AsyncUploader), XHRUploader = /*#__PURE__*/ function (a) { function b() { return classCallCheck(this, b), c.apply(this, arguments); } inherits(b, a); var c = _createSuper(b); return createClass(b, [{ key: "upload", value: function () { var a = asyncToGenerator(/*#__PURE__*/ regenerator.mark(function a(b) { var c; return regenerator.wrap(function (a) { for (;;)
|
|
1754
|
-
switch (a.prev = a.next) {
|
|
1755
|
-
case 0: return a.next = 2, this.makeRequest(this.url, this.logger, b.body);
|
|
1756
|
-
case 2: return c = a.sent, a.abrupt("return", c);
|
|
1757
|
-
case 4:
|
|
1758
|
-
case "end": return a.stop();
|
|
1759
|
-
} }, a, this); })); return function upload() { return a.apply(this, arguments); }; }() }, { key: "makeRequest", value: function () { var a = asyncToGenerator(/*#__PURE__*/ regenerator.mark(function a(b, c, d) { var e; return regenerator.wrap(function (a) { for (;;)
|
|
1760
|
-
switch (a.prev = a.next) {
|
|
1761
|
-
case 0: return e = new XMLHttpRequest, a.abrupt("return", new Promise(function (a, c) { e.onreadystatechange = function () { 4 !== e.readyState || (200 <= e.status && 300 > e.status ? a(e) : c(e)); }, e.open("post", b), e.send(d); }));
|
|
1762
|
-
case 2:
|
|
1763
|
-
case "end": return a.stop();
|
|
1764
|
-
} }, a); })); return function makeRequest() { return a.apply(this, arguments); }; }() }]), b; }(AsyncUploader);
|
|
132
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
1765
133
|
|
|
1766
|
-
var
|
|
134
|
+
var dist = {};
|
|
135
|
+
|
|
136
|
+
(function (exports) {
|
|
137
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
138
|
+
(function (ApplicationInformationOsEnum) {
|
|
139
|
+
ApplicationInformationOsEnum["unknown"] = "Unknown";
|
|
140
|
+
ApplicationInformationOsEnum["iOS"] = "IOS";
|
|
141
|
+
ApplicationInformationOsEnum["android"] = "Android";
|
|
142
|
+
ApplicationInformationOsEnum["windowsPhone"] = "WindowsPhone";
|
|
143
|
+
ApplicationInformationOsEnum["mobileWeb"] = "MobileWeb";
|
|
144
|
+
ApplicationInformationOsEnum["unityIOS"] = "UnityIOS";
|
|
145
|
+
ApplicationInformationOsEnum["unityAndroid"] = "UnityAndroid";
|
|
146
|
+
ApplicationInformationOsEnum["desktop"] = "Desktop";
|
|
147
|
+
ApplicationInformationOsEnum["tvOS"] = "TVOS";
|
|
148
|
+
ApplicationInformationOsEnum["roku"] = "Roku";
|
|
149
|
+
ApplicationInformationOsEnum["outOfBand"] = "OutOfBand";
|
|
150
|
+
ApplicationInformationOsEnum["alexa"] = "Alexa";
|
|
151
|
+
ApplicationInformationOsEnum["smartTV"] = "SmartTV";
|
|
152
|
+
ApplicationInformationOsEnum["fireTV"] = "FireTV";
|
|
153
|
+
ApplicationInformationOsEnum["xbox"] = "Xbox";
|
|
154
|
+
})(exports.ApplicationInformationOsEnum || (exports.ApplicationInformationOsEnum = {}));
|
|
155
|
+
(function (ApplicationStateTransitionEventEventTypeEnum) {
|
|
156
|
+
ApplicationStateTransitionEventEventTypeEnum["applicationStateTransition"] = "application_state_transition";
|
|
157
|
+
})(exports.ApplicationStateTransitionEventEventTypeEnum || (exports.ApplicationStateTransitionEventEventTypeEnum = {}));
|
|
158
|
+
(function (ApplicationStateTransitionEventDataApplicationTransitionTypeEnum) {
|
|
159
|
+
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationInitialized"] = "application_initialized";
|
|
160
|
+
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationExit"] = "application_exit";
|
|
161
|
+
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationBackground"] = "application_background";
|
|
162
|
+
ApplicationStateTransitionEventDataApplicationTransitionTypeEnum["applicationForeground"] = "application_foreground";
|
|
163
|
+
})(exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum || (exports.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum = {}));
|
|
164
|
+
(function (BatchEnvironmentEnum) {
|
|
165
|
+
BatchEnvironmentEnum["unknown"] = "unknown";
|
|
166
|
+
BatchEnvironmentEnum["development"] = "development";
|
|
167
|
+
BatchEnvironmentEnum["production"] = "production";
|
|
168
|
+
})(exports.BatchEnvironmentEnum || (exports.BatchEnvironmentEnum = {}));
|
|
169
|
+
(function (BreadcrumbEventEventTypeEnum) {
|
|
170
|
+
BreadcrumbEventEventTypeEnum["breadcrumb"] = "breadcrumb";
|
|
171
|
+
})(exports.BreadcrumbEventEventTypeEnum || (exports.BreadcrumbEventEventTypeEnum = {}));
|
|
172
|
+
(function (CommerceEventEventTypeEnum) {
|
|
173
|
+
CommerceEventEventTypeEnum["commerceEvent"] = "commerce_event";
|
|
174
|
+
})(exports.CommerceEventEventTypeEnum || (exports.CommerceEventEventTypeEnum = {}));
|
|
175
|
+
(function (CommerceEventDataCustomEventTypeEnum) {
|
|
176
|
+
CommerceEventDataCustomEventTypeEnum["addToCart"] = "add_to_cart";
|
|
177
|
+
CommerceEventDataCustomEventTypeEnum["removeFromCart"] = "remove_from_cart";
|
|
178
|
+
CommerceEventDataCustomEventTypeEnum["checkout"] = "checkout";
|
|
179
|
+
CommerceEventDataCustomEventTypeEnum["checkoutOption"] = "checkout_option";
|
|
180
|
+
CommerceEventDataCustomEventTypeEnum["click"] = "click";
|
|
181
|
+
CommerceEventDataCustomEventTypeEnum["viewDetail"] = "view_detail";
|
|
182
|
+
CommerceEventDataCustomEventTypeEnum["purchase"] = "purchase";
|
|
183
|
+
CommerceEventDataCustomEventTypeEnum["refund"] = "refund";
|
|
184
|
+
CommerceEventDataCustomEventTypeEnum["promotionView"] = "promotion_view";
|
|
185
|
+
CommerceEventDataCustomEventTypeEnum["promotionClick"] = "promotion_click";
|
|
186
|
+
CommerceEventDataCustomEventTypeEnum["addToWishlist"] = "add_to_wishlist";
|
|
187
|
+
CommerceEventDataCustomEventTypeEnum["removeFromWishlist"] = "remove_from_wishlist";
|
|
188
|
+
CommerceEventDataCustomEventTypeEnum["impression"] = "impression";
|
|
189
|
+
})(exports.CommerceEventDataCustomEventTypeEnum || (exports.CommerceEventDataCustomEventTypeEnum = {}));
|
|
190
|
+
(function (CrashReportEventEventTypeEnum) {
|
|
191
|
+
CrashReportEventEventTypeEnum["crashReport"] = "crash_report";
|
|
192
|
+
})(exports.CrashReportEventEventTypeEnum || (exports.CrashReportEventEventTypeEnum = {}));
|
|
193
|
+
(function (CustomEventEventTypeEnum) {
|
|
194
|
+
CustomEventEventTypeEnum["customEvent"] = "custom_event";
|
|
195
|
+
})(exports.CustomEventEventTypeEnum || (exports.CustomEventEventTypeEnum = {}));
|
|
196
|
+
(function (CustomEventDataCustomEventTypeEnum) {
|
|
197
|
+
CustomEventDataCustomEventTypeEnum["navigation"] = "navigation";
|
|
198
|
+
CustomEventDataCustomEventTypeEnum["location"] = "location";
|
|
199
|
+
CustomEventDataCustomEventTypeEnum["search"] = "search";
|
|
200
|
+
CustomEventDataCustomEventTypeEnum["transaction"] = "transaction";
|
|
201
|
+
CustomEventDataCustomEventTypeEnum["userContent"] = "user_content";
|
|
202
|
+
CustomEventDataCustomEventTypeEnum["userPreference"] = "user_preference";
|
|
203
|
+
CustomEventDataCustomEventTypeEnum["social"] = "social";
|
|
204
|
+
CustomEventDataCustomEventTypeEnum["media"] = "media";
|
|
205
|
+
CustomEventDataCustomEventTypeEnum["other"] = "other";
|
|
206
|
+
CustomEventDataCustomEventTypeEnum["unknown"] = "unknown";
|
|
207
|
+
})(exports.CustomEventDataCustomEventTypeEnum || (exports.CustomEventDataCustomEventTypeEnum = {}));
|
|
208
|
+
(function (DeviceCurrentStateDeviceOrientationEnum) {
|
|
209
|
+
DeviceCurrentStateDeviceOrientationEnum["portrait"] = "portrait";
|
|
210
|
+
DeviceCurrentStateDeviceOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
|
|
211
|
+
DeviceCurrentStateDeviceOrientationEnum["landscape"] = "landscape";
|
|
212
|
+
DeviceCurrentStateDeviceOrientationEnum["landscapeLeft"] = "LandscapeLeft";
|
|
213
|
+
DeviceCurrentStateDeviceOrientationEnum["landscapeRight"] = "LandscapeRight";
|
|
214
|
+
DeviceCurrentStateDeviceOrientationEnum["faceUp"] = "FaceUp";
|
|
215
|
+
DeviceCurrentStateDeviceOrientationEnum["faceDown"] = "FaceDown";
|
|
216
|
+
DeviceCurrentStateDeviceOrientationEnum["square"] = "Square";
|
|
217
|
+
})(exports.DeviceCurrentStateDeviceOrientationEnum || (exports.DeviceCurrentStateDeviceOrientationEnum = {}));
|
|
218
|
+
(function (DeviceCurrentStateStatusBarOrientationEnum) {
|
|
219
|
+
DeviceCurrentStateStatusBarOrientationEnum["portrait"] = "portrait";
|
|
220
|
+
DeviceCurrentStateStatusBarOrientationEnum["portraitUpsideDown"] = "portrait_upside_down";
|
|
221
|
+
DeviceCurrentStateStatusBarOrientationEnum["landscape"] = "landscape";
|
|
222
|
+
DeviceCurrentStateStatusBarOrientationEnum["landscapeLeft"] = "LandscapeLeft";
|
|
223
|
+
DeviceCurrentStateStatusBarOrientationEnum["landscapeRight"] = "LandscapeRight";
|
|
224
|
+
DeviceCurrentStateStatusBarOrientationEnum["faceUp"] = "FaceUp";
|
|
225
|
+
DeviceCurrentStateStatusBarOrientationEnum["faceDown"] = "FaceDown";
|
|
226
|
+
DeviceCurrentStateStatusBarOrientationEnum["square"] = "Square";
|
|
227
|
+
})(exports.DeviceCurrentStateStatusBarOrientationEnum || (exports.DeviceCurrentStateStatusBarOrientationEnum = {}));
|
|
228
|
+
(function (DeviceInformationPlatformEnum) {
|
|
229
|
+
DeviceInformationPlatformEnum["iOS"] = "iOS";
|
|
230
|
+
DeviceInformationPlatformEnum["android"] = "Android";
|
|
231
|
+
DeviceInformationPlatformEnum["web"] = "web";
|
|
232
|
+
DeviceInformationPlatformEnum["desktop"] = "desktop";
|
|
233
|
+
DeviceInformationPlatformEnum["tvOS"] = "tvOS";
|
|
234
|
+
DeviceInformationPlatformEnum["roku"] = "roku";
|
|
235
|
+
DeviceInformationPlatformEnum["outOfBand"] = "out_of_band";
|
|
236
|
+
DeviceInformationPlatformEnum["smartTV"] = "smart_tv";
|
|
237
|
+
DeviceInformationPlatformEnum["xbox"] = "xbox";
|
|
238
|
+
})(exports.DeviceInformationPlatformEnum || (exports.DeviceInformationPlatformEnum = {}));
|
|
239
|
+
(function (EventTypeEnum) {
|
|
240
|
+
EventTypeEnum["unknown"] = "unknown";
|
|
241
|
+
EventTypeEnum["sessionStart"] = "session_start";
|
|
242
|
+
EventTypeEnum["sessionEnd"] = "session_end";
|
|
243
|
+
EventTypeEnum["screenView"] = "screen_view";
|
|
244
|
+
EventTypeEnum["customEvent"] = "custom_event";
|
|
245
|
+
EventTypeEnum["crashReport"] = "crash_report";
|
|
246
|
+
EventTypeEnum["optOut"] = "opt_out";
|
|
247
|
+
EventTypeEnum["firstRun"] = "first_run";
|
|
248
|
+
EventTypeEnum["preAttribution"] = "pre_attribution";
|
|
249
|
+
EventTypeEnum["pushRegistration"] = "push_registration";
|
|
250
|
+
EventTypeEnum["applicationStateTransition"] = "application_state_transition";
|
|
251
|
+
EventTypeEnum["pushMessage"] = "push_message";
|
|
252
|
+
EventTypeEnum["networkPerformance"] = "network_performance";
|
|
253
|
+
EventTypeEnum["breadcrumb"] = "breadcrumb";
|
|
254
|
+
EventTypeEnum["profile"] = "profile";
|
|
255
|
+
EventTypeEnum["pushReaction"] = "push_reaction";
|
|
256
|
+
EventTypeEnum["commerceEvent"] = "commerce_event";
|
|
257
|
+
EventTypeEnum["userAttributeChange"] = "user_attribute_change";
|
|
258
|
+
EventTypeEnum["userIdentityChange"] = "user_identity_change";
|
|
259
|
+
EventTypeEnum["uninstall"] = "uninstall";
|
|
260
|
+
EventTypeEnum["validationResult"] = "validation_result";
|
|
261
|
+
})(exports.EventTypeEnum || (exports.EventTypeEnum = {}));
|
|
262
|
+
(function (IdentityTypeEnum) {
|
|
263
|
+
IdentityTypeEnum["other"] = "other";
|
|
264
|
+
IdentityTypeEnum["customerId"] = "customer_id";
|
|
265
|
+
IdentityTypeEnum["facebook"] = "facebook";
|
|
266
|
+
IdentityTypeEnum["twitter"] = "twitter";
|
|
267
|
+
IdentityTypeEnum["google"] = "google";
|
|
268
|
+
IdentityTypeEnum["microsoft"] = "microsoft";
|
|
269
|
+
IdentityTypeEnum["yahoo"] = "yahoo";
|
|
270
|
+
IdentityTypeEnum["email"] = "email";
|
|
271
|
+
IdentityTypeEnum["alias"] = "alias";
|
|
272
|
+
IdentityTypeEnum["facebookCustomAudienceId"] = "facebook_custom_audience_id";
|
|
273
|
+
IdentityTypeEnum["otherId2"] = "other_id_2";
|
|
274
|
+
IdentityTypeEnum["otherId3"] = "other_id_3";
|
|
275
|
+
IdentityTypeEnum["otherId4"] = "other_id_4";
|
|
276
|
+
IdentityTypeEnum["otherId5"] = "other_id_5";
|
|
277
|
+
IdentityTypeEnum["otherId6"] = "other_id_6";
|
|
278
|
+
IdentityTypeEnum["otherId7"] = "other_id_7";
|
|
279
|
+
IdentityTypeEnum["otherId8"] = "other_id_8";
|
|
280
|
+
IdentityTypeEnum["otherId9"] = "other_id_9";
|
|
281
|
+
IdentityTypeEnum["otherId10"] = "other_id_10";
|
|
282
|
+
IdentityTypeEnum["mobileNumber"] = "mobile_number";
|
|
283
|
+
IdentityTypeEnum["phoneNumber2"] = "phone_number_2";
|
|
284
|
+
IdentityTypeEnum["phoneNumber3"] = "phone_number_3";
|
|
285
|
+
})(exports.IdentityTypeEnum || (exports.IdentityTypeEnum = {}));
|
|
286
|
+
(function (NetworkPerformanceEventEventTypeEnum) {
|
|
287
|
+
NetworkPerformanceEventEventTypeEnum["networkPerformance"] = "network_performance";
|
|
288
|
+
})(exports.NetworkPerformanceEventEventTypeEnum || (exports.NetworkPerformanceEventEventTypeEnum = {}));
|
|
289
|
+
(function (OptOutEventEnum) {
|
|
290
|
+
OptOutEventEnum["optOut"] = "opt_out";
|
|
291
|
+
})(exports.OptOutEventEnum || (exports.OptOutEventEnum = {}));
|
|
292
|
+
(function (ProductActionActionEnum) {
|
|
293
|
+
ProductActionActionEnum["unknown"] = "unknown";
|
|
294
|
+
ProductActionActionEnum["addToCart"] = "add_to_cart";
|
|
295
|
+
ProductActionActionEnum["removeFromCart"] = "remove_from_cart";
|
|
296
|
+
ProductActionActionEnum["checkout"] = "checkout";
|
|
297
|
+
ProductActionActionEnum["checkoutOption"] = "checkout_option";
|
|
298
|
+
ProductActionActionEnum["click"] = "click";
|
|
299
|
+
ProductActionActionEnum["viewDetail"] = "view_detail";
|
|
300
|
+
ProductActionActionEnum["purchase"] = "purchase";
|
|
301
|
+
ProductActionActionEnum["refund"] = "refund";
|
|
302
|
+
ProductActionActionEnum["addToWishlist"] = "add_to_wishlist";
|
|
303
|
+
ProductActionActionEnum["removeFromWishlist"] = "remove_from_wish_list";
|
|
304
|
+
})(exports.ProductActionActionEnum || (exports.ProductActionActionEnum = {}));
|
|
305
|
+
(function (ProfileEventEventTypeEnum) {
|
|
306
|
+
ProfileEventEventTypeEnum["profile"] = "profile";
|
|
307
|
+
})(exports.ProfileEventEventTypeEnum || (exports.ProfileEventEventTypeEnum = {}));
|
|
308
|
+
(function (ProfileEventDataProfileEventTypeEnum) {
|
|
309
|
+
ProfileEventDataProfileEventTypeEnum["signup"] = "signup";
|
|
310
|
+
ProfileEventDataProfileEventTypeEnum["login"] = "login";
|
|
311
|
+
ProfileEventDataProfileEventTypeEnum["logout"] = "logout";
|
|
312
|
+
ProfileEventDataProfileEventTypeEnum["update"] = "update";
|
|
313
|
+
ProfileEventDataProfileEventTypeEnum["delete"] = "delete";
|
|
314
|
+
})(exports.ProfileEventDataProfileEventTypeEnum || (exports.ProfileEventDataProfileEventTypeEnum = {}));
|
|
315
|
+
(function (PromotionActionActionEnum) {
|
|
316
|
+
PromotionActionActionEnum["view"] = "view";
|
|
317
|
+
PromotionActionActionEnum["click"] = "click";
|
|
318
|
+
})(exports.PromotionActionActionEnum || (exports.PromotionActionActionEnum = {}));
|
|
319
|
+
(function (PushMessageEventEventTypeEnum) {
|
|
320
|
+
PushMessageEventEventTypeEnum["pushMessage"] = "push_message";
|
|
321
|
+
})(exports.PushMessageEventEventTypeEnum || (exports.PushMessageEventEventTypeEnum = {}));
|
|
322
|
+
(function (PushMessageEventDataPushMessageTypeEnum) {
|
|
323
|
+
PushMessageEventDataPushMessageTypeEnum["sent"] = "sent";
|
|
324
|
+
PushMessageEventDataPushMessageTypeEnum["received"] = "received";
|
|
325
|
+
PushMessageEventDataPushMessageTypeEnum["action"] = "action";
|
|
326
|
+
})(exports.PushMessageEventDataPushMessageTypeEnum || (exports.PushMessageEventDataPushMessageTypeEnum = {}));
|
|
327
|
+
(function (PushMessageEventDataApplicationStateEnum) {
|
|
328
|
+
PushMessageEventDataApplicationStateEnum["notRunning"] = "not_running";
|
|
329
|
+
PushMessageEventDataApplicationStateEnum["background"] = "background";
|
|
330
|
+
PushMessageEventDataApplicationStateEnum["foreground"] = "foreground";
|
|
331
|
+
})(exports.PushMessageEventDataApplicationStateEnum || (exports.PushMessageEventDataApplicationStateEnum = {}));
|
|
332
|
+
(function (PushMessageEventDataPushMessageBehaviorEnum) {
|
|
333
|
+
PushMessageEventDataPushMessageBehaviorEnum["received"] = "Received";
|
|
334
|
+
PushMessageEventDataPushMessageBehaviorEnum["directOpen"] = "DirectOpen";
|
|
335
|
+
PushMessageEventDataPushMessageBehaviorEnum["read"] = "Read";
|
|
336
|
+
PushMessageEventDataPushMessageBehaviorEnum["influencedOpen"] = "InfluencedOpen";
|
|
337
|
+
PushMessageEventDataPushMessageBehaviorEnum["displayed"] = "Displayed";
|
|
338
|
+
})(exports.PushMessageEventDataPushMessageBehaviorEnum || (exports.PushMessageEventDataPushMessageBehaviorEnum = {}));
|
|
339
|
+
(function (PushRegistrationEventEventTypeEnum) {
|
|
340
|
+
PushRegistrationEventEventTypeEnum["pushRegistration"] = "push_registration";
|
|
341
|
+
})(exports.PushRegistrationEventEventTypeEnum || (exports.PushRegistrationEventEventTypeEnum = {}));
|
|
342
|
+
(function (SessionEndEventEventTypeEnum) {
|
|
343
|
+
SessionEndEventEventTypeEnum["sessionEnd"] = "session_end";
|
|
344
|
+
})(exports.SessionEndEventEventTypeEnum || (exports.SessionEndEventEventTypeEnum = {}));
|
|
345
|
+
(function (SessionStartEventEventTypeEnum) {
|
|
346
|
+
SessionStartEventEventTypeEnum["sessionStart"] = "session_start";
|
|
347
|
+
})(exports.SessionStartEventEventTypeEnum || (exports.SessionStartEventEventTypeEnum = {}));
|
|
348
|
+
(function (SourceInformationChannelEnum) {
|
|
349
|
+
SourceInformationChannelEnum["native"] = "native";
|
|
350
|
+
SourceInformationChannelEnum["javascript"] = "javascript";
|
|
351
|
+
SourceInformationChannelEnum["pixel"] = "pixel";
|
|
352
|
+
SourceInformationChannelEnum["desktop"] = "desktop";
|
|
353
|
+
SourceInformationChannelEnum["partner"] = "partner";
|
|
354
|
+
SourceInformationChannelEnum["serverToServer"] = "server_to_server";
|
|
355
|
+
})(exports.SourceInformationChannelEnum || (exports.SourceInformationChannelEnum = {}));
|
|
356
|
+
(function (UserAttributeChangeEventEventTypeEnum) {
|
|
357
|
+
UserAttributeChangeEventEventTypeEnum["userAttributeChange"] = "user_attribute_change";
|
|
358
|
+
})(exports.UserAttributeChangeEventEventTypeEnum || (exports.UserAttributeChangeEventEventTypeEnum = {}));
|
|
359
|
+
(function (UserIdentityChangeEventEventTypeEnum) {
|
|
360
|
+
UserIdentityChangeEventEventTypeEnum["userIdentityChange"] = "user_identity_change";
|
|
361
|
+
})(exports.UserIdentityChangeEventEventTypeEnum || (exports.UserIdentityChangeEventEventTypeEnum = {}));
|
|
362
|
+
} (dist));
|
|
363
|
+
|
|
364
|
+
function convertEvents(a,b,c){if(!a)return null;if(!b||1>b.length)return null;for(var d,e=[],f=null,g=0,h=b;g<h.length;g++)if(d=h[g],d){f=d;var i=convertEvent(d);i&&e.push(i);}if(!f)return null;var j={source_request_id:c._Helpers.generateUniqueId(),mpid:a,timestamp_unixtime_ms:new Date().getTime(),environment:f.Debug?dist.BatchEnvironmentEnum.development:dist.BatchEnvironmentEnum.production,events:e,mp_deviceid:f.DeviceId,sdk_version:f.SDKVersion,application_info:{application_version:f.AppVersion,application_name:f.AppName,package:f.Package},device_info:{platform:dist.DeviceInformationPlatformEnum.web,screen_width:window.screen.width,screen_height:window.screen.height},user_attributes:f.UserAttributes,user_identities:convertUserIdentities(f.UserIdentities),consent_state:convertConsentState(f.ConsentState),integration_attributes:f.IntegrationAttributes};return f.DataPlan&&f.DataPlan.PlanId&&(j.context={data_plan:{plan_id:f.DataPlan.PlanId,plan_version:f.DataPlan.PlanVersion||void 0}}),j}function convertConsentState(a){if(!a)return null;var b={gdpr:convertGdprConsentState(a.getGDPRConsentState()),ccpa:convertCcpaConsentState(a.getCCPAConsentState())};return b}function convertGdprConsentState(a){if(!a)return null;var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]={consented:a[c].Consented,hardware_id:a[c].HardwareId,document:a[c].ConsentDocument,timestamp_unixtime_ms:a[c].Timestamp,location:a[c].Location});return b}function convertCcpaConsentState(a){if(!a)return null;var b={data_sale_opt_out:{consented:a.Consented,hardware_id:a.HardwareId,document:a.ConsentDocument,timestamp_unixtime_ms:a.Timestamp,location:a.Location}};return b}function convertUserIdentities(a){if(!a||!a.length)return null;for(var b,c={},d=0,e=a;d<e.length;d++)switch(b=e[d],b.Type){case Types.IdentityType.CustomerId:c.customer_id=b.Identity;break;case Types.IdentityType.Email:c.email=b.Identity;break;case Types.IdentityType.Facebook:c.facebook=b.Identity;break;case Types.IdentityType.FacebookCustomAudienceId:c.facebook_custom_audience_id=b.Identity;break;case Types.IdentityType.Google:c.google=b.Identity;break;case Types.IdentityType.Microsoft:c.microsoft=b.Identity;break;case Types.IdentityType.Other:c.other=b.Identity;break;case Types.IdentityType.Other2:c.other_id_2=b.Identity;break;case Types.IdentityType.Other3:c.other_id_3=b.Identity;break;case Types.IdentityType.Other4:c.other_id_4=b.Identity;break;case Types.IdentityType.Other5:c.other_id_5=b.Identity;break;case Types.IdentityType.Other6:c.other_id_6=b.Identity;break;case Types.IdentityType.Other7:c.other_id_7=b.Identity;break;case Types.IdentityType.Other8:c.other_id_8=b.Identity;break;case Types.IdentityType.Other9:c.other_id_9=b.Identity;break;case Types.IdentityType.Other10:c.other_id_10=b.Identity;break;case Types.IdentityType.MobileNumber:c.mobile_number=b.Identity;break;case Types.IdentityType.PhoneNumber2:c.phone_number_2=b.Identity;break;case Types.IdentityType.PhoneNumber3:c.phone_number_3=b.Identity;break;}return c}function convertEvent(a){if(!a)return null;switch(a.EventDataType){case Types.MessageType.AppStateTransition:return convertAST(a);case Types.MessageType.Commerce:return convertCommerceEvent(a);case Types.MessageType.CrashReport:return convertCrashReportEvent(a);case Types.MessageType.OptOut:return convertOptOutEvent(a);case Types.MessageType.PageEvent:// Note: Media Events are also sent as PageEvents/CustomEvents
|
|
365
|
+
return convertCustomEvent(a);case Types.MessageType.PageView:return convertPageViewEvent(a);case Types.MessageType.Profile://deprecated and not supported by the web SDK
|
|
366
|
+
return null;case Types.MessageType.SessionEnd:return convertSessionEndEvent(a);case Types.MessageType.SessionStart:return convertSessionStartEvent(a);case Types.MessageType.UserAttributeChange:return convertUserAttributeChangeEvent(a);case Types.MessageType.UserIdentityChange:return convertUserIdentityChangeEvent(a);}return null}function convertProductActionType(a){if(!a)return dist.ProductActionActionEnum.unknown;return a===SDKProductActionType.AddToCart?dist.ProductActionActionEnum.addToCart:a===SDKProductActionType.AddToWishlist?dist.ProductActionActionEnum.addToWishlist:a===SDKProductActionType.Checkout?dist.ProductActionActionEnum.checkout:a===SDKProductActionType.CheckoutOption?dist.ProductActionActionEnum.checkoutOption:a===SDKProductActionType.Click?dist.ProductActionActionEnum.click:a===SDKProductActionType.Purchase?dist.ProductActionActionEnum.purchase:a===SDKProductActionType.Refund?dist.ProductActionActionEnum.refund:a===SDKProductActionType.RemoveFromCart?dist.ProductActionActionEnum.removeFromCart:a===SDKProductActionType.RemoveFromWishlist?dist.ProductActionActionEnum.removeFromWishlist:a===SDKProductActionType.ViewDetail?dist.ProductActionActionEnum.viewDetail:dist.ProductActionActionEnum.unknown}function convertProductAction(a){if(!a.ProductAction)return null;var b={action:convertProductActionType(a.ProductAction.ProductActionType),checkout_step:a.ProductAction.CheckoutStep,checkout_options:a.ProductAction.CheckoutOptions,transaction_id:a.ProductAction.TransactionId,affiliation:a.ProductAction.Affiliation,total_amount:a.ProductAction.TotalAmount,tax_amount:a.ProductAction.TaxAmount,shipping_amount:a.ProductAction.ShippingAmount,coupon_code:a.ProductAction.CouponCode,products:convertProducts(a.ProductAction.ProductList)};return b}function convertProducts(a){if(!a||!a.length)return null;for(var b=[],c=0,d=a;c<d.length;c++){var e=d[c],f={id:e.Sku,name:e.Name,brand:e.Brand,category:e.Category,variant:e.Variant,total_product_amount:e.TotalAmount,position:e.Position,price:e.Price,quantity:e.Quantity,coupon_code:e.CouponCode,custom_attributes:e.Attributes};b.push(f);}return b}function convertPromotionAction(a){if(!a.PromotionAction)return null;var b={action:a.PromotionAction.PromotionActionType,promotions:convertPromotions(a.PromotionAction.PromotionList)};return b}function convertPromotions(a){if(!a||!a.length)return null;for(var b=[],c=0,d=a;c<d.length;c++){var e=d[c],f={id:e.Id,name:e.Name,creative:e.Creative,position:e.Position};b.push(f);}return b}function convertImpressions(a){if(!a.ProductImpressions)return null;for(var b=[],c=0,d=a.ProductImpressions;c<d.length;c++){var e=d[c],f={product_impression_list:e.ProductImpressionList,products:convertProducts(e.ProductList)};b.push(f);}return b}function convertShoppingCart(a){if(!a.ShoppingCart||!a.ShoppingCart.ProductList||!a.ShoppingCart.ProductList.length)return null;var b={products:convertProducts(a.ShoppingCart.ProductList)};return b}function convertCommerceEvent(a){var b=convertBaseEventData(a),c={custom_flags:a.CustomFlags,product_action:convertProductAction(a),promotion_action:convertPromotionAction(a),product_impressions:convertImpressions(a),shopping_cart:convertShoppingCart(a),currency_code:a.CurrencyCode};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.commerceEvent,data:c}}function convertCrashReportEvent(a){var b=convertBaseEventData(a),c={message:a.EventName};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.crashReport,data:c}}function convertAST(a){var b=convertBaseEventData(a),c={application_transition_type:dist.ApplicationStateTransitionEventDataApplicationTransitionTypeEnum.applicationInitialized,is_first_run:a.IsFirstRun,is_upgrade:!1,launch_referral:a.LaunchReferral};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.applicationStateTransition,data:c}}function convertSessionEndEvent(a){var b=convertBaseEventData(a),c={session_duration_ms:a.SessionLength//note: External Events DTO does not support the session mpids array as of this time.
|
|
367
|
+
//spanning_mpids: sdkEvent.SessionMpids
|
|
368
|
+
};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.sessionEnd,data:c}}function convertSessionStartEvent(a){var b=convertBaseEventData(a),c={};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.sessionStart,data:c}}function convertPageViewEvent(a){var b=convertBaseEventData(a),c={custom_flags:a.CustomFlags,screen_name:a.EventName};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.screenView,data:c}}function convertOptOutEvent(a){var b=convertBaseEventData(a),c={is_opted_out:a.OptOut};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.optOut,data:c}}function convertCustomEvent(a){var b=convertBaseEventData(a),c={custom_event_type:convertSdkEventType(a.EventCategory),custom_flags:a.CustomFlags,event_name:a.EventName};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.customEvent,data:c}}function convertSdkEventType(a){return a===Types.EventType.Other?dist.CustomEventDataCustomEventTypeEnum.other:a===Types.EventType.Location?dist.CustomEventDataCustomEventTypeEnum.location:a===Types.EventType.Navigation?dist.CustomEventDataCustomEventTypeEnum.navigation:a===Types.EventType.Search?dist.CustomEventDataCustomEventTypeEnum.search:a===Types.EventType.Social?dist.CustomEventDataCustomEventTypeEnum.social:a===Types.EventType.Transaction?dist.CustomEventDataCustomEventTypeEnum.transaction:a===Types.EventType.UserContent?dist.CustomEventDataCustomEventTypeEnum.userContent:a===Types.EventType.UserPreference?dist.CustomEventDataCustomEventTypeEnum.userPreference:a===Types.EventType.Media?dist.CustomEventDataCustomEventTypeEnum.media:a===Types.CommerceEventType.ProductAddToCart?dist.CommerceEventDataCustomEventTypeEnum.addToCart:a===Types.CommerceEventType.ProductAddToWishlist?dist.CommerceEventDataCustomEventTypeEnum.addToWishlist:a===Types.CommerceEventType.ProductCheckout?dist.CommerceEventDataCustomEventTypeEnum.checkout:a===Types.CommerceEventType.ProductCheckoutOption?dist.CommerceEventDataCustomEventTypeEnum.checkoutOption:a===Types.CommerceEventType.ProductClick?dist.CommerceEventDataCustomEventTypeEnum.click:a===Types.CommerceEventType.ProductImpression?dist.CommerceEventDataCustomEventTypeEnum.impression:a===Types.CommerceEventType.ProductPurchase?dist.CommerceEventDataCustomEventTypeEnum.purchase:a===Types.CommerceEventType.ProductRefund?dist.CommerceEventDataCustomEventTypeEnum.refund:a===Types.CommerceEventType.ProductRemoveFromCart?dist.CommerceEventDataCustomEventTypeEnum.removeFromCart:a===Types.CommerceEventType.ProductRemoveFromWishlist?dist.CommerceEventDataCustomEventTypeEnum.removeFromWishlist:a===Types.CommerceEventType.ProductViewDetail?dist.CommerceEventDataCustomEventTypeEnum.viewDetail:a===Types.CommerceEventType.PromotionClick?dist.CommerceEventDataCustomEventTypeEnum.promotionClick:a===Types.CommerceEventType.PromotionView?dist.CommerceEventDataCustomEventTypeEnum.promotionView:dist.CustomEventDataCustomEventTypeEnum.unknown}function convertBaseEventData(a){var b={timestamp_unixtime_ms:a.Timestamp,session_uuid:a.SessionId,session_start_unixtime_ms:a.SessionStartDate,custom_attributes:a.EventAttributes,location:convertSDKLocation(a.Location),source_message_id:a.SourceMessageId};return b}function convertSDKLocation(a){return a&&Object.keys(a).length?{latitude:a.lat,longitude:a.lng}:null}function convertUserAttributeChangeEvent(a){var b=convertBaseEventData(a),c={user_attribute_name:a.UserAttributeChanges.UserAttributeName,new:a.UserAttributeChanges.New,old:a.UserAttributeChanges.Old,deleted:a.UserAttributeChanges.Deleted,is_new_attribute:a.UserAttributeChanges.IsNewAttribute};return c=__assign(__assign({},c),b),{event_type:dist.EventTypeEnum.userAttributeChange,data:c}}function convertUserIdentityChangeEvent(a){var b=convertBaseEventData(a),c={new:{identity_type:convertUserIdentityTypeToServerIdentityType(a.UserIdentityChanges.New.IdentityType),identity:a.UserIdentityChanges.New.Identity||null,timestamp_unixtime_ms:a.Timestamp,created_this_batch:a.UserIdentityChanges.New.CreatedThisBatch},old:{identity_type:convertUserIdentityTypeToServerIdentityType(a.UserIdentityChanges.Old.IdentityType),identity:a.UserIdentityChanges.Old.Identity||null,timestamp_unixtime_ms:a.Timestamp,created_this_batch:a.UserIdentityChanges.Old.CreatedThisBatch}};return c=Object.assign(c,b),{event_type:dist.EventTypeEnum.userIdentityChange,data:c}}function convertUserIdentityTypeToServerIdentityType(a){return a===SDKIdentityTypeEnum.other?dist.IdentityTypeEnum.other:a===SDKIdentityTypeEnum.customerId?dist.IdentityTypeEnum.customerId:a===SDKIdentityTypeEnum.facebook?dist.IdentityTypeEnum.facebook:a===SDKIdentityTypeEnum.twitter?dist.IdentityTypeEnum.twitter:a===SDKIdentityTypeEnum.google?dist.IdentityTypeEnum.google:a===SDKIdentityTypeEnum.microsoft?dist.IdentityTypeEnum.microsoft:a===SDKIdentityTypeEnum.yahoo?dist.IdentityTypeEnum.yahoo:a===SDKIdentityTypeEnum.email?dist.IdentityTypeEnum.email:a===SDKIdentityTypeEnum.alias?dist.IdentityTypeEnum.alias:a===SDKIdentityTypeEnum.facebookCustomAudienceId?dist.IdentityTypeEnum.facebookCustomAudienceId:a===SDKIdentityTypeEnum.otherId2?dist.IdentityTypeEnum.otherId2:a===SDKIdentityTypeEnum.otherId3?dist.IdentityTypeEnum.otherId3:a===SDKIdentityTypeEnum.otherId4?dist.IdentityTypeEnum.otherId4:a===SDKIdentityTypeEnum.otherId5?dist.IdentityTypeEnum.otherId5:a===SDKIdentityTypeEnum.otherId6?dist.IdentityTypeEnum.otherId6:a===SDKIdentityTypeEnum.otherId7?dist.IdentityTypeEnum.otherId7:a===SDKIdentityTypeEnum.otherId8?dist.IdentityTypeEnum.otherId8:a===SDKIdentityTypeEnum.otherId9?dist.IdentityTypeEnum.otherId9:a===SDKIdentityTypeEnum.otherId10?dist.IdentityTypeEnum.otherId10:a===SDKIdentityTypeEnum.mobileNumber?dist.IdentityTypeEnum.mobileNumber:a===SDKIdentityTypeEnum.phoneNumber2?dist.IdentityTypeEnum.phoneNumber2:a===SDKIdentityTypeEnum.phoneNumber3?dist.IdentityTypeEnum.phoneNumber3:void 0}
|
|
369
|
+
|
|
370
|
+
var BatchUploader=/** @class */function(){function a(b,c){var d=this;this.mpInstance=b,this.uploadIntervalMillis=c,this.batchingEnabled=c>=a.MINIMUM_INTERVAL_MILLIS,this.uploadIntervalMillis<a.MINIMUM_INTERVAL_MILLIS&&(this.uploadIntervalMillis=a.MINIMUM_INTERVAL_MILLIS),this.pendingEvents=[],this.pendingUploads=[];var e=this.mpInstance._Store,f=e.SDKConfig,g=e.devToken,h=this.mpInstance._Helpers.createServiceUrl(f.v3SecureServiceUrl,g);this.uploadUrl="".concat(h,"/events"),setTimeout(function(){d.prepareAndUpload(!0,!1);},this.uploadIntervalMillis),this.addEventListeners();}return a.prototype.addEventListeners=function(){var a=this;document.addEventListener("visibilitychange",function(){a.prepareAndUpload(!1,a.isBeaconAvailable());}),window.addEventListener("beforeunload",function(){a.prepareAndUpload(!1,a.isBeaconAvailable());}),window.addEventListener("pagehide",function(){a.prepareAndUpload(!1,a.isBeaconAvailable());});},a.prototype.isBeaconAvailable=function(){return !!navigator.sendBeacon},a.prototype.queueEvent=function(a){a&&(this.pendingEvents.push(a),this.mpInstance.Logger.verbose("Queuing event: ".concat(JSON.stringify(a))),this.mpInstance.Logger.verbose("Queued event count: ".concat(this.pendingEvents.length)),(!this.batchingEnabled||Types.TriggerUploadType[a.EventDataType])&&this.prepareAndUpload(!1,!1));},a.createNewUploads=function(a,b,c){if(!b||!a||!a.length)return null;//bucket by MPID, and then by session, ordered by timestamp
|
|
371
|
+
for(var d,e=[],f=new Map,g=0,h=a;g<h.length;g++){//on initial startup, there may be events logged without an mpid.
|
|
372
|
+
if(d=h[g],!d.MPID){var i=b.getMPID();d.MPID=i;}var j=f.get(d.MPID);j||(j=[]),j.push(d),f.set(d.MPID,j);}for(var k=0,l=Array.from(f.entries());k<l.length;k++){for(var m=l[k],i=m[0],n=m[1],o=new Map,p=0,q=n;p<q.length;p++){var d=q[p],j=o.get(d.SessionId);j||(j=[]),j.push(d),o.set(d.SessionId,j);}for(var r=0,s=Array.from(o.entries());r<s.length;r++){var t=s[r],u=convertEvents(i,t[1],c),v=c._Store.SDKConfig.onCreateBatch;v&&(u=v(u),u?u.modified=!0:c.Logger.warning("Skiping batch upload because no batch was returned from onCreateBatch callback")),u&&e.push(u);}}return e},a.prototype.prepareAndUpload=function(b,c){return __awaiter(this,void 0,void 0,function(){var d,e,f,g,h,i,j,k=this;return __generator(this,function(l){switch(l.label){case 0:return d=this.mpInstance.Identity.getCurrentUser(),e=this.pendingEvents,this.pendingEvents=[],f=a.createNewUploads(e,d,this.mpInstance),f&&f.length&&(i=this.pendingUploads).push.apply(i,f),g=this.pendingUploads,this.pendingUploads=[],[4/*yield*/,this.upload(this.mpInstance.Logger,g,c)];case 1:return h=l.sent(),h&&h.length&&(j=this.pendingUploads).unshift.apply(j,h),b&&setTimeout(function(){k.prepareAndUpload(!0,!1);},this.uploadIntervalMillis),[2/*return*/];}})})},a.prototype.upload=function(b,c,d){return __awaiter(this,void 0,void 0,function(){var e,f,g,h,j,k;return __generator(this,function(i){switch(i.label){case 0:if(!c||1>c.length)return [2/*return*/,null];b.verbose("Uploading batches: ".concat(JSON.stringify(c))),b.verbose("Batch count: ".concat(c.length)),f=0,i.label=1;case 1:return f<c.length?(g={method:"POST",headers:{Accept:a.CONTENT_TYPE,"Content-Type":"text/plain;charset=UTF-8"},body:JSON.stringify(c[f])},!(d&&this.isBeaconAvailable()))?[3/*break*/,2]:(h=new Blob([g.body],{type:"text/plain;charset=UTF-8"}),navigator.sendBeacon(this.uploadUrl,h),[3/*break*/,6]):[3/*break*/,7];case 2:e||(window.fetch?e=new FetchUploader(this.uploadUrl,b):e=new XHRUploader(this.uploadUrl,b)),i.label=3;case 3:return i.trys.push([3,5,,6]),[4/*yield*/,e.upload(g,c,f)];case 4:if(j=i.sent(),200<=j.status&&300>j.status)b.verbose("Upload success for request ID: ".concat(c[f].source_request_id));else {if(500<=j.status||429===j.status)//server error, add back current events and try again later
|
|
373
|
+
return b.error("HTTP error status ".concat(j.status," received")),[2/*return*/,c.slice(f,c.length)];if(401<=j.status)//if we're getting a 401, assume we'll keep getting a 401 and clear the uploads.
|
|
374
|
+
return b.error("HTTP error status ".concat(j.status," while uploading - please verify your API key.")),[2/*return*/,null]}return [3/*break*/,6];case 5:return k=i.sent(),b.error("Error sending event to mParticle servers. ".concat(k)),[2/*return*/,c.slice(f,c.length)];case 6:return f++,[3/*break*/,1];case 7:return [2/*return*/,null];}})})},a.CONTENT_TYPE="text/plain;charset=UTF-8",a.MINIMUM_INTERVAL_MILLIS=500,a}();var AsyncUploader=/** @class */function(){function a(a,b){this.url=a,this.logger=b;}return a}(),FetchUploader=/** @class */function(a){function b(){return null!==a&&a.apply(this,arguments)||this}return __extends(b,a),b.prototype.upload=function(a){return __awaiter(this,void 0,void 0,function(){var b;return __generator(this,function(c){switch(c.label){case 0:return [4/*yield*/,fetch(this.url,a)];case 1:return b=c.sent(),[2/*return*/,b];}})})},b}(AsyncUploader),XHRUploader=/** @class */function(a){function b(){return null!==a&&a.apply(this,arguments)||this}return __extends(b,a),b.prototype.upload=function(a){return __awaiter(this,void 0,void 0,function(){var b;return __generator(this,function(c){switch(c.label){case 0:return [4/*yield*/,this.makeRequest(this.url,this.logger,a.body)];case 1:return b=c.sent(),[2/*return*/,b];}})})},b.prototype.makeRequest=function(a,b,c){return __awaiter(this,void 0,void 0,function(){var b;return __generator(this,function(){return b=new XMLHttpRequest,[2/*return*/,new Promise(function(d,e){b.onreadystatechange=function(){4!==b.readyState||(200<=b.status&&300>b.status?d(b):e(b));},b.open("post",a),b.send(c);})]})})},b}(AsyncUploader);
|
|
375
|
+
|
|
376
|
+
var Messages$9=Constants.Messages;function APIClient(a,b){this.uploader=null;var c=this;this.queueEventForBatchUpload=function(b){if(!this.uploader){var c=a._Helpers.getFeatureFlag(Constants.FeatureFlags.EventBatchingIntervalMillis);this.uploader=new BatchUploader(a,c);}this.uploader.queueEvent(b);},this.shouldEnableBatching=function(){// Returns a string of a number that must be parsed
|
|
1767
377
|
// Invalid strings will be parsed to NaN which is falsey
|
|
1768
378
|
var b=parseInt(a._Helpers.getFeatureFlag(Constants.FeatureFlags.EventsV3),10);if(!b)return !1;var c=a._Helpers.getRampNumber(a._Store.deviceId);return b>=c},this.processQueuedEvents=function(){var b,d=a.Identity.getCurrentUser();if(d&&(b=d.getMPID()),a._Store.eventQueue.length&&b){var e=a._Store.eventQueue;a._Store.eventQueue=[],this.appendUserInfoToEvents(d,e),e.forEach(function(a){c.sendEventToServer(a);});}},this.appendUserInfoToEvents=function(b,c){c.forEach(function(c){c.MPID||a._ServerModel.appendUserInfo(b,c);});},this.sendEventToServer=function(c,d){var e=a._Helpers.extend({shouldUploadEvent:!0},d);if(a._Store.webviewBridgeEnabled)return void a._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.LogEvent,JSON.stringify(c));var f,g=a.Identity.getCurrentUser();// We queue events if there is no MPID (MPID is null, or === 0), or there are integrations that that require this to stall because integration attributes
|
|
1769
379
|
// need to be set, or if we are still fetching the config (self hosted only), and so require delaying events
|
|
1770
|
-
return g&&(f=g.getMPID()),a._Store.requireDelay=a._Helpers.isDelayedByIntegration(a._preInit.integrationDelays,a._Store.integrationDelayTimeoutStart,Date.now()),f&&!a._Store.requireDelay&&a._Store.configurationLoaded?void(this.processQueuedEvents(),c&&e.shouldUploadEvent&&(this.shouldEnableBatching()?this.queueEventForBatchUpload(c):this.sendSingleEventToServer(c)),c&&c.EventName!==Types.MessageType.AppStateTransition&&(b&&b.kitBlockingEnabled&&(c=b.createBlockedEvent(c)),c&&a._Forwarders.sendEventToForwarders(c))):(a.Logger.verbose("Event was added to eventQueue. eventQueue will be processed once a valid MPID is returned or there is no more integration imposed delay."),void a._Store.eventQueue.push(c))},this.sendSingleEventToServer=function(b){if(b.EventDataType!==Types.MessageType.Media){var c,d=function(){4===c.readyState&&(a.Logger.verbose("Received "+c.statusText+" from server"),a._Persistence.update());};if(!b)return void a.Logger.error(Messages.ErrorMessages.EventEmpty);if(a.Logger.verbose(Messages.InformationMessages.SendHttp),c=a._Helpers.createXHR(d),c)try{c.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.v2SecureServiceUrl,a._Store.devToken)+"/Events"),c.send(JSON.stringify(a._ServerModel.convertEventToDTO(b)));}catch(b){a.Logger.error("Error sending event to mParticle servers. "+b);}}},this.sendBatchForwardingStatsToServer=function(b,c){var d,e;try{d=a._Helpers.createServiceUrl(a._Store.SDKConfig.v2SecureServiceUrl,a._Store.devToken),e={uuid:a._Helpers.generateUniqueId(),data:b},c&&(c.open("post",d+"/Forwarding"),c.send(JSON.stringify(e)));}catch(b){a.Logger.error("Error sending forwarding stats to mParticle servers.");}},this.sendSingleForwardingStatsToServer=function(b){var c,d;try{var e=function(){4===f.readyState&&202===f.status&&a.Logger.verbose("Successfully sent "+f.statusText+" from server");},f=a._Helpers.createXHR(e);c=a._Helpers.createServiceUrl(a._Store.SDKConfig.v1SecureServiceUrl,a._Store.devToken),d=b,f&&(f.open("post",c+"/Forwarding"),f.send(JSON.stringify(d)));}catch(b){a.Logger.error("Error sending forwarding stats to mParticle servers.");}},this.prepareForwardingStats=function(b,d){var e,f=a._Forwarders.getForwarderStatsQueue();b&&b.isVisible&&(e={mid:b.id,esid:b.eventSubscriptionId,n:d.EventName,attrs:d.EventAttributes,sdk:d.SDKVersion,dt:d.EventDataType,et:d.EventCategory,dbg:d.Debug,ct:d.Timestamp,eec:d.ExpandedEventCount,dp:d.DataPlan},a._Helpers.getFeatureFlag(Constants.FeatureFlags.ReportBatching)?(f.push(e),a._Forwarders.setForwarderStatsQueue(f)):c.sendSingleForwardingStatsToServer(e));};}
|
|
1771
|
-
|
|
1772
|
-
var slugify = createCommonjsModule(function (module, exports) {
|
|
1773
|
-
(function (name, root, factory) {
|
|
1774
|
-
{
|
|
1775
|
-
module.exports = factory();
|
|
1776
|
-
module.exports['default'] = factory();
|
|
1777
|
-
}
|
|
1778
|
-
}('slugify', commonjsGlobal, function () {
|
|
1779
|
-
var charMap = JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\\"","”":"\\\"","„":"\\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial"}');
|
|
1780
|
-
var locales = JSON.parse('{"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"}}');
|
|
1781
|
-
|
|
1782
|
-
function replace (string, options) {
|
|
1783
|
-
if (typeof string !== 'string') {
|
|
1784
|
-
throw new Error('slugify: string argument expected')
|
|
1785
|
-
}
|
|
1786
|
-
|
|
1787
|
-
options = (typeof options === 'string')
|
|
1788
|
-
? {replacement: options}
|
|
1789
|
-
: options || {};
|
|
1790
|
-
|
|
1791
|
-
var locale = locales[options.locale] || {};
|
|
1792
|
-
|
|
1793
|
-
var replacement = options.replacement === undefined ? '-' : options.replacement;
|
|
380
|
+
return g&&(f=g.getMPID()),a._Store.requireDelay=a._Helpers.isDelayedByIntegration(a._preInit.integrationDelays,a._Store.integrationDelayTimeoutStart,Date.now()),f&&!a._Store.requireDelay&&a._Store.configurationLoaded?void(this.processQueuedEvents(),c&&e.shouldUploadEvent&&(this.shouldEnableBatching()?this.queueEventForBatchUpload(c):this.sendSingleEventToServer(c)),c&&c.EventName!==Types.MessageType.AppStateTransition&&(b&&b.kitBlockingEnabled&&(c=b.createBlockedEvent(c)),c&&a._Forwarders.sendEventToForwarders(c))):(a.Logger.verbose("Event was added to eventQueue. eventQueue will be processed once a valid MPID is returned or there is no more integration imposed delay."),void a._Store.eventQueue.push(c))},this.sendSingleEventToServer=function(b){if(b.EventDataType!==Types.MessageType.Media){var c,d=function xhrCallback(){4===c.readyState&&(a.Logger.verbose("Received "+c.statusText+" from server"),a._Persistence.update());};if(!b)return void a.Logger.error(Messages$9.ErrorMessages.EventEmpty);if(a.Logger.verbose(Messages$9.InformationMessages.SendHttp),c=a._Helpers.createXHR(d),c)try{c.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.v2SecureServiceUrl,a._Store.devToken)+"/Events"),c.send(JSON.stringify(a._ServerModel.convertEventToDTO(b)));}catch(b){a.Logger.error("Error sending event to mParticle servers. "+b);}}},this.sendBatchForwardingStatsToServer=function(b,c){var d,e;try{d=a._Helpers.createServiceUrl(a._Store.SDKConfig.v2SecureServiceUrl,a._Store.devToken),e={uuid:a._Helpers.generateUniqueId(),data:b},c&&(c.open("post",d+"/Forwarding"),c.send(JSON.stringify(e)));}catch(b){a.Logger.error("Error sending forwarding stats to mParticle servers.");}},this.sendSingleForwardingStatsToServer=function(b){var c,d;try{var e=function xhrCallback(){4===f.readyState&&202===f.status&&a.Logger.verbose("Successfully sent "+f.statusText+" from server");},f=a._Helpers.createXHR(e);c=a._Helpers.createServiceUrl(a._Store.SDKConfig.v1SecureServiceUrl,a._Store.devToken),d=b,f&&(f.open("post",c+"/Forwarding"),f.send(JSON.stringify(d)));}catch(b){a.Logger.error("Error sending forwarding stats to mParticle servers.");}},this.prepareForwardingStats=function(b,d){var e,f=a._Forwarders.getForwarderStatsQueue();b&&b.isVisible&&(e={mid:b.id,esid:b.eventSubscriptionId,n:d.EventName,attrs:d.EventAttributes,sdk:d.SDKVersion,dt:d.EventDataType,et:d.EventCategory,dbg:d.Debug,ct:d.Timestamp,eec:d.ExpandedEventCount,dp:d.DataPlan},a._Helpers.getFeatureFlag(Constants.FeatureFlags.ReportBatching)?(f.push(e),a._Forwarders.setForwarderStatsQueue(f)):c.sendSingleForwardingStatsToServer(e));};}
|
|
1794
381
|
|
|
1795
|
-
|
|
382
|
+
var slugify = {exports: {}};
|
|
1796
383
|
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
384
|
+
(function (module, exports) {
|
|
385
|
+
(function (name, root, factory) {
|
|
386
|
+
{
|
|
387
|
+
module.exports = factory();
|
|
388
|
+
module.exports['default'] = factory();
|
|
389
|
+
}
|
|
390
|
+
}('slugify', commonjsGlobal, function () {
|
|
391
|
+
var charMap = JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\\"","”":"\\\"","„":"\\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}');
|
|
392
|
+
var locales = JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');
|
|
393
|
+
|
|
394
|
+
function replace (string, options) {
|
|
395
|
+
if (typeof string !== 'string') {
|
|
396
|
+
throw new Error('slugify: string argument expected')
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
options = (typeof options === 'string')
|
|
400
|
+
? {replacement: options}
|
|
401
|
+
: options || {};
|
|
402
|
+
|
|
403
|
+
var locale = locales[options.locale] || {};
|
|
404
|
+
|
|
405
|
+
var replacement = options.replacement === undefined ? '-' : options.replacement;
|
|
406
|
+
|
|
407
|
+
var trim = options.trim === undefined ? true : options.trim;
|
|
408
|
+
|
|
409
|
+
var slug = string.normalize().split('')
|
|
410
|
+
// replace characters based on charMap
|
|
411
|
+
.reduce(function (result, ch) {
|
|
412
|
+
var appendChar = locale[ch] || charMap[ch] || ch;
|
|
413
|
+
if (appendChar === replacement) {
|
|
414
|
+
appendChar = ' ';
|
|
415
|
+
}
|
|
416
|
+
return result + appendChar
|
|
417
|
+
// remove not allowed characters
|
|
418
|
+
.replace(options.remove || /[^\w\s$*_+~.()'"!\-:@]+/g, '')
|
|
419
|
+
}, '');
|
|
420
|
+
|
|
421
|
+
if (options.strict) {
|
|
422
|
+
slug = slug.replace(/[^A-Za-z0-9\s]/g, '');
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
if (trim) {
|
|
426
|
+
slug = slug.trim();
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// Replace spaces with replacement character, treating multiple consecutive
|
|
430
|
+
// spaces as a single space.
|
|
431
|
+
slug = slug.replace(/\s+/g, replacement);
|
|
432
|
+
|
|
433
|
+
if (options.lower) {
|
|
434
|
+
slug = slug.toLowerCase();
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
return slug
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
replace.extend = function (customMap) {
|
|
441
|
+
Object.assign(charMap, customMap);
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
return replace
|
|
445
|
+
}));
|
|
446
|
+
} (slugify));
|
|
447
|
+
|
|
448
|
+
var Slugify = slugify.exports;
|
|
449
|
+
|
|
450
|
+
var inArray=function(a,b){var c=0;if(Array.prototype.indexOf)return 0<=a.indexOf(b,0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return !0;return !1},findKeyInObject=function(a,b){if(b&&a)for(var c in a)if(a.hasOwnProperty(c)&&c.toLowerCase()===b.toLowerCase())return c;return null},isObject=function(a){var b=Object.prototype.toString.call(a);return "[object Object]"===b||"[object Error]"===b},parseNumber=function(a){if(isNaN(a)||!isFinite(a))return 0;var b=parseFloat(a);return isNaN(b)?0:b},returnConvertedBoolean=function(a){return "false"!==a&&"0"!==a&&!!a},decoded=function(a){return decodeURIComponent(a.replace(/\+/g," "))},converted=function(a){return 0===a.indexOf("\"")&&(a=a.slice(1,-1).replace(/\\"/g,"\"").replace(/\\\\/g,"\\")),a};
|
|
451
|
+
|
|
452
|
+
var Validators={isValidAttributeValue:function isValidAttributeValue(a){return a!==void 0&&!isObject(a)&&!Array.isArray(a)},// Neither null nor undefined can be a valid Key
|
|
453
|
+
isValidKeyValue:function isValidKeyValue(a){return !(!a||isObject(a)||Array.isArray(a)||this.isFunction(a))},isStringOrNumber:function isStringOrNumber(a){return "string"==typeof a||"number"==typeof a},isNumber:function isNumber(a){return "number"==typeof a},isFunction:function isFunction(a){return "function"==typeof a},validateIdentities:function validateIdentities(a,b){var c={userIdentities:1,onUserAlias:1,copyUserAttributes:1};if(a){if("modify"===b&&(isObject(a.userIdentities)&&!Object.keys(a.userIdentities).length||!isObject(a.userIdentities)))return {valid:!1,error:Constants.Messages.ValidationMessages.ModifyIdentityRequestUserIdentitiesPresent};for(var d in a)if(a.hasOwnProperty(d)){if(!c[d])return {valid:!1,error:Constants.Messages.ValidationMessages.IdentityRequesetInvalidKey};if("onUserAlias"===d&&!Validators.isFunction(a[d]))return {valid:!1,error:Constants.Messages.ValidationMessages.OnUserAliasType}}if(0===Object.keys(a).length)return {valid:!0};// identityApiData.userIdentities can't be undefined
|
|
454
|
+
if(void 0===a.userIdentities)return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentities};// identityApiData.userIdentities can be null, but if it isn't null or undefined (above conditional), it must be an object
|
|
455
|
+
if(null!==a.userIdentities&&!isObject(a.userIdentities))return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentities};if(isObject(a.userIdentities)&&Object.keys(a.userIdentities).length)for(var e in a.userIdentities)if(a.userIdentities.hasOwnProperty(e)){if(!1===Types.IdentityType.getIdentityType(e))return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentitiesInvalidKey};if("string"!=typeof a.userIdentities[e]&&null!==a.userIdentities[e])return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentitiesInvalidValues}}}return {valid:!0}}};
|
|
456
|
+
|
|
457
|
+
var StorageNames$2=Constants.StorageNames;function Helpers(a){function b(b){var a;return window.crypto&&window.crypto.getRandomValues&&(a=window.crypto.getRandomValues(new Uint8Array(1))),a?(b^a[0]%16>>b/4).toString(16):(b^16*Math.random()>>b/4).toString(16)}var c=this;/**
|
|
1833
458
|
* Returns a value between 1-100 inclusive.
|
|
1834
459
|
*/ // Standalone version of jQuery.extend, from https://github.com/dansdom/extend
|
|
1835
|
-
|
|
460
|
+
// Utility Functions
|
|
461
|
+
// Imported Validators
|
|
462
|
+
this.canLog=function(){return !!(a._Store.isEnabled&&(a._Store.devToken||a._Store.webviewBridgeEnabled))},this.getFeatureFlag=function(b){return a._Store.SDKConfig.flags.hasOwnProperty(b)?a._Store.SDKConfig.flags[b]:null},this.getRampNumber=function(a){if(!a)return 100;var b=c.generateHash(a);return Math.abs(b%100)+1},this.invokeCallback=function(b,d,e,f,g){b||a.Logger.warning("There is no callback provided");try{c.Validators.isFunction(b)&&b({httpCode:d,body:e,getUser:function getUser(){return f?f:a.Identity.getCurrentUser()},getPreviousUser:function getPreviousUser(){if(!g){var b=a.Identity.getUsers(),c=b.shift(),d=f||a.Identity.getCurrentUser();return c&&d&&c.getMPID()===d.getMPID()&&(c=b.shift()),c||null}return a.Identity.getUser(g)}});}catch(b){a.Logger.error("There was an error with your callback: "+b);}},this.invokeAliasCallback=function(b,d,e){b||a.Logger.warning("There is no callback provided");try{if(c.Validators.isFunction(b)){var f={httpCode:d};e&&(f.message=e),b(f);}}catch(b){a.Logger.error("There was an error with your callback: "+b);}},this.extend=function(){var a,b,d,e,f,g,h=arguments[0]||{},j=1,k=arguments.length,l=!1,// helper which replicates the jquery internal functions
|
|
1836
463
|
m={hasOwn:Object.prototype.hasOwnProperty,class2type:{},type:function type(a){return null==a?a+"":m.class2type[Object.prototype.toString.call(a)]||"object"},isPlainObject:function isPlainObject(a){if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return !1;try{if(a.constructor&&!m.hasOwn.call(a,"constructor")&&!m.hasOwn.call(a.constructor.prototype,"isPrototypeOf"))return !1}catch(a){return !1}for(var b in a);// eslint-disable-line no-empty
|
|
1837
464
|
return b===void 0||m.hasOwn.call(a,b)},isArray:Array.isArray||function(a){return "array"===m.type(a)},isFunction:function isFunction(a){return "function"===m.type(a)},isWindow:function isWindow(a){return null!=a&&a==a.window}};// end of objectHelper
|
|
1838
465
|
// Handle a deep copy situation
|
|
1839
|
-
for("boolean"==typeof h&&(l=h,h=arguments[1]||{},j=2),"object"===
|
|
466
|
+
for("boolean"==typeof h&&(l=h,h=arguments[1]||{},j=2),"object"===_typeof(h)||m.isFunction(h)||(h={}),k===j&&(h=this,--j);j<k;j++)// Only deal with non-null/undefined values
|
|
1840
467
|
if(null!=(a=arguments[j]))// Extend the base object
|
|
1841
468
|
for(b in a)// Prevent never-ending loop
|
|
1842
469
|
(d=h[b],e=a[b],h!==e)&&(l&&e&&(m.isPlainObject(e)||(f=m.isArray(e)))?(f?(f=!1,g=d&&m.isArray(d)?d:[]):g=d&&m.isPlainObject(d)?d:{},h[b]=c.extend(l,g,e)):void 0!==e&&(h[b]=e));// Recurse if we're merging plain objects or arrays
|
|
1843
470
|
// Return the modified object
|
|
1844
|
-
return h},this.
|
|
471
|
+
return h},this.createServiceUrl=function(b,c){var d,e=window.mParticle&&a._Store.SDKConfig.forceHttps?"https://":window.location.protocol+"//";return d=a._Store.SDKConfig.forceHttps?"https://"+b:e+b,c&&(d+=c),d},this.createXHR=function(b){var c;try{c=new window.XMLHttpRequest;}catch(b){a.Logger.error("Error creating XMLHttpRequest object.");}if(c&&b&&"withCredentials"in c)c.onreadystatechange=b;else if("undefined"!=typeof window.XDomainRequest){a.Logger.verbose("Creating XDomainRequest object");try{c=new window.XDomainRequest,c.onload=b;}catch(b){a.Logger.error("Error creating XDomainRequest object");}}return c},this.generateUniqueId=function(d){// https://gist.github.com/jed/982883
|
|
1845
472
|
// Added support for crypto for better random
|
|
1846
473
|
return d// if the placeholder was passed, return
|
|
1847
474
|
?b(d)// a random number
|
|
1848
475
|
:// or otherwise a concatenated string:
|
|
1849
|
-
"10000000-1000-4000-8000-100000000000"
|
|
476
|
+
"10000000-1000-4000-8000-100000000000"// -100000000000,
|
|
477
|
+
.replace(// replacing
|
|
1850
478
|
/[018]/g,// zeroes, ones, and eights with
|
|
1851
479
|
c.generateUniqueId// random hex digits
|
|
1852
|
-
)},this.filterUserIdentities=function(a,b){var d=[];if(a&&Object.keys(a).length)for(var e in a)if(a.hasOwnProperty(e)){var f=Types.IdentityType.getIdentityType(e);if(!c.inArray(b,f)){var g={Type:f,Identity:a[e]};f===Types.IdentityType.CustomerId?d.unshift(g):d.push(g);}}return d},this.filterUserIdentitiesForForwarders=function(a,b){var d={};if(a&&Object.keys(a).length)for(var e in a)if(a.hasOwnProperty(e)){var f=Types.IdentityType.getIdentityType(e);c.inArray(b,f)||(d[e]=a[e]);}return d},this.filterUserAttributes=function(a,b){var d={};if(a&&Object.keys(a).length)for(var e in a)if(a.hasOwnProperty(e)){var f=c.generateHash(e);c.inArray(b,f)||(d[e]=a[e]);}return d},this.
|
|
1853
|
-
b.hasOwnProperty(f)&&c.Validators.isValidAttributeValue(b[f])?e[f]=b[f]:a.Logger.warning("For '"+d+"', the corresponding attribute value of '"+f+"' must be a string, number, boolean, or null.");return e},this.
|
|
1854
|
-
isValidKeyValue:function isValidKeyValue(a){return !(!a||c.isObject(a)||Array.isArray(a))},isStringOrNumber:function isStringOrNumber(a){return "string"==typeof a||"number"==typeof a},isNumber:function isNumber(a){return "number"==typeof a},isFunction:function isFunction(a){return "function"==typeof a},validateIdentities:function validateIdentities(b,d){var e={userIdentities:1,onUserAlias:1,copyUserAttributes:1};if(b){if("modify"===d&&(c.isObject(b.userIdentities)&&!Object.keys(b.userIdentities).length||!c.isObject(b.userIdentities)))return {valid:!1,error:Constants.Messages.ValidationMessages.ModifyIdentityRequestUserIdentitiesPresent};for(var f in b)if(b.hasOwnProperty(f)){if(!e[f])return {valid:!1,error:Constants.Messages.ValidationMessages.IdentityRequesetInvalidKey};if("onUserAlias"===f&&!a._Helpers.Validators.isFunction(b[f]))return {valid:!1,error:Constants.Messages.ValidationMessages.OnUserAliasType+_typeof_1(b[f])}}if(0===Object.keys(b).length)return {valid:!0};// identityApiData.userIdentities can't be undefined
|
|
1855
|
-
if(void 0===b.userIdentities)return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentities};// identityApiData.userIdentities can be null, but if it isn't null or undefined (above conditional), it must be an object
|
|
1856
|
-
if(null!==b.userIdentities&&!c.isObject(b.userIdentities))return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentities};if(c.isObject(b.userIdentities)&&Object.keys(b.userIdentities).length)for(var g in b.userIdentities)if(b.userIdentities.hasOwnProperty(g)){if(!1===Types.IdentityType.getIdentityType(g))return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentitiesInvalidKey};if("string"!=typeof b.userIdentities[g]&&null!==b.userIdentities[g])return {valid:!1,error:Constants.Messages.ValidationMessages.UserIdentitiesInvalidValues}}}return {valid:!0}}},this.isDelayedByIntegration=function(b,c,d){if(d-c>a._Store.SDKConfig.integrationDelayTimeout)return !1;for(var e in b){if(!0===b[e])return !0;continue}return !1},this.createMainStorageName=function(a){return a?StorageNames.currentStorageName+"_"+a:StorageNames.currentStorageName},this.createProductStorageName=function(a){return a?StorageNames.currentStorageProductsName+"_"+a:StorageNames.currentStorageProductsName},this.isSlug=function(a){return a===slugify(a)};}
|
|
480
|
+
)},this.filterUserIdentities=function(a,b){var d=[];if(a&&Object.keys(a).length)for(var e in a)if(a.hasOwnProperty(e)){var f=Types.IdentityType.getIdentityType(e);if(!c.inArray(b,f)){var g={Type:f,Identity:a[e]};f===Types.IdentityType.CustomerId?d.unshift(g):d.push(g);}}return d},this.filterUserIdentitiesForForwarders=function(a,b){var d={};if(a&&Object.keys(a).length)for(var e in a)if(a.hasOwnProperty(e)){var f=Types.IdentityType.getIdentityType(e);c.inArray(b,f)||(d[e]=a[e]);}return d},this.filterUserAttributes=function(a,b){var d={};if(a&&Object.keys(a).length)for(var e in a)if(a.hasOwnProperty(e)){var f=c.generateHash(e);c.inArray(b,f)||(d[e]=a[e]);}return d},this.isEventType=function(a){for(var b in Types.EventType)if(Types.EventType.hasOwnProperty(b)&&Types.EventType[b]===a)return !0;return !1},this.parseStringOrNumber=function(a){return Validators.isStringOrNumber(a)?a:null},this.generateHash=function(a){var b,c=0,d=0;if(void 0===a||null===a)return 0;if(a=a.toString().toLowerCase(),Array.prototype.reduce)return a.split("").reduce(function(c,d){return c=(c<<5)-c+d.charCodeAt(0),c&c},0);if(0===a.length)return c;for(d=0;d<a.length;d++)b=a.charCodeAt(d),c=(c<<5)-c+b,c&=c;return c},this.sanitizeAttributes=function(b,d){if(!b||!c.isObject(b))return null;var e={};for(var f in b)// Make sure that attribute values are not objects or arrays, which are not valid
|
|
481
|
+
b.hasOwnProperty(f)&&c.Validators.isValidAttributeValue(b[f])?e[f]=b[f]:a.Logger.warning("For '"+d+"', the corresponding attribute value of '"+f+"' must be a string, number, boolean, or null.");return e},this.isDelayedByIntegration=function(b,c,d){if(d-c>a._Store.SDKConfig.integrationDelayTimeout)return !1;for(var e in b){if(!0===b[e])return !0;continue}return !1},this.createMainStorageName=function(a){return a?StorageNames$2.currentStorageName+"_"+a:StorageNames$2.currentStorageName},this.createProductStorageName=function(a){return a?StorageNames$2.currentStorageProductsName+"_"+a:StorageNames$2.currentStorageProductsName},this.isSlug=function(a){return a===Slugify(a)},this.converted=converted,this.findKeyInObject=findKeyInObject,this.parseNumber=parseNumber,this.inArray=inArray,this.isObject=isObject,this.decoded=decoded,this.returnConvertedBoolean=returnConvertedBoolean,this.Validators=Validators;}
|
|
1857
482
|
|
|
1858
|
-
var Messages$
|
|
483
|
+
var Messages$8=Constants.Messages,androidBridgeNameBase="mParticleAndroid",iosBridgeNameBase="mParticle";function NativeSdkHelpers(a){var b=this;this.isBridgeV2Available=function(a){if(!a)return !1;var b=iosBridgeNameBase+"_"+a+"_v2";// iOS v2 bridge
|
|
1859
484
|
return !!(window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.hasOwnProperty(b))||!!(window.mParticle&&window.mParticle.uiwebviewBridgeName&&window.mParticle.uiwebviewBridgeName===b)||!!window.hasOwnProperty(androidBridgeNameBase+"_"+a+"_v2");// other iOS v2 bridge
|
|
1860
485
|
// TODO: what to do about people setting things on mParticle itself?
|
|
1861
486
|
// android
|
|
1862
487
|
},this.isWebviewEnabled=function(c,d){return a._Store.bridgeV2Available=b.isBridgeV2Available(c),a._Store.bridgeV1Available=b.isBridgeV1Available(),2===d?a._Store.bridgeV2Available:!(window.mParticle&&window.mParticle.uiwebviewBridgeName&&window.mParticle.uiwebviewBridgeName!==iosBridgeNameBase+"_"+c+"_v2")&&!!(2>d)&&(a._Store.bridgeV2Available||a._Store.bridgeV1Available);// iOS BridgeV1 can be available via mParticle.isIOS, but return false if uiwebviewBridgeName doesn't match requiredWebviewBridgeName
|
|
1863
|
-
},this.isBridgeV1Available=function(){return !!(a._Store.SDKConfig.useNativeSdk||window.mParticleAndroid||a._Store.SDKConfig.isIOS)},this.sendToNative=function(c,d){return a._Store.bridgeV2Available&&2===a._Store.SDKConfig.minWebviewBridgeVersion?void b.sendViaBridgeV2(c,d,a._Store.SDKConfig.requiredWebviewBridgeName):a._Store.bridgeV2Available&&2>a._Store.SDKConfig.minWebviewBridgeVersion?void b.sendViaBridgeV2(c,d,a._Store.SDKConfig.requiredWebviewBridgeName):a._Store.bridgeV1Available&&2>a._Store.SDKConfig.minWebviewBridgeVersion?void b.sendViaBridgeV1(c,d):void 0},this.sendViaBridgeV1=function(c,d){window.mParticleAndroid&&window.mParticleAndroid.hasOwnProperty(c)?(a.Logger.verbose(Messages$
|
|
488
|
+
},this.isBridgeV1Available=function(){return !!(a._Store.SDKConfig.useNativeSdk||window.mParticleAndroid||a._Store.SDKConfig.isIOS)},this.sendToNative=function(c,d){return a._Store.bridgeV2Available&&2===a._Store.SDKConfig.minWebviewBridgeVersion?void b.sendViaBridgeV2(c,d,a._Store.SDKConfig.requiredWebviewBridgeName):a._Store.bridgeV2Available&&2>a._Store.SDKConfig.minWebviewBridgeVersion?void b.sendViaBridgeV2(c,d,a._Store.SDKConfig.requiredWebviewBridgeName):a._Store.bridgeV1Available&&2>a._Store.SDKConfig.minWebviewBridgeVersion?void b.sendViaBridgeV1(c,d):void 0},this.sendViaBridgeV1=function(c,d){window.mParticleAndroid&&window.mParticleAndroid.hasOwnProperty(c)?(a.Logger.verbose(Messages$8.InformationMessages.SendAndroid+c),window.mParticleAndroid[c](d)):a._Store.SDKConfig.isIOS&&(a.Logger.verbose(Messages$8.InformationMessages.SendIOS+c),b.sendViaIframeToIOS(c,d));},this.sendViaIframeToIOS=function(a,b){var c=document.createElement("IFRAME");c.setAttribute("src","mp-sdk://"+a+"/"+encodeURIComponent(b)),document.documentElement.appendChild(c),c.parentNode.removeChild(c);},this.sendViaBridgeV2=function(c,d,e){if(e){var f,g,h=window[androidBridgeNameBase+"_"+e+"_v2"],i=iosBridgeNameBase+"_"+e+"_v2";return window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers[i]&&(f=window.webkit.messageHandlers[i]),a.uiwebviewBridgeName===i&&(g=a[i]),h&&h.hasOwnProperty(c)?(a.Logger.verbose(Messages$8.InformationMessages.SendAndroid+c),void h[c](d)):void(f?(a.Logger.verbose(Messages$8.InformationMessages.SendIOS+c),f.postMessage(JSON.stringify({path:c,value:d?JSON.parse(d):null}))):g&&(a.Logger.verbose(Messages$8.InformationMessages.SendIOS+c),b.sendViaIframeToIOS(c,d)))}};}
|
|
1864
489
|
|
|
1865
|
-
var Messages$
|
|
490
|
+
var Messages$7=Constants.Messages;function cookieSyncManager(a){var b=this;this.attemptCookieSync=function(c,d,e){var f,g,h,i,j,k;d&&!a._Store.webviewBridgeEnabled&&a._Store.pixelConfigurations.forEach(function(l){k=!1,l.filteringConsentRuleValues&&l.filteringConsentRuleValues.values&&l.filteringConsentRuleValues.values.length&&(k=!0),f={moduleId:l.moduleId,frequencyCap:l.frequencyCap,pixelUrl:b.replaceAmp(l.pixelUrl),redirectUrl:l.redirectUrl?b.replaceAmp(l.redirectUrl):null,filteringConsentRuleValues:l.filteringConsentRuleValues},h=b.replaceMPID(f.pixelUrl,d),i=f.redirectUrl?b.replaceMPID(f.redirectUrl,d):"",j=h+encodeURIComponent(i);var m=a._Persistence.getPersistence();return c&&c!==d?void(m&&m[d]&&(!m[d].csd&&(m[d].csd={}),b.performCookieSync(j,f.moduleId,d,m[d].csd,f.filteringConsentRuleValues,e,k))):void(m[d]&&(!m[d].csd&&(m[d].csd={}),g=m[d].csd[f.moduleId.toString()]?m[d].csd[f.moduleId.toString()]:null,g?new Date().getTime()>new Date(g).getTime()+24*(60*(1e3*(60*f.frequencyCap)))&&b.performCookieSync(j,f.moduleId,d,m[d].csd,f.filteringConsentRuleValues,e,k):b.performCookieSync(j,f.moduleId,d,m[d].csd,f.filteringConsentRuleValues,e,k)))});},this.replaceMPID=function(a,b){return a.replace("%%mpid%%",b)},this.replaceAmp=function(a){return a.replace(/&/g,"&")},this.performCookieSync=function(b,c,d,e,f,g,h){// if MPID is new to cookies, we should not try to perform the cookie sync
|
|
1866
491
|
// because a cookie sync can only occur once a user either consents or doesn't
|
|
1867
492
|
// we should not check if its enabled if the user has a blank consent
|
|
1868
|
-
if(!(h&&g)&&a._Consent.isEnabledForUserConsent(f,a.Identity.getCurrentUser())){var i=document.createElement("img");a.Logger.verbose(Messages$
|
|
493
|
+
if(!(h&&g)&&a._Consent.isEnabledForUserConsent(f,a.Identity.getCurrentUser())){var i=document.createElement("img");a.Logger.verbose(Messages$7.InformationMessages.CookieSync),i.onload=function(){e[c.toString()]=new Date().getTime(),a._Persistence.saveUserCookieSyncDatesToPersistence(d,e);},i.src=b;}};}
|
|
1869
494
|
|
|
1870
|
-
var Messages$
|
|
1871
|
-
if(e.gs.sid&&a._Store.sessionId!==e.gs.sid&&(a._Store.sessionId=e.gs.sid),e.gs&&e.gs.les){d=6e4*a._Store.SDKConfig.sessionTimeout;var g=new Date().getTime();f=g-e.gs.les,f<d?b.setSessionTimer():(a._Events.logEvent({messageType:Types.MessageType.SessionEnd}),a._Store.sessionId=null,a._Store.dateLastEventSent=null,a._Store.sessionStartDate=null,a._Store.sessionAttributes={},a._Persistence.update());}}else a.Logger.verbose(Messages$
|
|
495
|
+
var Messages$6=Constants.Messages;function SessionManager(a){var b=this;this.initialize=function(){if(a._Store.sessionId){var c=6e4*a._Store.SDKConfig.sessionTimeout;if(new Date>new Date(a._Store.dateLastEventSent.getTime()+c))b.endSession(),b.startNewSession();else {var d=a._Persistence.getPersistence();d&&!d.cu&&(a.Identity.identify(a._Store.SDKConfig.identifyRequest,a._Store.SDKConfig.identityCallback),a._Store.identifyCalled=!0,a._Store.SDKConfig.identityCallback=null);}}else b.startNewSession();},this.getSession=function(){return a._Store.sessionId},this.startNewSession=function(){if(a.Logger.verbose(Messages$6.InformationMessages.StartingNewSession),a._Helpers.canLog()){a._Store.sessionId=a._Helpers.generateUniqueId().toUpperCase();var c=a.Identity.getCurrentUser(),d=c?c.getMPID():null;if(d&&(a._Store.currentSessionMPIDs=[d]),!a._Store.sessionStartDate){var e=new Date;a._Store.sessionStartDate=e,a._Store.dateLastEventSent=e;}b.setSessionTimer(),a._Store.identifyCalled||(a.Identity.identify(a._Store.SDKConfig.identifyRequest,a._Store.SDKConfig.identityCallback),a._Store.identifyCalled=!0,a._Store.SDKConfig.identityCallback=null),a._Events.logEvent({messageType:Types.MessageType.SessionStart});}else a.Logger.verbose(Messages$6.InformationMessages.AbandonStartSession);},this.endSession=function(c){if(a.Logger.verbose(Messages$6.InformationMessages.StartingEndSession),c)a._Events.logEvent({messageType:Types.MessageType.SessionEnd}),a._Store.sessionId=null,a._Store.dateLastEventSent=null,a._Store.sessionAttributes={},a._Persistence.update();else if(a._Helpers.canLog()){var d,e,f;if(e=a._Persistence.getPersistence(),!e)return;if(e.gs&&!e.gs.sid)return void a.Logger.verbose(Messages$6.InformationMessages.NoSessionToEnd);// sessionId is not equal to cookies.sid if cookies.sid is changed in another tab
|
|
496
|
+
if(e.gs.sid&&a._Store.sessionId!==e.gs.sid&&(a._Store.sessionId=e.gs.sid),e.gs&&e.gs.les){d=6e4*a._Store.SDKConfig.sessionTimeout;var g=new Date().getTime();f=g-e.gs.les,f<d?b.setSessionTimer():(a._Events.logEvent({messageType:Types.MessageType.SessionEnd}),a._Store.sessionId=null,a._Store.dateLastEventSent=null,a._Store.sessionStartDate=null,a._Store.sessionAttributes={},a._Persistence.update());}}else a.Logger.verbose(Messages$6.InformationMessages.AbandonEndSession);},this.setSessionTimer=function(){var c=6e4*a._Store.SDKConfig.sessionTimeout;a._Store.globalTimer=window.setTimeout(function(){b.endSession();},c);},this.resetSessionTimer=function(){a._Store.webviewBridgeEnabled||(!a._Store.sessionId&&b.startNewSession(),b.clearSessionTimeout(),b.setSessionTimer()),b.startNewSessionIfNeeded();},this.clearSessionTimeout=function(){clearTimeout(a._Store.globalTimer);},this.startNewSessionIfNeeded=function(){if(!a._Store.webviewBridgeEnabled){var c=a._Persistence.getPersistence();!a._Store.sessionId&&c&&(c.sid?a._Store.sessionId=c.sid:b.startNewSession());}};}
|
|
1872
497
|
|
|
1873
|
-
var Messages$
|
|
1874
|
-
this.convertTransactionAttributesToProductAction=function(a,b){a.hasOwnProperty("Id")&&(b.TransactionId=a.Id),a.hasOwnProperty("Affiliation")&&(b.Affiliation=a.Affiliation),a.hasOwnProperty("CouponCode")&&(b.CouponCode=a.CouponCode),a.hasOwnProperty("Revenue")&&(b.TotalAmount=this.sanitizeAmount(a.Revenue,"Revenue")),a.hasOwnProperty("Shipping")&&(b.ShippingAmount=this.sanitizeAmount(a.Shipping,"Shipping")),a.hasOwnProperty("Tax")&&(b.TaxAmount=this.sanitizeAmount(a.Tax,"Tax")),a.hasOwnProperty("Step")&&(b.CheckoutStep=a.Step),a.hasOwnProperty("Option")&&(b.CheckoutOptions=a.Option);},this.getProductActionEventName=function(a){switch(a){case Types.ProductActionType.AddToCart:return "AddToCart";case Types.ProductActionType.AddToWishlist:return "AddToWishlist";case Types.ProductActionType.Checkout:return "Checkout";case Types.ProductActionType.CheckoutOption:return "CheckoutOption";case Types.ProductActionType.Click:return "Click";case Types.ProductActionType.Purchase:return "Purchase";case Types.ProductActionType.Refund:return "Refund";case Types.ProductActionType.RemoveFromCart:return "RemoveFromCart";case Types.ProductActionType.RemoveFromWishlist:return "RemoveFromWishlist";case Types.ProductActionType.ViewDetail:return "ViewDetail";case Types.ProductActionType.Unknown:default:return "Unknown";}},this.getPromotionActionEventName=function(a){return a===Types.PromotionActionType.PromotionClick?"PromotionClick":a===Types.PromotionActionType.PromotionView?"PromotionView":"Unknown"},this.convertProductActionToEventType=function(b){return b===Types.ProductActionType.AddToCart?Types.CommerceEventType.ProductAddToCart:b===Types.ProductActionType.AddToWishlist?Types.CommerceEventType.ProductAddToWishlist:b===Types.ProductActionType.Checkout?Types.CommerceEventType.ProductCheckout:b===Types.ProductActionType.CheckoutOption?Types.CommerceEventType.ProductCheckoutOption:b===Types.ProductActionType.Click?Types.CommerceEventType.ProductClick:b===Types.ProductActionType.Purchase?Types.CommerceEventType.ProductPurchase:b===Types.ProductActionType.Refund?Types.CommerceEventType.ProductRefund:b===Types.ProductActionType.RemoveFromCart?Types.CommerceEventType.ProductRemoveFromCart:b===Types.ProductActionType.RemoveFromWishlist?Types.CommerceEventType.ProductRemoveFromWishlist:b===Types.ProductActionType.Unknown?Types.EventType.Unknown:b===Types.ProductActionType.ViewDetail?Types.CommerceEventType.ProductViewDetail:(a.Logger.error("Could not convert product action type "+b+" to event type"),null)},this.convertPromotionActionToEventType=function(b){return b===Types.PromotionActionType.PromotionClick?Types.CommerceEventType.PromotionClick:b===Types.PromotionActionType.PromotionView?Types.CommerceEventType.PromotionView:(a.Logger.error("Could not convert promotion action type "+b+" to event type"),null)},this.generateExpandedEcommerceName=function(a,b){return "eCommerce - "+a+" - "+(b?"Total":"Item")},this.extractProductAttributes=function(a,b){b.CouponCode&&(a["Coupon Code"]=b.CouponCode),b.Brand&&(a.Brand=b.Brand),b.Category&&(a.Category=b.Category),b.Name&&(a.Name=b.Name),b.Sku&&(a.Id=b.Sku),b.Price&&(a["Item Price"]=b.Price),b.Quantity&&(a.Quantity=b.Quantity),b.Position&&(a.Position=b.Position),b.Variant&&(a.Variant=b.Variant),a["Total Product Amount"]=b.TotalAmount||0;},this.extractTransactionId=function(a,b){b.TransactionId&&(a["Transaction Id"]=b.TransactionId);},this.extractActionAttributes=function(a,c){b.extractTransactionId(a,c),c.Affiliation&&(a.Affiliation=c.Affiliation),c.CouponCode&&(a["Coupon Code"]=c.CouponCode),c.TotalAmount&&(a["Total Amount"]=c.TotalAmount),c.ShippingAmount&&(a["Shipping Amount"]=c.ShippingAmount),c.TaxAmount&&(a["Tax Amount"]=c.TaxAmount),c.CheckoutOptions&&(a["Checkout Options"]=c.CheckoutOptions),c.CheckoutStep&&(a["Checkout Step"]=c.CheckoutStep);},this.extractPromotionAttributes=function(a,b){b.Id&&(a.Id=b.Id),b.Creative&&(a.Creative=b.Creative),b.Name&&(a.Name=b.Name),b.Position&&(a.Position=b.Position);},this.buildProductList=function(a,b){return b?Array.isArray(b)?b:[b]:a.ShoppingCart.ProductList},this.createProduct=function(b,c,d,e,f,g,h,i,j,k){return (k=a._Helpers.sanitizeAttributes(k,b),"string"!=typeof b)?(a.Logger.error("Name is required when creating a product"),null):a._Helpers.Validators.isStringOrNumber(c)?a._Helpers.Validators.isStringOrNumber(d)?(d=a._Helpers.parseNumber(d),i&&!a._Helpers.Validators.isNumber(i)&&(a.Logger.error("Position must be a number, it will be set to null."),i=null),e=a._Helpers.Validators.isStringOrNumber(e)?a._Helpers.parseNumber(e):1,{Name:b,Sku:c,Price:d,Quantity:e,Brand:h,Variant:f,Category:g,Position:i,CouponCode:j,TotalAmount:e*d,Attributes:k}):(a.Logger.error("Price is required when creating a product, and must be a string or a number"),null):(a.Logger.error("SKU is required when creating a product, and must be a string or a number"),null)},this.createPromotion=function(b,c,d,e){return a._Helpers.Validators.isStringOrNumber(b)?{Id:b,Creative:c,Name:d,Position:e}:(a.Logger.error(Messages$
|
|
498
|
+
var Messages$5=Constants.Messages;function Ecommerce(a){var b=this;// sanitizes any non number, non string value to 0
|
|
499
|
+
this.convertTransactionAttributesToProductAction=function(a,b){a.hasOwnProperty("Id")&&(b.TransactionId=a.Id),a.hasOwnProperty("Affiliation")&&(b.Affiliation=a.Affiliation),a.hasOwnProperty("CouponCode")&&(b.CouponCode=a.CouponCode),a.hasOwnProperty("Revenue")&&(b.TotalAmount=this.sanitizeAmount(a.Revenue,"Revenue")),a.hasOwnProperty("Shipping")&&(b.ShippingAmount=this.sanitizeAmount(a.Shipping,"Shipping")),a.hasOwnProperty("Tax")&&(b.TaxAmount=this.sanitizeAmount(a.Tax,"Tax")),a.hasOwnProperty("Step")&&(b.CheckoutStep=a.Step),a.hasOwnProperty("Option")&&(b.CheckoutOptions=a.Option);},this.getProductActionEventName=function(a){switch(a){case Types.ProductActionType.AddToCart:return "AddToCart";case Types.ProductActionType.AddToWishlist:return "AddToWishlist";case Types.ProductActionType.Checkout:return "Checkout";case Types.ProductActionType.CheckoutOption:return "CheckoutOption";case Types.ProductActionType.Click:return "Click";case Types.ProductActionType.Purchase:return "Purchase";case Types.ProductActionType.Refund:return "Refund";case Types.ProductActionType.RemoveFromCart:return "RemoveFromCart";case Types.ProductActionType.RemoveFromWishlist:return "RemoveFromWishlist";case Types.ProductActionType.ViewDetail:return "ViewDetail";case Types.ProductActionType.Unknown:default:return "Unknown";}},this.getPromotionActionEventName=function(a){return a===Types.PromotionActionType.PromotionClick?"PromotionClick":a===Types.PromotionActionType.PromotionView?"PromotionView":"Unknown"},this.convertProductActionToEventType=function(b){return b===Types.ProductActionType.AddToCart?Types.CommerceEventType.ProductAddToCart:b===Types.ProductActionType.AddToWishlist?Types.CommerceEventType.ProductAddToWishlist:b===Types.ProductActionType.Checkout?Types.CommerceEventType.ProductCheckout:b===Types.ProductActionType.CheckoutOption?Types.CommerceEventType.ProductCheckoutOption:b===Types.ProductActionType.Click?Types.CommerceEventType.ProductClick:b===Types.ProductActionType.Purchase?Types.CommerceEventType.ProductPurchase:b===Types.ProductActionType.Refund?Types.CommerceEventType.ProductRefund:b===Types.ProductActionType.RemoveFromCart?Types.CommerceEventType.ProductRemoveFromCart:b===Types.ProductActionType.RemoveFromWishlist?Types.CommerceEventType.ProductRemoveFromWishlist:b===Types.ProductActionType.Unknown?Types.EventType.Unknown:b===Types.ProductActionType.ViewDetail?Types.CommerceEventType.ProductViewDetail:(a.Logger.error("Could not convert product action type "+b+" to event type"),null)},this.convertPromotionActionToEventType=function(b){return b===Types.PromotionActionType.PromotionClick?Types.CommerceEventType.PromotionClick:b===Types.PromotionActionType.PromotionView?Types.CommerceEventType.PromotionView:(a.Logger.error("Could not convert promotion action type "+b+" to event type"),null)},this.generateExpandedEcommerceName=function(a,b){return "eCommerce - "+a+" - "+(b?"Total":"Item")},this.extractProductAttributes=function(a,b){b.CouponCode&&(a["Coupon Code"]=b.CouponCode),b.Brand&&(a.Brand=b.Brand),b.Category&&(a.Category=b.Category),b.Name&&(a.Name=b.Name),b.Sku&&(a.Id=b.Sku),b.Price&&(a["Item Price"]=b.Price),b.Quantity&&(a.Quantity=b.Quantity),b.Position&&(a.Position=b.Position),b.Variant&&(a.Variant=b.Variant),a["Total Product Amount"]=b.TotalAmount||0;},this.extractTransactionId=function(a,b){b.TransactionId&&(a["Transaction Id"]=b.TransactionId);},this.extractActionAttributes=function(a,c){b.extractTransactionId(a,c),c.Affiliation&&(a.Affiliation=c.Affiliation),c.CouponCode&&(a["Coupon Code"]=c.CouponCode),c.TotalAmount&&(a["Total Amount"]=c.TotalAmount),c.ShippingAmount&&(a["Shipping Amount"]=c.ShippingAmount),c.TaxAmount&&(a["Tax Amount"]=c.TaxAmount),c.CheckoutOptions&&(a["Checkout Options"]=c.CheckoutOptions),c.CheckoutStep&&(a["Checkout Step"]=c.CheckoutStep);},this.extractPromotionAttributes=function(a,b){b.Id&&(a.Id=b.Id),b.Creative&&(a.Creative=b.Creative),b.Name&&(a.Name=b.Name),b.Position&&(a.Position=b.Position);},this.buildProductList=function(a,b){return b?Array.isArray(b)?b:[b]:a.ShoppingCart.ProductList},this.createProduct=function(b,c,d,e,f,g,h,i,j,k){return (k=a._Helpers.sanitizeAttributes(k,b),"string"!=typeof b)?(a.Logger.error("Name is required when creating a product"),null):a._Helpers.Validators.isStringOrNumber(c)?a._Helpers.Validators.isStringOrNumber(d)?(d=a._Helpers.parseNumber(d),i&&!a._Helpers.Validators.isNumber(i)&&(a.Logger.error("Position must be a number, it will be set to null."),i=null),e=a._Helpers.Validators.isStringOrNumber(e)?a._Helpers.parseNumber(e):1,{Name:b,Sku:c,Price:d,Quantity:e,Brand:h,Variant:f,Category:g,Position:i,CouponCode:j,TotalAmount:e*d,Attributes:k}):(a.Logger.error("Price is required when creating a product, and must be a string or a number"),null):(a.Logger.error("SKU is required when creating a product, and must be a string or a number"),null)},this.createPromotion=function(b,c,d,e){return a._Helpers.Validators.isStringOrNumber(b)?{Id:b,Creative:c,Name:d,Position:e}:(a.Logger.error(Messages$5.ErrorMessages.PromotionIdRequired),null)},this.createImpression=function(b,c){return "string"==typeof b?c?{Name:b,Product:c}:(a.Logger.error("Product is required when creating an impression."),null):(a.Logger.error("Name is required when creating an impression."),null)},this.createTransactionAttributes=function(b,c,d,e,f,g){return a._Helpers.Validators.isStringOrNumber(b)?{Id:b,Affiliation:c,CouponCode:d,Revenue:e,Shipping:f,Tax:g}:(a.Logger.error(Messages$5.ErrorMessages.TransactionIdRequired),null)},this.expandProductImpression=function(c){var d=[];return c.ProductImpressions?(c.ProductImpressions.forEach(function(e){e.ProductList&&e.ProductList.forEach(function(f){var g=a._Helpers.extend(!1,{},c.EventAttributes);if(f.Attributes)for(var h in f.Attributes)g[h]=f.Attributes[h];b.extractProductAttributes(g,f),e.ProductImpressionList&&(g["Product Impression List"]=e.ProductImpressionList);var i=a._ServerModel.createEventObject({messageType:Types.MessageType.PageEvent,name:b.generateExpandedEcommerceName("Impression"),data:g,eventType:Types.EventType.Transaction});d.push(i);});}),d):d},this.expandCommerceEvent=function(a){return a?b.expandProductAction(a).concat(b.expandPromotionAction(a)).concat(b.expandProductImpression(a)):null},this.expandPromotionAction=function(c){var d=[];if(!c.PromotionAction)return d;var e=c.PromotionAction.PromotionList;return e.forEach(function(e){var f=a._Helpers.extend(!1,{},c.EventAttributes);b.extractPromotionAttributes(f,e);var g=a._ServerModel.createEventObject({messageType:Types.MessageType.PageEvent,name:b.generateExpandedEcommerceName(Types.PromotionActionType.getExpansionName(c.PromotionAction.PromotionActionType)),data:f,eventType:Types.EventType.Transaction});d.push(g);}),d},this.expandProductAction=function(c){var d=[];if(!c.ProductAction)return d;var e=!1;if(c.ProductAction.ProductActionType===Types.ProductActionType.Purchase||c.ProductAction.ProductActionType===Types.ProductActionType.Refund){var f=a._Helpers.extend(!1,{},c.EventAttributes);f["Product Count"]=c.ProductAction.ProductList?c.ProductAction.ProductList.length:0,b.extractActionAttributes(f,c.ProductAction),c.CurrencyCode&&(f["Currency Code"]=c.CurrencyCode);var g=a._ServerModel.createEventObject({messageType:Types.MessageType.PageEvent,name:b.generateExpandedEcommerceName(Types.ProductActionType.getExpansionName(c.ProductAction.ProductActionType),!0),data:f,eventType:Types.EventType.Transaction});d.push(g);}else e=!0;var h=c.ProductAction.ProductList;return h?(h.forEach(function(f){var g=a._Helpers.extend(!1,c.EventAttributes,f.Attributes);e?b.extractActionAttributes(g,c.ProductAction):b.extractTransactionId(g,c.ProductAction),b.extractProductAttributes(g,f);var h=a._ServerModel.createEventObject({messageType:Types.MessageType.PageEvent,name:b.generateExpandedEcommerceName(Types.ProductActionType.getExpansionName(c.ProductAction.ProductActionType)),data:g,eventType:Types.EventType.Transaction});d.push(h);}),d):d},this.createCommerceEventObject=function(b){var c;return (a.Logger.verbose(Messages$5.InformationMessages.StartingLogCommerceEvent),a._Helpers.canLog())?(c=a._ServerModel.createEventObject({messageType:Types.MessageType.Commerce}),c.EventName="eCommerce - ",c.CurrencyCode=a._Store.currencyCode,c.ShoppingCart=[],c.CustomFlags=b,c):(a.Logger.verbose(Messages$5.InformationMessages.AbandonLogEvent),null)},this.sanitizeAmount=function(b,c){if(!a._Helpers.Validators.isStringOrNumber(b)){var d=[c,"must be of type number. A",_typeof(b),"was passed. Converting to 0"].join(" ");return a.Logger.warning(d),0}// if amount is a string, it will be parsed into a number if possible, or set to 0
|
|
1875
500
|
return a._Helpers.parseNumber(b)};}
|
|
1876
501
|
|
|
1877
502
|
function createSDKConfig(a){var b={};for(var c in Constants.DefaultConfig)Constants.DefaultConfig.hasOwnProperty(c)&&(b[c]=Constants.DefaultConfig[c]);if(a)for(c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);for(c in Constants.DefaultUrls)b[c]=Constants.DefaultUrls[c];return b}function Store(a,b){var c={isEnabled:!0,sessionAttributes:{},currentSessionMPIDs:[],consentState:null,sessionId:null,isFirstRun:null,clientId:null,deviceId:null,devToken:null,migrationData:{},serverSettings:{},dateLastEventSent:null,sessionStartDate:null,currentPosition:null,isTracking:!1,watchPositionId:null,cartProducts:[],eventQueue:[],currencyCode:null,globalTimer:null,context:"",configurationLoaded:!1,identityCallInFlight:!1,SDKConfig:{},migratingToIDSyncCookies:!1,nonCurrentUserMPIDs:{},identifyCalled:!1,isLoggedIn:!1,cookieSyncDates:{},integrationAttributes:{},requireDelay:!0,isLocalStorageAvailable:null,storageName:null,prodStorageName:null,activeForwarders:[],kits:{},configuredForwarders:[],pixelConfigurations:[]};for(var d in c)this[d]=c[d];// Set configuration to default settings
|
|
1878
|
-
if(this.integrationDelayTimeoutStart=Date.now(),this.SDKConfig=createSDKConfig(a),a){if(a.deviceId&&(this.deviceId=a.deviceId),this.SDKConfig.isDevelopmentMode=!!a.hasOwnProperty("isDevelopmentMode")&&b._Helpers.returnConvertedBoolean(a.isDevelopmentMode),a.hasOwnProperty("v1SecureServiceUrl")&&(this.SDKConfig.v1SecureServiceUrl=a.v1SecureServiceUrl),a.hasOwnProperty("v2SecureServiceUrl")&&(this.SDKConfig.v2SecureServiceUrl=a.v2SecureServiceUrl),a.hasOwnProperty("v3SecureServiceUrl")&&(this.SDKConfig.v3SecureServiceUrl=a.v3SecureServiceUrl),a.hasOwnProperty("identityUrl")&&(this.SDKConfig.identityUrl=a.identityUrl),a.hasOwnProperty("aliasUrl")&&(this.SDKConfig.aliasUrl=a.aliasUrl),a.hasOwnProperty("configUrl")&&(this.SDKConfig.configUrl=a.configUrl),a.hasOwnProperty("logLevel")&&(this.SDKConfig.logLevel=a.logLevel),this.SDKConfig.useNativeSdk=!!a.hasOwnProperty("useNativeSdk")&&a.useNativeSdk,a.hasOwnProperty("kits")&&(this.SDKConfig.kits=a.kits),this.SDKConfig.isIOS=a.hasOwnProperty("isIOS")?a.isIOS:!!(window.mParticle&&window.mParticle.isIOS)&&window.mParticle.isIOS,this.SDKConfig.useCookieStorage=!!a.hasOwnProperty("useCookieStorage")&&a.useCookieStorage,this.SDKConfig.maxProducts=a.hasOwnProperty("maxProducts")?a.maxProducts:Constants.DefaultConfig.maxProducts,this.SDKConfig.maxCookieSize=a.hasOwnProperty("maxCookieSize")?a.maxCookieSize:Constants.DefaultConfig.maxCookieSize,a.hasOwnProperty("appName")&&(this.SDKConfig.appName=a.appName),a.hasOwnProperty("package")&&(this.SDKConfig["package"]=a["package"]),this.SDKConfig.integrationDelayTimeout=a.hasOwnProperty("integrationDelayTimeout")?a.integrationDelayTimeout:Constants.DefaultConfig.integrationDelayTimeout,a.hasOwnProperty("identifyRequest")&&(this.SDKConfig.identifyRequest=a.identifyRequest),a.hasOwnProperty("identityCallback")){var e=a.identityCallback;b._Helpers.Validators.isFunction(e)?this.SDKConfig.identityCallback=a.identityCallback:b.Logger.warning("The optional callback must be a function. You tried entering a(n) "+
|
|
503
|
+
if(this.integrationDelayTimeoutStart=Date.now(),this.SDKConfig=createSDKConfig(a),a){if(a.deviceId&&(this.deviceId=a.deviceId),this.SDKConfig.isDevelopmentMode=!!a.hasOwnProperty("isDevelopmentMode")&&b._Helpers.returnConvertedBoolean(a.isDevelopmentMode),a.hasOwnProperty("v1SecureServiceUrl")&&(this.SDKConfig.v1SecureServiceUrl=a.v1SecureServiceUrl),a.hasOwnProperty("v2SecureServiceUrl")&&(this.SDKConfig.v2SecureServiceUrl=a.v2SecureServiceUrl),a.hasOwnProperty("v3SecureServiceUrl")&&(this.SDKConfig.v3SecureServiceUrl=a.v3SecureServiceUrl),a.hasOwnProperty("identityUrl")&&(this.SDKConfig.identityUrl=a.identityUrl),a.hasOwnProperty("aliasUrl")&&(this.SDKConfig.aliasUrl=a.aliasUrl),a.hasOwnProperty("configUrl")&&(this.SDKConfig.configUrl=a.configUrl),a.hasOwnProperty("logLevel")&&(this.SDKConfig.logLevel=a.logLevel),this.SDKConfig.useNativeSdk=!!a.hasOwnProperty("useNativeSdk")&&a.useNativeSdk,a.hasOwnProperty("kits")&&(this.SDKConfig.kits=a.kits),this.SDKConfig.isIOS=a.hasOwnProperty("isIOS")?a.isIOS:!!(window.mParticle&&window.mParticle.isIOS)&&window.mParticle.isIOS,this.SDKConfig.useCookieStorage=!!a.hasOwnProperty("useCookieStorage")&&a.useCookieStorage,this.SDKConfig.maxProducts=a.hasOwnProperty("maxProducts")?a.maxProducts:Constants.DefaultConfig.maxProducts,this.SDKConfig.maxCookieSize=a.hasOwnProperty("maxCookieSize")?a.maxCookieSize:Constants.DefaultConfig.maxCookieSize,a.hasOwnProperty("appName")&&(this.SDKConfig.appName=a.appName),a.hasOwnProperty("package")&&(this.SDKConfig["package"]=a["package"]),this.SDKConfig.integrationDelayTimeout=a.hasOwnProperty("integrationDelayTimeout")?a.integrationDelayTimeout:Constants.DefaultConfig.integrationDelayTimeout,a.hasOwnProperty("identifyRequest")&&(this.SDKConfig.identifyRequest=a.identifyRequest),a.hasOwnProperty("identityCallback")){var e=a.identityCallback;b._Helpers.Validators.isFunction(e)?this.SDKConfig.identityCallback=a.identityCallback:b.Logger.warning("The optional callback must be a function. You tried entering a(n) "+_typeof(e)," . Callback not set. Please set your callback again.");}if(a.hasOwnProperty("appVersion")&&(this.SDKConfig.appVersion=a.appVersion),a.hasOwnProperty("appName")&&(this.SDKConfig.appName=a.appName),a.hasOwnProperty("sessionTimeout")&&(this.SDKConfig.sessionTimeout=a.sessionTimeout),a.hasOwnProperty("dataPlan")&&(this.SDKConfig.dataPlan={PlanVersion:null,PlanId:null},a.dataPlan.hasOwnProperty("planId")&&("string"==typeof a.dataPlan.planId?b._Helpers.isSlug(a.dataPlan.planId)?this.SDKConfig.dataPlan.PlanId=a.dataPlan.planId:b.Logger.error("Your data plan id must be in a slug format"):b.Logger.error("Your data plan id must be a string")),a.dataPlan.hasOwnProperty("planVersion")&&("number"==typeof a.dataPlan.planVersion?this.SDKConfig.dataPlan.PlanVersion=a.dataPlan.planVersion:b.Logger.error("Your data plan version must be a number"))),this.SDKConfig.forceHttps=!a.hasOwnProperty("forceHttps")||a.forceHttps,a.hasOwnProperty("customFlags")&&(this.SDKConfig.customFlags=a.customFlags),this.SDKConfig.minWebviewBridgeVersion=a.hasOwnProperty("minWebviewBridgeVersion")?a.minWebviewBridgeVersion:1,this.SDKConfig.aliasMaxWindow=a.hasOwnProperty("aliasMaxWindow")?a.aliasMaxWindow:Constants.DefaultConfig.aliasMaxWindow,a.hasOwnProperty("dataPlanOptions")){var f=a.dataPlanOptions;f.hasOwnProperty("dataPlanVersion")&&f.hasOwnProperty("blockUserAttributes")&&f.hasOwnProperty("blockEventAttributes")&&f.hasOwnProperty("blockEvents")&&f.hasOwnProperty("blockUserIdentities")||b.Logger.error("Ensure your config.dataPlanOptions object has the following keys: a \"dataPlanVersion\" object, and \"blockUserAttributes\", \"blockEventAttributes\", \"blockEvents\", \"blockUserIdentities\" booleans");}a.hasOwnProperty("onCreateBatch")&&("function"==typeof a.onCreateBatch?this.SDKConfig.onCreateBatch=a.onCreateBatch:(b.Logger.error("config.onCreateBatch must be a function"),this.SDKConfig.onCreateBatch=void 0)),a.hasOwnProperty("flags")||(this.SDKConfig.flags={}),this.SDKConfig.flags.hasOwnProperty(Constants.FeatureFlags.EventsV3)||(this.SDKConfig.flags[Constants.FeatureFlags.EventsV3]=0),this.SDKConfig.flags.hasOwnProperty(Constants.FeatureFlags.EventBatchingIntervalMillis)||(this.SDKConfig.flags[Constants.FeatureFlags.EventBatchingIntervalMillis]=Constants.DefaultConfig.uploadInterval),this.SDKConfig.flags.hasOwnProperty(Constants.FeatureFlags.ReportBatching)||(this.SDKConfig.flags[Constants.FeatureFlags.ReportBatching]=!1);}}
|
|
1879
504
|
|
|
1880
505
|
function Logger(a){var b=this,c=a.logLevel||"warning";this.logger=a.hasOwnProperty("logger")?a.logger:new ConsoleLogger,this.verbose=function(a){"none"!==c&&b.logger.verbose&&"verbose"===c&&b.logger.verbose(a);},this.warning=function(a){"none"!==c&&b.logger.warning&&("verbose"===c||"warning"===c)&&b.logger.warning(a);},this.error=function(a){"none"!==c&&b.logger.error&&b.logger.error(a);},this.setLogLevel=function(a){c=a;};}function ConsoleLogger(){this.verbose=function(a){console&&console.info&&console.info(a);},this.error=function(a){console&&console.error&&console.error(a);},this.warning=function(a){console&&console.warn&&console.warn(a);};}
|
|
1881
506
|
|
|
1882
|
-
var Base64$1=Polyfill.Base64,Messages$
|
|
507
|
+
var Base64$1=Polyfill.Base64,Messages$4=Constants.Messages,Base64CookieKeys=Constants.Base64CookieKeys,SDKv2NonMPIDCookieKeys=Constants.SDKv2NonMPIDCookieKeys,StorageNames$1=Constants.StorageNames;function _Persistence(a){function b(b){var c=a._Store;return b.gs.sid=c.sessionId,b.gs.ie=c.isEnabled,b.gs.sa=c.sessionAttributes,b.gs.ss=c.serverSettings,b.gs.dt=c.devToken,b.gs.les=c.dateLastEventSent?c.dateLastEventSent.getTime():null,b.gs.av=c.SDKConfig.appVersion,b.gs.cgid=c.clientId,b.gs.das=c.deviceId,b.gs.c=c.context,b.gs.ssd=c.sessionStartDate?c.sessionStartDate.getTime():0,b.gs.ia=c.integrationAttributes,b}function c(a){localStorage.removeItem(a);}function d(a,b,c){return f.encodePersistence(JSON.stringify(a))+";expires="+b+";path=/"+c}var f=this;// only used in persistence
|
|
1883
508
|
/* This function determines if a cookie is greater than the configured maxCookieSize.
|
|
1884
509
|
- If it is, we remove an MPID and its associated UI/UA/CSD from the cookie.
|
|
1885
510
|
- Once removed, check size, and repeat.
|
|
@@ -1905,9 +530,9 @@ var Base64$1=Polyfill.Base64,Messages$5=Constants.Messages,Base64CookieKeys=Cons
|
|
|
1905
530
|
* time
|
|
1906
531
|
*/ // Forwarder Batching Code
|
|
1907
532
|
this.useLocalStorage=function(){return !a._Store.SDKConfig.useCookieStorage&&a._Store.isLocalStorageAvailable},this.initializeStorage=function(){try{var b,c,d=f.getLocalStorage(),e=f.getCookie();// Determine if there is any data in cookies or localStorage to figure out if it is the first time the browser is loading mParticle
|
|
1908
|
-
d||e?a._Store.isFirstRun=!1:(a._Store.isFirstRun=!0,a._Store.mpid=0),a._Store.isLocalStorageAvailable||(a._Store.SDKConfig.useCookieStorage=!0),a._Store.isLocalStorageAvailable?(b=window.localStorage,a._Store.SDKConfig.useCookieStorage?(d?(c=e?a._Helpers.extend(!1,d,e):d,b.removeItem(a._Store.storageName)):e&&(c=e),f.storeDataInMemory(c)):e?(c=d?a._Helpers.extend(!1,d,e):e,f.storeDataInMemory(c),f.expireCookies(a._Store.storageName)):f.storeDataInMemory(d)):f.storeDataInMemory(e);try{if(a._Store.isLocalStorageAvailable){var g=localStorage.getItem(a._Store.prodStorageName);if(g)var h=JSON.parse(Base64$1.decode(g));a._Store.mpid&&f.storeProductsInMemory(h,a._Store.mpid);}}catch(b){a._Store.isLocalStorageAvailable&&localStorage.removeItem(a._Store.prodStorageName),a._Store.cartProducts=[],a.Logger.error("Error loading products in initialization: "+b);}for(var i in c)c.hasOwnProperty(i)&&(SDKv2NonMPIDCookieKeys[i]||(a._Store.nonCurrentUserMPIDs[i]=c[i]));f.update();}catch(b){f.useLocalStorage()&&a._Store.isLocalStorageAvailable?localStorage.removeItem(a._Store.storageName):f.expireCookies(a._Store.storageName),a.Logger.error("Error initializing storage: "+b);}},this.update=function(){a._Store.webviewBridgeEnabled||(a._Store.SDKConfig.useCookieStorage&&f.setCookie(),f.setLocalStorage());},this.storeProductsInMemory=function(b,c){if(b)try{a._Store.cartProducts=b[c]&&b[c].cp?b[c].cp:[];}catch(b){a.Logger.error(Messages$
|
|
533
|
+
d||e?a._Store.isFirstRun=!1:(a._Store.isFirstRun=!0,a._Store.mpid=0),a._Store.isLocalStorageAvailable||(a._Store.SDKConfig.useCookieStorage=!0),a._Store.isLocalStorageAvailable?(b=window.localStorage,a._Store.SDKConfig.useCookieStorage?(d?(c=e?a._Helpers.extend(!1,d,e):d,b.removeItem(a._Store.storageName)):e&&(c=e),f.storeDataInMemory(c)):e?(c=d?a._Helpers.extend(!1,d,e):e,f.storeDataInMemory(c),f.expireCookies(a._Store.storageName)):f.storeDataInMemory(d)):f.storeDataInMemory(e);try{if(a._Store.isLocalStorageAvailable){var g=localStorage.getItem(a._Store.prodStorageName);if(g)var h=JSON.parse(Base64$1.decode(g));a._Store.mpid&&f.storeProductsInMemory(h,a._Store.mpid);}}catch(b){a._Store.isLocalStorageAvailable&&localStorage.removeItem(a._Store.prodStorageName),a._Store.cartProducts=[],a.Logger.error("Error loading products in initialization: "+b);}for(var i in c)c.hasOwnProperty(i)&&(SDKv2NonMPIDCookieKeys[i]||(a._Store.nonCurrentUserMPIDs[i]=c[i]));f.update();}catch(b){f.useLocalStorage()&&a._Store.isLocalStorageAvailable?localStorage.removeItem(a._Store.storageName):f.expireCookies(a._Store.storageName),a.Logger.error("Error initializing storage: "+b);}},this.update=function(){a._Store.webviewBridgeEnabled||(a._Store.SDKConfig.useCookieStorage&&f.setCookie(),f.setLocalStorage());},this.storeProductsInMemory=function(b,c){if(b)try{a._Store.cartProducts=b[c]&&b[c].cp?b[c].cp:[];}catch(b){a.Logger.error(Messages$4.ErrorMessages.CookieParseError);}},this.storeDataInMemory=function(b,c){try{b?(a._Store.mpid=c?c:b.cu||0,b.gs=b.gs||{},a._Store.sessionId=b.gs.sid||a._Store.sessionId,a._Store.isEnabled="undefined"==typeof b.gs.ie?a._Store.isEnabled:b.gs.ie,a._Store.sessionAttributes=b.gs.sa||a._Store.sessionAttributes,a._Store.serverSettings=b.gs.ss||a._Store.serverSettings,a._Store.devToken=a._Store.devToken||b.gs.dt,a._Store.SDKConfig.appVersion=a._Store.SDKConfig.appVersion||b.gs.av,a._Store.clientId=b.gs.cgid||a._Store.clientId||a._Helpers.generateUniqueId(),a._Store.deviceId=b.gs.das||a._Store.deviceId||a._Helpers.generateUniqueId(),a._Store.integrationAttributes=b.gs.ia||{},a._Store.context=b.gs.c||a._Store.context,a._Store.currentSessionMPIDs=b.gs.csm||a._Store.currentSessionMPIDs,a._Store.isLoggedIn=!0===b.l,b.gs.les&&(a._Store.dateLastEventSent=new Date(b.gs.les)),a._Store.sessionStartDate=b.gs.ssd?new Date(b.gs.ssd):new Date,b=c?b[c]:b[b.cu]):(a.Logger.verbose(Messages$4.InformationMessages.CookieNotFound),a._Store.clientId=a._Store.clientId||a._Helpers.generateUniqueId(),a._Store.deviceId=a._Store.deviceId||a._Helpers.generateUniqueId());}catch(b){a.Logger.error(Messages$4.ErrorMessages.CookieParseError);}},this.determineLocalStorageAvailability=function(a){var b;window.mParticle&&window.mParticle._forceNoLocalStorage&&(a=void 0);try{return a.setItem("mparticle","test"),b="test"===a.getItem("mparticle"),a.removeItem("mparticle"),b&&a}catch(a){return !1}},this.getUserProductsFromLS=function(b){if(!a._Store.isLocalStorageAvailable)return [];var c,d,e,f=localStorage.getItem(a._Store.prodStorageName);// if there is an MPID, we are retrieving the user's products, which is an array
|
|
1909
534
|
if(f&&(c=Base64$1.decode(f)),b)try{return c&&(e=JSON.parse(c)),d=c&&e[b]&&e[b].cp&&Array.isArray(e[b].cp)?e[b].cp:[],d}catch(a){return []}else return []},this.getAllUserProductsFromLS=function(){var b,c,d=localStorage.getItem(a._Store.prodStorageName);d&&(b=Base64$1.decode(d));// returns an object with keys of MPID and values of array of products
|
|
1910
|
-
try{c=JSON.parse(b);}catch(a){c={};}return c},this.setLocalStorage=function(){if(a._Store.isLocalStorageAvailable){var c=a._Store.storageName,d=f.getAllUserProductsFromLS(),e=f.getLocalStorage()||{},g=a.Identity.getCurrentUser(),h=g?g.getMPID():null,i={cp:d[h]?d[h].cp:[]};if(h){d=d||{},d[h]=i;try{window.localStorage.setItem(encodeURIComponent(a._Store.prodStorageName),Base64$1.encode(JSON.stringify(d)));}catch(b){a.Logger.error("Error with setting products on localStorage.");}}if(!a._Store.SDKConfig.useCookieStorage){e.gs=e.gs||{},e.l=a._Store.isLoggedIn?1:0,a._Store.sessionId&&(e.gs.csm=a._Store.currentSessionMPIDs),e.gs.ie=a._Store.isEnabled,h&&(e.cu=h),Object.keys(a._Store.nonCurrentUserMPIDs).length&&(e=a._Helpers.extend({},e,a._Store.nonCurrentUserMPIDs),a._Store.nonCurrentUserMPIDs={}),e=b(e);try{window.localStorage.setItem(encodeURIComponent(c),f.encodePersistence(JSON.stringify(e)));}catch(b){a.Logger.error("Error with setting localStorage item.");}}}},this.getLocalStorage=function(){if(!a._Store.isLocalStorageAvailable)return null;var b,c=a._Store.storageName,d=f.decodePersistence(window.localStorage.getItem(c)),e={};if(d)for(b in d=JSON.parse(d),d)d.hasOwnProperty(b)&&(e[b]=d[b]);return Object.keys(e).length?e:null},this.expireCookies=function(a){var b,c,d,e=new Date;d=f.getCookieDomain(),c=""===d?"":";domain="+d,e.setTime(e.getTime()-86400000),b="; expires="+e.toUTCString(),document.cookie=a+"="+b+"; path=/"+c;},this.getCookie=function(){var b,c,d,g,h,j=window.document.cookie.split("; "),k=a._Store.storageName,m=k?void 0:{};for(a.Logger.verbose(Messages$
|
|
535
|
+
try{c=JSON.parse(b);}catch(a){c={};}return c},this.setLocalStorage=function(){if(a._Store.isLocalStorageAvailable){var c=a._Store.storageName,d=f.getAllUserProductsFromLS(),e=f.getLocalStorage()||{},g=a.Identity.getCurrentUser(),h=g?g.getMPID():null,i={cp:d[h]?d[h].cp:[]};if(h){d=d||{},d[h]=i;try{window.localStorage.setItem(encodeURIComponent(a._Store.prodStorageName),Base64$1.encode(JSON.stringify(d)));}catch(b){a.Logger.error("Error with setting products on localStorage.");}}if(!a._Store.SDKConfig.useCookieStorage){e.gs=e.gs||{},e.l=a._Store.isLoggedIn?1:0,a._Store.sessionId&&(e.gs.csm=a._Store.currentSessionMPIDs),e.gs.ie=a._Store.isEnabled,h&&(e.cu=h),Object.keys(a._Store.nonCurrentUserMPIDs).length&&(e=a._Helpers.extend({},e,a._Store.nonCurrentUserMPIDs),a._Store.nonCurrentUserMPIDs={}),e=b(e);try{window.localStorage.setItem(encodeURIComponent(c),f.encodePersistence(JSON.stringify(e)));}catch(b){a.Logger.error("Error with setting localStorage item.");}}}},this.getLocalStorage=function(){if(!a._Store.isLocalStorageAvailable)return null;var b,c=a._Store.storageName,d=f.decodePersistence(window.localStorage.getItem(c)),e={};if(d)for(b in d=JSON.parse(d),d)d.hasOwnProperty(b)&&(e[b]=d[b]);return Object.keys(e).length?e:null},this.expireCookies=function(a){var b,c,d,e=new Date;d=f.getCookieDomain(),c=""===d?"":";domain="+d,e.setTime(e.getTime()-86400000),b="; expires="+e.toUTCString(),document.cookie=a+"="+b+"; path=/"+c;},this.getCookie=function(){var b,c,d,g,h,j=window.document.cookie.split("; "),k=a._Store.storageName,m=k?void 0:{};for(a.Logger.verbose(Messages$4.InformationMessages.CookieSearch),b=0,c=j.length;b<c;b++){try{d=j[b].split("="),g=d.shift(),h=d.join("=");}catch(b){a.Logger.verbose("Unable to parse cookie: "+g+". Skipping.");}if(k&&k===g){m=a._Helpers.converted(h);break}k||(m[g]=a._Helpers.converted(h));}return m?(a.Logger.verbose(Messages$4.InformationMessages.CookieFound),JSON.parse(f.decodePersistence(m))):null},this.setCookie=function(){var c,d=a.Identity.getCurrentUser();d&&(c=d.getMPID());var e,g,h,i=new Date,j=a._Store.storageName,k=f.getCookie()||{},l=new Date(i.getTime()+1e3*(60*(60*(24*a._Store.SDKConfig.cookieExpiration)))).toGMTString();e=f.getCookieDomain(),g=""===e?"":";domain="+e,k.gs=k.gs||{},a._Store.sessionId&&(k.gs.csm=a._Store.currentSessionMPIDs),c&&(k.cu=c),k.l=a._Store.isLoggedIn?1:0,k=b(k),Object.keys(a._Store.nonCurrentUserMPIDs).length&&(k=a._Helpers.extend({},k,a._Store.nonCurrentUserMPIDs),a._Store.nonCurrentUserMPIDs={}),h=f.reduceAndEncodePersistence(k,l,g,a._Store.SDKConfig.maxCookieSize),a.Logger.verbose(Messages$4.InformationMessages.CookieSet),window.document.cookie=encodeURIComponent(j)+"="+h;},this.reduceAndEncodePersistence=function(b,c,e,f){var g,h=b.gs.csm?b.gs.csm:[];// Comment 1 above
|
|
1911
536
|
if(!h.length)for(var j in b)b.hasOwnProperty(j)&&(g=d(b,c,e),g.length>f&&!SDKv2NonMPIDCookieKeys[j]&&j!==b.cu&&delete b[j]);else {// Comment 2 above - First create an object of all MPIDs on the cookie
|
|
1912
537
|
var k={};for(var l in b)b.hasOwnProperty(l)&&(SDKv2NonMPIDCookieKeys[l]||l===b.cu||(k[l]=1));// Comment 2a above
|
|
1913
538
|
if(Object.keys(k).length)for(var m in k)g=d(b,c,e),g.length>f&&k.hasOwnProperty(m)&&-1===h.indexOf(m)&&delete b[m];// Comment 2b above
|
|
@@ -1918,25 +543,25 @@ if(d[g].mpid){var h=d[g].ui;for(var i in h)if(e===i&&b.userIdentities[e]===h[i])
|
|
|
1918
543
|
if(c||null===c){var d=f.getPersistence();d&&(d[b]?d[b].con=a._Consent.ConsentSerialization.toMinifiedJsonObject(c):d[b]={con:a._Consent.ConsentSerialization.toMinifiedJsonObject(c)},f.savePersistence(d));}},this.savePersistence=function(b){var c,d=f.encodePersistence(JSON.stringify(b)),e=new Date,g=a._Store.storageName,h=new Date(e.getTime()+1e3*(60*(60*(24*a._Store.SDKConfig.cookieExpiration)))).toGMTString(),i=f.getCookieDomain();if(c=""===i?"":";domain="+i,a._Store.SDKConfig.useCookieStorage){var j=f.reduceAndEncodePersistence(b,h,c,a._Store.SDKConfig.maxCookieSize);window.document.cookie=encodeURIComponent(g)+"="+j;}else a._Store.isLocalStorageAvailable&&localStorage.setItem(a._Store.storageName,d);},this.getPersistence=function(){var a=this.useLocalStorage()?this.getLocalStorage():this.getCookie();return a},this.getConsentState=function(b){var c=f.getPersistence();return c&&c[b]&&c[b].con?a._Consent.ConsentSerialization.fromMinifiedJsonObject(c[b].con):null},this.getFirstSeenTime=function(a){if(!a)return null;var b=f.getPersistence();return b&&b[a]&&b[a].fst?b[a].fst:null},this.setFirstSeenTime=function(a,b){if(a){b||(b=new Date().getTime());var c=f.getPersistence();c&&(!c[a]&&(c[a]={}),!c[a].fst&&(c[a].fst=b,f.savePersistence(c)));}},this.getLastSeenTime=function(b){if(!b)return null;if(b===a.Identity.getCurrentUser().getMPID())//if the mpid is the current user, its last seen time is the current time
|
|
1919
544
|
return new Date().getTime();var c=f.getPersistence();return c&&c[b]&&c[b].lst?c[b].lst:null},this.setLastSeenTime=function(a,b){if(a){b||(b=new Date().getTime());var c=f.getPersistence();c&&c[a]&&(c[a].lst=b,f.savePersistence(c));}},this.getDeviceId=function(){return a._Store.deviceId},this.setDeviceId=function(b){a._Store.deviceId=b,f.update();},this.resetPersistence=function(){if(c(StorageNames$1.localStorageName),c(StorageNames$1.localStorageNameV3),c(StorageNames$1.localStorageNameV4),c(a._Store.prodStorageName),c(a._Store.storageName),c(StorageNames$1.localStorageProductsV4),f.expireCookies(StorageNames$1.cookieName),f.expireCookies(StorageNames$1.cookieNameV2),f.expireCookies(StorageNames$1.cookieNameV3),f.expireCookies(StorageNames$1.cookieNameV4),f.expireCookies(a._Store.prodStorageName),f.expireCookies(a._Store.storageName),mParticle._isTestEnv){c(a._Helpers.createMainStorageName("abcdef")),f.expireCookies(a._Helpers.createMainStorageName("abcdef")),c(a._Helpers.createProductStorageName("abcdef"));}},this.forwardingStatsBatches={uploadsTable:{},forwardingStatsEventQueue:[]};}
|
|
1920
545
|
|
|
1921
|
-
var Messages$
|
|
1922
|
-
a._Store.currentPosition={lat:
|
|
1923
|
-
|
|
546
|
+
var Messages$3=Constants.Messages;function Events(a){var b=this;this.logEvent=function(b,c){if(a.Logger.verbose(Messages$3.InformationMessages.StartingLogEvent+": "+b.name),a._Helpers.canLog()){var d=a._ServerModel.createEventObject(b);a._APIClient.sendEventToServer(d,c);}else a.Logger.verbose(Messages$3.InformationMessages.AbandonLogEvent);},this.startTracking=function(b){function c(b,c){if(b)try{c?b(c):b();}catch(b){a.Logger.error("Error invoking the callback passed to startTrackingLocation."),a.Logger.error(b);}}if(!a._Store.isTracking)"geolocation"in navigator&&(a._Store.watchPositionId=navigator.geolocation.watchPosition(function e(d){// prevents callback from being fired multiple times
|
|
547
|
+
a._Store.currentPosition={lat:d.coords.latitude,lng:d.coords.longitude},c(b,d),b=null,a._Store.isTracking=!0;},function d(){// prevents callback from being fired multiple times
|
|
548
|
+
c(b),b=null,a._Store.isTracking=!1;}));else {var d={coords:{latitude:a._Store.currentPosition.lat,longitude:a._Store.currentPosition.lng}};c(b,d);}},this.stopTracking=function(){a._Store.isTracking&&(navigator.geolocation.clearWatch(a._Store.watchPositionId),a._Store.currentPosition=null,a._Store.isTracking=!1);},this.logOptOut=function(){a.Logger.verbose(Messages$3.InformationMessages.StartingLogOptOut);var b=a._ServerModel.createEventObject({messageType:Types.MessageType.OptOut,eventType:Types.EventType.Other});a._APIClient.sendEventToServer(b);},this.logAST=function(){b.logEvent({messageType:Types.MessageType.AppStateTransition});},this.logCheckoutEvent=function(c,d,e,f){var g=a._Ecommerce.createCommerceEventObject(f);g&&(g.EventName+=a._Ecommerce.getProductActionEventName(Types.ProductActionType.Checkout),g.EventCategory=Types.CommerceEventType.ProductCheckout,g.ProductAction={ProductActionType:Types.ProductActionType.Checkout,CheckoutStep:c,CheckoutOptions:d,ProductList:[]},b.logCommerceEvent(g,e));},this.logProductActionEvent=function(c,d,e,f,g,h){var i=a._Ecommerce.createCommerceEventObject(f),j=Array.isArray(d)?d:[d];j.forEach(function(b){b.TotalAmount&&(b.TotalAmount=a._Ecommerce.sanitizeAmount(b.TotalAmount,"TotalAmount")),b.Position&&(b.Position=a._Ecommerce.sanitizeAmount(b.Position,"Position")),b.Price&&(b.Price=a._Ecommerce.sanitizeAmount(b.Price,"Price")),b.Quantity&&(b.Quantity=a._Ecommerce.sanitizeAmount(b.Quantity,"Quantity"));}),i&&(i.EventCategory=a._Ecommerce.convertProductActionToEventType(c),i.EventName+=a._Ecommerce.getProductActionEventName(c),i.ProductAction={ProductActionType:c,ProductList:j},a._Helpers.isObject(g)&&a._Ecommerce.convertTransactionAttributesToProductAction(g,i.ProductAction),b.logCommerceEvent(i,e,h));},this.logPurchaseEvent=function(c,d,e,f){var g=a._Ecommerce.createCommerceEventObject(f);g&&(g.EventName+=a._Ecommerce.getProductActionEventName(Types.ProductActionType.Purchase),g.EventCategory=Types.CommerceEventType.ProductPurchase,g.ProductAction={ProductActionType:Types.ProductActionType.Purchase},g.ProductAction.ProductList=a._Ecommerce.buildProductList(g,d),a._Ecommerce.convertTransactionAttributesToProductAction(c,g.ProductAction),b.logCommerceEvent(g,e));},this.logRefundEvent=function(c,d,e,f){if(!c)return void a.Logger.error(Messages$3.ErrorMessages.TransactionRequired);var g=a._Ecommerce.createCommerceEventObject(f);g&&(g.EventName+=a._Ecommerce.getProductActionEventName(Types.ProductActionType.Refund),g.EventCategory=Types.CommerceEventType.ProductRefund,g.ProductAction={ProductActionType:Types.ProductActionType.Refund},g.ProductAction.ProductList=a._Ecommerce.buildProductList(g,d),a._Ecommerce.convertTransactionAttributesToProductAction(c,g.ProductAction),b.logCommerceEvent(g,e));},this.logPromotionEvent=function(c,d,e,f,g){var h=a._Ecommerce.createCommerceEventObject(f);h&&(h.EventName+=a._Ecommerce.getPromotionActionEventName(c),h.EventCategory=a._Ecommerce.convertPromotionActionToEventType(c),h.PromotionAction={PromotionActionType:c,PromotionList:Array.isArray(d)?d:[d]},b.logCommerceEvent(h,e,g));},this.logImpressionEvent=function(c,d,e,f){var g=a._Ecommerce.createCommerceEventObject(e);g&&(g.EventName+="Impression",g.EventCategory=Types.CommerceEventType.ProductImpression,!Array.isArray(c)&&(c=[c]),g.ProductImpressions=[],c.forEach(function(a){g.ProductImpressions.push({ProductImpressionList:a.Name,ProductList:Array.isArray(a.Product)?a.Product:[a.Product]});}),b.logCommerceEvent(g,d,f));},this.logCommerceEvent=function(b,c,d){// If a developer typos the ProductActionType, the event category will be
|
|
1924
549
|
// null, resulting in kit forwarding errors on the server.
|
|
1925
550
|
// The check for `ProductAction` is required to denote that these are
|
|
1926
551
|
// ProductAction events, and not impression or promotions
|
|
1927
|
-
return a.Logger.verbose(Messages$
|
|
552
|
+
return a.Logger.verbose(Messages$3.InformationMessages.StartingLogCommerceEvent),b.ProductAction&&null===b.EventCategory?void a.Logger.error("Commerce event not sent. The mParticle.ProductActionType you passed was invalid. Re-check your code."):void(c=a._Helpers.sanitizeAttributes(c,b.EventName),a._Helpers.canLog()?(a._Store.webviewBridgeEnabled&&(b.ShoppingCart={}),c&&(b.EventAttributes=c),a._APIClient.sendEventToServer(b,d),a._Persistence.update()):a.Logger.verbose(Messages$3.InformationMessages.AbandonLogEvent))},this.addEventHandler=function(c,d,f,g,h){var j,k,e=[],l=function handler(c){var d=function timeoutHandler(){j.href?window.location.href=j.href:j.submit&&j.submit();};a.Logger.verbose("DOM event triggered, handling event"),b.logEvent({messageType:Types.MessageType.PageEvent,name:"function"==typeof f?f(j):f,data:"function"==typeof g?g(j):g,eventType:h||Types.EventType.Other}),(j.href&&"_blank"!==j.target||j.submit)&&(c.preventDefault?c.preventDefault():c.returnValue=!1,setTimeout(d,a._Store.SDKConfig.timeout));};if(!d)return void a.Logger.error("Can't bind event, selector is required");// Handle a css selector string or a dom element
|
|
1928
553
|
if("string"==typeof d?e=document.querySelectorAll(d):d.nodeType&&(e=[d]),e.length)for(a.Logger.verbose("Found "+e.length+" element"+(1<e.length?"s":"")+", attaching event handlers"),k=0;k<e.length;k++)j=e[k],j.addEventListener?j.addEventListener(c,l,!1):j.attachEvent?j.attachEvent("on"+c,l):j["on"+c]=l;else a.Logger.verbose("No elements found");};}
|
|
1929
554
|
|
|
1930
|
-
var StorageNames
|
|
1931
|
-
if(j===a._Store.storageName)return;if(j===StorageNames
|
|
1932
|
-
if(j===StorageNames
|
|
555
|
+
var StorageNames=Constants.StorageNames,Base64=Polyfill.Base64,CookiesGlobalSettingsKeys={das:1},MPIDKeys={ui:1};function Migrations(a){function b(){var b,d,f,g,j,k,m=window.document.cookie.split("; ");for(a.Logger.verbose(Constants.Messages.InformationMessages.CookieSearch),d=0,f=m.length;d<f;d++){try{g=m[d].split("="),j=a._Helpers.decoded(g.shift()),k=a._Helpers.decoded(g.join("="));}catch(b){a.Logger.verbose("Unable to parse cookie: "+j+". Skipping.");}//most recent version needs no migration
|
|
556
|
+
if(j===a._Store.storageName)return;if(j===StorageNames.cookieNameV4)return c(k,StorageNames.cookieNameV4),void(a._Store.isLocalStorageAvailable&&e());// migration path for SDKv1CookiesV3, doesn't need to be encoded
|
|
557
|
+
if(j===StorageNames.cookieNameV3){b=h.convertSDKv1CookiesV3ToSDKv2CookiesV4(k),c(b,StorageNames.cookieNameV3);break}}}function c(b,c){var d,e,f=new Date,g=a._Persistence.getCookieDomain();d=new Date(f.getTime()+1e3*(60*(60*(24*StorageNames.CookieExpiration)))).toGMTString(),e=""===g?"":";domain="+g,a.Logger.verbose(Constants.Messages.InformationMessages.CookieSet),window.document.cookie=encodeURIComponent(a._Store.storageName)+"="+b+";expires="+d+";path=/"+e,a._Persistence.expireCookies(c),a._Store.migratingToIDSyncCookies=!0;}function d(b){try{var c={gs:{csm:[]}};for(var d in b=JSON.parse(b),b)b.hasOwnProperty(d)&&(CookiesGlobalSettingsKeys[d]?c.gs[d]=b[d]:"mpid"===d?c.cu=b[d]:b.mpid&&(c[b.mpid]=c[b.mpid]||{},MPIDKeys[d]&&(c[b.mpid][d]=b[d])));return JSON.stringify(c)}catch(b){a.Logger.error("Failed to restructure previous cookie into most current cookie schema");}}function e(){var b=StorageNames.localStorageProductsV4,c=localStorage.getItem(StorageNames.localStorageProductsV4);localStorage.setItem(a._Store.prodStorageName,c),localStorage.removeItem(b);}function f(b,c){if(a._Store.isLocalStorageAvailable){var d={};if(d[c]={},b.cp){try{d[c].cp=JSON.parse(Base64.decode(b.cp));}catch(a){d[c].cp=b.cp;}Array.isArray(d[c].cp)||(d[c].cp=[]);}localStorage.setItem(a._Store.prodStorageName,Base64.encode(JSON.stringify(d)));}}function g(){function b(b,c){try{window.localStorage.setItem(encodeURIComponent(a._Store.storageName),b);}catch(b){a.Logger.error("Error with setting localStorage item.");}window.localStorage.removeItem(encodeURIComponent(c));}var c,d,g,i,j=StorageNames.localStorageNameV3,k=StorageNames.localStorageNameV4,l=window.localStorage.getItem(a._Store.storageName);if(!l){if(d=window.localStorage.getItem(k),d)return b(d,k),void e();if(g=window.localStorage.getItem(j),g){// localStorage may contain only products, or the full persistence
|
|
1933
558
|
// when there is an MPID on the cookie, it is the full persistence
|
|
1934
559
|
if(a._Store.migratingToIDSyncCookies=!0,i=g.slice(),g=JSON.parse(a._Persistence.replacePipesWithCommas(a._Persistence.replaceApostrophesWithQuotes(g))),g.mpid)return g=JSON.parse(h.convertSDKv1CookiesV3ToSDKv2CookiesV4(i)),void b(JSON.stringify(g),j);// if no MPID, it is only the products
|
|
1935
|
-
if((g.cp||g.pb)&&!g.mpid)return c=a._Persistence.getCookie(),c?(f(g,c.cu),void localStorage.removeItem(StorageNames
|
|
560
|
+
if((g.cp||g.pb)&&!g.mpid)return c=a._Persistence.getCookie(),c?(f(g,c.cu),void localStorage.removeItem(StorageNames.localStorageNameV3)):void localStorage.removeItem(StorageNames.localStorageNameV3)}}}var h=this;// if there is a cookie or localStorage:
|
|
1936
561
|
// 1. determine which version it is ('mprtcl-api', 'mprtcl-v2', 'mprtcl-v3', 'mprtcl-v4')
|
|
1937
562
|
// 2. return if 'mprtcl-v4', otherwise migrate to mprtclv4 schema
|
|
1938
563
|
// 3. if 'mprtcl-api', could be JSSDKv2 or JSSDKv1. JSSDKv2 cookie has a 'globalSettings' key on it
|
|
1939
|
-
this.migrate=function(){try{b();}catch(b){a._Persistence.expireCookies(StorageNames
|
|
564
|
+
this.migrate=function(){try{b();}catch(b){a._Persistence.expireCookies(StorageNames.cookieNameV3),a._Persistence.expireCookies(StorageNames.cookieNameV4),a.Logger.error("Error migrating cookie: "+b);}if(a._Store.isLocalStorageAvailable)try{g();}catch(b){localStorage.removeItem(StorageNames.localStorageNameV3),localStorage.removeItem(StorageNames.localStorageNameV4),a.Logger.error("Error migrating localStorage: "+b);}},this.convertSDKv1CookiesV3ToSDKv2CookiesV4=function(b){b=a._Persistence.replacePipesWithCommas(a._Persistence.replaceApostrophesWithQuotes(b));var c=JSON.parse(b),e=JSON.parse(d(b));return c.mpid&&(e.gs.csm.push(c.mpid),e.gs.csm=Base64.encode(JSON.stringify(e.gs.csm)),f(c,c.mpid)),JSON.stringify(e)};}
|
|
1940
565
|
|
|
1941
566
|
function filteredMparticleUser(a,b,c,d){var e=this;return {getUserIdentities:function getUserIdentities(){var e={},f=c._Persistence.getUserIdentities(a);for(var g in f)if(f.hasOwnProperty(g)){var h=Types.IdentityType.getIdentityName(c._Helpers.parseNumber(g));d&&(!d||d.isIdentityBlocked(h))||(//if identity type is not blocked
|
|
1942
567
|
e[h]=f[g]);}return e=c._Helpers.filterUserIdentitiesForForwarders(e,b.userIdentityFilters),{userIdentities:e}},getMPID:function getMPID(){return a},getUserAttributesLists:function getUserAttributesLists(a){var b,f={};for(var g in b=e.getAllUserAttributes(),b)b.hasOwnProperty(g)&&Array.isArray(b[g])&&(d&&(!d||d.isAttributeKeyBlocked(g))||(f[g]=b[g].slice()));return f=c._Helpers.filterUserAttributes(f,a.userAttributeFilters),f},getAllUserAttributes:function getAllUserAttributes(){var e={},f=c._Persistence.getAllUserAttributes(a);if(f)for(var g in f)f.hasOwnProperty(g)&&(d&&(!d||d.isAttributeKeyBlocked(g))||(Array.isArray(f[g])?e[g]=f[g].slice():e[g]=f[g]));return e=c._Helpers.filterUserAttributes(e,b.userAttributeFilters),e}}}
|
|
@@ -1954,11 +579,11 @@ if(c={},c=a._Helpers.extend(!0,c,b),b.EventDataType===Types.MessageType.PageEven
|
|
|
1954
579
|
if(c.EventAttributes&&(b.EventDataType===Types.MessageType.PageEvent?g(c,a._Store.activeForwarders[k].attributeFilters):b.EventDataType===Types.MessageType.PageView&&g(c,a._Store.activeForwarders[k].screenAttributeFilters)),f(c,a._Store.activeForwarders[k].userIdentityFilters),c.UserAttributes=a._Helpers.filterUserAttributes(c.UserAttributes,a._Store.activeForwarders[k].userAttributeFilters),a._Store.activeForwarders[k].process){a.Logger.verbose("Sending message to forwarder: "+a._Store.activeForwarders[k].name);var q=a._Store.activeForwarders[k].process(c);q&&a.Logger.verbose(q);}}}},this.callSetUserAttributeOnForwarders=function(c,d){b&&b.isAttributeKeyBlocked(c)||a._Store.activeForwarders.length&&a._Store.activeForwarders.forEach(function(b){if(b.setUserAttribute&&b.userAttributeFilters&&!a._Helpers.inArray(b.userAttributeFilters,a._Helpers.generateHash(c)))try{var e=b.setUserAttribute(c,d);e&&a.Logger.verbose(e);}catch(b){a.Logger.error(b);}});},this.setForwarderUserIdentities=function(b){a._Store.activeForwarders.forEach(function(c){var d=a._Helpers.filterUserIdentities(b,c.userIdentityFilters);c.setUserIdentity&&d.forEach(function(b){var d=c.setUserIdentity(b.Identity,b.Type);d&&a.Logger.verbose(d);});});},this.setForwarderOnUserIdentified=function(c){a._Store.activeForwarders.forEach(function(d){var e=filteredMparticleUser(c.getMPID(),d,a,b);if(d.onUserIdentified){var f=d.onUserIdentified(e);f&&a.Logger.verbose(f);}});},this.setForwarderOnIdentityComplete=function(c,d){var e;a._Store.activeForwarders.forEach(function(f){var g=filteredMparticleUser(c.getMPID(),f,a,b);"identify"===d?f.onIdentifyComplete&&(e=f.onIdentifyComplete(g),e&&a.Logger.verbose(e)):"login"===d?f.onLoginComplete&&(e=f.onLoginComplete(g),e&&a.Logger.verbose(e)):"logout"===d?f.onLogoutComplete&&(e=f.onLogoutComplete(g),e&&a.Logger.verbose(e)):"modify"==d&&f.onModifyComplete&&(e=f.onModifyComplete(g),e&&a.Logger.verbose(e));});},this.getForwarderStatsQueue=function(){return a._Persistence.forwardingStatsBatches.forwardingStatsEventQueue},this.setForwarderStatsQueue=function(b){a._Persistence.forwardingStatsBatches.forwardingStatsEventQueue=b;},this.configureForwarder=function(b){var c=null,d=b,e={};// if there are kits inside of mpInstance._Store.SDKConfig.kits, then mParticle is self hosted
|
|
1955
580
|
for(var f in a._Helpers.isObject(a._Store.SDKConfig.kits)&&0<Object.keys(a._Store.SDKConfig.kits).length?e=a._Store.SDKConfig.kits:0<a._preInit.forwarderConstructors.length&&a._preInit.forwarderConstructors.forEach(function(a){e[a.name]=a;}),e)if(f===d.name&&(d.isDebug===a._Store.SDKConfig.isDevelopmentMode||d.isSandbox===a._Store.SDKConfig.isDevelopmentMode)){c=new e[f].constructor,c.id=d.moduleId,c.isSandbox=d.isDebug||d.isSandbox,c.hasSandbox="true"===d.hasDebugString,c.isVisible=d.isVisible,c.settings=d.settings,c.eventNameFilters=d.eventNameFilters,c.eventTypeFilters=d.eventTypeFilters,c.attributeFilters=d.attributeFilters,c.screenNameFilters=d.screenNameFilters,c.screenNameFilters=d.screenNameFilters,c.screenAttributeFilters=d.screenAttributeFilters,c.userIdentityFilters=d.userIdentityFilters,c.userAttributeFilters=d.userAttributeFilters,c.filteringEventAttributeValue=d.filteringEventAttributeValue,c.filteringUserAttributeValue=d.filteringUserAttributeValue,c.eventSubscriptionId=d.eventSubscriptionId,c.filteringConsentRuleValues=d.filteringConsentRuleValues,c.excludeAnonymousUser=d.excludeAnonymousUser,a._Store.configuredForwarders.push(c);break}},this.configurePixel=function(b){(b.isDebug===a._Store.SDKConfig.isDevelopmentMode||b.isProduction!==a._Store.SDKConfig.isDevelopmentMode)&&a._Store.pixelConfigurations.push(b);},this.processForwarders=function(b,d){if(!b)a.Logger.warning("No config was passed. Cannot process forwarders");else try{Array.isArray(b.kitConfigs)&&b.kitConfigs.length&&b.kitConfigs.forEach(function(a){c.configureForwarder(a);}),Array.isArray(b.pixelConfigs)&&b.pixelConfigs.length&&b.pixelConfigs.forEach(function(a){c.configurePixel(a);}),c.initForwarders(a._Store.SDKConfig.identifyRequest.userIdentities,d);}catch(b){a.Logger.error("Config was not parsed propertly. Forwarders may not be initialized.");}};}
|
|
1956
581
|
|
|
1957
|
-
var MessageType
|
|
582
|
+
var MessageType=Types.MessageType,ApplicationTransitionType=Types.ApplicationTransitionType;function ServerModel(a){function b(a,b){var c=[];for(var d in b.flags={},a.CustomFlags)c=[],a.CustomFlags.hasOwnProperty(d)&&(Array.isArray(a.CustomFlags[d])?a.CustomFlags[d].forEach(function(a){("number"==typeof a||"string"==typeof a||"boolean"==typeof a)&&c.push(a.toString());}):("number"==typeof a.CustomFlags[d]||"string"==typeof a.CustomFlags[d]||"boolean"==typeof a.CustomFlags[d])&&c.push(a.CustomFlags[d].toString()),c.length&&(b.flags[d]=c));}function c(a){return a?a.map(function(a){return d(a)}):[]}function d(b){return {id:a._Helpers.parseStringOrNumber(b.Sku),nm:a._Helpers.parseStringOrNumber(b.Name),pr:a._Helpers.parseNumber(b.Price),qt:a._Helpers.parseNumber(b.Quantity),br:a._Helpers.parseStringOrNumber(b.Brand),va:a._Helpers.parseStringOrNumber(b.Variant),ca:a._Helpers.parseStringOrNumber(b.Category),ps:a._Helpers.parseNumber(b.Position),cc:a._Helpers.parseStringOrNumber(b.CouponCode),tpa:a._Helpers.parseNumber(b.TotalAmount),attrs:b.Attributes}}var e=this;this.appendUserInfo=function(b,c){if(c){if(!b)return c.MPID=null,c.ConsentState=null,c.UserAttributes=null,void(c.UserIdentities=null);if(!(c.MPID&&c.MPID===b.getMPID())){c.MPID=b.getMPID(),c.ConsentState=b.getConsentState(),c.UserAttributes=b.getAllUserAttributes();var d=b.getUserIdentities().userIdentities,e={};for(var f in d){var g=Types.IdentityType.getIdentityType(f);!1!==g&&(e[g]=d[f]);}var h=[];if(a._Helpers.isObject(e)&&Object.keys(e).length)for(var i in e){var j={};j.Identity=e[i],j.Type=a._Helpers.parseNumber(i),h.push(j);}c.UserIdentities=h;}}},this.convertToConsentStateDTO=function(a){if(!a)return null;var b={},c=a.getGDPRConsentState();if(c){var d={};for(var e in b.gdpr=d,c)if(c.hasOwnProperty(e)){var f=c[e];b.gdpr[e]={},"boolean"==typeof f.Consented&&(d[e].c=f.Consented),"number"==typeof f.Timestamp&&(d[e].ts=f.Timestamp),"string"==typeof f.ConsentDocument&&(d[e].d=f.ConsentDocument),"string"==typeof f.Location&&(d[e].l=f.Location),"string"==typeof f.HardwareId&&(d[e].h=f.HardwareId);}}var g=a.getCCPAConsentState();return g&&(b.ccpa={data_sale_opt_out:{c:g.Consented,ts:g.Timestamp,d:g.ConsentDocument,l:g.Location,h:g.HardwareId}}),b},this.createEventObject=function(b,c){var d={},f={},g=b.messageType===Types.MessageType.OptOut?!a._Store.isEnabled:null;if(a._Store.sessionId||b.messageType==Types.MessageType.OptOut||a._Store.webviewBridgeEnabled){f=b.hasOwnProperty("toEventAPIObject")?b.toEventAPIObject():{EventName:b.name||b.messageType,EventCategory:b.eventType,EventAttributes:a._Helpers.sanitizeAttributes(b.data,b.name),SourceMessageId:b.sourceMessageId||a._Helpers.generateUniqueId(),EventDataType:b.messageType,CustomFlags:b.customFlags||{},UserAttributeChanges:b.userAttributeChanges,UserIdentityChanges:b.userIdentityChanges},b.messageType!==Types.MessageType.SessionEnd&&(a._Store.dateLastEventSent=new Date),d={Store:a._Store.serverSettings,SDKVersion:Constants.sdkVersion,SessionId:a._Store.sessionId,SessionStartDate:a._Store.sessionStartDate?a._Store.sessionStartDate.getTime():0,Debug:a._Store.SDKConfig.isDevelopmentMode,Location:a._Store.currentPosition,OptOut:g,ExpandedEventCount:0,AppVersion:a.getAppVersion(),AppName:a.getAppName(),Package:a._Store.SDKConfig["package"],ClientGeneratedId:a._Store.clientId,DeviceId:a._Store.deviceId,IntegrationAttributes:a._Store.integrationAttributes,CurrencyCode:a._Store.currencyCode,DataPlan:a._Store.SDKConfig.dataPlan?a._Store.SDKConfig.dataPlan:{}},f.EventDataType===MessageType.AppStateTransition&&(f.IsFirstRun=a._Store.isFirstRun,f.LaunchReferral=window.location.href||null),f.CurrencyCode=a._Store.currencyCode;var h=c||a.Identity.getCurrentUser();return e.appendUserInfo(h,f),b.messageType===Types.MessageType.SessionEnd&&(f.SessionLength=a._Store.dateLastEventSent.getTime()-a._Store.sessionStartDate.getTime(),f.currentSessionMPIDs=a._Store.currentSessionMPIDs,f.EventAttributes=a._Store.sessionAttributes,a._Store.currentSessionMPIDs=[],a._Store.sessionStartDate=null),d.Timestamp=a._Store.dateLastEventSent.getTime(),a._Helpers.extend({},f,d)}return null},this.convertEventToDTO=function(d){var f={n:d.EventName,et:d.EventCategory,ua:d.UserAttributes,ui:d.UserIdentities,ia:d.IntegrationAttributes,str:d.Store,attrs:d.EventAttributes,sdk:d.SDKVersion,sid:d.SessionId,sl:d.SessionLength,ssd:d.SessionStartDate,dt:d.EventDataType,dbg:d.Debug,ct:d.Timestamp,lc:d.Location,o:d.OptOut,eec:d.ExpandedEventCount,av:d.AppVersion,cgid:d.ClientGeneratedId,das:d.DeviceId,mpid:d.MPID,smpids:d.currentSessionMPIDs};d.DataPlan&&d.DataPlan.PlanId&&(f.dp_id=d.DataPlan.PlanId,d.DataPlan.PlanVersion&&(f.dp_v=d.DataPlan.PlanVersion));var g=e.convertToConsentStateDTO(d.ConsentState);return g&&(f.con=g),d.EventDataType===MessageType.AppStateTransition&&(f.fr=d.IsFirstRun,f.iu=!1,f.at=ApplicationTransitionType.AppInit,f.lr=d.LaunchReferral,f.attrs=null),d.CustomFlags&&b(d,f),d.EventDataType===MessageType.Commerce?(f.cu=d.CurrencyCode,d.ShoppingCart&&(f.sc={pl:c(d.ShoppingCart.ProductList)}),d.ProductAction?f.pd={an:d.ProductAction.ProductActionType,cs:a._Helpers.parseNumber(d.ProductAction.CheckoutStep),co:d.ProductAction.CheckoutOptions,pl:c(d.ProductAction.ProductList),ti:d.ProductAction.TransactionId,ta:d.ProductAction.Affiliation,tcc:d.ProductAction.CouponCode,tr:a._Helpers.parseNumber(d.ProductAction.TotalAmount),ts:a._Helpers.parseNumber(d.ProductAction.ShippingAmount),tt:a._Helpers.parseNumber(d.ProductAction.TaxAmount)}:d.PromotionAction?f.pm={an:d.PromotionAction.PromotionActionType,pl:d.PromotionAction.PromotionList.map(function(a){return {id:a.Id,nm:a.Name,cr:a.Creative,ps:a.Position?a.Position:0}})}:d.ProductImpressions&&(f.pi=d.ProductImpressions.map(function(a){return {pil:a.ProductImpressionList,pl:c(a.ProductList)}}))):d.EventDataType===MessageType.Profile&&(f.pet=d.ProfileMessageType),f};}
|
|
1958
583
|
|
|
1959
584
|
function forwardingStatsUploader(a){function b(){var b=a._Forwarders.getForwarderStatsQueue(),c=a._Persistence.forwardingStatsBatches.uploadsTable,d=Date.now();for(var e in b.length&&(c[d]={uploading:!1,data:b},a._Forwarders.setForwarderStatsQueue([])),c)(function(b){if(c.hasOwnProperty(b)&&!1===c[b].uploading){var d=function(){4===e.readyState&&(200===e.status||202===e.status?(a.Logger.verbose("Successfully sent "+e.statusText+" from server"),delete c[b]):"4"===e.status.toString()[0]?429!==e.status&&delete c[b]:c[b].uploading=!1);},e=a._Helpers.createXHR(d),f=c[b].data;c[b].uploading=!0,a._APIClient.sendBatchForwardingStatsToServer(f,e);}})(e);}this.startForwardingStatsTimer=function(){mParticle._forwardingStatsTimer=setInterval(function(){b();},a._Store.SDKConfig.forwarderStatsTimeout);};}
|
|
1960
585
|
|
|
1961
|
-
var Messages$
|
|
586
|
+
var Messages$2=Constants.Messages,HTTPCodes$2=Constants.HTTPCodes;function Identity(t){var s=this;/**
|
|
1962
587
|
* Invoke these methods on the mParticle.Identity object.
|
|
1963
588
|
* Example: mParticle.Identity.getCurrentUser().
|
|
1964
589
|
* @class mParticle.Identity
|
|
@@ -1974,29 +599,29 @@ var Messages$7=Constants.Messages,HTTPCodes=Constants.HTTPCodes;function Identit
|
|
|
1974
599
|
*/ // send a user identity change request on identify, login, logout, modify when any values change.
|
|
1975
600
|
// compare what identities exist vs what is previously was for the specific user if they were in memory before.
|
|
1976
601
|
// if it's the first time the user is logging in, send a user identity change request with
|
|
1977
|
-
this.checkIdentitySwap=function(e,s,r){if(e&&s&&e!==s){var i=t._Persistence.getPersistence();i&&(i.cu=s,i.gs.csm=r,t._Persistence.savePersistence(i));}},this.IdentityRequest={createKnownIdentities:function createKnownIdentities(e,s){var r={};if(e&&e.userIdentities&&t._Helpers.isObject(e.userIdentities))for(var i in e.userIdentities)r[i]=e.userIdentities[i];return r.device_application_stamp=s,r},preProcessIdentityRequest:function preProcessIdentityRequest(e,s,r){t.Logger.verbose(Messages$
|
|
602
|
+
this.checkIdentitySwap=function(e,s,r){if(e&&s&&e!==s){var i=t._Persistence.getPersistence();i&&(i.cu=s,i.gs.csm=r,t._Persistence.savePersistence(i));}},this.IdentityRequest={createKnownIdentities:function createKnownIdentities(e,s){var r={};if(e&&e.userIdentities&&t._Helpers.isObject(e.userIdentities))for(var i in e.userIdentities)r[i]=e.userIdentities[i];return r.device_application_stamp=s,r},preProcessIdentityRequest:function preProcessIdentityRequest(e,s,r){t.Logger.verbose(Messages$2.InformationMessages.StartingLogEvent+": "+r);var i=t._Helpers.Validators.validateIdentities(e,r);if(!i.valid)return t.Logger.error("ERROR: "+i.error),{valid:!1,error:i.error};if(s&&!t._Helpers.Validators.isFunction(s)){var n="The optional callback must be a function. You tried entering a(n) "+_typeof(s);return t.Logger.error(n),{valid:!1,error:n}}return {valid:!0}},createIdentityRequest:function createIdentityRequest(e,s,r,i,n,o,a){var d={client_sdk:{platform:s,sdk_vendor:r,sdk_version:i},context:o,environment:t._Store.SDKConfig.isDevelopmentMode?"development":"production",request_id:t._Helpers.generateUniqueId(),request_timestamp_ms:new Date().getTime(),previous_mpid:a||null,known_identities:this.createKnownIdentities(e,n)};return d},createModifyIdentityRequest:function createModifyIdentityRequest(e,s,r,i,n,o){return {client_sdk:{platform:r,sdk_vendor:i,sdk_version:n},context:o,environment:t._Store.SDKConfig.isDevelopmentMode?"development":"production",request_id:t._Helpers.generateUniqueId(),request_timestamp_ms:new Date().getTime(),identity_changes:this.createIdentityChanges(e,s)}},createIdentityChanges:function createIdentityChanges(e,s){var r,i=[];if(s&&t._Helpers.isObject(s)&&e&&t._Helpers.isObject(e))for(r in s)i.push({old_value:e[r]||null,new_value:s[r],identity_type:r});return i},// takes 2 UI objects keyed by name, combines them, returns them keyed by type
|
|
1978
603
|
combineUserIdentities:function combineUserIdentities(e,s){var r={},i=t._Helpers.extend(e,s);for(var n in i){var o=Types.IdentityType.getIdentityType(n);// this check removes anything that is not whitelisted as an identity type
|
|
1979
|
-
!1!==o&&0<=o&&(r[Types.IdentityType.getIdentityType(n)]=i[n]);}return r},createAliasNetworkRequest:function createAliasNetworkRequest(e){return {request_id:t._Helpers.generateUniqueId(),request_type:"alias",environment:t._Store.SDKConfig.isDevelopmentMode?"development":"production",api_key:t._Store.devToken,data:{destination_mpid:e.destinationMpid,source_mpid:e.sourceMpid,start_unixtime_ms:e.startTime,end_unixtime_ms:e.endTime,scope:e.scope,device_application_stamp:t._Store.deviceId}}},convertAliasToNative:function convertAliasToNative(e){return {DestinationMpid:e.destinationMpid,SourceMpid:e.sourceMpid,StartUnixtimeMs:e.startTime,EndUnixtimeMs:e.endTime}},convertToNative:function convertToNative(e){var t=[];if(e&&e.userIdentities){for(var s in e.userIdentities)e.userIdentities.hasOwnProperty(s)&&t.push({Type:Types.IdentityType.getIdentityType(s),Identity:e.userIdentities[s]});return {UserIdentities:t}}}},this.IdentityAPI={HTTPCodes:HTTPCodes,/**
|
|
604
|
+
!1!==o&&0<=o&&(r[Types.IdentityType.getIdentityType(n)]=i[n]);}return r},createAliasNetworkRequest:function createAliasNetworkRequest(e){return {request_id:t._Helpers.generateUniqueId(),request_type:"alias",environment:t._Store.SDKConfig.isDevelopmentMode?"development":"production",api_key:t._Store.devToken,data:{destination_mpid:e.destinationMpid,source_mpid:e.sourceMpid,start_unixtime_ms:e.startTime,end_unixtime_ms:e.endTime,scope:e.scope,device_application_stamp:t._Store.deviceId}}},convertAliasToNative:function convertAliasToNative(e){return {DestinationMpid:e.destinationMpid,SourceMpid:e.sourceMpid,StartUnixtimeMs:e.startTime,EndUnixtimeMs:e.endTime}},convertToNative:function convertToNative(e){var t=[];if(e&&e.userIdentities){for(var s in e.userIdentities)e.userIdentities.hasOwnProperty(s)&&t.push({Type:Types.IdentityType.getIdentityType(s),Identity:e.userIdentities[s]});return {UserIdentities:t}}}},this.IdentityAPI={HTTPCodes:HTTPCodes$2,/**
|
|
1980
605
|
* Initiate a logout request to the mParticle server
|
|
1981
606
|
* @method identify
|
|
1982
607
|
* @param {Object} identityApiData The identityApiData object as indicated [here](https://github.com/mParticle/mparticle-sdk-javascript/blob/master-v2/README.md#1-customize-the-sdk)
|
|
1983
608
|
* @param {Function} [callback] A callback function that is called when the identify request completes
|
|
1984
|
-
*/identify:function identify(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"identify");if(n&&(i=n.getMPID()),o.valid){var a=t._Identity.IdentityRequest.createIdentityRequest(e,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.deviceId,t._Store.context,i);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Identify,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes.nativeIdentityRequest,"Identify request sent to native sdk")):t._IdentityAPIClient.sendIdentityRequest(a,"identify",r,e,s.parseIdentityResponse,i):(t._Helpers.invokeCallback(r,HTTPCodes.loggingDisabledOrMissingAPIKey,Messages$
|
|
609
|
+
*/identify:function identify(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"identify");if(n&&(i=n.getMPID()),o.valid){var a=t._Identity.IdentityRequest.createIdentityRequest(e,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.deviceId,t._Store.context,i);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Identify,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes$2.nativeIdentityRequest,"Identify request sent to native sdk")):t._IdentityAPIClient.sendIdentityRequest(a,"identify",r,e,s.parseIdentityResponse,i):(t._Helpers.invokeCallback(r,HTTPCodes$2.loggingDisabledOrMissingAPIKey,Messages$2.InformationMessages.AbandonLogEvent),t.Logger.verbose(Messages$2.InformationMessages.AbandonLogEvent));}else t._Helpers.invokeCallback(r,HTTPCodes$2.validationIssue,o.error),t.Logger.verbose(o);},/**
|
|
1985
610
|
* Initiate a logout request to the mParticle server
|
|
1986
611
|
* @method logout
|
|
1987
612
|
* @param {Object} identityApiData The identityApiData object as indicated [here](https://github.com/mParticle/mparticle-sdk-javascript/blob/master-v2/README.md#1-customize-the-sdk)
|
|
1988
613
|
* @param {Function} [callback] A callback function that is called when the logout request completes
|
|
1989
|
-
*/logout:function logout(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"logout");if(n&&(i=n.getMPID()),o.valid){var a,d=t._Identity.IdentityRequest.createIdentityRequest(e,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.deviceId,t._Store.context,i);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Logout,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes.nativeIdentityRequest,"Logout request sent to native sdk")):(t._IdentityAPIClient.sendIdentityRequest(d,"logout",r,e,s.parseIdentityResponse,i),a=t._ServerModel.createEventObject({messageType:Types.MessageType.Profile}),a.ProfileMessageType=Types.ProfileMessageType.Logout,t._Store.activeForwarders.length&&t._Store.activeForwarders.forEach(function(e){e.logOut&&e.logOut(a);})):(t._Helpers.invokeCallback(r,HTTPCodes.loggingDisabledOrMissingAPIKey,Messages$
|
|
614
|
+
*/logout:function logout(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"logout");if(n&&(i=n.getMPID()),o.valid){var a,d=t._Identity.IdentityRequest.createIdentityRequest(e,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.deviceId,t._Store.context,i);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Logout,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes$2.nativeIdentityRequest,"Logout request sent to native sdk")):(t._IdentityAPIClient.sendIdentityRequest(d,"logout",r,e,s.parseIdentityResponse,i),a=t._ServerModel.createEventObject({messageType:Types.MessageType.Profile}),a.ProfileMessageType=Types.ProfileMessageType.Logout,t._Store.activeForwarders.length&&t._Store.activeForwarders.forEach(function(e){e.logOut&&e.logOut(a);})):(t._Helpers.invokeCallback(r,HTTPCodes$2.loggingDisabledOrMissingAPIKey,Messages$2.InformationMessages.AbandonLogEvent),t.Logger.verbose(Messages$2.InformationMessages.AbandonLogEvent));}else t._Helpers.invokeCallback(r,HTTPCodes$2.validationIssue,o.error),t.Logger.verbose(o);},/**
|
|
1990
615
|
* Initiate a login request to the mParticle server
|
|
1991
616
|
* @method login
|
|
1992
617
|
* @param {Object} identityApiData The identityApiData object as indicated [here](https://github.com/mParticle/mparticle-sdk-javascript/blob/master-v2/README.md#1-customize-the-sdk)
|
|
1993
618
|
* @param {Function} [callback] A callback function that is called when the login request completes
|
|
1994
|
-
*/login:function login(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"login");if(n&&(i=n.getMPID()),o.valid){var a=t._Identity.IdentityRequest.createIdentityRequest(e,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.deviceId,t._Store.context,i);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Login,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes.nativeIdentityRequest,"Login request sent to native sdk")):t._IdentityAPIClient.sendIdentityRequest(a,"login",r,e,s.parseIdentityResponse,i):(t._Helpers.invokeCallback(r,HTTPCodes.loggingDisabledOrMissingAPIKey,Messages$
|
|
619
|
+
*/login:function login(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"login");if(n&&(i=n.getMPID()),o.valid){var a=t._Identity.IdentityRequest.createIdentityRequest(e,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.deviceId,t._Store.context,i);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Login,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes$2.nativeIdentityRequest,"Login request sent to native sdk")):t._IdentityAPIClient.sendIdentityRequest(a,"login",r,e,s.parseIdentityResponse,i):(t._Helpers.invokeCallback(r,HTTPCodes$2.loggingDisabledOrMissingAPIKey,Messages$2.InformationMessages.AbandonLogEvent),t.Logger.verbose(Messages$2.InformationMessages.AbandonLogEvent));}else t._Helpers.invokeCallback(r,HTTPCodes$2.validationIssue,o.error),t.Logger.verbose(o);},/**
|
|
1995
620
|
* Initiate a modify request to the mParticle server
|
|
1996
621
|
* @method modify
|
|
1997
622
|
* @param {Object} identityApiData The identityApiData object as indicated [here](https://github.com/mParticle/mparticle-sdk-javascript/blob/master-v2/README.md#1-customize-the-sdk)
|
|
1998
623
|
* @param {Function} [callback] A callback function that is called when the modify request completes
|
|
1999
|
-
*/modify:function modify(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"modify");n&&(i=n.getMPID());var a=e&&e.userIdentities?e.userIdentities:{};if(o.valid){var d=t._Identity.IdentityRequest.createModifyIdentityRequest(n?n.getUserIdentities().userIdentities:{},a,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.context);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Modify,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes.nativeIdentityRequest,"Modify request sent to native sdk")):t._IdentityAPIClient.sendIdentityRequest(d,"modify",r,e,s.parseIdentityResponse,i):(t._Helpers.invokeCallback(r,HTTPCodes.loggingDisabledOrMissingAPIKey,Messages$
|
|
624
|
+
*/modify:function modify(e,r){var i,n=t.Identity.getCurrentUser(),o=t._Identity.IdentityRequest.preProcessIdentityRequest(e,r,"modify");n&&(i=n.getMPID());var a=e&&e.userIdentities?e.userIdentities:{};if(o.valid){var d=t._Identity.IdentityRequest.createModifyIdentityRequest(n?n.getUserIdentities().userIdentities:{},a,Constants.platform,Constants.sdkVendor,Constants.sdkVersion,t._Store.context);t._Helpers.canLog()?t._Store.webviewBridgeEnabled?(t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Modify,JSON.stringify(t._Identity.IdentityRequest.convertToNative(e))),t._Helpers.invokeCallback(r,HTTPCodes$2.nativeIdentityRequest,"Modify request sent to native sdk")):t._IdentityAPIClient.sendIdentityRequest(d,"modify",r,e,s.parseIdentityResponse,i):(t._Helpers.invokeCallback(r,HTTPCodes$2.loggingDisabledOrMissingAPIKey,Messages$2.InformationMessages.AbandonLogEvent),t.Logger.verbose(Messages$2.InformationMessages.AbandonLogEvent));}else t._Helpers.invokeCallback(r,HTTPCodes$2.validationIssue,o.error),t.Logger.verbose(o);},/**
|
|
2000
625
|
* Returns a user object with methods to interact with the current user
|
|
2001
626
|
* @method getCurrentUser
|
|
2002
627
|
* @return {Object} the current user object
|
|
@@ -2015,7 +640,7 @@ combineUserIdentities:function combineUserIdentities(e,s){var r={},i=t._Helpers.
|
|
|
2015
640
|
* @method aliasUsers
|
|
2016
641
|
* @param {Object} aliasRequest object representing an AliasRequest
|
|
2017
642
|
* @param {Function} [callback] A callback function that is called when the aliasUsers request completes
|
|
2018
|
-
*/aliasUsers:function aliasUsers(e,s){var r;if(e.destinationMpid&&e.sourceMpid||(r=Messages$
|
|
643
|
+
*/aliasUsers:function aliasUsers(e,s){var r;if(e.destinationMpid&&e.sourceMpid||(r=Messages$2.ValidationMessages.AliasMissingMpid),e.destinationMpid===e.sourceMpid&&(r=Messages$2.ValidationMessages.AliasNonUniqueMpid),e.startTime&&e.endTime||(r=Messages$2.ValidationMessages.AliasMissingTime),e.startTime>e.endTime&&(r=Messages$2.ValidationMessages.AliasStartBeforeEndTime),r)return t.Logger.warning(r),void t._Helpers.invokeAliasCallback(s,HTTPCodes$2.validationIssue,r);if(!t._Helpers.canLog())t._Helpers.invokeAliasCallback(s,HTTPCodes$2.loggingDisabledOrMissingAPIKey,Messages$2.InformationMessages.AbandonAliasUsers),t.Logger.verbose(Messages$2.InformationMessages.AbandonAliasUsers);else if(t._Store.webviewBridgeEnabled)t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Alias,JSON.stringify(t._Identity.IdentityRequest.convertAliasToNative(e))),t._Helpers.invokeAliasCallback(s,HTTPCodes$2.nativeIdentityRequest,"Alias request sent to native sdk");else {t.Logger.verbose(Messages$2.InformationMessages.StartingAliasRequest+": "+e.sourceMpid+" -> "+e.destinationMpid);var i=t._Identity.IdentityRequest.createAliasNetworkRequest(e);t._IdentityAPIClient.sendAliasRequest(i,s);}},/**
|
|
2019
644
|
Create a default AliasRequest for 2 MParticleUsers. This will construct the request
|
|
2020
645
|
using the sourceUser's firstSeenTime as the startTime, and its lastSeenTime as the endTime.
|
|
2021
646
|
|
|
@@ -2041,29 +666,29 @@ combineUserIdentities:function combineUserIdentities(e,s){var r={},i=t._Helpers.
|
|
|
2041
666
|
* Sets a user tag
|
|
2042
667
|
* @method setUserTag
|
|
2043
668
|
* @param {String} tagName
|
|
2044
|
-
*/setUserTag:function setUserTag(e){return t._Helpers.Validators.isValidKeyValue(e)?void this.setUserAttribute(e,null):void t.Logger.error(Messages$
|
|
669
|
+
*/setUserTag:function setUserTag(e){return t._Helpers.Validators.isValidKeyValue(e)?void this.setUserAttribute(e,null):void t.Logger.error(Messages$2.ErrorMessages.BadKey)},/**
|
|
2045
670
|
* Removes a user tag
|
|
2046
671
|
* @method removeUserTag
|
|
2047
672
|
* @param {String} tagName
|
|
2048
|
-
*/removeUserTag:function removeUserTag(e){return t._Helpers.Validators.isValidKeyValue(e)?void this.removeUserAttribute(e):void t.Logger.error(Messages$
|
|
673
|
+
*/removeUserTag:function removeUserTag(e){return t._Helpers.Validators.isValidKeyValue(e)?void this.removeUserAttribute(e):void t.Logger.error(Messages$2.ErrorMessages.BadKey)},/**
|
|
2049
674
|
* Sets a user attribute
|
|
2050
675
|
* @method setUserAttribute
|
|
2051
676
|
* @param {String} key
|
|
2052
677
|
* @param {String} value
|
|
2053
|
-
*/setUserAttribute:function setUserAttribute(s,i){var n,o,a,d;if(t._SessionManager.resetSessionTimer(),t._Helpers.canLog()){if(!t._Helpers.Validators.isValidAttributeValue(i))return void t.Logger.error(Messages$
|
|
678
|
+
*/setUserAttribute:function setUserAttribute(s,i){var n,o,a,d;if(t._SessionManager.resetSessionTimer(),t._Helpers.canLog()){if(!t._Helpers.Validators.isValidAttributeValue(i))return void t.Logger.error(Messages$2.ErrorMessages.BadAttribute);if(!t._Helpers.Validators.isValidKeyValue(s))return void t.Logger.error(Messages$2.ErrorMessages.BadKey);if(t._Store.webviewBridgeEnabled)t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.SetUserAttribute,JSON.stringify({key:s,value:i}));else {n=t._Persistence.getPersistence(),o=this.getAllUserAttributes();var g=t._Helpers.findKeyInObject(o,s);g?(d=!1,a=o[g],delete o[g]):d=!0,o[s]=i,n&&n[e]&&(n[e].ua=o,t._Persistence.savePersistence(n,e)),r.sendUserAttributeChangeEvent(s,i,a,d,!1,this),t._Forwarders.initForwarders(r.IdentityAPI.getCurrentUser().getUserIdentities(),t._APIClient.prepareForwardingStats),t._Forwarders.callSetUserAttributeOnForwarders(s,i);}}},/**
|
|
2054
679
|
* Set multiple user attributes
|
|
2055
680
|
* @method setUserAttributes
|
|
2056
681
|
* @param {Object} user attribute object with keys of the attribute type, and value of the attribute value
|
|
2057
|
-
*/setUserAttributes:function setUserAttributes(e){if(t._SessionManager.resetSessionTimer(),!t._Helpers.isObject(e))t.Logger.error("Must pass an object into setUserAttributes. You passed a "+
|
|
682
|
+
*/setUserAttributes:function setUserAttributes(e){if(t._SessionManager.resetSessionTimer(),!t._Helpers.isObject(e))t.Logger.error("Must pass an object into setUserAttributes. You passed a "+_typeof(e));else if(t._Helpers.canLog())for(var s in e)e.hasOwnProperty(s)&&this.setUserAttribute(s,e[s]);},/**
|
|
2058
683
|
* Removes a specific user attribute
|
|
2059
684
|
* @method removeUserAttribute
|
|
2060
685
|
* @param {String} key
|
|
2061
|
-
*/removeUserAttribute:function removeUserAttribute(s){var i,n;if(t._SessionManager.resetSessionTimer(),!t._Helpers.Validators.isValidKeyValue(s))return void t.Logger.error(Messages$
|
|
686
|
+
*/removeUserAttribute:function removeUserAttribute(s){var i,n;if(t._SessionManager.resetSessionTimer(),!t._Helpers.Validators.isValidKeyValue(s))return void t.Logger.error(Messages$2.ErrorMessages.BadKey);if(t._Store.webviewBridgeEnabled)t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.RemoveUserAttribute,JSON.stringify({key:s,value:null}));else {i=t._Persistence.getPersistence(),n=this.getAllUserAttributes();var o=t._Helpers.findKeyInObject(n,s);o&&(s=o);var a=n[s]?n[s].toString():null;delete n[s],i&&i[e]&&(i[e].ua=n,t._Persistence.savePersistence(i,e)),r.sendUserAttributeChangeEvent(s,null,a,!1,!0,this),t._Forwarders.initForwarders(r.IdentityAPI.getCurrentUser().getUserIdentities(),t._APIClient.prepareForwardingStats),t._Forwarders.applyToForwarders("removeUserAttribute",s);}},/**
|
|
2062
687
|
* Sets a list of user attributes
|
|
2063
688
|
* @method setUserAttributeList
|
|
2064
689
|
* @param {String} key
|
|
2065
690
|
* @param {Array} value an array of values
|
|
2066
|
-
*/setUserAttributeList:function setUserAttributeList(s,n){var o,a,d,g,l;if(t._SessionManager.resetSessionTimer(),!t._Helpers.Validators.isValidKeyValue(s))return void t.Logger.error(Messages$
|
|
691
|
+
*/setUserAttributeList:function setUserAttributeList(s,n){var o,a,d,g,l;if(t._SessionManager.resetSessionTimer(),!t._Helpers.Validators.isValidKeyValue(s))return void t.Logger.error(Messages$2.ErrorMessages.BadKey);if(!Array.isArray(n))return void t.Logger.error("The value you passed in to setUserAttributeList must be an array. You passed in a "+("undefined"==typeof value?"undefined":_typeof(value)));var u=n.slice();if(t._Store.webviewBridgeEnabled)t._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.SetUserAttributeList,JSON.stringify({key:s,value:u}));else {o=t._Persistence.getPersistence(),a=this.getAllUserAttributes();var p=t._Helpers.findKeyInObject(a,s);if(p?(g=!1,d=a[p],delete a[p]):g=!0,a[s]=u,o&&o[e]&&(o[e].ua=a,t._Persistence.savePersistence(o,e)),t._APIClient.shouldEnableBatching()){// If the new attributeList length is different previous, then there is a change event.
|
|
2067
692
|
// Loop through new attributes list, see if they are all in the same index as previous user attributes list
|
|
2068
693
|
// If there are any changes, break, and immediately send a userAttributeChangeEvent with full array as a value
|
|
2069
694
|
if(!d||!Array.isArray(d))l=!0;else if(n.length!==d.length)l=!0;else for(var c=0;c<n.length;c++)if(d[c]!==n[c]){l=!0;break}l&&r.sendUserAttributeChangeEvent(s,n,d,g,!1,this);}t._Forwarders.initForwarders(r.IdentityAPI.getCurrentUser().getUserIdentities(),t._APIClient.prepareForwardingStats),t._Forwarders.callSetUserAttributeOnForwarders(s,u);}},/**
|
|
@@ -2111,7 +736,7 @@ if(!d||!Array.isArray(d))l=!0;else if(n.length!==d.length)l=!0;else for(var c=0;
|
|
|
2111
736
|
* @return {Array} array of cart products
|
|
2112
737
|
* @deprecated
|
|
2113
738
|
*/getCartProducts:function getCartProducts(){return t.Logger.warning("Deprecated function Identity.getCurrentUser().getCart().getCartProducts() will be removed in future releases"),t._Persistence.getCartProducts(e)}}},this.parseIdentityResponse=function(r,i,n,o,a){var d,g,l,u,p=t.Identity.getUser(i),c={},y=p?p.getUserIdentities().userIdentities:{},I=t._Helpers.extend({},y);t._Store.identityCallInFlight=!1;try{if(t.Logger.verbose("Parsing \""+a+"\" identity response from server"),r.responseText&&(l=JSON.parse(r.responseText),l.hasOwnProperty("is_logged_in")&&(t._Store.isLoggedIn=l.is_logged_in)),(!p||p.getMPID()&&l.mpid&&l.mpid!==p.getMPID())&&(t._Store.mpid=l.mpid,p&&t._Persistence.setLastSeenTime(i),!t._Persistence.getFirstSeenTime(l.mpid)&&(g=!0),t._Persistence.setFirstSeenTime(l.mpid)),200===r.status){if("modify"===a)c=t._Identity.IdentityRequest.combineUserIdentities(y,o.userIdentities),t._Persistence.saveUserIdentitiesToPersistence(i,c);else {var _=s.IdentityAPI.getUser(l.mpid),v=_?_.getUserIdentities().userIdentities:{},m=t._Helpers.extend({},v);//if there is any previous migration data
|
|
2114
|
-
if(t.Logger.verbose("Successfully parsed Identity Response"),"identify"==a&&p&&l.mpid===p.getMPID()&&t._Persistence.setFirstSeenTime(l.mpid),u=t._Store.currentSessionMPIDs.indexOf(l.mpid),t._Store.sessionId&&l.mpid&&i!==l.mpid&&0>u&&t._Store.currentSessionMPIDs.push(l.mpid),-1<u&&(t._Store.currentSessionMPIDs=t._Store.currentSessionMPIDs.slice(0,u).concat(t._Store.currentSessionMPIDs.slice(u+1,t._Store.currentSessionMPIDs.length)),t._Store.currentSessionMPIDs.push(l.mpid)),t._CookieSyncManager.attemptCookieSync(i,l.mpid,g),s.checkIdentitySwap(i,l.mpid,t._Store.currentSessionMPIDs),Object.keys(t._Store.migrationData).length){c=t._Store.migrationData.userIdentities||{};var S=t._Store.migrationData.userAttributes||{};t._Persistence.saveUserAttributesToPersistence(l.mpid,S);}else o&&o.userIdentities&&Object.keys(o.userIdentities).length&&(c=s.IdentityRequest.combineUserIdentities(v,o.userIdentities));t._Persistence.saveUserIdentitiesToPersistence(l.mpid,c),t._Persistence.update(),t._Persistence.findPrevCookiesBasedOnUI(o),t._Store.context=l.context||t._Store.context;}if(d=t.Identity.getCurrentUser(),o&&o.onUserAlias&&t._Helpers.Validators.isFunction(o.onUserAlias))try{t.Logger.warning("Deprecated function onUserAlias will be removed in future releases"),o.onUserAlias(p,d);}catch(s){t.Logger.error("There was an error with your onUserAlias function - "+s);}var P=t._Persistence.getPersistence();d&&(t._Persistence.storeDataInMemory(P,d.getMPID()),(!p||d.getMPID()!==p.getMPID()||p.isLoggedIn()!==d.isLoggedIn())&&t._Forwarders.initForwarders(d.getUserIdentities().userIdentities,t._APIClient.prepareForwardingStats),t._Forwarders.setForwarderUserIdentities(d.getUserIdentities().userIdentities),t._Forwarders.setForwarderOnIdentityComplete(d,a),t._Forwarders.setForwarderOnUserIdentified(d,a));var b={};for(var A in c)b[Types.IdentityType.getIdentityName(t._Helpers.parseNumber(A))]=c[A];s.sendUserIdentityChangeEvent(b,a,l.mpid,"modify"===a?I:m);}n?0===r.status?t._Helpers.invokeCallback(n,HTTPCodes.noHttpCoverage,l||null,d):t._Helpers.invokeCallback(n,r.status,l||null,d):l&&l.errors&&l.errors.length&&t.Logger.error("Received HTTP response code of "+r.status+" - "+l.errors[0].message),t._APIClient.processQueuedEvents();}catch(s){n&&t._Helpers.invokeCallback(n,r.status,l||null),t.Logger.error("Error parsing JSON response from Identity server: "+s);}},this.sendUserIdentityChangeEvent=function(e,r,i,n){var o,a;if(t._APIClient.shouldEnableBatching()&&(i||"modify"===r))for(var d in o=this.IdentityAPI.getUser(i),e)if(n[d]!==e[d]){var g=!n[d];a=s.createUserIdentityChange(d,e[d],n[d],g,o),t._APIClient.sendEventToServer(a);}},this.createUserIdentityChange=function(e,s,r,i,n){var o;return o=t._ServerModel.createEventObject({messageType:Types.MessageType.UserIdentityChange,userIdentityChanges:{New:{IdentityType:e,Identity:s,CreatedThisBatch:i},Old:{IdentityType:e,Identity:r,CreatedThisBatch:!1}},userInMemory:n}),o},this.sendUserAttributeChangeEvent=function(e,r,i,n,o,a){if(t._APIClient.shouldEnableBatching()){var d=s.createUserAttributeChange(e,r,i,n,o,a);d&&t._APIClient.sendEventToServer(d);}},this.createUserAttributeChange=function(e,s,r,i,n,o){r||(r=null);var a;return s!==r&&(a=t._ServerModel.createEventObject({messageType:Types.MessageType.UserAttributeChange,userAttributeChanges:{UserAttributeName:e,New:s,Old:r||null,Deleted:n,IsNewAttribute:i}},o)),a};}
|
|
739
|
+
if(t.Logger.verbose("Successfully parsed Identity Response"),"identify"==a&&p&&l.mpid===p.getMPID()&&t._Persistence.setFirstSeenTime(l.mpid),u=t._Store.currentSessionMPIDs.indexOf(l.mpid),t._Store.sessionId&&l.mpid&&i!==l.mpid&&0>u&&t._Store.currentSessionMPIDs.push(l.mpid),-1<u&&(t._Store.currentSessionMPIDs=t._Store.currentSessionMPIDs.slice(0,u).concat(t._Store.currentSessionMPIDs.slice(u+1,t._Store.currentSessionMPIDs.length)),t._Store.currentSessionMPIDs.push(l.mpid)),t._CookieSyncManager.attemptCookieSync(i,l.mpid,g),s.checkIdentitySwap(i,l.mpid,t._Store.currentSessionMPIDs),Object.keys(t._Store.migrationData).length){c=t._Store.migrationData.userIdentities||{};var S=t._Store.migrationData.userAttributes||{};t._Persistence.saveUserAttributesToPersistence(l.mpid,S);}else o&&o.userIdentities&&Object.keys(o.userIdentities).length&&(c=s.IdentityRequest.combineUserIdentities(v,o.userIdentities));t._Persistence.saveUserIdentitiesToPersistence(l.mpid,c),t._Persistence.update(),t._Persistence.findPrevCookiesBasedOnUI(o),t._Store.context=l.context||t._Store.context;}if(d=t.Identity.getCurrentUser(),o&&o.onUserAlias&&t._Helpers.Validators.isFunction(o.onUserAlias))try{t.Logger.warning("Deprecated function onUserAlias will be removed in future releases"),o.onUserAlias(p,d);}catch(s){t.Logger.error("There was an error with your onUserAlias function - "+s);}var P=t._Persistence.getPersistence();d&&(t._Persistence.storeDataInMemory(P,d.getMPID()),(!p||d.getMPID()!==p.getMPID()||p.isLoggedIn()!==d.isLoggedIn())&&t._Forwarders.initForwarders(d.getUserIdentities().userIdentities,t._APIClient.prepareForwardingStats),t._Forwarders.setForwarderUserIdentities(d.getUserIdentities().userIdentities),t._Forwarders.setForwarderOnIdentityComplete(d,a),t._Forwarders.setForwarderOnUserIdentified(d,a));var b={};for(var A in c)b[Types.IdentityType.getIdentityName(t._Helpers.parseNumber(A))]=c[A];s.sendUserIdentityChangeEvent(b,a,l.mpid,"modify"===a?I:m);}n?0===r.status?t._Helpers.invokeCallback(n,HTTPCodes$2.noHttpCoverage,l||null,d):t._Helpers.invokeCallback(n,r.status,l||null,d):l&&l.errors&&l.errors.length&&t.Logger.error("Received HTTP response code of "+r.status+" - "+l.errors[0].message),t._APIClient.processQueuedEvents();}catch(s){n&&t._Helpers.invokeCallback(n,r.status,l||null),t.Logger.error("Error parsing JSON response from Identity server: "+s);}},this.sendUserIdentityChangeEvent=function(e,r,i,n){var o,a;if(t._APIClient.shouldEnableBatching()&&(i||"modify"===r))for(var d in o=this.IdentityAPI.getUser(i),e)if(n[d]!==e[d]){var g=!n[d];a=s.createUserIdentityChange(d,e[d],n[d],g,o),t._APIClient.sendEventToServer(a);}},this.createUserIdentityChange=function(e,s,r,i,n){var o;return o=t._ServerModel.createEventObject({messageType:Types.MessageType.UserIdentityChange,userIdentityChanges:{New:{IdentityType:e,Identity:s,CreatedThisBatch:i},Old:{IdentityType:e,Identity:r,CreatedThisBatch:!1}},userInMemory:n}),o},this.sendUserAttributeChangeEvent=function(e,r,i,n,o,a){if(t._APIClient.shouldEnableBatching()){var d=s.createUserAttributeChange(e,r,i,n,o,a);d&&t._APIClient.sendEventToServer(d);}},this.createUserAttributeChange=function(e,s,r,i,n,o){r||(r=null);var a;return s!==r&&(a=t._ServerModel.createEventObject({messageType:Types.MessageType.UserAttributeChange,userAttributeChanges:{UserAttributeName:e,New:s,Old:r||null,Deleted:n,IsNewAttribute:i}},o)),a};}
|
|
2115
740
|
|
|
2116
741
|
function Consent(a){var b=this,c="data_sale_opt_out";// this function is called when consent is required to determine if a cookie sync should happen, or a forwarder should be initialized
|
|
2117
742
|
this.isEnabledForUserConsent=function(b,c){if(!b||!b.values||!b.values.length)return !0;if(!c)return !1;var d,e={},f=c.getConsentState();if(f){// the server hashes consent purposes in the following way:
|
|
@@ -2155,235 +780,44 @@ var g=f.getGDPRConsentState();if(g)for(var h in g)g.hasOwnProperty(h)&&(d=a._Hel
|
|
|
2155
780
|
* Removes CCPA from the consent state object
|
|
2156
781
|
*
|
|
2157
782
|
* @method removeCCPAConsentState
|
|
2158
|
-
*/function k(){return delete m[c],this}var l={},m={};return d&&(g(d.getGDPRConsentState()),j(d.getCCPAConsentState())),{setGDPRConsentState:g,addGDPRConsentState:f,setCCPAConsentState:j,getCCPAConsentState:function(){return m[c]},getGDPRConsentState:i,removeGDPRConsentState:h,removeCCPAState:function(){return a.Logger.warning("removeCCPAState is deprecated and will be removed in a future release; use removeCCPAConsentState instead"),k()},removeCCPAConsentState:k}};}
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
}
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
case DataPlanMatchType.UserAttributes: return [a.type].join(":");
|
|
2197
|
-
default: return null;
|
|
2198
|
-
} } }, { key: "generateProductAttributeMatchKey", value: function generateProductAttributeMatchKey(a) { var b = a.criteria || ""; switch (a.type) {
|
|
2199
|
-
case DataPlanMatchType.ProductAction: return [a.type, b.action, "ProductAttributes"].join(":");
|
|
2200
|
-
case DataPlanMatchType.PromotionAction: return [a.type, b.action, "ProductAttributes"].join(":");
|
|
2201
|
-
case DataPlanMatchType.ProductImpression: return [a.type, "ProductAttributes"].join(":");
|
|
2202
|
-
default: return null;
|
|
2203
|
-
} } }, { key: "getPlannedProperties", value: function getPlannedProperties(a, b) { var c, d, e, f, g, h, i; switch (a) {
|
|
2204
|
-
case DataPlanMatchType.CustomEvent:
|
|
2205
|
-
case DataPlanMatchType.ScreenView:
|
|
2206
|
-
case DataPlanMatchType.ProductAction:
|
|
2207
|
-
case DataPlanMatchType.PromotionAction:
|
|
2208
|
-
case DataPlanMatchType.ProductImpression:
|
|
2209
|
-
if (h = null === b || void 0 === b || null === (c = b.definition) || void 0 === c || null === (d = c.properties) || void 0 === d || null === (e = d.data) || void 0 === e || null === (f = e.properties) || void 0 === f ? void 0 : f.custom_attributes, h) {
|
|
2210
|
-
if (!0 === h.additionalProperties || void 0 === h.additionalProperties)
|
|
2211
|
-
return !0;
|
|
2212
|
-
for (var j, k = {}, l = 0, m = Object.keys(h.properties); l < m.length; l++)
|
|
2213
|
-
j = m[l], k[j] = !0;
|
|
2214
|
-
return k;
|
|
2215
|
-
}
|
|
2216
|
-
var n, o, p;
|
|
2217
|
-
return !1 !== (null === b || void 0 === b || null === (n = b.definition) || void 0 === n || null === (o = n.properties) || void 0 === o || null === (p = o.data) || void 0 === p ? void 0 : p.additionalProperties) || {};
|
|
2218
|
-
case DataPlanMatchType.UserAttributes:
|
|
2219
|
-
case DataPlanMatchType.UserIdentities:
|
|
2220
|
-
if (i = null === b || void 0 === b || null === (g = b.definition) || void 0 === g ? void 0 : g.additionalProperties, !0 === i || void 0 === i)
|
|
2221
|
-
return !0;
|
|
2222
|
-
for (var q, r = {}, s = b.definition.properties, t = 0, u = Object.keys(s); t < u.length; t++)
|
|
2223
|
-
q = u[t], r[q] = !0;
|
|
2224
|
-
return r;
|
|
2225
|
-
default: return null;
|
|
2226
|
-
} } }, { key: "getProductProperties", value: function getProductProperties(a, b) {
|
|
2227
|
-
var c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w;
|
|
2228
|
-
switch (a) {
|
|
2229
|
-
case DataPlanMatchType.ProductImpression: //product item attributes
|
|
2230
|
-
if (w = null === b || void 0 === b || null === (c = b.definition) || void 0 === c || null === (d = c.properties) || void 0 === d || null === (e = d.data) || void 0 === e || null === (f = e.properties) || void 0 === f || null === (g = f.product_impressions) || void 0 === g || null === (h = g.items) || void 0 === h || null === (i = h.properties) || void 0 === i || null === (j = i.products) || void 0 === j || null === (k = j.items) || void 0 === k || null === (l = k.properties) || void 0 === l ? void 0 : l.custom_attributes, !1 === (null === (m = w) || void 0 === m ? void 0 : m.additionalProperties)) {
|
|
2231
|
-
for (var x = {}, y = 0, z = Object.keys(null === (A = w) || void 0 === A ? void 0 : A.properties); y < z.length; y++) {
|
|
2232
|
-
var A, B = z[y];
|
|
2233
|
-
x[B] = !0;
|
|
2234
|
-
}
|
|
2235
|
-
return x;
|
|
2236
|
-
}
|
|
2237
|
-
return !0;
|
|
2238
|
-
case DataPlanMatchType.ProductAction:
|
|
2239
|
-
case DataPlanMatchType.PromotionAction: //product item attributes
|
|
2240
|
-
if (w = null === b || void 0 === b || null === (n = b.definition) || void 0 === n || null === (o = n.properties) || void 0 === o || null === (p = o.data) || void 0 === p || null === (q = p.properties) || void 0 === q || null === (r = q.product_action) || void 0 === r || null === (s = r.properties) || void 0 === s || null === (t = s.products) || void 0 === t || null === (u = t.items) || void 0 === u || null === (v = u.properties) || void 0 === v ? void 0 : v.custom_attributes, w && !1 === w.additionalProperties) {
|
|
2241
|
-
for (var C = {}, D = 0, E = Object.keys(null === (F = w) || void 0 === F ? void 0 : F.properties); D < E.length; D++) {
|
|
2242
|
-
var F, G = E[D];
|
|
2243
|
-
C[G] = !0;
|
|
2244
|
-
}
|
|
2245
|
-
return C;
|
|
2246
|
-
}
|
|
2247
|
-
return !0;
|
|
2248
|
-
default: return null;
|
|
2249
|
-
}
|
|
2250
|
-
} }, { key: "getMatchKey", value: function getMatchKey(a) { switch (a.event_type) {
|
|
2251
|
-
case dist_14.screenView:
|
|
2252
|
-
var h = a;
|
|
2253
|
-
return h.data ? ["screen_view", "", h.data.screen_name].join(":") : null;
|
|
2254
|
-
case dist_14.commerceEvent:
|
|
2255
|
-
var b = a, c = [];
|
|
2256
|
-
if (b && b.data) {
|
|
2257
|
-
var d = b.data, e = d.product_action, f = d.product_impressions, g = d.promotion_action;
|
|
2258
|
-
e ? (c.push(DataPlanMatchType.ProductAction), c.push(e.action)) : g ? (c.push(DataPlanMatchType.PromotionAction), c.push(g.action)) : f && c.push(DataPlanMatchType.ProductImpression);
|
|
2259
|
-
}
|
|
2260
|
-
return c.join(":");
|
|
2261
|
-
case dist_14.customEvent:
|
|
2262
|
-
var i = a;
|
|
2263
|
-
return i.data ? ["custom_event", i.data.custom_event_type, i.data.event_name].join(":") : null;
|
|
2264
|
-
default: return null;
|
|
2265
|
-
} } }, { key: "getProductAttributeMatchKey", value: function getProductAttributeMatchKey(a) { switch (a.event_type) {
|
|
2266
|
-
case dist_14.commerceEvent:
|
|
2267
|
-
var b = [], c = a.data, d = c.product_action, e = c.product_impressions, f = c.promotion_action;
|
|
2268
|
-
return d ? (b.push(DataPlanMatchType.ProductAction), b.push(d.action), b.push("ProductAttributes")) : f ? (b.push(DataPlanMatchType.PromotionAction), b.push(f.action), b.push("ProductAttributes")) : e && (b.push(DataPlanMatchType.ProductImpression), b.push("ProductAttributes")), b.join(":");
|
|
2269
|
-
default: return null;
|
|
2270
|
-
} } }, { key: "createBlockedEvent", value: function createBlockedEvent(a) {
|
|
2271
|
-
try {
|
|
2272
|
-
return a && (a = this.transformEventAndEventAttributes(a)), a && a.EventDataType === Types.MessageType.Commerce && (a = this.transformProductAttributes(a)), a && (a = this.transformUserAttributes(a), a = this.transformUserIdentities(a)), a;
|
|
2273
|
-
}
|
|
2274
|
-
catch (b) {
|
|
2275
|
-
return a;
|
|
2276
|
-
}
|
|
2277
|
-
} }, { key: "transformEventAndEventAttributes", value: function transformEventAndEventAttributes(a) {
|
|
2278
|
-
var b = _objectSpread$1({}, a), c = convertEvent(b), d = this.getMatchKey(c), e = this.dataPlanMatchLookups[d];
|
|
2279
|
-
if (this.blockEvents && !e) /*
|
|
2280
|
-
If the event is not planned, it doesn't exist in dataPlanMatchLookups
|
|
2281
|
-
and should be blocked (return null to not send anything to forwarders)
|
|
2282
|
-
*/
|
|
2283
|
-
return null;
|
|
2284
|
-
if (this.blockEventAttributes) { /*
|
|
2285
|
-
matchedEvent is set to `true` if additionalProperties is `true`
|
|
2286
|
-
otherwise, delete attributes that exist on event.EventAttributes
|
|
2287
|
-
that aren't on
|
|
2288
|
-
*/
|
|
2289
|
-
if (!0 === e)
|
|
2290
|
-
return b;
|
|
2291
|
-
if (e) {
|
|
2292
|
-
for (var f, g = 0, h = Object.keys(b.EventAttributes); g < h.length; g++)
|
|
2293
|
-
f = h[g], e[f] || delete b.EventAttributes[f];
|
|
2294
|
-
return b;
|
|
2295
|
-
}
|
|
2296
|
-
return b;
|
|
2297
|
-
}
|
|
2298
|
-
return b;
|
|
2299
|
-
} }, { key: "transformProductAttributes", value: function transformProductAttributes(a) {
|
|
2300
|
-
function b(a, b) { b.forEach(function (b) { for (var c, d = 0, e = Object.keys(b.Attributes); d < e.length; d++)
|
|
2301
|
-
c = e[d], a[c] || delete b.Attributes[c]; }); }
|
|
2302
|
-
var c, d = _objectSpread$1({}, a), e = convertEvent(d), f = this.getProductAttributeMatchKey(e), g = this.dataPlanMatchLookups[f];
|
|
2303
|
-
if (this.blockEvents && !g) /*
|
|
2304
|
-
If the event is not planned, it doesn't exist in dataPlanMatchLookups
|
|
2305
|
-
and should be blocked (return null to not send anything to forwarders)
|
|
2306
|
-
*/
|
|
2307
|
-
return null;
|
|
2308
|
-
if (this.blockEventAttributes) { /*
|
|
2309
|
-
matchedEvent is set to `true` if additionalProperties is `true`
|
|
2310
|
-
otherwise, delete attributes that exist on event.EventAttributes
|
|
2311
|
-
that aren't on
|
|
2312
|
-
*/
|
|
2313
|
-
if (!0 === g)
|
|
2314
|
-
return d;
|
|
2315
|
-
if (g) {
|
|
2316
|
-
switch (a.EventCategory) {
|
|
2317
|
-
case Types.CommerceEventType.ProductImpression:
|
|
2318
|
-
d.ProductImpressions.forEach(function (a) { b(g, null === a || void 0 === a ? void 0 : a.ProductList); });
|
|
2319
|
-
break;
|
|
2320
|
-
case Types.CommerceEventType.ProductPurchase:
|
|
2321
|
-
b(g, null === (c = d.ProductAction) || void 0 === c ? void 0 : c.ProductList);
|
|
2322
|
-
break;
|
|
2323
|
-
default: this.mpInstance.Logger.warning("Product Not Supported ");
|
|
2324
|
-
}
|
|
2325
|
-
return d;
|
|
2326
|
-
}
|
|
2327
|
-
return d;
|
|
2328
|
-
}
|
|
2329
|
-
return d;
|
|
2330
|
-
} }, { key: "transformUserAttributes", value: function transformUserAttributes(a) {
|
|
2331
|
-
var b = _objectSpread$1({}, a);
|
|
2332
|
-
if (this.blockUserAttributes) { /*
|
|
2333
|
-
If the user attribute is not found in the matchedAttributes
|
|
2334
|
-
then remove it from event.UserAttributes as it is blocked
|
|
2335
|
-
*/
|
|
2336
|
-
var f = this.dataPlanMatchLookups.user_attributes;
|
|
2337
|
-
if (this.mpInstance._Helpers.isObject(f))
|
|
2338
|
-
for (var c, d = 0, e = Object.keys(b.UserAttributes); d < e.length; d++)
|
|
2339
|
-
c = e[d], f[c] || delete b.UserAttributes[c];
|
|
2340
|
-
}
|
|
2341
|
-
return b;
|
|
2342
|
-
} }, { key: "isAttributeKeyBlocked", value: function isAttributeKeyBlocked(a) { /* used when an attribute is added to the user */ if (!this.blockUserAttributes)
|
|
2343
|
-
return !1; if (this.blockUserAttributes) {
|
|
2344
|
-
var b = this.dataPlanMatchLookups.user_attributes;
|
|
2345
|
-
if (!0 === b)
|
|
2346
|
-
return !1;
|
|
2347
|
-
if (!b[a])
|
|
2348
|
-
return !0;
|
|
2349
|
-
} return !1; } }, { key: "isIdentityBlocked", value: function isIdentityBlocked(a) { /* used when an attribute is added to the user */ if (!this.blockUserIdentities)
|
|
2350
|
-
return !1; if (this.blockUserIdentities) {
|
|
2351
|
-
var b = this.dataPlanMatchLookups.user_identities;
|
|
2352
|
-
if (!0 === b)
|
|
2353
|
-
return !1;
|
|
2354
|
-
if (!b[a])
|
|
2355
|
-
return !0;
|
|
2356
|
-
}
|
|
2357
|
-
else
|
|
2358
|
-
return !1; return !1; } }, { key: "transformUserIdentities", value: function transformUserIdentities(a) { var b = this, c = _objectSpread$1({}, a); if (this.blockUserIdentities) {
|
|
2359
|
-
var e = this.dataPlanMatchLookups.user_identities;
|
|
2360
|
-
if (this.mpInstance._Helpers.isObject(e)) {
|
|
2361
|
-
var d;
|
|
2362
|
-
null !== c && void 0 !== c && null !== (d = c.UserIdentities) && void 0 !== d && d.length && c.UserIdentities.forEach(function (a, d) { var f = Types.IdentityType.getIdentityName(b.mpInstance._Helpers.parseNumber(a.Type)); e[f] || c.UserIdentities.splice(d, 1); });
|
|
2363
|
-
}
|
|
2364
|
-
} return c; } }]), a;
|
|
2365
|
-
}(); /*
|
|
2366
|
-
inspiration from https://github.com/mParticle/data-planning-node/blob/master/src/data_planning/data_plan_event_validator.ts
|
|
2367
|
-
but modified to only include commerce events, custom events, screen views, and removes validation
|
|
2368
|
-
|
|
2369
|
-
The purpose of the KitBlocker class is to parse a data plan and determine what events, event/user/product attributes, and user identities should be blocked from downstream forwarders.
|
|
2370
|
-
|
|
2371
|
-
KitBlocker is instantiated with a data plan on mParticle initialization. KitBlocker.kitBlockingEnabled is false if no data plan is passed.
|
|
2372
|
-
It parses the data plan by creating a `dataPlanMatchLookups` object in the following manner:
|
|
2373
|
-
1. For all events and user attributes/identities, it generates a `matchKey` in the shape of `typeOfEvent:eventType:nameOfEvent`
|
|
2374
|
-
a. The matchKeys' value will return `true` if additionalProperties for the custom attributes/identities is `true`, otherwise it will return an object of planned attribute/identities
|
|
2375
|
-
2. For commerce events, after step 1 and 1a, a second `matchKey` is included that appends `Products`. This is used to determine productAttributes blocked
|
|
2376
|
-
|
|
2377
|
-
When an event is logged in mParticle, it is sent to our server and then calls `KitBlocker.createBlockedEvent` before passing the event to each forwarder.
|
|
2378
|
-
If the event is blocked, it will not send to the forwarder. If the event is not blocked, event/user/product attributes and user identities will be removed from the returned event if blocked.
|
|
2379
|
-
*/
|
|
2380
|
-
|
|
2381
|
-
function ConfigAPIClient(){this.getSDKConfiguration=function(a,b,c,d){var e;try{var f=function(){4===g.readyState&&(200===g.status?(b=d._Helpers.extend({},b,JSON.parse(g.responseText)),c(a,b,d),d.Logger.verbose("Successfully received configuration from server")):(c(a,b,d),d.Logger.verbose("Issue with receiving configuration from server, received HTTP Code of "+g.status)));},g=d._Helpers.createXHR(f);e="https://"+d._Store.SDKConfig.configUrl+a+"/config?env=",e+=b.isDevelopmentMode?"1":"0";var h=b.dataPlan;h&&(h.planId&&(e=e+"&plan_id="+h.planId||""),h.planVersion&&(e=e+"&plan_version="+h.planVersion||"")),g&&(g.open("get",e),g.send(null));}catch(f){c(a,b,d),d.Logger.error("Error getting forwarder configuration from mParticle servers.");}};}
|
|
2382
|
-
|
|
2383
|
-
var HTTPCodes$1=Constants.HTTPCodes,Messages$8=Constants.Messages;function IdentityAPIClient(a){this.sendAliasRequest=function(b,c){var d,e=function(){if(4===d.readyState){//only parse error messages from failing requests
|
|
2384
|
-
if(a.Logger.verbose("Received "+d.statusText+" from server"),200!==d.status&&202!==d.status&&d.responseText){var b=JSON.parse(d.responseText);if(b.hasOwnProperty("message")){var e=b.message;return void a._Helpers.invokeAliasCallback(c,d.status,e)}}a._Helpers.invokeAliasCallback(c,d.status);}};if(a.Logger.verbose(Messages$8.InformationMessages.SendAliasHttp),d=a._Helpers.createXHR(e),d)try{d.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.aliasUrl,a._Store.devToken)+"/Alias"),d.send(JSON.stringify(b));}catch(b){a._Helpers.invokeAliasCallback(c,HTTPCodes$1.noHttpCoverage,b),a.Logger.error("Error sending alias request to mParticle servers. "+b);}},this.sendIdentityRequest=function(b,c,d,e,f,g){var h,i,j=function(){4===h.readyState&&(a.Logger.verbose("Received "+h.statusText+" from server"),f(h,i,d,e,c));};if(a.Logger.verbose(Messages$8.InformationMessages.SendIdentityBegin),!b)return void a.Logger.error(Messages$8.ErrorMessages.APIRequestEmpty);if(a.Logger.verbose(Messages$8.InformationMessages.SendIdentityHttp),h=a._Helpers.createXHR(j),h)try{a._Store.identityCallInFlight?a._Helpers.invokeCallback(d,HTTPCodes$1.activeIdentityRequest,"There is currently an Identity request processing. Please wait for this to return before requesting again"):(i=g||null,"modify"===c?h.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.identityUrl)+g+"/"+c):h.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.identityUrl)+c),h.setRequestHeader("Content-Type","application/json"),h.setRequestHeader("x-mp-key",a._Store.devToken),a._Store.identityCallInFlight=!0,h.send(JSON.stringify(b)));}catch(b){a._Store.identityCallInFlight=!1,a._Helpers.invokeCallback(d,HTTPCodes$1.noHttpCoverage,b),a.Logger.error("Error sending identity request to servers with status code "+h.status+" - "+b);}};}
|
|
2385
|
-
|
|
2386
|
-
var Messages$9=Constants.Messages,HTTPCodes$2=Constants.HTTPCodes;/**
|
|
783
|
+
*/function k(){return delete m[c],this}var l={},m={};return d&&(g(d.getGDPRConsentState()),j(d.getCCPAConsentState())),{setGDPRConsentState:g,addGDPRConsentState:f,setCCPAConsentState:j,getCCPAConsentState:function a(){return m[c]},getGDPRConsentState:i,removeGDPRConsentState:h,removeCCPAState:function b(){return a.Logger.warning("removeCCPAState is deprecated and will be removed in a future release; use removeCCPAConsentState instead"),k()},removeCCPAConsentState:k}};}
|
|
784
|
+
|
|
785
|
+
/*
|
|
786
|
+
TODO: Including this as a workaround because attempting to import it from
|
|
787
|
+
@mparticle/data-planning-models directly creates a build error.
|
|
788
|
+
*/var DataPlanMatchType={ScreenView:"screen_view",CustomEvent:"custom_event",Commerce:"commerce",UserAttributes:"user_attributes",UserIdentities:"user_identities",ProductAction:"product_action",PromotionAction:"promotion_action",ProductImpression:"product_impression"},KitBlocker=/** @class */function(){function a(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=this;// if data plan is not requested, the data plan is {document: null}
|
|
789
|
+
if(this.dataPlanMatchLookups={},this.blockEvents=!1,this.blockEventAttributes=!1,this.blockUserAttributes=!1,this.blockUserIdentities=!1,this.kitBlockingEnabled=!1,a&&!a.document)return void(this.kitBlockingEnabled=!1);this.kitBlockingEnabled=!0,this.mpInstance=b,this.blockEvents=null===(e=null===(d=null===(c=null===a||void 0===a?void 0:a.document)||void 0===c?void 0:c.dtpn)||void 0===d?void 0:d.blok)||void 0===e?void 0:e.ev,this.blockEventAttributes=null===(h=null===(g=null===(f=null===a||void 0===a?void 0:a.document)||void 0===f?void 0:f.dtpn)||void 0===g?void 0:g.blok)||void 0===h?void 0:h.ea,this.blockUserAttributes=null===(k=null===(j=null===(i=null===a||void 0===a?void 0:a.document)||void 0===i?void 0:i.dtpn)||void 0===j?void 0:j.blok)||void 0===k?void 0:k.ua,this.blockUserIdentities=null===(n=null===(m=null===(l=null===a||void 0===a?void 0:a.document)||void 0===l?void 0:l.dtpn)||void 0===m?void 0:m.blok)||void 0===n?void 0:n.id;var s=null===(q=null===(p=null===(o=null===a||void 0===a?void 0:a.document)||void 0===o?void 0:o.dtpn)||void 0===p?void 0:p.vers)||void 0===q?void 0:q.version_document,t=null===s||void 0===s?void 0:s.data_points;if(s)try{0<(null===t||void 0===t?void 0:t.length)&&t.forEach(function(a){return r.addToMatchLookups(a)});}catch(a){this.mpInstance.Logger.error("There was an issue with the data plan: "+a);}}return a.prototype.addToMatchLookups=function(a){var b,c,d;if(!a.match||!a.validator)return void this.mpInstance.Logger.warning("Data Plan Point is not valid' + ".concat(a));// match keys for non product custom attribute related data points
|
|
790
|
+
var e=this.generateMatchKey(a.match),f=this.getPlannedProperties(a.match.type,a.validator);this.dataPlanMatchLookups[e]=f,((null===(b=null===a||void 0===a?void 0:a.match)||void 0===b?void 0:b.type)===DataPlanMatchType.ProductImpression||(null===(c=null===a||void 0===a?void 0:a.match)||void 0===c?void 0:c.type)===DataPlanMatchType.ProductAction||(null===(d=null===a||void 0===a?void 0:a.match)||void 0===d?void 0:d.type)===DataPlanMatchType.PromotionAction)&&(e=this.generateProductAttributeMatchKey(a.match),f=this.getProductProperties(a.match.type,a.validator),this.dataPlanMatchLookups[e]=f);},a.prototype.generateMatchKey=function(a){var b=a.criteria||"";switch(a.type){case DataPlanMatchType.CustomEvent:var c=b;return [DataPlanMatchType.CustomEvent,c.custom_event_type,c.event_name].join(":");case DataPlanMatchType.ScreenView:return [DataPlanMatchType.ScreenView,"",b.screen_name].join(":");case DataPlanMatchType.ProductAction:return [a.type,b.action].join(":");case DataPlanMatchType.PromotionAction:return [a.type,b.action].join(":");case DataPlanMatchType.ProductImpression:return [a.type,b.action].join(":");case DataPlanMatchType.UserIdentities:case DataPlanMatchType.UserAttributes:return [a.type].join(":");default:return null;}},a.prototype.generateProductAttributeMatchKey=function(a){var b=a.criteria||"";switch(a.type){case DataPlanMatchType.ProductAction:return [a.type,b.action,"ProductAttributes"].join(":");case DataPlanMatchType.PromotionAction:return [a.type,b.action,"ProductAttributes"].join(":");case DataPlanMatchType.ProductImpression:return [a.type,"ProductAttributes"].join(":");default:return null;}},a.prototype.getPlannedProperties=function(a,b){var c,d,e,f,g,h,i,j,k,l;switch(a){case DataPlanMatchType.CustomEvent:case DataPlanMatchType.ScreenView:case DataPlanMatchType.ProductAction:case DataPlanMatchType.PromotionAction:case DataPlanMatchType.ProductImpression:if(k=null===(f=null===(e=null===(d=null===(c=null===b||void 0===b?void 0:b.definition)||void 0===c?void 0:c.properties)||void 0===d?void 0:d.data)||void 0===e?void 0:e.properties)||void 0===f?void 0:f.custom_attributes,k){if(!0===k.additionalProperties||void 0===k.additionalProperties)return !0;for(var m,n={},o=0,p=Object.keys(k.properties);o<p.length;o++)m=p[o],n[m]=!0;return n}return !1!==(null===(i=null===(h=null===(g=null===b||void 0===b?void 0:b.definition)||void 0===g?void 0:g.properties)||void 0===h?void 0:h.data)||void 0===i?void 0:i.additionalProperties)||{};case DataPlanMatchType.UserAttributes:case DataPlanMatchType.UserIdentities:if(l=null===(j=null===b||void 0===b?void 0:b.definition)||void 0===j?void 0:j.additionalProperties,!0===l||void 0===l)return !0;for(var m,n={},q=b.definition.properties,r=0,s=Object.keys(q);r<s.length;r++)m=s[r],n[m]=!0;return n;default:return null;}},a.prototype.getProductProperties=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;switch(a){case DataPlanMatchType.ProductImpression://product item attributes
|
|
791
|
+
if(v=null===(l=null===(k=null===(j=null===(i=null===(h=null===(g=null===(f=null===(e=null===(d=null===(c=null===b||void 0===b?void 0:b.definition)||void 0===c?void 0:c.properties)||void 0===d?void 0:d.data)||void 0===e?void 0:e.properties)||void 0===f?void 0:f.product_impressions)||void 0===g?void 0:g.items)||void 0===h?void 0:h.properties)||void 0===i?void 0:i.products)||void 0===j?void 0:j.items)||void 0===k?void 0:k.properties)||void 0===l?void 0:l.custom_attributes,!1===(null===v||void 0===v?void 0:v.additionalProperties)){for(var w,x={},y=0,z=Object.keys(null===v||void 0===v?void 0:v.properties);y<z.length;y++)w=z[y],x[w]=!0;return x}return !0;case DataPlanMatchType.ProductAction:case DataPlanMatchType.PromotionAction://product item attributes
|
|
792
|
+
if(v=null===(u=null===(t=null===(s=null===(r=null===(q=null===(p=null===(o=null===(n=null===(m=null===b||void 0===b?void 0:b.definition)||void 0===m?void 0:m.properties)||void 0===n?void 0:n.data)||void 0===o?void 0:o.properties)||void 0===p?void 0:p.product_action)||void 0===q?void 0:q.properties)||void 0===r?void 0:r.products)||void 0===s?void 0:s.items)||void 0===t?void 0:t.properties)||void 0===u?void 0:u.custom_attributes,v&&!1===v.additionalProperties){for(var w,x={},A=0,B=Object.keys(null===v||void 0===v?void 0:v.properties);A<B.length;A++)w=B[A],x[w]=!0;return x}return !0;default:return null;}},a.prototype.getMatchKey=function(a){switch(a.event_type){case dist.EventTypeEnum.screenView:var b=a;return b.data?["screen_view","",b.data.screen_name].join(":"):null;case dist.EventTypeEnum.commerceEvent:var c=a,d=[];if(c&&c.data){var e=c.data,f=e.product_action,g=e.product_impressions,h=e.promotion_action;f?(d.push(DataPlanMatchType.ProductAction),d.push(f.action)):h?(d.push(DataPlanMatchType.PromotionAction),d.push(h.action)):g&&d.push(DataPlanMatchType.ProductImpression);}return d.join(":");case dist.EventTypeEnum.customEvent:var i=a;return i.data?["custom_event",i.data.custom_event_type,i.data.event_name].join(":"):null;default:return null;}},a.prototype.getProductAttributeMatchKey=function(a){switch(a.event_type){case dist.EventTypeEnum.commerceEvent:var b=[],c=a.data,d=c.product_action,e=c.product_impressions,f=c.promotion_action;return d?(b.push(DataPlanMatchType.ProductAction),b.push(d.action),b.push("ProductAttributes")):f?(b.push(DataPlanMatchType.PromotionAction),b.push(f.action),b.push("ProductAttributes")):e&&(b.push(DataPlanMatchType.ProductImpression),b.push("ProductAttributes")),b.join(":");default:return null;}},a.prototype.createBlockedEvent=function(a){/*
|
|
793
|
+
return a transformed event based on event/event attributes,
|
|
794
|
+
then product attributes if applicable, then user attributes,
|
|
795
|
+
then the user identities
|
|
796
|
+
*/try{return a&&(a=this.transformEventAndEventAttributes(a)),a&&a.EventDataType===Types.MessageType.Commerce&&(a=this.transformProductAttributes(a)),a&&(a=this.transformUserAttributes(a),a=this.transformUserIdentities(a)),a}catch(b){return a}},a.prototype.transformEventAndEventAttributes=function(a){var b=__assign({},a),c=convertEvent(b),d=this.getMatchKey(c),e=this.dataPlanMatchLookups[d];if(this.blockEvents&&!e)/*
|
|
797
|
+
If the event is not planned, it doesn't exist in dataPlanMatchLookups
|
|
798
|
+
and should be blocked (return null to not send anything to forwarders)
|
|
799
|
+
*/return null;if(this.blockEventAttributes){/*
|
|
800
|
+
matchedEvent is set to `true` if additionalProperties is `true`
|
|
801
|
+
otherwise, delete attributes that exist on event.EventAttributes
|
|
802
|
+
that aren't on
|
|
803
|
+
*/if(!0===e)return b;if(e){for(var f,g=0,h=Object.keys(b.EventAttributes);g<h.length;g++)f=h[g],e[f]||delete b.EventAttributes[f];return b}return b}return b},a.prototype.transformProductAttributes=function(a){function b(a,b){b.forEach(function(b){for(var c,d=0,e=Object.keys(b.Attributes);d<e.length;d++)c=e[d],a[c]||delete b.Attributes[c];});}var c,d=__assign({},a),e=convertEvent(d),f=this.getProductAttributeMatchKey(e),g=this.dataPlanMatchLookups[f];if(this.blockEvents&&!g)/*
|
|
804
|
+
If the event is not planned, it doesn't exist in dataPlanMatchLookups
|
|
805
|
+
and should be blocked (return null to not send anything to forwarders)
|
|
806
|
+
*/return null;if(this.blockEventAttributes){/*
|
|
807
|
+
matchedEvent is set to `true` if additionalProperties is `true`
|
|
808
|
+
otherwise, delete attributes that exist on event.EventAttributes
|
|
809
|
+
that aren't on
|
|
810
|
+
*/if(!0===g)return d;if(g){switch(a.EventCategory){case Types.CommerceEventType.ProductImpression:d.ProductImpressions.forEach(function(a){b(g,null===a||void 0===a?void 0:a.ProductList);});break;case Types.CommerceEventType.ProductPurchase:b(g,null===(c=d.ProductAction)||void 0===c?void 0:c.ProductList);break;default:this.mpInstance.Logger.warning("Product Not Supported ");}return d}return d}return d},a.prototype.transformUserAttributes=function(a){var b=__assign({},a);if(this.blockUserAttributes){/*
|
|
811
|
+
If the user attribute is not found in the matchedAttributes
|
|
812
|
+
then remove it from event.UserAttributes as it is blocked
|
|
813
|
+
*/var c=this.dataPlanMatchLookups.user_attributes;if(this.mpInstance._Helpers.isObject(c))for(var d,e=0,f=Object.keys(b.UserAttributes);e<f.length;e++)d=f[e],c[d]||delete b.UserAttributes[d];}return b},a.prototype.isAttributeKeyBlocked=function(a){/* used when an attribute is added to the user */if(!this.blockUserAttributes)return !1;if(this.blockUserAttributes){var b=this.dataPlanMatchLookups.user_attributes;if(!0===b)return !1;if(!b[a])return !0}return !1},a.prototype.isIdentityBlocked=function(a){/* used when an attribute is added to the user */if(!this.blockUserIdentities)return !1;if(this.blockUserIdentities){var b=this.dataPlanMatchLookups.user_identities;if(!0===b)return !1;if(!b[a])return !0}else return !1;return !1},a.prototype.transformUserIdentities=function(a){var b,c=this,d=__assign({},a);if(this.blockUserIdentities){var e=this.dataPlanMatchLookups.user_identities;this.mpInstance._Helpers.isObject(e)&&(null===(b=null===d||void 0===d?void 0:d.UserIdentities)||void 0===b?void 0:b.length)&&d.UserIdentities.forEach(function(a,b){var f=Types.IdentityType.getIdentityName(c.mpInstance._Helpers.parseNumber(a.Type));e[f]||d.UserIdentities.splice(b,1);});}return d},a}();
|
|
814
|
+
|
|
815
|
+
function ConfigAPIClient(){this.getSDKConfiguration=function(a,b,c,d){var e;try{var f=function xhrCallback(){4===g.readyState&&(200===g.status?(b=d._Helpers.extend({},b,JSON.parse(g.responseText)),c(a,b,d),d.Logger.verbose("Successfully received configuration from server")):(c(a,b,d),d.Logger.verbose("Issue with receiving configuration from server, received HTTP Code of "+g.status)));},g=d._Helpers.createXHR(f);e="https://"+d._Store.SDKConfig.configUrl+a+"/config?env=",e+=b.isDevelopmentMode?"1":"0";var h=b.dataPlan;h&&(h.planId&&(e=e+"&plan_id="+h.planId||""),h.planVersion&&(e=e+"&plan_version="+h.planVersion||"")),g&&(g.open("get",e),g.send(null));}catch(f){c(a,b,d),d.Logger.error("Error getting forwarder configuration from mParticle servers.");}};}
|
|
816
|
+
|
|
817
|
+
var HTTPCodes$1=Constants.HTTPCodes,Messages$1=Constants.Messages;function IdentityAPIClient(a){this.sendAliasRequest=function(b,c){var d,e=function xhrCallback(){if(4===d.readyState){//only parse error messages from failing requests
|
|
818
|
+
if(a.Logger.verbose("Received "+d.statusText+" from server"),200!==d.status&&202!==d.status&&d.responseText){var b=JSON.parse(d.responseText);if(b.hasOwnProperty("message")){var e=b.message;return void a._Helpers.invokeAliasCallback(c,d.status,e)}}a._Helpers.invokeAliasCallback(c,d.status);}};if(a.Logger.verbose(Messages$1.InformationMessages.SendAliasHttp),d=a._Helpers.createXHR(e),d)try{d.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.aliasUrl,a._Store.devToken)+"/Alias"),d.send(JSON.stringify(b));}catch(b){a._Helpers.invokeAliasCallback(c,HTTPCodes$1.noHttpCoverage,b),a.Logger.error("Error sending alias request to mParticle servers. "+b);}},this.sendIdentityRequest=function(b,c,d,e,f,g){var h,i,j=function xhrCallback(){4===h.readyState&&(a.Logger.verbose("Received "+h.statusText+" from server"),f(h,i,d,e,c));};if(a.Logger.verbose(Messages$1.InformationMessages.SendIdentityBegin),!b)return void a.Logger.error(Messages$1.ErrorMessages.APIRequestEmpty);if(a.Logger.verbose(Messages$1.InformationMessages.SendIdentityHttp),h=a._Helpers.createXHR(j),h)try{a._Store.identityCallInFlight?a._Helpers.invokeCallback(d,HTTPCodes$1.activeIdentityRequest,"There is currently an Identity request processing. Please wait for this to return before requesting again"):(i=g||null,"modify"===c?h.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.identityUrl)+g+"/"+c):h.open("post",a._Helpers.createServiceUrl(a._Store.SDKConfig.identityUrl)+c),h.setRequestHeader("Content-Type","application/json"),h.setRequestHeader("x-mp-key",a._Store.devToken),a._Store.identityCallInFlight=!0,h.send(JSON.stringify(b)));}catch(b){a._Store.identityCallInFlight=!1,a._Helpers.invokeCallback(d,HTTPCodes$1.noHttpCoverage,b),a.Logger.error("Error sending identity request to servers with status code "+h.status+" - "+b);}};}
|
|
819
|
+
|
|
820
|
+
var Messages=Constants.Messages,HTTPCodes=Constants.HTTPCodes;/**
|
|
2387
821
|
* <p>All of the following methods can be called on the primary mParticle class. In version 2.10.0, we introduced <a href="https://docs.mparticle.com/developers/sdk/web/multiple-instances/">multiple instances</a>. If you are using multiple instances (self hosted environments only), you should call these methods on each instance.</p>
|
|
2388
822
|
* <p>In current versions of mParticle, if your site has one instance, that instance name is 'default_instance'. Any methods called on mParticle on a site with one instance will be mapped to the `default_instance`.</p>
|
|
2389
823
|
* <p>This is for simplicity and backwards compatibility. For example, calling mParticle.logPageView() automatically maps to mParticle.getInstance('default_instance').logPageView().</p>
|
|
@@ -2537,7 +971,7 @@ this._instanceName=a,this._NativeSdkHelpers=new NativeSdkHelpers(this),this._Mig
|
|
|
2537
971
|
// Since fetching the configuration is asynchronous, we must pass completeSDKInitialization
|
|
2538
972
|
// to it for it to be run after fetched
|
|
2539
973
|
return b||console.warn("You did not pass a config object to init(). mParticle will not initialize properly"),runPreConfigFetchInitialization(this,a,b),b?void(!b.hasOwnProperty("requestConfig")||b.requestConfig?new ConfigAPIClient().getSDKConfiguration(a,b,completeSDKInitialization,this):completeSDKInitialization(a,b,this)):void console.error("No config available on the window, please pass a config object to mParticle.init()")},this.setLogLevel=function(a){b.Logger.setLogLevel(a);},this.reset=function(a){try{a._Persistence.resetPersistence(),a._Store&&delete a._Store;}catch(a){console.error("Cannot reset mParticle",a);}},this._resetForTests=function(a,b,c){c._Store&&delete c._Store,c._Store=new Store(a,c),c._Store.isLocalStorageAvailable=c._Persistence.determineLocalStorageAvailability(window.localStorage),c._Events.stopTracking(),b||c._Persistence.resetPersistence(),c._Persistence.forwardingStatsBatches.uploadsTable={},c._Persistence.forwardingStatsBatches.forwardingStatsEventQueue=[],c._preInit={readyQueue:[],pixelConfigurations:[],integrationDelays:{},forwarderConstructors:[],isDevelopmentMode:!1};},this.ready=function(a){b.isInitialized()&&"function"==typeof a?a():b._preInit.readyQueue.push(a);},this.getVersion=function(){return Constants.sdkVersion},this.setAppVersion=function(a){var c=queueIfNotInitialized(function(){b.setAppVersion(a);},b);c||(b._Store.SDKConfig.appVersion=a,b._Persistence.update());},this.setDeviceId=function(a){var c=queueIfNotInitialized(function(){b.setDeviceId(a);},b);c||this._Persistence.setDeviceId(a);},this.isInitialized=function(){return !!b._Store&&b._Store.isInitialized},this.getAppName=function(){return b._Store.SDKConfig.appName},this.setAppName=function(a){var c=queueIfNotInitialized(function(){b.setAppName(a);},b);c||(b._Store.SDKConfig.appName=a);},this.getAppVersion=function(){return b._Store.SDKConfig.appVersion},this.stopTrackingLocation=function(){b._SessionManager.resetSessionTimer(),b._Events.stopTracking();},this.startTrackingLocation=function(a){b._Helpers.Validators.isFunction(a)||b.Logger.warning("Warning: Location tracking is triggered, but not including a callback into the `startTrackingLocation` may result in events logged too quickly and not being associated with a location."),b._SessionManager.resetSessionTimer(),b._Events.startTracking(a);},this.setPosition=function(a,c){var d=queueIfNotInitialized(function(){b.setPosition(a,c);},b);d||(b._SessionManager.resetSessionTimer(),"number"==typeof a&&"number"==typeof c?b._Store.currentPosition={lat:a,lng:c}:b.Logger.error("Position latitude and/or longitude must both be of type number"));},this.startNewSession=function(){b._SessionManager.startNewSession();},this.endSession=function(){// Sends true as an over ride vs when endSession is called from the setInterval
|
|
2540
|
-
b._SessionManager.endSession(!0);},this.logBaseEvent=function(a,c){var d=queueIfNotInitialized(function(){b.logBaseEvent(a,c);},b);if(!d)return (b._SessionManager.resetSessionTimer(),"string"!=typeof a.name)?void b.Logger.error(Messages
|
|
974
|
+
b._SessionManager.endSession(!0);},this.logBaseEvent=function(a,c){var d=queueIfNotInitialized(function(){b.logBaseEvent(a,c);},b);if(!d)return (b._SessionManager.resetSessionTimer(),"string"!=typeof a.name)?void b.Logger.error(Messages.ErrorMessages.EventNameInvalidType):(a.eventType||(a.eventType=Types.EventType.Unknown),b._Helpers.canLog()?void b._Events.logEvent(a,c):void b.Logger.error(Messages.ErrorMessages.LoggingDisabled))},this.logEvent=function(a,c,d,e,f){var g=queueIfNotInitialized(function(){b.logEvent(a,c,d,e,f);},b);if(!g)return (b._SessionManager.resetSessionTimer(),"string"!=typeof a)?void b.Logger.error(Messages.ErrorMessages.EventNameInvalidType):(c||(c=Types.EventType.Unknown),b._Helpers.isEventType(c)?b._Helpers.canLog()?void b._Events.logEvent({messageType:Types.MessageType.PageEvent,name:a,data:d,eventType:c,customFlags:e},f):void b.Logger.error(Messages.ErrorMessages.LoggingDisabled):void b.Logger.error("Invalid event type: "+c+", must be one of: \n"+JSON.stringify(Types.EventType)))},this.logError=function(a,c){var d=queueIfNotInitialized(function(){b.logError(a,c);},b);if(!d&&(b._SessionManager.resetSessionTimer(),!!a)){"string"==typeof a&&(a={message:a});var e={m:a.message?a.message:a,s:"Error",t:a.stack||null};if(c){var f=b._Helpers.sanitizeAttributes(c,e.m);for(var g in f)e[g]=f[g];}b._Events.logEvent({messageType:Types.MessageType.CrashReport,name:a.name?a.name:"Error",data:e,eventType:Types.EventType.Other});}},this.logLink=function(a,c,d,e){b._Events.addEventHandler("click",a,c,e,d);},this.logForm=function(a,c,d,e){b._Events.addEventHandler("submit",a,c,e,d);},this.logPageView=function(a,c,d,e){var f=queueIfNotInitialized(function(){b.logPageView(a,c,d,e);},b);if(!f){if(b._SessionManager.resetSessionTimer(),b._Helpers.canLog()){if(b._Helpers.Validators.isStringOrNumber(a)||(a="PageView"),!c)c={hostname:window.location.hostname,title:window.document.title};else if(!b._Helpers.isObject(c))return void b.Logger.error("The attributes argument must be an object. A "+_typeof(c)+" was entered. Please correct and retry.");if(d&&!b._Helpers.isObject(d))return void b.Logger.error("The customFlags argument must be an object. A "+_typeof(d)+" was entered. Please correct and retry.")}b._Events.logEvent({messageType:Types.MessageType.PageView,name:a,data:c,eventType:Types.EventType.Unknown,customFlags:d},e);}},this.upload=function(){b._Helpers.canLog()&&(b._Store.webviewBridgeEnabled?b._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Upload):b._APIClient.uploader.prepareAndUpload(!1,!1));},this.Consent={/**
|
|
2541
975
|
* Creates a CCPA Opt Out Consent State.
|
|
2542
976
|
*
|
|
2543
977
|
* @method createCCPAConsent
|
|
@@ -2655,7 +1089,7 @@ b._SessionManager.endSession(!0);},this.logBaseEvent=function(a,c){var d=queueIf
|
|
|
2655
1089
|
* @param {Object} [attrs] other attributes related to the product purchase
|
|
2656
1090
|
* @param {Object} [customFlags] Custom flags for the event
|
|
2657
1091
|
* @deprecated
|
|
2658
|
-
*/logPurchase:function logPurchase(a,c,d,e,f){return b.Logger.warning("mParticle.logPurchase is deprecated, please use mParticle.logProductAction instead"),b._Store.isInitialized?a&&c?void(b._SessionManager.resetSessionTimer(),b._Events.logPurchaseEvent(a,c,e,f)):void b.Logger.error(Messages
|
|
1092
|
+
*/logPurchase:function logPurchase(a,c,d,e,f){return b.Logger.warning("mParticle.logPurchase is deprecated, please use mParticle.logProductAction instead"),b._Store.isInitialized?a&&c?void(b._SessionManager.resetSessionTimer(),b._Events.logPurchaseEvent(a,c,e,f)):void b.Logger.error(Messages.ErrorMessages.BadLogPurchase):void b.ready(function(){b.eCommerce.logPurchase(a,c,d,e,f);})},/**
|
|
2659
1093
|
* Logs a product promotion
|
|
2660
1094
|
* @for mParticle.eCommerce
|
|
2661
1095
|
* @method logPromotion
|
|
@@ -2685,27 +1119,22 @@ b._SessionManager.endSession(!0);},this.logBaseEvent=function(a,c){var d=queueIf
|
|
|
2685
1119
|
*/logRefund:function logRefund(a,c,d,e,f){return b.Logger.warning("mParticle.logRefund is deprecated, please use mParticle.logProductAction instead"),b._Store.isInitialized?void(b._SessionManager.resetSessionTimer(),b._Events.logRefundEvent(a,c,e,f)):void b.ready(function(){b.eCommerce.logRefund(a,c,d,e,f);})},expandCommerceEvent:function expandCommerceEvent(a){return b._Ecommerce.expandCommerceEvent(a)}},this.setSessionAttribute=function(a,c){var d=queueIfNotInitialized(function(){b.setSessionAttribute(a,c);},b);if(!d&&b._Helpers.canLog())// Logs to cookie
|
|
2686
1120
|
// And logs to in-memory object
|
|
2687
1121
|
// Example: mParticle.setSessionAttribute('location', '33431');
|
|
2688
|
-
{if(!b._Helpers.Validators.isValidAttributeValue(c))return void b.Logger.error(Messages
|
|
1122
|
+
{if(!b._Helpers.Validators.isValidAttributeValue(c))return void b.Logger.error(Messages.ErrorMessages.BadAttribute);if(!b._Helpers.Validators.isValidKeyValue(a))return void b.Logger.error(Messages.ErrorMessages.BadKey);if(b._Store.webviewBridgeEnabled)b._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.SetSessionAttribute,JSON.stringify({key:a,value:c}));else {var e=b._Helpers.findKeyInObject(b._Store.sessionAttributes,a);e&&(a=e),b._Store.sessionAttributes[a]=c,b._Persistence.update(),b._Forwarders.applyToForwarders("setSessionAttribute",[a,c]);}}},this.setOptOut=function(a){var c=queueIfNotInitialized(function(){b.setOptOut(a);},b);c||(b._SessionManager.resetSessionTimer(),b._Store.isEnabled=!a,b._Events.logOptOut(),b._Persistence.update(),b._Store.activeForwarders.length&&b._Store.activeForwarders.forEach(function(c){if(c.setOptOut){var d=c.setOptOut(a);d&&b.Logger.verbose(d);}}));},this.setIntegrationAttribute=function(a,c){var d=queueIfNotInitialized(function(){b.setIntegrationAttribute(a,c);},b);if(!d){if("number"!=typeof a)return void b.Logger.error("integrationId must be a number");if(null===c)b._Store.integrationAttributes[a]={};else {if(!b._Helpers.isObject(c))return void b.Logger.error("Attrs must be an object with keys and values. You entered a "+_typeof(c));if(0===Object.keys(c).length)b._Store.integrationAttributes[a]={};else for(var e in c)if("string"!=typeof e){b.Logger.error("Keys must be strings, you entered a "+_typeof(e));continue}else if("string"==typeof c[e])b._Helpers.isObject(b._Store.integrationAttributes[a])?b._Store.integrationAttributes[a][e]=c[e]:(b._Store.integrationAttributes[a]={},b._Store.integrationAttributes[a][e]=c[e]);else {b.Logger.error("Values for integration attributes must be strings. You entered a "+_typeof(c[e]));continue}}b._Persistence.update();}},this.getIntegrationAttributes=function(a){return b._Store.integrationAttributes[a]?b._Store.integrationAttributes[a]:{}},this.addForwarder=function(a){b._preInit.forwarderConstructors.push(a);},this.configurePixel=function(a){b._Forwarders.configurePixel(a);},this._getActiveForwarders=function(){return b._Store.activeForwarders},this._getIntegrationDelays=function(){return b._preInit.integrationDelays},this._setIntegrationDelay=function(a,c){b._preInit.integrationDelays[a]=c;};}// Some (server) config settings need to be returned before they are set on SDKConfig in a self hosted environment
|
|
2689
1123
|
function completeSDKInitialization(a,b,c){var d=createKitBlocker(b,c);if(c._APIClient=new APIClient(c,d),c._Forwarders=new Forwarders(c,d),b.flags){if(b.flags.hasOwnProperty(Constants.FeatureFlags.EventsV3)){// TODO: Remove this after 8/12/2022
|
|
2690
1124
|
if("100"!==b.flags[Constants.FeatureFlags.EventsV3]){c.Logger.warning("mParticle will be enabling Event Batching for all customers on July 12, 2022. For more details, please see our docs: https://docs.mparticle.com/developers/sdk/web/getting-started/");}c._Store.SDKConfig.flags[Constants.FeatureFlags.EventsV3]=b.flags[Constants.FeatureFlags.EventsV3];}b.flags.hasOwnProperty(Constants.FeatureFlags.EventBatchingIntervalMillis)&&(c._Store.SDKConfig.flags[Constants.FeatureFlags.EventBatchingIntervalMillis]=b.flags[Constants.FeatureFlags.EventBatchingIntervalMillis]);}if(c._Store.storageName=c._Helpers.createMainStorageName(b.workspaceToken),c._Store.prodStorageName=c._Helpers.createProductStorageName(b.workspaceToken),b.hasOwnProperty("workspaceToken")?c._Store.SDKConfig.workspaceToken=b.workspaceToken:c.Logger.warning("You should have a workspaceToken on your config object for security purposes."),b.hasOwnProperty("requiredWebviewBridgeName")?c._Store.SDKConfig.requiredWebviewBridgeName=b.requiredWebviewBridgeName:b.hasOwnProperty("workspaceToken")&&(c._Store.SDKConfig.requiredWebviewBridgeName=b.workspaceToken),c._Store.webviewBridgeEnabled=c._NativeSdkHelpers.isWebviewEnabled(c._Store.SDKConfig.requiredWebviewBridgeName,c._Store.SDKConfig.minWebviewBridgeVersion),c._Store.configurationLoaded=!0,c._Store.webviewBridgeEnabled||(c._Migrations.migrate(),c._Persistence.initializeStorage()),c._Store.webviewBridgeEnabled)c._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.SetSessionAttribute,JSON.stringify({key:"$src_env",value:"webview"})),a&&c._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.SetSessionAttribute,JSON.stringify({key:"$src_key",value:a}));else {var e;// If no initialIdentityRequest is passed in, we set the user identities to what is currently in cookies for the identify request
|
|
2691
1125
|
if(c._Helpers.isObject(c._Store.SDKConfig.identifyRequest)&&c._Helpers.isObject(c._Store.SDKConfig.identifyRequest.userIdentities)&&0===Object.keys(c._Store.SDKConfig.identifyRequest.userIdentities).length||!c._Store.SDKConfig.identifyRequest){var f={};if(e=c.Identity.getCurrentUser(),e){var g=e.getUserIdentities().userIdentities||{};for(var h in g)g.hasOwnProperty(h)&&(f[h]=g[h]);}c._Store.SDKConfig.identifyRequest={userIdentities:f};}// If migrating from pre-IDSync to IDSync, a sessionID will exist and an identify request will not have been fired, so we need this check
|
|
2692
|
-
c._Store.migratingToIDSyncCookies&&(c.Identity.identify(c._Store.SDKConfig.identifyRequest,c._Store.SDKConfig.identityCallback),c._Store.migratingToIDSyncCookies=!1),e=c.Identity.getCurrentUser(),c._Helpers.getFeatureFlag(Constants.FeatureFlags.ReportBatching)&&c._ForwardingStatsUploader.startForwardingStatsTimer(),c._Forwarders.processForwarders(b,c._APIClient.prepareForwardingStats),c._SessionManager.initialize(),c._Events.logAST(),!c._Store.identifyCalled&&c._Store.SDKConfig.identityCallback&&e&&e.getMPID()&&c._Store.SDKConfig.identityCallback({httpCode:HTTPCodes
|
|
1126
|
+
c._Store.migratingToIDSyncCookies&&(c.Identity.identify(c._Store.SDKConfig.identifyRequest,c._Store.SDKConfig.identityCallback),c._Store.migratingToIDSyncCookies=!1),e=c.Identity.getCurrentUser(),c._Helpers.getFeatureFlag(Constants.FeatureFlags.ReportBatching)&&c._ForwardingStatsUploader.startForwardingStatsTimer(),c._Forwarders.processForwarders(b,c._APIClient.prepareForwardingStats),c._SessionManager.initialize(),c._Events.logAST(),!c._Store.identifyCalled&&c._Store.SDKConfig.identityCallback&&e&&e.getMPID()&&c._Store.SDKConfig.identityCallback({httpCode:HTTPCodes.activeSession,getUser:function getUser(){return c._Identity.mParticleUser(e.getMPID())},getPreviousUser:function getPreviousUser(){var a=c.Identity.getUsers(),b=a.shift();return b&&e&&b.getMPID()===e.getMPID()&&(b=a.shift()),b||null},body:{mpid:e.getMPID(),is_logged_in:c._Store.isLoggedIn,matched_identities:e.getUserIdentities().userIdentities,context:null,is_ephemeral:!1}});}c._Store.isInitialized=!0,c._preInit.readyQueue&&c._preInit.readyQueue.length&&(c._preInit.readyQueue.forEach(function(a){c._Helpers.Validators.isFunction(a)?a():Array.isArray(a)&&processPreloadedItem(a,c);}),c._preInit.readyQueue=[]),c._Store.isFirstRun&&(c._Store.isFirstRun=!1);}function createKitBlocker(a,b){var c,d,e,f;/* There are three ways a data plan object for blocking can be passed to the SDK:
|
|
2693
1127
|
1. Manually via config.dataPlanOptions (this takes priority)
|
|
2694
1128
|
If not passed in manually, we user the server provided via either
|
|
2695
1129
|
2. Snippet via /mparticle.js endpoint (config.dataPlan.document)
|
|
2696
1130
|
3. Self hosting via /config endpoint (config.dataPlanResult)
|
|
2697
|
-
*/return a.dataPlanOptions&&(b.Logger.verbose("Customer provided data plan found"),f=a.dataPlanOptions,d={document:{dtpn:{vers:f.dataPlanVersion,blok:{ev:f.blockEvents,ea:f.blockEventAttributes,ua:f.blockUserAttributes,id:f.blockUserIdentities}}}}),d||(a.dataPlan&&a.dataPlan.document?a.dataPlan.document.error_message?e=a.dataPlan.document.error_message:(b.Logger.verbose("Data plan found from mParticle.js"),d=a.dataPlan):a.dataPlanResult&&(a.dataPlanResult.error_message?e=a.dataPlanResult.error_message:(b.Logger.verbose("Data plan found from /config"),d={document:a.dataPlanResult}))),e&&b.Logger.error(e),d&&(c=new KitBlocker(d,b)),c}function runPreConfigFetchInitialization(a,b,c){a.Logger=new Logger(c),a._Store=new Store(c,a),window.mParticle.Store=a._Store,a._Store.devToken=b||null,a.Logger.verbose(Messages
|
|
1131
|
+
*/return a.dataPlanOptions&&(b.Logger.verbose("Customer provided data plan found"),f=a.dataPlanOptions,d={document:{dtpn:{vers:f.dataPlanVersion,blok:{ev:f.blockEvents,ea:f.blockEventAttributes,ua:f.blockUserAttributes,id:f.blockUserIdentities}}}}),d||(a.dataPlan&&a.dataPlan.document?a.dataPlan.document.error_message?e=a.dataPlan.document.error_message:(b.Logger.verbose("Data plan found from mParticle.js"),d=a.dataPlan):a.dataPlanResult&&(a.dataPlanResult.error_message?e=a.dataPlanResult.error_message:(b.Logger.verbose("Data plan found from /config"),d={document:a.dataPlanResult}))),e&&b.Logger.error(e),d&&(c=new KitBlocker(d,b)),c}function runPreConfigFetchInitialization(a,b,c){a.Logger=new Logger(c),a._Store=new Store(c,a),window.mParticle.Store=a._Store,a._Store.devToken=b||null,a.Logger.verbose(Messages.InformationMessages.StartingInitialization);//check to see if localStorage is available for migrating purposes
|
|
2698
1132
|
try{a._Store.isLocalStorageAvailable=a._Persistence.determineLocalStorageAvailability(window.localStorage);}catch(b){a.Logger.warning("localStorage is not available, using cookies if available"),a._Store.isLocalStorageAvailable=!1;}}function processPreloadedItem(a,b){var c=a,d=c.splice(0,1)[0];// if the first argument is a method on the base mParticle object, run it
|
|
2699
1133
|
if(mParticle[c[0]])mParticle[d].apply(this,c);else {var e=d.split(".");try{for(var f,g=mParticle,h=0;h<e.length;h++)f=e[h],g=g[f];g.apply(this,c);}catch(a){b.Logger.verbose("Unable to compute proper mParticle function "+a);}}}function queueIfNotInitialized(a,b){return !b.isInitialized()&&(b.ready(function(){a();}),!0)}
|
|
2700
1134
|
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
return {
|
|
2705
|
-
_Helpers: { sanitizeAttributes: window.mParticle.getInstance()._Helpers.sanitizeAttributes, generateUniqueId: function generateUniqueId() { return "mockId"; }, extend: window.mParticle.getInstance()._Helpers.extend }, _Store: { sessionId: "mockSessionId", SDKConfig: {} }, Identity: { getCurrentUser: function getCurrentUser() { return null; } }, getAppVersion: function getAppVersion() { return null; }, getAppName: function getAppName() { return null; }
|
|
2706
|
-
};
|
|
2707
|
-
} }, { key: "returnBatch", value: function returnBatch(a) { var b = this.getMPInstance(), c = new ServerModel(b).createEventObject(a), d = convertEvents("0", [c], b); return d; } }]), a;
|
|
2708
|
-
}();
|
|
1135
|
+
// This file is used ONLY for the mParticle ESLint plugin. It should NOT be used otherwise!
|
|
1136
|
+
var _BatchValidator=/** @class */function(){function a(){}return a.prototype.getMPInstance=function(){return {// Certain Helper, Store, and Identity properties need to be mocked to be used in the `returnBatch` method
|
|
1137
|
+
_Helpers:{sanitizeAttributes:window.mParticle.getInstance()._Helpers.sanitizeAttributes,generateUniqueId:function generateUniqueId(){return "mockId"},extend:window.mParticle.getInstance()._Helpers.extend},_Store:{sessionId:"mockSessionId",SDKConfig:{}},Identity:{getCurrentUser:function getCurrentUser(){return null}},getAppVersion:function getAppVersion(){return null},getAppName:function getAppName(){return null}}},a.prototype.returnBatch=function(a){var b=this.getMPInstance(),c=new ServerModel(b).createEventObject(a),d=convertEvents("0",[c],b);return d},a}();
|
|
2709
1138
|
|
|
2710
1139
|
Array.prototype.forEach||(Array.prototype.forEach=Polyfill.forEach),Array.prototype.map||(Array.prototype.map=Polyfill.map),Array.prototype.filter||(Array.prototype.filter=Polyfill.filter),Array.isArray||(Array.prototype.isArray=Polyfill.isArray);function mParticle$1(){var a=this;// Only leaving this here in case any clients are trying to access mParticle.Store, to prevent from throwing
|
|
2711
1140
|
/**
|
|
@@ -2716,6 +1145,6 @@ Array.prototype.forEach||(Array.prototype.forEach=Polyfill.forEach),Array.protot
|
|
|
2716
1145
|
* @param {String} apiKey your mParticle assigned API key
|
|
2717
1146
|
* @param {Object} [config] an options object for additional configuration
|
|
2718
1147
|
* @param {String} [instanceName] If you are self hosting the JS SDK and working with multiple instances, you would pass an instanceName to `init`. This instance will be selected when invoking other methods. See the above link to the doc site for more info and examples.
|
|
2719
|
-
*/this.Store={},this._instances={},this.IdentityType=Types.IdentityType,this.EventType=Types.EventType,this.CommerceEventType=Types.CommerceEventType,this.PromotionType=Types.PromotionActionType,this.ProductActionType=Types.ProductActionType,"undefined"!=typeof window&&(this.isIOS=!!(window.mParticle&&window.mParticle.isIOS)&&window.mParticle.isIOS,this.config=window.mParticle&&window.mParticle.config?window.mParticle.config:{}),this.init=function(b,c,d){!c&&window.mParticle&&window.mParticle.config&&(console.warn("You did not pass a config object to mParticle.init(). Attempting to use the window.mParticle.config if it exists. Please note that in a future release, this may not work and mParticle will not initialize properly"),c=window.mParticle?window.mParticle.config:{}),d=(d&&0!==d.length?d:Constants.DefaultInstance).toLowerCase();var e=a._instances[d];e===void 0&&(e=new mParticleInstance(b
|
|
1148
|
+
*/this.Store={},this._instances={},this.IdentityType=Types.IdentityType,this.EventType=Types.EventType,this.CommerceEventType=Types.CommerceEventType,this.PromotionType=Types.PromotionActionType,this.ProductActionType=Types.ProductActionType,"undefined"!=typeof window&&(this.isIOS=!!(window.mParticle&&window.mParticle.isIOS)&&window.mParticle.isIOS,this.config=window.mParticle&&window.mParticle.config?window.mParticle.config:{}),this.init=function(b,c,d){!c&&window.mParticle&&window.mParticle.config&&(console.warn("You did not pass a config object to mParticle.init(). Attempting to use the window.mParticle.config if it exists. Please note that in a future release, this may not work and mParticle will not initialize properly"),c=window.mParticle?window.mParticle.config:{}),d=(d&&0!==d.length?d:Constants.DefaultInstance).toLowerCase();var e=a._instances[d];e===void 0&&(e=new mParticleInstance(b),a._instances[d]=e),e.init(b,c,d);},this.getInstance=function(b){var c;return b?(c=a._instances[b.toLowerCase()],c?c:(console.log("You tried to initialize an instance named "+b+". This instance does not exist. Check your instance name or initialize a new instance with this name before calling it."),null)):(b=Constants.DefaultInstance,c=a._instances[b],c||(c=new mParticleInstance(b),a._instances[Constants.DefaultInstance]=c),c)},this.getDeviceId=function(){return a.getInstance().getDeviceId()},this.setDeviceId=function(b){return a.getInstance().setDeviceId(b)},this.isInitialized=function(){return a.getInstance().isInitialized()},this.startNewSession=function(){a.getInstance().startNewSession();},this.endSession=function(){a.getInstance().endSession();},this.setLogLevel=function(b){a.getInstance().setLogLevel(b);},this.ready=function(b){a.getInstance().ready(b);},this.setAppVersion=function(b){a.getInstance().setAppVersion(b);},this.getAppName=function(){return a.getInstance().getAppName()},this.setAppName=function(b){a.getInstance().setAppName(b);},this.getAppVersion=function(){return a.getInstance().getAppVersion()},this.stopTrackingLocation=function(){a.getInstance().stopTrackingLocation();},this.startTrackingLocation=function(b){a.getInstance().startTrackingLocation(b);},this.setPosition=function(b,c){a.getInstance().setPosition(b,c);},this.startNewSession=function(){a.getInstance().startNewSession();},this.endSession=function(){a.getInstance().endSession();},this.logBaseEvent=function(b,c){a.getInstance().logBaseEvent(b,c);},this.logEvent=function(b,c,d,e,f){a.getInstance().logEvent(b,c,d,e,f);},this.logError=function(b,c){a.getInstance().logError(b,c);},this.logLink=function(b,c,d,e){a.getInstance().logLink(b,c,d,e);},this.logForm=function(b,c,d,e){a.getInstance().logForm(b,c,d,e);},this.logPageView=function(b,c,d,e){a.getInstance().logPageView(b,c,d,e);},this.upload=function(){a.getInstance().upload();},this.eCommerce={Cart:{add:function add(b,c){a.getInstance().eCommerce.Cart.add(b,c);},remove:function remove(b,c){a.getInstance().eCommerce.Cart.remove(b,c);},clear:function clear(){a.getInstance().eCommerce.Cart.clear();}},setCurrencyCode:function setCurrencyCode(b){a.getInstance().eCommerce.setCurrencyCode(b);},createProduct:function createProduct(b,c,d,e,f,g,h,i,j,k){return a.getInstance().eCommerce.createProduct(b,c,d,e,f,g,h,i,j,k)},createPromotion:function createPromotion(b,c,d,e){return a.getInstance().eCommerce.createPromotion(b,c,d,e)},createImpression:function createImpression(b,c){return a.getInstance().eCommerce.createImpression(b,c)},createTransactionAttributes:function createTransactionAttributes(b,c,d,e,f,g){return a.getInstance().eCommerce.createTransactionAttributes(b,c,d,e,f,g)},logCheckout:function logCheckout(b,c,d,e){a.getInstance().eCommerce.logCheckout(b,c,d,e);},logProductAction:function logProductAction(b,c,d,e,f,g){a.getInstance().eCommerce.logProductAction(b,c,d,e,f,g);},logPurchase:function logPurchase(b,c,d,e,f){a.getInstance().eCommerce.logPurchase(b,c,d,e,f);},logPromotion:function logPromotion(b,c,d,e,f){a.getInstance().eCommerce.logPromotion(b,c,d,e,f);},logImpression:function logImpression(b,c,d,e){a.getInstance().eCommerce.logImpression(b,c,d,e);},logRefund:function logRefund(b,c,d,e,f){a.getInstance().eCommerce.logRefund(b,c,d,e,f);},expandCommerceEvent:function expandCommerceEvent(b){return a.getInstance().eCommerce.expandCommerceEvent(b)}},this.setSessionAttribute=function(b,c){a.getInstance().setSessionAttribute(b,c);},this.setOptOut=function(b){a.getInstance().setOptOut(b);},this.setIntegrationAttribute=function(b,c){a.getInstance().setIntegrationAttribute(b,c);},this.getIntegrationAttributes=function(b){return a.getInstance().getIntegrationAttributes(b)},this.Identity={HTTPCodes:a.getInstance().Identity.HTTPCodes,aliasUsers:function aliasUsers(b,c){a.getInstance().Identity.aliasUsers(b,c);},createAliasRequest:function createAliasRequest(b,c){return a.getInstance().Identity.createAliasRequest(b,c)},getCurrentUser:function getCurrentUser(){return a.getInstance().Identity.getCurrentUser()},getUser:function getUser(b){return a.getInstance().Identity.getUser(b)},getUsers:function getUsers(){return a.getInstance().Identity.getUsers()},identify:function identify(b,c){a.getInstance().Identity.identify(b,c);},login:function login(b,c){a.getInstance().Identity.login(b,c);},logout:function logout(b,c){a.getInstance().Identity.logout(b,c);},modify:function modify(b,c){a.getInstance().Identity.modify(b,c);}},this.sessionManager={getSession:function getSession(){return a.getInstance()._SessionManager.getSession()}},this.Consent={createConsentState:function createConsentState(){return a.getInstance().Consent.createConsentState()},createGDPRConsent:function createGDPRConsent(b,c,d,e,f){return a.getInstance().Consent.createGDPRConsent(b,c,d,e,f)},createCCPAConsent:function createCCPAConsent(b,c,d,e,f){return a.getInstance().Consent.createGDPRConsent(b,c,d,e,f)}},this.reset=function(){a.getInstance().reset(a.getInstance());},this._resetForTests=function(b,c){"boolean"==typeof c?a.getInstance()._resetForTests(b,c,a.getInstance()):a.getInstance()._resetForTests(b,!1,a.getInstance());},this.configurePixel=function(b){a.getInstance().configurePixel(b);},this._setIntegrationDelay=function(b,c){a.getInstance()._setIntegrationDelay(b,c);},this._getIntegrationDelays=function(){return a.getInstance()._getIntegrationDelays()},this.getVersion=function(){return a.getInstance().getVersion()},this.generateHash=function(b){return a.getInstance().generateHash(b)},this.addForwarder=function(b){a.getInstance().addForwarder(b);},this._getActiveForwarders=function(){return a.getInstance()._getActiveForwarders()};}var mparticleInstance=new mParticle$1;"undefined"!=typeof window&&(window.mParticle=mparticleInstance,window.mParticle._BatchValidator=new _BatchValidator);
|
|
2720
1149
|
|
|
2721
|
-
export default
|
|
1150
|
+
export { mparticleInstance as default };
|