forked from rDrama/rDrama
1 line
29 KiB
JavaScript
1 line
29 KiB
JavaScript
var PusherPushNotifications=function(e){"use strict";var t,r,n=function e(t){if(Array.isArray(t)){for(var r=0,n=Array(t.length);r<t.length;r++)n[r]=t[r];return n}},i=function e(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)},a=function e(){throw TypeError("Invalid attempt to spread non-iterable instance")},s=((t=function(e){var t=function(e){var t,r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",o=i.toStringTag||"@@toStringTag";function c(e,t,r,n){var i,a,s,o,c=Object.create((t&&t.prototype instanceof l?t:l).prototype),v=new _(n||[]);return c._invoke=(i=e,a=r,s=v,o=h,function e(t,r){if(o===f)throw Error("Generator is already running");if(o===p){if("throw"===t)throw r;return D()}for(s.method=t,s.arg=r;;){var n=s.delegate;if(n){var c=m(n,s);if(c){if(c===d)continue;return c}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(o===h)throw o=p,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);o=f;var l=u(i,a,s);if("normal"===l.type){if(o=s.done?p:"suspendedYield",l.arg===d)continue;return{value:l.arg,done:s.done}}"throw"===l.type&&(o=p,s.method="throw",s.arg=l.arg)}}),c}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(n){return{type:"throw",arg:n}}}e.wrap=c;var h="suspendedStart",f="executing",p="completed",d={};function l(){}function v(){}function y(){}var g={};g[a]=function(){return this};var w=Object.getPrototypeOf,k=w&&w(w(E([])));k&&k!==r&&n.call(k,a)&&(g=k);var x=y.prototype=l.prototype=Object.create(g);function b(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function S(e){var t;this._invoke=function r(i,a){function s(){return new Promise(function(t,r){!function t(r,i,a,s){var o=u(e[r],e,i);if("throw"===o.type)s(o.arg);else{var c=o.arg,h=c.value;return h&&"object"==typeof h&&n.call(h,"__await")?Promise.resolve(h.__await).then(function(e){t("next",e,a,s)},function(e){t("throw",e,a,s)}):Promise.resolve(h).then(function(e){c.value=e,a(c)},function(e){return t("throw",e,a,s)})}}(i,a,t,r)})}return t=t?t.then(s,s):s()}}function m(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,m(e,r),"throw"===r.method))return d;r.method="throw",r.arg=TypeError("The iterator does not provide a 'throw' method")}return d}var i=u(n,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,d;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,d):a:(r.method="throw",r.arg=TypeError("iterator result is not an object"),r.delegate=null,d)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function $(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function E(e){if(e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,s=function r(){for(;++i<e.length;)if(n.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return s.next=s}}return{next:D}}function D(){return{value:t,done:!0}}return v.prototype=x.constructor=y,y.constructor=v,y[o]=v.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,o in e||(e[o]="GeneratorFunction")),e.prototype=Object.create(x),e},e.awrap=function(e){return{__await:e}},b(S.prototype),S.prototype[s]=function(){return this},e.AsyncIterator=S,e.async=function(t,r,n,i){var a=new S(c(t,r,n,i));return e.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},b(x),x[o]="Generator",x[a]=function(){return this},x.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=E,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach($),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function i(n,i){return o.type="throw",o.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var c=n.call(s,"catchLoc"),u=n.call(s,"finallyLoc");if(c&&u){if(this.prev<s.catchLoc)return i(s.catchLoc,!0);if(this.prev<s.finallyLoc)return i(s.finallyLoc)}else if(c){if(this.prev<s.catchLoc)return i(s.catchLoc,!0)}else if(u){if(this.prev<s.finallyLoc)return i(s.finallyLoc)}else throw Error("try statement without catch or finally")}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return(s.type=e,s.arg=t,a)?(this.method="next",this.next=a.finallyLoc,d):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),$(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;$(r)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:E(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),d}},e}(e.exports);try{regeneratorRuntime=t}catch(r){Function("r","regeneratorRuntime = r")(t)}})(r={exports:{}},r.exports),r.exports);function o(e,t,r,n,i,a,s){try{var o=e[a](s),c=o.value}catch(u){r(u);return}o.done?t(c):Promise.resolve(c).then(n,i)}var c=function e(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function s(e){o(a,n,i,s,c,"next",e)}function c(e){o(a,n,i,s,c,"throw",e)}s(void 0)})}},u=function e(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")};function h(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var f=function e(t,r,n){return r&&h(t.prototype,r),n&&h(t,n),t},p=function e(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(e){var r,i,a;r=t,i=e,a=n[e],i in r?Object.defineProperty(r,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[i]=a})}return t};function d(e){var t,r=e.method,n=e.path,i=e.body,a=void 0===i?null:i,o=e.headers,u=void 0===o?{}:o,h={method:r,headers:u};return null!==a&&(h.body=JSON.stringify(a),h.headers=p({"Content-Type":"application/json"},u)),fetch(n,h).then((t=c(s.mark(function e(t){return s.wrap(function e(r){for(;;)switch(r.prev=r.next){case 0:if(t.ok){r.next=3;break}return r.next=3,l(t);case 3:return r.prev=3,r.next=6,t.json();case 6:return r.abrupt("return",r.sent);case 9:return r.prev=9,r.t0=r.catch(3),r.abrupt("return",null);case 12:case"end":return r.stop()}},e,null,[[3,9]])})),function(e){return t.apply(this,arguments)}))}function l(e){return v.apply(this,arguments)}function v(){return(v=c(s.mark(function e(t){var r,n,i,a,o,c;return s.wrap(function e(s){for(;;)switch(s.prev=s.next){case 0:return s.prev=0,s.next=3,t.json();case 3:a=void 0===(i=(n=s.sent).error)?"Unknown error":i,c=void 0===(o=n.description)?"No description":o,r="Unexpected status code ".concat(t.status,": ").concat(a,", ").concat(c),s.next=14;break;case 11:s.prev=11,s.t0=s.catch(0),r="Unexpected status code ".concat(t.status,": Cannot parse error response");case 14:throw Error(r);case 15:case"end":return s.stop()}},e,null,[[0,11]])}))).apply(this,arguments)}var y=function(){var e;function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.url,n=e.queryParams,i=e.headers;u(this,t),this.url=r,this.queryParams=n,this.headers=i}return f(t,[{key:"fetchToken",value:(e=c(s.mark(function e(t){var r,n,i,a;return s.wrap(function e(s){for(;;)switch(s.prev=s.next){case 0:return n=Object.entries(r=p({user_id:t},this.queryParams)).map(function(e){return e.map(encodeURIComponent).join("=")}).join("&"),i={method:"GET",path:"".concat(this.url,"?").concat(n),headers:this.headers},s.next=5,d(i);case 5:return a=s.sent,s.abrupt("return",a);case 7:case"end":return s.stop()}},e,this)})),function t(r){return e.apply(this,arguments)})}]),t}(),g=function(){var e,t;function r(e){u(this,r),this._instanceId=e,this._dbConn=null}return f(r,[{key:"connect",value:function e(){var t=this;return new Promise(function(e,r){var n=indexedDB.open(t._dbName);n.onsuccess=function(r){var n=r.target.result;t._dbConn=n,t._readState().then(function(e){return null===e?t.clear():Promise.resolve()}).then(e)},n.onupgradeneeded=function(e){e.target.result.createObjectStore("beams",{keyPath:"instance_id"})},n.onerror=function(e){r(Error("Database error: ".concat(e.target.error)))}})}},{key:"clear",value:function e(){return this._writeState({instance_id:this._instanceId,device_id:null,token:null,user_id:null})}},{key:"_readState",value:function e(){var t=this;if(!this.isConnected)throw Error("Cannot read value: DeviceStateStore not connected to IndexedDB");return new Promise(function(e,r){var n=t._dbConn.transaction("beams").objectStore("beams").get(t._instanceId);n.onsuccess=function(t){var r=t.target.result;r||e(null),e(r)},n.onerror=function(e){r(e.target.error)}})}},{key:"_readProperty",value:(e=c(s.mark(function e(t){var r;return s.wrap(function e(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this._readState();case 2:if(null!==(r=n.sent)){n.next=5;break}return n.abrupt("return",null);case 5:return n.abrupt("return",r[t]||null);case 6:case"end":return n.stop()}},e,this)})),function t(r){return e.apply(this,arguments)})},{key:"_writeState",value:function e(t){var r=this;if(!this.isConnected)throw Error("Cannot write value: DeviceStateStore not connected to IndexedDB");return new Promise(function(e,n){var i=r._dbConn.transaction("beams","readwrite").objectStore("beams").put(t);i.onsuccess=function(t){e()},i.onerror=function(e){n(e.target.error)}})}},{key:"_writeProperty",value:(t=c(s.mark(function e(t,r){var n;return s.wrap(function e(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,this._readState();case 2:return(n=i.sent)[t]=r,i.next=6,this._writeState(n);case 6:case"end":return i.stop()}},e,this)})),function e(r,n){return t.apply(this,arguments)})},{key:"getToken",value:function e(){return this._readProperty("token")}},{key:"setToken",value:function e(t){return this._writeProperty("token",t)}},{key:"getDeviceId",value:function e(){return this._readProperty("device_id")}},{key:"setDeviceId",value:function e(t){return this._writeProperty("device_id",t)}},{key:"getUserId",value:function e(){return this._readProperty("user_id")}},{key:"setUserId",value:function e(t){return this._writeProperty("user_id",t)}},{key:"getLastSeenSdkVersion",value:function e(){return this._readProperty("last_seen_sdk_version")}},{key:"setLastSeenSdkVersion",value:function e(t){return this._writeProperty("last_seen_sdk_version",t)}},{key:"getLastSeenUserAgent",value:function e(){return this._readProperty("last_seen_user_agent")}},{key:"setLastSeenUserAgent",value:function e(t){return this._writeProperty("last_seen_user_agent",t)}},{key:"_dbName",get:function e(){return"beams-".concat(this._instanceId)}},{key:"isConnected",get:function e(){return null!==this._dbConn}}]),r}(),w="1.0.3",k=RegExp("^(_|\\-|=|@|,|\\.|;|[A-Z]|[a-z]|[0-9])*$"),x="/service-worker.js?v=1&pusherBeamsWebSDKVersion=".concat(w),b=Object.freeze({PERMISSION_PROMPT_REQUIRED:"PERMISSION_PROMPT_REQUIRED",PERMISSION_GRANTED_NOT_REGISTERED_WITH_BEAMS:"PERMISSION_GRANTED_NOT_REGISTERED_WITH_BEAMS",PERMISSION_GRANTED_REGISTERED_WITH_BEAMS:"PERMISSION_GRANTED_REGISTERED_WITH_BEAMS",PERMISSION_DENIED:"PERMISSION_DENIED"}),S=function(){var e,t,r,n,i,a,o,h,p,l,v,y,k,x,S,$,P,R,T,L,N,C;function O(e){if(u(this,O),!e)throw Error("Config object required");var t=e.instanceId,r=e.endpointOverride,n=e.serviceWorkerRegistration,i=void 0===n?null:n;if(void 0===t)throw Error("Instance ID is required");if("string"!=typeof t)throw Error("Instance ID must be a string");if(0===t.length)throw Error("Instance ID cannot be empty");if(!("indexedDB"in window))throw Error("Pusher Beams does not support this browser version (IndexedDB not supported)");if(!window.isSecureContext)throw Error("Pusher Beams relies on Service Workers, which only work in secure contexts. Check that your page is being served from localhost/over HTTPS");if(!("serviceWorker"in navigator))throw Error("Pusher Beams does not support this browser version (Service Workers not supported)");if(!("PushManager"in window))throw Error("Pusher Beams does not support this browser version (Web Push not supported)");if(i){var a=i.scope;if(!location.href.startsWith(a))throw Error("Could not initialize Pusher web push: current page not in serviceWorkerRegistration scope (".concat(a,")"))}this.instanceId=t,this._deviceId=null,this._token=null,this._userId=null,this._serviceWorkerRegistration=i,this._deviceStateStore=new g(t),this._endpoint=void 0===r?null:r,this._ready=this._init()}return f(O,[{key:"_init",value:(e=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:if(!(null!==this._deviceId)){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,this._deviceStateStore.connect();case 4:if(!this._serviceWorkerRegistration){t.next=9;break}return t.next=7,window.navigator.serviceWorker.ready;case 7:t.next=12;break;case 9:return t.next=11,I();case 11:this._serviceWorkerRegistration=t.sent;case 12:return t.next=14,this._detectSubscriptionChange();case 14:return t.next=16,this._deviceStateStore.getDeviceId();case 16:return this._deviceId=t.sent,t.next=19,this._deviceStateStore.getToken();case 19:return this._token=t.sent,t.next=22,this._deviceStateStore.getUserId();case 22:this._userId=t.sent;case 23:case"end":return t.stop()}},e,this)})),function t(){return e.apply(this,arguments)})},{key:"_resolveSDKState",value:(t=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._ready;case 2:return t.next=4,this._detectSubscriptionChange();case 4:case"end":return t.stop()}},e,this)})),function e(){return t.apply(this,arguments)})},{key:"_detectSubscriptionChange",value:(r=c(s.mark(function e(){var t,r,n;return s.wrap(function e(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,this._deviceStateStore.getToken();case 2:return t=i.sent,i.next=5,_(this._serviceWorkerRegistration);case 5:if(!(n=t!==(r=i.sent))){i.next=13;break}return i.next=10,this._deviceStateStore.clear();case 10:this._deviceId=null,this._token=null,this._userId=null;case 13:case"end":return i.stop()}},e,this)})),function e(){return r.apply(this,arguments)})},{key:"getDeviceId",value:(n=c(s.mark(function e(){var t=this;return s.wrap(function e(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this._resolveSDKState();case 2:return r.abrupt("return",this._ready.then(function(){return t._deviceId}));case 3:case"end":return r.stop()}},e,this)})),function e(){return n.apply(this,arguments)})},{key:"getToken",value:(i=c(s.mark(function e(){var t=this;return s.wrap(function e(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this._resolveSDKState();case 2:return r.abrupt("return",this._ready.then(function(){return t._token}));case 3:case"end":return r.stop()}},e,this)})),function e(){return i.apply(this,arguments)})},{key:"getUserId",value:(a=c(s.mark(function e(){var t=this;return s.wrap(function e(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this._resolveSDKState();case 2:return r.abrupt("return",this._ready.then(function(){return t._userId}));case 3:case"end":return r.stop()}},e,this)})),function e(){return a.apply(this,arguments)})},{key:"_throwIfNotStarted",value:function e(t){if(!this._deviceId)throw Error("".concat(t,". SDK not registered with Beams. Did you call .start?"))}},{key:"start",value:(o=c(s.mark(function e(){var t,r,n,i;return s.wrap(function e(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,this._resolveSDKState();case 2:if(D()){a.next=4;break}return a.abrupt("return",this);case 4:if(!(null!==this._deviceId)){a.next=6;break}return a.abrupt("return",this);case 6:return a.next=8,this._getPublicKey();case 8:return r=(t=a.sent).vapidPublicKey,a.next=12,this._getPushToken(r);case 12:return n=a.sent,a.next=15,this._registerDevice(n);case 15:return i=a.sent,a.next=18,this._deviceStateStore.setToken(n);case 18:return a.next=20,this._deviceStateStore.setDeviceId(i);case 20:return a.next=22,this._deviceStateStore.setLastSeenSdkVersion(w);case 22:return a.next=24,this._deviceStateStore.setLastSeenUserAgent(window.navigator.userAgent);case 24:return this._token=n,this._deviceId=i,a.abrupt("return",this);case 27:case"end":return a.stop()}},e,this)})),function e(){return o.apply(this,arguments)})},{key:"getRegistrationState",value:(h=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._resolveSDKState();case 2:if("denied"!==Notification.permission){t.next=4;break}return t.abrupt("return",b.PERMISSION_DENIED);case 4:if(!("granted"===Notification.permission&&null!==this._deviceId)){t.next=6;break}return t.abrupt("return",b.PERMISSION_GRANTED_REGISTERED_WITH_BEAMS);case 6:if(!("granted"===Notification.permission&&null===this._deviceId)){t.next=8;break}return t.abrupt("return",b.PERMISSION_GRANTED_NOT_REGISTERED_WITH_BEAMS);case 8:return t.abrupt("return",b.PERMISSION_PROMPT_REQUIRED);case 9:case"end":return t.stop()}},e,this)})),function e(){return h.apply(this,arguments)})},{key:"addDeviceInterest",value:(p=c(s.mark(function e(t){var r,n;return s.wrap(function e(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,this._resolveSDKState();case 2:return this._throwIfNotStarted("Could not add Device Interest"),m(t),n={method:"POST",path:r="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(this._deviceId,"/interests/").concat(encodeURIComponent(t))},i.next=8,d(n);case 8:case"end":return i.stop()}},e,this)})),function e(t){return p.apply(this,arguments)})},{key:"removeDeviceInterest",value:(l=c(s.mark(function e(t){var r,n;return s.wrap(function e(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,this._resolveSDKState();case 2:return this._throwIfNotStarted("Could not remove Device Interest"),m(t),n={method:"DELETE",path:r="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(this._deviceId,"/interests/").concat(encodeURIComponent(t))},i.next=8,d(n);case 8:case"end":return i.stop()}},e,this)})),function e(t){return l.apply(this,arguments)})},{key:"getDeviceInterests",value:(v=c(s.mark(function e(){var t,r;return s.wrap(function e(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this._resolveSDKState();case 2:return this._throwIfNotStarted("Could not get Device Interests"),r={method:"GET",path:t="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(this._deviceId,"/interests")},n.next=7,d(r);case 7:if(n.t0=n.sent.interests,n.t0){n.next=10;break}n.t0=[];case 10:return n.abrupt("return",n.t0);case 11:case"end":return n.stop()}},e,this)})),function e(){return v.apply(this,arguments)})},{key:"setDeviceInterests",value:(y=c(s.mark(function e(t){var r,n,i,a,o,c,u,h,f;return s.wrap(function e(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,this._resolveSDKState();case 2:if(this._throwIfNotStarted("Could not set Device Interests"),null!=t){s.next=5;break}throw Error("interests argument is required");case 5:if(Array.isArray(t)){s.next=7;break}throw Error("interests argument must be an array");case 7:if(!(t.length>5e3)){s.next=9;break}throw Error("Number of interests (".concat(t.length,") exceeds maximum of ").concat(5e3));case 9:for(r=!0,n=!1,i=void 0,s.prev=12,a=t[Symbol.iterator]();!(r=(o=a.next()).done);r=!0)m(c=o.value);s.next=20;break;case 16:s.prev=16,s.t0=s.catch(12),n=!0,i=s.t0;case 20:s.prev=20,s.prev=21,r||null==a.return||a.return();case 23:if(s.prev=23,!n){s.next=26;break}throw i;case 26:return s.finish(23);case 27:return s.finish(20);case 28:return u=Array.from(new Set(t)),f={method:"PUT",path:h="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(this._deviceId,"/interests"),body:{interests:u}},s.next=33,d(f);case 33:case"end":return s.stop()}},e,this,[[12,16,20,28],[21,,23,27]])})),function e(t){return y.apply(this,arguments)})},{key:"clearDeviceInterests",value:(k=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._resolveSDKState();case 2:return this._throwIfNotStarted("Could not clear Device Interests"),t.next=5,this.setDeviceInterests([]);case 5:case"end":return t.stop()}},e,this)})),function e(){return k.apply(this,arguments)})},{key:"setUserId",value:(x=c(s.mark(function e(t,r){var n,i,a,o,c;return s.wrap(function e(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,this._resolveSDKState();case 2:if(D()){s.next=4;break}return s.abrupt("return");case 4:if(null!==this._deviceId){s.next=7;break}return n=Error(".start must be called before .setUserId"),s.abrupt("return",Promise.reject(n));case 7:if(!("string"!=typeof t)){s.next=9;break}throw Error("User ID must be a string (was ".concat(t,")"));case 9:if(""!==t){s.next=11;break}throw Error("User ID cannot be the empty string");case 11:if(!(null!==this._userId&&this._userId!==t)){s.next=13;break}throw Error("Changing the `userId` is not allowed.");case 13:return i="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(this._deviceId,"/user"),s.next=16,r.fetchToken(t);case 16:return o=(a=s.sent).token,c={method:"PUT",path:i,headers:{Authorization:"Bearer ".concat(o)}},s.next=21,d(c);case 21:return this._userId=t,s.abrupt("return",this._deviceStateStore.setUserId(t));case 23:case"end":return s.stop()}},e,this)})),function e(t,r){return x.apply(this,arguments)})},{key:"stop",value:(S=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._resolveSDKState();case 2:if(D()){t.next=4;break}return t.abrupt("return");case 4:if(null!==this._deviceId){t.next=6;break}return t.abrupt("return");case 6:return t.next=8,this._deleteDevice();case 8:return t.next=10,this._deviceStateStore.clear();case 10:this._clearPushToken().catch(function(){}),this._deviceId=null,this._token=null,this._userId=null;case 14:case"end":return t.stop()}},e,this)})),function e(){return S.apply(this,arguments)})},{key:"clearAllState",value:($=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:if(D()){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,this.stop();case 4:return t.next=6,this.start();case 6:case"end":return t.stop()}},e,this)})),function e(){return $.apply(this,arguments)})},{key:"_getPublicKey",value:(P=c(s.mark(function e(){var t,r;return s.wrap(function e(n){for(;;)switch(n.prev=n.next){case 0:return r={method:"GET",path:t="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/web-vapid-public-key")},n.abrupt("return",d(r));case 3:case"end":return n.stop()}},e,this)})),function e(){return P.apply(this,arguments)})},{key:"_getPushToken",value:(R=c(s.mark(function e(t){var r;return s.wrap(function e(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,this._clearPushToken();case 3:return n.next=5,this._serviceWorkerRegistration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:E(t)});case 5:return r=n.sent,n.abrupt("return",btoa(JSON.stringify(r)));case 9:return n.prev=9,n.t0=n.catch(0),n.abrupt("return",Promise.reject(n.t0));case 12:case"end":return n.stop()}},e,this,[[0,9]])})),function e(t){return R.apply(this,arguments)})},{key:"_clearPushToken",value:(T=c(s.mark(function e(){return s.wrap(function e(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",navigator.serviceWorker.ready.then(function(e){return e.pushManager.getSubscription()}).then(function(e){e&&e.unsubscribe()}));case 1:case"end":return t.stop()}},e)})),function e(){return T.apply(this,arguments)})},{key:"_registerDevice",value:(L=c(s.mark(function e(t){var r,n,i,a;return s.wrap(function e(s){for(;;)switch(s.prev=s.next){case 0:return r="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web"),n={token:t,metadata:{sdkVersion:w}},i={method:"POST",path:r,body:n},s.next=5,d(i);case 5:return a=s.sent,s.abrupt("return",a.id);case 7:case"end":return s.stop()}},e,this)})),function e(t){return L.apply(this,arguments)})},{key:"_deleteDevice",value:(N=c(s.mark(function e(){var t,r;return s.wrap(function e(n){for(;;)switch(n.prev=n.next){case 0:return r={method:"DELETE",path:t="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(encodeURIComponent(this._deviceId))},n.next=4,d(r);case 4:case"end":return n.stop()}},e,this)})),function e(){return N.apply(this,arguments)})},{key:"_updateDeviceMetadata",value:(C=c(s.mark(function e(){var t,r,n,i,a,o;return s.wrap(function e(s){for(;;)switch(s.prev=s.next){case 0:return t=window.navigator.userAgent,s.next=3,this._deviceStateStore.getLastSeenUserAgent();case 3:return r=s.sent,s.next=6,this._deviceStateStore.getLastSeenSdkVersion();case 6:if(n=s.sent,!(t===r&&w===n)){s.next=9;break}return s.abrupt("return");case 9:return i="".concat(this._baseURL,"/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId),"/devices/web/").concat(this._deviceId,"/metadata"),a={sdkVersion:w},o={method:"PUT",path:i,body:a},s.next=14,d(o);case 14:return s.next=16,this._deviceStateStore.setLastSeenSdkVersion(w);case 16:return s.next=18,this._deviceStateStore.setLastSeenUserAgent(t);case 18:case"end":return s.stop()}},e,this)})),function e(){return C.apply(this,arguments)})},{key:"_baseURL",get:function e(){return null!==this._endpoint?this._endpoint:"https://".concat(this.instanceId,".pushnotifications.pusher.com")}}]),O}(),m=function e(t){if(null==t)throw Error("Interest name is required");if("string"!=typeof t)throw Error("Interest ".concat(t," is not a string"));if(!k.test(t))throw Error('interest "'.concat(t,'" contains a forbidden character. ')+"Allowed characters are: ASCII upper/lower-case letters, numbers or one of _-=@,.;");if(t.length>164)throw Error("Interest is longer than the maximum of ".concat(164," chars"))};function I(){return $.apply(this,arguments)}function $(){return($=c(s.mark(function e(){var t,r;return s.wrap(function e(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,fetch(x);case 2:if(!(200!==(r=(t=n.sent).status))){n.next=6;break}throw Error("Cannot start SDK, service worker missing: No file found at /service-worker.js");case 6:return window.navigator.serviceWorker.register(x,{updateViaCache:"none"}),n.abrupt("return",window.navigator.serviceWorker.ready);case 8:case"end":return n.stop()}},e)}))).apply(this,arguments)}function _(e){return e.pushManager.getSubscription().then(function(e){var t;return e?(t=e,btoa(JSON.stringify(t))):null})}function E(e){var t,r="=".repeat((4-e.length%4)%4),s=(e+r).replace(/-/g,"+").replace(/_/g,"/"),o=window.atob(s);return Uint8Array.from((n(t=o)||i(t)||a()).map(function(e){return e.charCodeAt(0)}))}function D(){var e=window.navigator,t=e.vendor,r=null!==window.chrome&&void 0!==window.chrome,n=e.userAgent.indexOf("OPR")>-1,i=e.userAgent.indexOf("Edg")>-1,a=e.userAgent.indexOf("Firefox")>-1,s=r&&"Google Inc."===t&&!i&&!n||n||a||i;return s||console.warn("Pusher Web Push Notifications supports Chrome, Firefox, Edge and Opera."),s}return e.Client=S,e.RegistrationState=b,e.TokenProvider=y,e}({});const pusherid=document.getElementById("pusherid").innerHTML,beamsClient=new PusherPushNotifications.Client({instanceId:pusherid}),strid=document.getElementById("strid").innerHTML;beamsClient.start().then(e=>e.getDeviceId()).then(()=>beamsClient.addDeviceInterest(strid)).then(()=>beamsClient.getDeviceInterests()).catch(console.error); |