New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@analytics/aws-pinpoint

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@analytics/aws-pinpoint - npm Package Compare versions

Comparing version 0.4.1 to 0.4.2

8

CHANGELOG.md

@@ -6,2 +6,10 @@ # Change Log

## [0.4.2](https://github.com/DavidWells/analytics/compare/@analytics/aws-pinpoint@0.4.1...@analytics/aws-pinpoint@0.4.2) (2021-02-08)
**Note:** Version bump only for package @analytics/aws-pinpoint
## [0.4.1](https://github.com/DavidWells/analytics/compare/@analytics/aws-pinpoint@0.4.0...@analytics/aws-pinpoint@0.4.1) (2021-02-02)

@@ -8,0 +16,0 @@

2

dist/@analytics/aws-pinpoint.min.js

@@ -1,1 +0,1 @@

var analyticsAWSPinpoint=function(e){"use strict";function t(e,t,n,r,s,i,o){try{var a=e[i](o),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,s)}function n(e){return function(){var n=this,r=arguments;return new Promise(function(s,i){var o=e.apply(n,r);function a(e){t(o,s,i,a,c,"next",e)}function c(e){t(o,s,i,a,c,"throw",e)}a(void 0)})}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(n,!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var o=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===a}(e)}(e)};var a="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function c(e,t){return!1!==t.clone&&t.isMergeableObject(e)?h((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function u(e,t,n){return e.concat(t).map(function(e){return c(e,n)})}function d(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return e.propertyIsEnumerable(t)}):[]}(e))}function l(e,t){try{return t in e}catch(e){return!1}}function p(e,t,n){var r={};return n.isMergeableObject(e)&&d(e).forEach(function(t){r[t]=c(e[t],n)}),d(t).forEach(function(s){(function(e,t){return l(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,s)||(l(e,s)&&n.isMergeableObject(t[s])?r[s]=function(e,t){if(!t.customMerge)return h;var n=t.customMerge(e);return"function"==typeof n?n:h}(s,n)(e[s],t[s],n):r[s]=c(t[s],n))}),r}function h(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||u,n.isMergeableObject=n.isMergeableObject||o,n.cloneUnlessOtherwiseSpecified=c;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):p(e,t,n):c(t,n)}h.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return h(e,n,t)},{})};var f=h;function g(e,t,n,r,s,i){if("undefined"!=typeof window)return arguments.length>1?document.cookie=e+"="+encodeURIComponent(t)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(s?"; domain="+s:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}"object"===("undefined"==typeof self?"undefined":m(self))&&self.self===self&&self||"object"===("undefined"==typeof global?"undefined":m(global))&&global.global===global&&global,function(){try{g("_c_","1");var e=-1!==document.cookie.indexOf("_c_");g("_c_","",-1)}catch(e){return!1}}();function y(){for(var e="",t=0,n=4294967295*Math.random()|0;t++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],s=15&n;e+="-"==r||"4"==r?r:("x"==r?s:3&s|8).toString(16),n=t%8==0?4294967295*Math.random()|0:n>>4}return e}const b=new TextEncoder,v={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},w=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"];class S{constructor({accessKeyId:e,secretAccessKey:t,sessionToken:n,service:r,region:s,cache:i,retries:o,initRetryMs:a}){if(null==e)throw new TypeError("accessKeyId is a required option");if(null==t)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=t,this.sessionToken=n,this.service=r,this.region=s,this.cache=i||new Map,this.retries=null!=o?o:10,this.initRetryMs=a||50}async sign(e,t){if(e instanceof Request){const{method:n,url:r,headers:s,body:i}=e;null==(t=Object.assign({method:n,url:r,headers:s},t)).body&&s.has("Content-Type")&&(t.body=null!=i&&s.has("X-Amz-Content-Sha256")?i:await e.clone().arrayBuffer()),e=r}const n=new A(Object.assign({url:e},t,this,t&&t.aws)),r=Object.assign({},t,await n.sign());return delete r.aws,new Request(r.url.toString(),r)}async fetch(e,t){for(let n=0;n<=this.retries;n++){const r=fetch(await this.sign(e,t));if(n===this.retries)return r;const s=await r;if(s.status<500&&429!==s.status)return s;await new Promise(e=>setTimeout(e,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Error("An unknown error occurred, ensure retries is not negative")}}class A{constructor({method:e,url:t,headers:n,body:r,accessKeyId:s,secretAccessKey:i,sessionToken:o,service:a,region:c,cache:u,datetime:d,signQuery:l,appendSessionToken:p,allHeaders:h,singleEncode:f}){if(null==t)throw new TypeError("url is a required option");if(null==s)throw new TypeError("accessKeyId is a required option");if(null==i)throw new TypeError("secretAccessKey is a required option");let g,m;this.method=e||(r?"POST":"GET"),this.url=new URL(t),this.headers=new Headers(n||{}),this.body=r,this.accessKeyId=s,this.secretAccessKey=i,this.sessionToken=o,a&&c||([g,m]=function(e,t){const{hostname:n,pathname:r}=e,s=n.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/);let[i,o]=(s||["",""]).slice(1,3);if("us-gov"===o)o="us-gov-west-1";else if("s3"===o||"s3-accelerate"===o)o="us-east-1",i="s3";else if("iot"===i)i=n.startsWith("iot.")?"execute-api":n.startsWith("data.jobs.iot.")?"iot-jobs-data":"/mqtt"===r?"iotdevicegateway":"iotdata";else if("autoscaling"===i){const e=(t.get("X-Amz-Target")||"").split(".")[0];"AnyScaleFrontendService"===e?i="application-autoscaling":"AnyScaleScalingPlannerFrontendService"===e&&(i="autoscaling-plans")}else null==o&&i.startsWith("s3-")?(o=i.slice(3).replace(/^fips-|^external-1/,""),i="s3"):i.endsWith("-fips")?i=i.slice(0,-5):o&&/-\d$/.test(i)&&!/-\d$/.test(o)&&([i,o]=[o,i]);return[v[i]||i,o]}(this.url,this.headers)),this.service=a||g||"",this.region=c||m||"us-east-1",this.cache=u||new Map,this.datetime=d||(new Date).toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=l,this.appendSessionToken=p||"iotdevicegateway"===this.service,this.headers.delete("Host");const y=this.signQuery?this.url.searchParams:this.headers;if("s3"!==this.service||this.headers.has("X-Amz-Content-Sha256")||this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),y.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&y.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(e=>h||!w.includes(e)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(e=>e+":"+("host"===e?this.url.host:(this.headers.get(e)||"").replace(/\s+/g," "))).join("\n"),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&("s3"!==this.service||y.has("X-Amz-Expires")||y.set("X-Amz-Expires","86400"),y.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),y.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),y.set("X-Amz-SignedHeaders",this.signedHeaders)),"s3"===this.service)try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch(e){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");f||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=I(this.encodedPath);const b=new Set;this.encodedSearch=[...this.url.searchParams].filter(([e])=>{if(!e)return!1;if("s3"===this.service){if(b.has(e))return!1;b.add(e)}return!0}).map(e=>e.map(e=>I(encodeURIComponent(e)))).sort(([e,t],[n,r])=>e<n?-1:e>n?1:t<r?-1:t>r?1:0).map(e=>e.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){const e=this.datetime.slice(0,8),t=[this.secretAccessKey,e,this.region,this.service].join();let n=this.cache.get(t);if(!n){const r=await x("AWS4"+this.secretAccessKey,e),s=await x(r,this.region),i=await x(s,this.service);n=await x(i,"aws4_request"),this.cache.set(t,n)}return k(await x(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,k(await E(await this.canonicalString()))].join("\n")}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+"\n",this.signedHeaders,await this.hexBodyHash()].join("\n")}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256");if(null==e){if(this.body&&"string"!=typeof this.body&&!("byteLength"in this.body))throw new Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=k(await E(this.body||""))}return e}}async function x(e,t){const n=await crypto.subtle.importKey("raw","string"==typeof e?b.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",n,b.encode(t))}async function E(e){return crypto.subtle.digest("SHA-256","string"==typeof e?b.encode(e):e)}function k(e){return Array.prototype.map.call(new Uint8Array(e),e=>("0"+e.toString(16)).slice(-2)).join("")}function I(e){return e.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}var O=["PUSH","GCM","APNS","APNS_SANDBOX","APNS_VOIP","APNS_VOIP_SANDBOX","ADM","SMS","VOICE","EMAIL","BAIDU","CUSTOM"].reduce(function(e,t){return e[t]=t,e},{}),P="_session.start",T="_session.stop",M="pageView",j=Object.freeze({SESSION_START:P,SESSION_STOP:T,SESSION_PAUSE:"_session.pause",SESSION_RESUME:"_session.resume",AUTH_SIGN_IN:"_userauth.sign_in",AUTH_SIGN_UP:"_userauth.sign_up",AUTH_FAIL:"_userauth.auth_fail",ECOM_PURCHASE:"_monetization.purchase",PAGE_VIEW:M}),U=("undefined"!=typeof navigator&&navigator&&navigator.sendBeacon,"__session_id"),C="__endpoint",_=[429,500],R=[202],H=400,D=function(){if("undefined"==typeof window)return{};if(!window.navigator)return{};var e,t,n,r,s,i=window.navigator,o=i.platform,a=i.product,c=i.vendor,u=function(e){var t=/.+(Opera[\s[A-Z]*|OPR[\sA-Z]*)\/([0-9\.]+).*/i.exec(e);if(t)return{type:t[1],version:t[2]};var n=/.+(Trident|Edge)\/([0-9\.]+).*/i.exec(e);if(n)return{type:n[1],version:n[2]};var r=/.+(Chrome|Firefox|FxiOS)\/([0-9\.]+).*/i.exec(e);if(r)return{type:r[1],version:r[2]};var s=/.+(Safari)\/([0-9\.]+).*/i.exec(e);if(s)return{type:s[1],version:s[2]};var i=/.+(AppleWebKit)\/([0-9\.]+).*/i.exec(e);if(i)return{type:i[1],version:i[2]};var o=/.*([A-Z]+)\/([0-9\.]+).*/i.exec(e);return o?{type:o[1],version:o[2]}:{type:"",version:""}}(i.userAgent);return{platform:o,make:a||c,model:u.type,version:u.version,appVersion:[u.type,u.version].join("/"),language:(t=window.navigator,n=t.language,r=t.browserLanguage,s=t.languages,(n||r||(s||["en_US"])[0]).toLowerCase().replace("-","_")),timezone:(e=/\(([A-Za-z\s].*)\)/.exec((new Date).toString()),e&&e[1]||"")}}(),N=[];function K(){return{}}var z=/.+\@.+\..+/;function V(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=i({getContext:e.getContext||K,enrichEventAttributes:e.enrichEventAttributes||K,enrichEventMetrics:e.enrichEventMetrics||K,credentials:e.credentials||{},getEndpointId:e.getEndpointId},e),s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getEndpointId,s=e.debug;return function(){var o=n(regeneratorRuntime.mark(function n(){var o,a,c,u,d,l,p,h,f=arguments;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(o=f.length>0&&void 0!==f[0]?f[0]:{},N.length||Object.keys(o).length){n.next=4;break}return s&&console.log("No events, return early"),n.abrupt("return");case 4:return a=o,n.next=7,t();case 7:if(c=n.sent,s&&console.log("resolved endpointId",c),c){n.next=12;break}return console.error("No User ID found. Call Auth()"),n.abrupt("return");case 12:if(!Object.entries(o).length){n.next=19;break}return u=e.getContext(),n.next=16,G(o,u,e.getUserId);case 16:a=n.sent,n.next=20;break;case 19:a=L()||{};case 20:return s&&console.log("endpointData",a),d=a.ChannelType,a.Address&&(g=a.Address,z.test(g))&&(d=O.EMAIL),!d&&a.Address&&(d="android"===D.platform?d||O.GCM:d||O.APNS),s&&console.log("CHANNEL_TYPE",d),l=N.reduce(function(e,t){return i({},t,{},e)},{}),(p=a).RequestId=y(),p.ChannelType=d,p.Address&&(p.OptOut=a.OptOut||"NONE"),h={BatchItem:r({},c,{Endpoint:p,Events:l})},n.prev=31,n.next=34,W(h,e);case 34:n.sent,n.next=40;break;case 37:n.prev=37,n.t0=n.catch(31),console.log("callPinPoint err",n.t0);case 40:return N=[],n.abrupt("return",a);case 42:case"end":return n.stop()}var g},n,null,[[31,37]])}));return function(){return o.apply(this,arguments)}}()}(t),o=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=t.sentDataToPinpoint,o=t.appPackageName,a=t.appTitle,c=t.appVersionCode,u=t.debug;return function(){var d=n(regeneratorRuntime.mark(function n(d){var l,p,h,f,g,m,b,v,w,S,A,x,E,k,I,O,P,j,U,C,_,R,H,D=arguments;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(l=D.length>1&&void 0!==D[1]?D[1]:{},p=D.length>2&&void 0!==D[2]?D[2]:{},h=!(D.length>3&&void 0!==D[3])||D[3],K=d,z=t.eventMapping,f=z[K]||K,"boolean"==typeof l&&(h=l,l={}),"boolean"==typeof p&&(h=p,p={}),g=t.getContext(),m=g.pageSession,b=g.subSessionId,v=g.subSessionStart,w=g.elapsed,!Object.entries(p).length&&d!==M){n.next=12;break}return n.next=11,G(p,g,t.getUserId);case 11:p=n.sent;case 12:return S=new Date,A=l.attributes||{},x={date:S.toISOString(),session:X(),pageSession:m,hash:window.location.hash,path:window.location.pathname,referrer:document.referrer,search:window.location.search,title:document.title,host:window.location.hostname,url:window.location.origin+window.location.pathname},n.next=17,t.enrichEventAttributes();case 17:return E=n.sent,k=i({},x,{},E,{},A),I=w+(S.getTime()-v),O=l.metrics||{},P={sessionTime:I,hour:S.getHours(),day:S.getDay()+1,month:S.getMonth()+1,year:S.getFullYear()},n.next=24,t.enrichEventMetrics();case 24:return j=n.sent,U=i({},P,{},j,{},O),n.next=28,te(k);case 28:return n.t0=n.sent,n.next=31,re(U);case 31:n.t1=n.sent,C={attributes:n.t0,metrics:n.t1},_=y(),R=(new Date).toISOString(),u&&(console.log("".concat(_,":").concat(f)),console.log("eventAttributes",C.attributes),console.log("eventMetrics",C.metrics)),H=r({},_,{EventType:f,Timestamp:R,AppPackageName:o,AppTitle:a,AppVersionCode:c,Attributes:C.attributes,Metrics:C.metrics,Session:{Id:b,StartTimestamp:new Date(v).toISOString()}}),d===T&&(H[_].Session.Duration=Date.now()-v,H[_].Session.StopTimestamp=R),N.push(H),n.next=41;break;case 41:if(h){n.next=43;break}return n.abrupt("return",s());case 43:e&&clearTimeout(e),e=setTimeout(s,5e3);case 45:case"end":return n.stop()}var K,z},n)}));return function(e){return d.apply(this,arguments)}}()}(i({sentDataToPinpoint:s},t));G({},t.getContext(),e.getUserId);var a=function(e){if("undefined"==typeof window)return K;var t=function(e){return function(){console.log("Fire stop session"),e("_session.stop",!1)}}(e);return window.addEventListener("beforeunload",t),function(){return window.removeEventListener("beforeunload",t)}}(o);return{updateEndpoint:s,recordEvent:o,disable:function(){a()}}}function X(){if(void 0===window.sessionStorage)return null;var e=window.sessionStorage.getItem(U);if(e)return e;var t=y();return window.sessionStorage.setItem(U,t),t}function L(){try{return JSON.parse(localStorage.getItem(C))||{}}catch(e){return{}}}function q(e){localStorage.setItem(C,JSON.stringify(e))}function W(e,t){return B.apply(this,arguments)}function B(){return(B=n(regeneratorRuntime.mark(function e(t,n){var r,s,i,o,a,c,u,d,l,p,h,f,g,m;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.pinpointRegion,n.pinpointEndpoint,s=n.pinpointAppId,i=n.lambdaArn,o=n.lambdaRegion,a=n.credentials,c=n.getCredentials,u=n.debug,d=a,Object.keys(d).length||!c){e.next=12;break}return e.prev=3,e.next=6,c();case 6:d=e.sent,e.next=12;break;case 9:throw e.prev=9,e.t0=e.catch(3),new Error(e.t0);case 12:return l=new S({accessKeyId:d.accessKeyId||d.AccessKeyId,secretAccessKey:d.secretAccessKey||d.SecretKey,sessionToken:d.sessionToken||d.SessionToken,retries:5}),p=r||o,h="https://lambda.".concat(o||r,".amazonaws.com/2015-03-31/functions/").concat(i,"/invocations"),f="https://pinpoint.".concat(p,".amazonaws.com/v1/apps/").concat(s,"/events"),g=i?h:f,e.next=20,l.fetch(g,{body:JSON.stringify(t)}).then(function(e){return e.json()});case 20:return(m=e.sent)&&m.Results&&Object.keys(m.Results).map(function(e){return m.Results[e]}).forEach(function(e){var t=e.EndpointItemResponse||{},n=e.EventsItemResponse||{};Object.keys(t).length&&(u&&console.log("EndpointItemResponse",t),R.includes(t.StatusCode)||_.includes(t.StatusCode)||F(t,Endpoint));var r=Object.keys(n);r.length&&(u&&console.log("EventsResponse",n),r.forEach(function(e){}))}),e.abrupt("return",m);case 23:case"end":return e.stop()}},e,null,[[3,9]])}))).apply(this,arguments)}function F(e,t){var n=e.StatusCode,r=e.Message;if(n===H){if(r.startsWith("Missing ChannelType"))throw new Error("Missing ChannelType");if(r.startsWith("Exceeded maximum endpoint per user count"))throw new Error("Exceeded maximum endpoint per user count")}}function G(){return Q.apply(this,arguments)}function Q(){return(Q=n(regeneratorRuntime.mark(function e(){var t,n,r,s,o,a,c,u,d,l,p,h,g=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=g.length>0&&void 0!==g[0]?g[0]:{},n=g.length>1&&void 0!==g[1]?g[1]:{},r=g.length>2?g[2]:void 0,s=L(),o=n.pageSession,a={},c={AppVersion:D.appVersion,Make:D.make,Model:D.model,ModelVersion:D.version,Platform:D.platform,Locale:D.language},u={Attributes:{},Demographic:i({AppVersion:D.appVersion||""},c,{},a.demographic),Location:{},Metrics:{}},D.device&&D.device.vendor&&(u.Attributes.DeviceMake=[D.device.vendor]),D.device&&D.device.model&&(u.Attributes.DeviceModel=[D.device.model]),D.device&&D.device.type&&(u.Attributes.DeviceType=[D.device.type]),D.engine&&D.engine.name&&(u.Demographic.Make=D.engine.name),D.browser&&D.browser.name&&(u.Demographic.Model=D.browser.name),D.browser&&D.browser.version&&(u.Demographic.ModelVersion=D.browser.version),D.os&&D.os.name&&(u.Demographic.Platform=D.os.name),D.os&&D.os.version&&(u.Demographic.PlatformVersion=D.os.version),!(t=f.all([u,s,t],{arrayMerge:$})).User||!t.User.UserId){e.next=22;break}return e.next=20,r();case 20:d=e.sent,t.User.UserId!==d&&(t.User.UserId=d);case 22:if(t.User&&t.User.UserId){e.next=27;break}return e.next=25,r();case 25:(l=e.sent)&&(t.User||(t.User={}),t.User.UserId=l);case 27:if(!t.User||!t.User.UserAttributes){e.next=31;break}return e.next=30,te(t.User.UserAttributes,!0);case 30:t.User.UserAttributes=e.sent;case 31:return e.next=33,te(t.Attributes,!0);case 33:return t.Attributes=e.sent,e.next=36,re(t.Metrics);case 36:return t.Metrics=e.sent,p="sessions",n.sessionKey&&(p=n.sessionKey()),h="pageViews",n.pageViewKey&&(h=n.pageViewKey()),t.Attributes.lastSession?(t.Attributes.lastSession[0]!==X()&&(t.Attributes.lastSession=[X()],t.Metrics[p]+=1),t.Attributes.lastPageSession[0]!==o&&(t.Attributes.lastPageSession=[o],t.Metrics[h]+=1)):(t.Attributes.lastSession=[X()],t.Attributes.lastPageSession=[o],t.Metrics[p]=1,t.Metrics[h]=1),q(t),e.abrupt("return",t);case 44:case"end":return e.stop()}},e)}))).apply(this,arguments)}function $(e,t){return t}function Z(e,t){return J.apply(this,arguments)}function J(){return(J=n(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t){e.next=4;break}return e.next=3,t();case 3:t=e.sent;case 4:return e.abrupt("return",n(t));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Y(e){return Array.isArray(e)?e.map(function(e){return e.toString()}):e.toString()}function ee(e){return parseFloat(Number(Array.isArray(e)?e[0]:e))}function te(e){return ne.apply(this,arguments)}function ne(){return(ne=n(regeneratorRuntime.mark(function e(t){var n,r,s,i,o=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=o.length>1&&void 0!==o[1]&&o[1],r={},e.t0=regeneratorRuntime.keys(t);case 3:if((e.t1=e.t0()).done){e.next=17;break}if(s=e.t1.value,i=Array.isArray(t[s])?t[s]:[t[s]],!n){e.next=12;break}return e.next=9,Z(i,Y);case 9:r[s]=e.sent,e.next=15;break;case 12:return e.next=14,Z(i[0],Y);case 14:r[s]=e.sent;case 15:e.next=3;break;case 17:return e.abrupt("return",r);case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function re(e){return se.apply(this,arguments)}function se(){return(se=n(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n={},e.t0=regeneratorRuntime.keys(t);case 2:if((e.t1=e.t0()).done){e.next=9;break}return r=e.t1.value,e.next=6,Z(t[r],ee);case 6:n[r]=e.sent,e.next=2;break;case 9:return e.abrupt("return",n);case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ie(e){if("undefined"==typeof window)return!1;var t="hidden"in document?"hidden":["webkit","moz","ms","o"].reduce(function(e,t){return!e&&"".concat(t,"Hidden")in document?"".concat(t,"Hidden"):e},null);if(!t)return!1;var n="".concat(t.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return document[t]?e(!0):e(!1)};return document.addEventListener(n,r),function(){return document.removeEventListener(n,r)}}var oe={disableAnonymousTraffic:!1,pinpointRegion:"us-east-1",eventMapping:{}};var ae=function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.eventMapping||{},s=0,o=y(),a=y(),c=Date.now();return{name:"aws-pinpoint",config:i({},oe,{},n),bootstrap:function(e){var t=e.config,n=e.instance;t.disableAnonymousTraffic&&!n.user("userId")&&n.once("identifyStart",function(e){e.plugins["aws-pinpoint"].loaded()||n.loadPlugin("aws-pinpoint")})},initialize:function(n){var u=n.config,d=n.instance,l=u.disableAnonymousTraffic,p=d.getState(),h=(p.user||{}).userId,f=p.context||{},g=f.app,m=f.version;if(!h&&l)return!1;var b=V(i({},u,{appTitle:u.appTitle||g,appPackageName:u.appPackageName||g,appVersionCode:u.appVersionCode||m,getEndpointId:function(){return d.user("anonymousId")},getUserId:function(){return d.user("userId")},getContext:function(){return{elapsed:s,pageSession:o,subSessionId:a,subSessionStart:c,sessionKey:u.sessionKey,pageViewKey:u.pageViewKey}},enrichEventAttributes:function(){return{}},enrichEventMetrics:function(){return{}},eventMapping:r}));e=b.recordEvent,t=b.updateEndpoint,e(P),ie(function(t){t?(s+=Date.now()-c,e(T,!1)):(a=y(),c=Date.now(),e(P))})},page:function(t){t.payload,t.config,e?e(M,!1).then(function(){o=y()}):console.log("Pinpoint not loaded")},reset:function(e){e.instance,storage.removeItem(C)},track:function(t){var n=t.payload,r=t.config;if(t.instance,e){if(!r.disableAnonymousTraffic||n.userId){var s,i=(s=n.properties,Object.keys(s).reduce(function(e,t){var n=s[t];return"number"==typeof n&&(e.metrics[t]=n),"string"==typeof n&&(e.attributes[t]=n),e},{attributes:{},metrics:{}}));e(n.event,i)}}else console.log("Pinpoint not loaded")},identify:function(e){var n=e.payload,r=n.userId,s=n.traits;if(t){var o={};r&&(o.UserId=r),s&&Object.keys(s).length&&(o.UserAttributes=s),t(i({},s.email?{Address:s.email,ChannelType:O.EMAIL}:{},{},Object.keys(o).length?{User:o}:{}))}else console.log("Pinpoint not loaded")},loaded:function(){return!!e}}};return e.default=ae,e.PINPOINT_EVENTS=j,e}({});
var analyticsAWSPinpoint=function(e){"use strict";function t(e,t,n,r,s,i,o){try{var a=e[i](o),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,s)}function n(e){return function(){var n=this,r=arguments;return new Promise(function(s,i){var o=e.apply(n,r);function a(e){t(o,s,i,a,c,"next",e)}function c(e){t(o,s,i,a,c,"throw",e)}a(void 0)})}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(n,!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var o=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===a}(e)}(e)};var a="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function c(e,t){return!1!==t.clone&&t.isMergeableObject(e)?h((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function u(e,t,n){return e.concat(t).map(function(e){return c(e,n)})}function d(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return e.propertyIsEnumerable(t)}):[]}(e))}function l(e,t){try{return t in e}catch(e){return!1}}function p(e,t,n){var r={};return n.isMergeableObject(e)&&d(e).forEach(function(t){r[t]=c(e[t],n)}),d(t).forEach(function(s){(function(e,t){return l(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,s)||(l(e,s)&&n.isMergeableObject(t[s])?r[s]=function(e,t){if(!t.customMerge)return h;var n=t.customMerge(e);return"function"==typeof n?n:h}(s,n)(e[s],t[s],n):r[s]=c(t[s],n))}),r}function h(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||u,n.isMergeableObject=n.isMergeableObject||o,n.cloneUnlessOtherwiseSpecified=c;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):p(e,t,n):c(t,n)}h.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return h(e,n,t)},{})};var f=h;function g(e,t,n,r,s,i){if("undefined"!=typeof window)return arguments.length>1?document.cookie=e+"="+encodeURIComponent(t)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(s?"; domain="+s:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}"object"===("undefined"==typeof self?"undefined":m(self))&&self.self===self&&self||"object"===("undefined"==typeof global?"undefined":m(global))&&global.global===global&&global,function(){try{g("_c_","1");var e=-1!==document.cookie.indexOf("_c_");g("_c_","",-1)}catch(e){return!1}}();function y(){for(var e="",t=0,n=4294967295*Math.random()|0;t++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],s=15&n;e+="-"==r||"4"==r?r:("x"==r?s:3&s|8).toString(16),n=t%8==0?4294967295*Math.random()|0:n>>4}return e}const b=new TextEncoder,v={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},w=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"];class S{constructor({accessKeyId:e,secretAccessKey:t,sessionToken:n,service:r,region:s,cache:i,retries:o,initRetryMs:a}){if(null==e)throw new TypeError("accessKeyId is a required option");if(null==t)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=t,this.sessionToken=n,this.service=r,this.region=s,this.cache=i||new Map,this.retries=null!=o?o:10,this.initRetryMs=a||50}async sign(e,t){if(e instanceof Request){const{method:n,url:r,headers:s,body:i}=e;null==(t=Object.assign({method:n,url:r,headers:s},t)).body&&s.has("Content-Type")&&(t.body=null!=i&&s.has("X-Amz-Content-Sha256")?i:await e.clone().arrayBuffer()),e=r}const n=new A(Object.assign({url:e},t,this,t&&t.aws)),r=Object.assign({},t,await n.sign());return delete r.aws,new Request(r.url.toString(),r)}async fetch(e,t){for(let n=0;n<=this.retries;n++){const r=fetch(await this.sign(e,t));if(n===this.retries)return r;const s=await r;if(s.status<500&&429!==s.status)return s;await new Promise(e=>setTimeout(e,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Error("An unknown error occurred, ensure retries is not negative")}}class A{constructor({method:e,url:t,headers:n,body:r,accessKeyId:s,secretAccessKey:i,sessionToken:o,service:a,region:c,cache:u,datetime:d,signQuery:l,appendSessionToken:p,allHeaders:h,singleEncode:f}){if(null==t)throw new TypeError("url is a required option");if(null==s)throw new TypeError("accessKeyId is a required option");if(null==i)throw new TypeError("secretAccessKey is a required option");let g,m;this.method=e||(r?"POST":"GET"),this.url=new URL(t),this.headers=new Headers(n||{}),this.body=r,this.accessKeyId=s,this.secretAccessKey=i,this.sessionToken=o,a&&c||([g,m]=function(e,t){const{hostname:n,pathname:r}=e,s=n.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/);let[i,o]=(s||["",""]).slice(1,3);if("us-gov"===o)o="us-gov-west-1";else if("s3"===o||"s3-accelerate"===o)o="us-east-1",i="s3";else if("iot"===i)i=n.startsWith("iot.")?"execute-api":n.startsWith("data.jobs.iot.")?"iot-jobs-data":"/mqtt"===r?"iotdevicegateway":"iotdata";else if("autoscaling"===i){const e=(t.get("X-Amz-Target")||"").split(".")[0];"AnyScaleFrontendService"===e?i="application-autoscaling":"AnyScaleScalingPlannerFrontendService"===e&&(i="autoscaling-plans")}else null==o&&i.startsWith("s3-")?(o=i.slice(3).replace(/^fips-|^external-1/,""),i="s3"):i.endsWith("-fips")?i=i.slice(0,-5):o&&/-\d$/.test(i)&&!/-\d$/.test(o)&&([i,o]=[o,i]);return[v[i]||i,o]}(this.url,this.headers)),this.service=a||g||"",this.region=c||m||"us-east-1",this.cache=u||new Map,this.datetime=d||(new Date).toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=l,this.appendSessionToken=p||"iotdevicegateway"===this.service,this.headers.delete("Host");const y=this.signQuery?this.url.searchParams:this.headers;if("s3"!==this.service||this.headers.has("X-Amz-Content-Sha256")||this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),y.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&y.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(e=>h||!w.includes(e)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(e=>e+":"+("host"===e?this.url.host:(this.headers.get(e)||"").replace(/\s+/g," "))).join("\n"),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&("s3"!==this.service||y.has("X-Amz-Expires")||y.set("X-Amz-Expires","86400"),y.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),y.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),y.set("X-Amz-SignedHeaders",this.signedHeaders)),"s3"===this.service)try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch(e){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");f||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=I(this.encodedPath);const b=new Set;this.encodedSearch=[...this.url.searchParams].filter(([e])=>{if(!e)return!1;if("s3"===this.service){if(b.has(e))return!1;b.add(e)}return!0}).map(e=>e.map(e=>I(encodeURIComponent(e)))).sort(([e,t],[n,r])=>e<n?-1:e>n?1:t<r?-1:t>r?1:0).map(e=>e.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){const e=this.datetime.slice(0,8),t=[this.secretAccessKey,e,this.region,this.service].join();let n=this.cache.get(t);if(!n){const r=await x("AWS4"+this.secretAccessKey,e),s=await x(r,this.region),i=await x(s,this.service);n=await x(i,"aws4_request"),this.cache.set(t,n)}return k(await x(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,k(await E(await this.canonicalString()))].join("\n")}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+"\n",this.signedHeaders,await this.hexBodyHash()].join("\n")}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256");if(null==e){if(this.body&&"string"!=typeof this.body&&!("byteLength"in this.body))throw new Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=k(await E(this.body||""))}return e}}async function x(e,t){const n=await crypto.subtle.importKey("raw","string"==typeof e?b.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",n,b.encode(t))}async function E(e){return crypto.subtle.digest("SHA-256","string"==typeof e?b.encode(e):e)}function k(e){return Array.prototype.map.call(new Uint8Array(e),e=>("0"+e.toString(16)).slice(-2)).join("")}function I(e){return e.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}var O=["PUSH","GCM","APNS","APNS_SANDBOX","APNS_VOIP","APNS_VOIP_SANDBOX","ADM","SMS","VOICE","EMAIL","BAIDU","CUSTOM"].reduce(function(e,t){return e[t]=t,e},{}),P="_session.start",T="_session.stop",M="pageView",j=Object.freeze({SESSION_START:P,SESSION_STOP:T,SESSION_PAUSE:"_session.pause",SESSION_RESUME:"_session.resume",AUTH_SIGN_IN:"_userauth.sign_in",AUTH_SIGN_UP:"_userauth.sign_up",AUTH_FAIL:"_userauth.auth_fail",ECOM_PURCHASE:"_monetization.purchase",PAGE_VIEW:M}),U=("undefined"!=typeof navigator&&navigator&&navigator.sendBeacon,"__session_id"),C="__endpoint",_=[429,500],R=[202],H=400,D=function(){if("undefined"==typeof window)return{};if(!window.navigator)return{};var e,t,n,r,s,i=window.navigator,o=i.platform,a=i.product,c=i.vendor,u=function(e){var t=/.+(Opera[\s[A-Z]*|OPR[\sA-Z]*)\/([0-9\.]+).*/i.exec(e);if(t)return{type:t[1],version:t[2]};var n=/.+(Trident|Edge)\/([0-9\.]+).*/i.exec(e);if(n)return{type:n[1],version:n[2]};var r=/.+(Chrome|Firefox|FxiOS)\/([0-9\.]+).*/i.exec(e);if(r)return{type:r[1],version:r[2]};var s=/.+(Safari)\/([0-9\.]+).*/i.exec(e);if(s)return{type:s[1],version:s[2]};var i=/.+(AppleWebKit)\/([0-9\.]+).*/i.exec(e);if(i)return{type:i[1],version:i[2]};var o=/.*([A-Z]+)\/([0-9\.]+).*/i.exec(e);return o?{type:o[1],version:o[2]}:{type:"",version:""}}(i.userAgent);return{platform:o,make:a||c,model:u.type,version:u.version,appVersion:[u.type,u.version].join("/"),language:(t=window.navigator,n=t.language,r=t.browserLanguage,s=t.languages,(n||r||(s||["en_US"])[0]).toLowerCase().replace("-","_")),timezone:(e=/\(([A-Za-z\s].*)\)/.exec((new Date).toString()),e&&e[1]||"")}}(),N=[];function K(){return{}}var z=/.+\@.+\..+/;function V(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=i({getContext:e.getContext||K,enrichEventAttributes:e.enrichEventAttributes||K,enrichEventMetrics:e.enrichEventMetrics||K,credentials:e.credentials||{},getEndpointId:e.getEndpointId},e),s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getEndpointId,s=e.debug;return function(){var o=n(regeneratorRuntime.mark(function n(){var o,a,c,u,d,l,p,h,f=arguments;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(o=f.length>0&&void 0!==f[0]?f[0]:{},N.length||Object.keys(o).length){n.next=4;break}return s&&console.log("No events, return early"),n.abrupt("return");case 4:return a=o,n.next=7,t();case 7:if(c=n.sent,s&&console.log("resolved endpointId",c),c){n.next=12;break}return console.error("No User ID found. Call Auth()"),n.abrupt("return");case 12:if(!Object.entries(o).length){n.next=19;break}return u=e.getContext(),n.next=16,G(o,u,e.getUserId);case 16:a=n.sent,n.next=20;break;case 19:a=L()||{};case 20:return s&&console.log("endpointData",a),d=a.ChannelType,a.Address&&(g=a.Address,z.test(g))&&(d=O.EMAIL),!d&&a.Address&&(d="android"===D.platform?d||O.GCM:d||O.APNS),s&&console.log("CHANNEL_TYPE",d),l=N.reduce(function(e,t){return i({},t,{},e)},{}),(p=a).RequestId=y(),p.ChannelType=d,p.Address&&(p.OptOut=a.OptOut||"NONE"),h={BatchItem:r({},c,{Endpoint:p,Events:l})},n.prev=31,n.next=34,W(h,e);case 34:n.sent,n.next=40;break;case 37:n.prev=37,n.t0=n.catch(31),console.log("callPinPoint err",n.t0);case 40:return N=[],n.abrupt("return",a);case 42:case"end":return n.stop()}var g},n,null,[[31,37]])}));return function(){return o.apply(this,arguments)}}()}(t),o=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=t.sentDataToPinpoint,o=t.appPackageName,a=t.appTitle,c=t.appVersionCode,u=t.debug;return function(){var d=n(regeneratorRuntime.mark(function n(d){var l,p,h,f,g,m,b,v,w,S,A,x,E,k,I,O,P,j,U,C,_,R,H,D=arguments;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(l=D.length>1&&void 0!==D[1]?D[1]:{},p=D.length>2&&void 0!==D[2]?D[2]:{},h=!(D.length>3&&void 0!==D[3])||D[3],K=d,z=t.eventMapping,f=z[K]||K,"boolean"==typeof l&&(h=l,l={}),"boolean"==typeof p&&(h=p,p={}),g=t.getContext(),m=g.pageSession,b=g.subSessionId,v=g.subSessionStart,w=g.elapsed,!Object.entries(p).length&&d!==M){n.next=12;break}return n.next=11,G(p,g,t.getUserId);case 11:p=n.sent;case 12:return S=new Date,A=l.attributes||{},x={date:S.toISOString(),session:X(),pageSession:m,hash:window.location.hash,path:window.location.pathname,referrer:document.referrer,search:window.location.search,title:document.title,host:window.location.hostname,url:window.location.origin+window.location.pathname},n.next=17,t.enrichEventAttributes();case 17:return E=n.sent,k=i({},x,{},E,{},A),I=w+(S.getTime()-v),O=l.metrics||{},P={sessionTime:I,hour:S.getHours(),day:S.getDay()+1,month:S.getMonth()+1,year:S.getFullYear()},n.next=24,t.enrichEventMetrics();case 24:return j=n.sent,U=i({},P,{},j,{},O),n.next=28,te(k);case 28:return n.t0=n.sent,n.next=31,re(U);case 31:n.t1=n.sent,C={attributes:n.t0,metrics:n.t1},_=y(),R=(new Date).toISOString(),u&&(console.log("".concat(_,":").concat(f)),console.log("eventAttributes",C.attributes),console.log("eventMetrics",C.metrics)),H=r({},_,{EventType:f,Timestamp:R,AppPackageName:o,AppTitle:a,AppVersionCode:c,Attributes:C.attributes,Metrics:C.metrics,Session:{Id:b,StartTimestamp:new Date(v).toISOString()}}),d===T&&(H[_].Session.Duration=Date.now()-v,H[_].Session.StopTimestamp=R),N.push(H),n.next=41;break;case 41:if(h){n.next=43;break}return n.abrupt("return",s());case 43:e&&clearTimeout(e),e=setTimeout(s,3e3);case 45:case"end":return n.stop()}var K,z},n)}));return function(e){return d.apply(this,arguments)}}()}(i({sentDataToPinpoint:s},t));G({},t.getContext(),e.getUserId);var a=function(e){if("undefined"==typeof window)return K;var t=function(e){return function(){console.log("Fire stop session"),e("_session.stop",!1)}}(e);return window.addEventListener("beforeunload",t),function(){return window.removeEventListener("beforeunload",t)}}(o);return{updateEndpoint:s,recordEvent:o,disable:function(){a()}}}function X(){if(void 0===window.sessionStorage)return null;var e=window.sessionStorage.getItem(U);if(e)return e;var t=y();return window.sessionStorage.setItem(U,t),t}function L(){try{return JSON.parse(localStorage.getItem(C))||{}}catch(e){return{}}}function q(e){localStorage.setItem(C,JSON.stringify(e))}function W(e,t){return B.apply(this,arguments)}function B(){return(B=n(regeneratorRuntime.mark(function e(t,n){var r,s,i,o,a,c,u,d,l,p,h,f,g,m;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.pinpointRegion,n.pinpointEndpoint,s=n.pinpointAppId,i=n.lambdaArn,o=n.lambdaRegion,a=n.credentials,c=n.getCredentials,u=n.debug,d=a,Object.keys(d).length||!c){e.next=12;break}return e.prev=3,e.next=6,c();case 6:d=e.sent,e.next=12;break;case 9:throw e.prev=9,e.t0=e.catch(3),new Error(e.t0);case 12:return l=new S({accessKeyId:d.accessKeyId||d.AccessKeyId,secretAccessKey:d.secretAccessKey||d.SecretKey,sessionToken:d.sessionToken||d.SessionToken,retries:5}),p=r||o,h="https://lambda.".concat(o||r,".amazonaws.com/2015-03-31/functions/").concat(i,"/invocations"),f="https://pinpoint.".concat(p,".amazonaws.com/v1/apps/").concat(s,"/events"),g=i?h:f,e.next=20,l.fetch(g,{body:JSON.stringify(t)}).then(function(e){return e.json()});case 20:return(m=e.sent)&&m.Results&&Object.keys(m.Results).map(function(e){return m.Results[e]}).forEach(function(e){var t=e.EndpointItemResponse||{},n=e.EventsItemResponse||{};Object.keys(t).length&&(u&&console.log("EndpointItemResponse",t),R.includes(t.StatusCode)||_.includes(t.StatusCode)||F(t,Endpoint));var r=Object.keys(n);r.length&&(u&&console.log("EventsResponse",n),r.forEach(function(e){}))}),e.abrupt("return",m);case 23:case"end":return e.stop()}},e,null,[[3,9]])}))).apply(this,arguments)}function F(e,t){var n=e.StatusCode,r=e.Message;if(n===H){if(r.startsWith("Missing ChannelType"))throw new Error("Missing ChannelType");if(r.startsWith("Exceeded maximum endpoint per user count"))throw new Error("Exceeded maximum endpoint per user count")}}function G(){return Q.apply(this,arguments)}function Q(){return(Q=n(regeneratorRuntime.mark(function e(){var t,n,r,s,o,a,c,u,d,l,p,h,g=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=g.length>0&&void 0!==g[0]?g[0]:{},n=g.length>1&&void 0!==g[1]?g[1]:{},r=g.length>2?g[2]:void 0,s=L(),o=n.pageSession,a={},c={AppVersion:D.appVersion,Make:D.make,Model:D.model,ModelVersion:D.version,Platform:D.platform,Locale:D.language},u={Attributes:{},Demographic:i({AppVersion:D.appVersion||""},c,{},a.demographic),Location:{},Metrics:{}},D.device&&D.device.vendor&&(u.Attributes.DeviceMake=[D.device.vendor]),D.device&&D.device.model&&(u.Attributes.DeviceModel=[D.device.model]),D.device&&D.device.type&&(u.Attributes.DeviceType=[D.device.type]),D.engine&&D.engine.name&&(u.Demographic.Make=D.engine.name),D.browser&&D.browser.name&&(u.Demographic.Model=D.browser.name),D.browser&&D.browser.version&&(u.Demographic.ModelVersion=D.browser.version),D.os&&D.os.name&&(u.Demographic.Platform=D.os.name),D.os&&D.os.version&&(u.Demographic.PlatformVersion=D.os.version),!(t=f.all([u,s,t],{arrayMerge:$})).User||!t.User.UserId){e.next=22;break}return e.next=20,r();case 20:d=e.sent,t.User.UserId!==d&&(t.User.UserId=d);case 22:if(t.User&&t.User.UserId){e.next=27;break}return e.next=25,r();case 25:(l=e.sent)&&(t.User||(t.User={}),t.User.UserId=l);case 27:if(!t.User||!t.User.UserAttributes){e.next=31;break}return e.next=30,te(t.User.UserAttributes,!0);case 30:t.User.UserAttributes=e.sent;case 31:return e.next=33,te(t.Attributes,!0);case 33:return t.Attributes=e.sent,e.next=36,re(t.Metrics);case 36:return t.Metrics=e.sent,p="sessions",n.sessionKey&&(p=n.sessionKey()),h="pageViews",n.pageViewKey&&(h=n.pageViewKey()),t.Attributes.lastSession?(t.Attributes.lastSession[0]!==X()&&(t.Attributes.lastSession=[X()],t.Metrics[p]+=1),t.Attributes.lastPageSession[0]!==o&&(t.Attributes.lastPageSession=[o],t.Metrics[h]+=1)):(t.Attributes.lastSession=[X()],t.Attributes.lastPageSession=[o],t.Metrics[p]=1,t.Metrics[h]=1),q(t),e.abrupt("return",t);case 44:case"end":return e.stop()}},e)}))).apply(this,arguments)}function $(e,t){return t}function Z(e,t){return J.apply(this,arguments)}function J(){return(J=n(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t){e.next=4;break}return e.next=3,t();case 3:t=e.sent;case 4:return e.abrupt("return",n(t));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Y(e){return Array.isArray(e)?e.map(function(e){return e.toString()}):e.toString()}function ee(e){return parseFloat(Number(Array.isArray(e)?e[0]:e))}function te(e){return ne.apply(this,arguments)}function ne(){return(ne=n(regeneratorRuntime.mark(function e(t){var n,r,s,i,o=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=o.length>1&&void 0!==o[1]&&o[1],r={},e.t0=regeneratorRuntime.keys(t);case 3:if((e.t1=e.t0()).done){e.next=17;break}if(s=e.t1.value,i=Array.isArray(t[s])?t[s]:[t[s]],!n){e.next=12;break}return e.next=9,Z(i,Y);case 9:r[s]=e.sent,e.next=15;break;case 12:return e.next=14,Z(i[0],Y);case 14:r[s]=e.sent;case 15:e.next=3;break;case 17:return e.abrupt("return",r);case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function re(e){return se.apply(this,arguments)}function se(){return(se=n(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n={},e.t0=regeneratorRuntime.keys(t);case 2:if((e.t1=e.t0()).done){e.next=9;break}return r=e.t1.value,e.next=6,Z(t[r],ee);case 6:n[r]=e.sent,e.next=2;break;case 9:return e.abrupt("return",n);case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ie(e){if("undefined"==typeof window)return!1;var t="hidden"in document?"hidden":["webkit","moz","ms","o"].reduce(function(e,t){return!e&&"".concat(t,"Hidden")in document?"".concat(t,"Hidden"):e},null);if(!t)return!1;var n="".concat(t.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return document[t]?e(!0):e(!1)};return document.addEventListener(n,r),function(){return document.removeEventListener(n,r)}}var oe={disableAnonymousTraffic:!1,pinpointRegion:"us-east-1",eventMapping:{}};var ae=function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.eventMapping||{},s=0,o=y(),a=y(),c=Date.now();return{name:"aws-pinpoint",config:i({},oe,{},n),bootstrap:function(e){var t=e.config,n=e.instance;t.disableAnonymousTraffic&&!n.user("userId")&&n.once("identifyStart",function(e){e.plugins["aws-pinpoint"].loaded()||n.loadPlugin("aws-pinpoint")})},initialize:function(n){var u=n.config,d=n.instance,l=u.disableAnonymousTraffic,p=d.getState(),h=(p.user||{}).userId,f=p.context||{},g=f.app,m=f.version;if(!h&&l)return!1;var b=V(i({},u,{appTitle:u.appTitle||g,appPackageName:u.appPackageName||g,appVersionCode:u.appVersionCode||m,getEndpointId:function(){return d.user("anonymousId")},getUserId:function(){return d.user("userId")},getContext:function(){return{elapsed:s,pageSession:o,subSessionId:a,subSessionStart:c,sessionKey:u.sessionKey,pageViewKey:u.pageViewKey}},enrichEventAttributes:function(){return{}},enrichEventMetrics:function(){return{}},eventMapping:r}));e=b.recordEvent,t=b.updateEndpoint,e(P),ie(function(t){t?(s+=Date.now()-c,e(T,!1)):(a=y(),c=Date.now(),e(P))})},page:function(t){t.payload,t.config,e?e(M,!0).then(function(){o=y()}):console.log("Pinpoint not loaded")},reset:function(e){e.instance,storage.removeItem(C)},track:function(t){var n=t.payload,r=t.config;if(t.instance,e){if(!r.disableAnonymousTraffic||n.userId){var s,i=(s=n.properties,Object.keys(s).reduce(function(e,t){var n=s[t];return"number"==typeof n&&(e.metrics[t]=n),"string"==typeof n&&(e.attributes[t]=n),e},{attributes:{},metrics:{}}));e(n.event,i)}}else console.log("Pinpoint not loaded")},identify:function(e){var n=e.payload,r=n.userId,s=n.traits;if(t){var o={};r&&(o.UserId=r),s&&Object.keys(s).length&&(o.UserAttributes=s),t(i({},s.email?{Address:s.email,ChannelType:O.EMAIL}:{},{},Object.keys(o).length?{User:o}:{}))}else console.log("Pinpoint not loaded")},loaded:function(){return!!e}}};return e.default=ae,e.PINPOINT_EVENTS=j,e}({});

@@ -542,6 +542,6 @@ 'use strict';

clearTimeout(timer);
} // Flush new events after 5 seconds.
} // Flush new events after 3 seconds.
timer = setTimeout(sentDataToPinpoint, 5000);
timer = setTimeout(sentDataToPinpoint, 3000);

@@ -792,2 +792,14 @@ case 45:

// console.log('pinpoint response', data)
/* swallow errors? probably bad idea
let data = {}
try {
data = await aws.fetch(endpointUrl, {
body: JSON.stringify(eventsRequest),
}).then((d) => d.json())
} catch (err) {
if (debug) {
console.log('Pinpoint error', err)
}
}*/
if (data && data.Results) {

@@ -1504,3 +1516,4 @@ // Process api responses

recordEvent(PAGE_VIEW, false).then(function () {
var queuePageView = true;
recordEvent(PAGE_VIEW, queuePageView).then(function () {
pageSession = analyticsUtils.uuid();

@@ -1507,0 +1520,0 @@ });

@@ -536,6 +536,6 @@ import deepmerge from 'deepmerge';

clearTimeout(timer);
} // Flush new events after 5 seconds.
} // Flush new events after 3 seconds.
timer = setTimeout(sentDataToPinpoint, 5000);
timer = setTimeout(sentDataToPinpoint, 3000);

@@ -786,2 +786,14 @@ case 45:

// console.log('pinpoint response', data)
/* swallow errors? probably bad idea
let data = {}
try {
data = await aws.fetch(endpointUrl, {
body: JSON.stringify(eventsRequest),
}).then((d) => d.json())
} catch (err) {
if (debug) {
console.log('Pinpoint error', err)
}
}*/
if (data && data.Results) {

@@ -1498,3 +1510,4 @@ // Process api responses

recordEvent(PAGE_VIEW, false).then(function () {
var queuePageView = true;
recordEvent(PAGE_VIEW, queuePageView).then(function () {
pageSession = uuid();

@@ -1501,0 +1514,0 @@ });

{
"name": "@analytics/aws-pinpoint",
"version": "0.4.1",
"version": "0.4.2",
"description": "AWS Pinpoint integration for 'analytics' module",

@@ -59,3 +59,3 @@ "projectMeta": {

},
"gitHead": "8789f5d5d930a8c6b16d634ac691f0c9393f6701"
"gitHead": "b0a97376ed01ed2a30a9323cd7efef2079b448f0"
}

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc