@voicenter-team/events-sdk 0.0.21 → 0.0.22

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.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @author Feross Aboukhadijeh <https://feross.org>
5
5
  * @license MIT
6
- */var wg=function(m){return m!=null&&(Bu(m)||Sg(m)||!!m._isBuffer)};function Bu(m){return!!m.constructor&&typeof m.constructor.isBuffer=="function"&&m.constructor.isBuffer(m)}function Sg(m){return typeof m.readFloatLE=="function"&&typeof m.slice=="function"&&Bu(m.slice(0,0))}(function(){var m=mg,v=Iu.utf8,r=wg,l=Iu.bin,c=function(g,w){g.constructor==String?w&&w.encoding==="binary"?g=l.stringToBytes(g):g=v.stringToBytes(g):r(g)?g=Array.prototype.slice.call(g,0):!Array.isArray(g)&&g.constructor!==Uint8Array&&(g=g.toString());for(var d=m.bytesToWords(g),x=g.length*8,h=1732584193,_=-271733879,p=-1732584194,u=271733878,s=0;s<d.length;s++)d[s]=(d[s]<<8|d[s]>>>24)&16711935|(d[s]<<24|d[s]>>>8)&4278255360;d[x>>>5]|=128<<x%32,d[(x+64>>>9<<4)+14]=x;for(var S=c._ff,k=c._gg,E=c._hh,q=c._ii,s=0;s<d.length;s+=16){var oe=h,Y=_,se=p,G=u;h=S(h,_,p,u,d[s+0],7,-680876936),u=S(u,h,_,p,d[s+1],12,-389564586),p=S(p,u,h,_,d[s+2],17,606105819),_=S(_,p,u,h,d[s+3],22,-1044525330),h=S(h,_,p,u,d[s+4],7,-176418897),u=S(u,h,_,p,d[s+5],12,1200080426),p=S(p,u,h,_,d[s+6],17,-1473231341),_=S(_,p,u,h,d[s+7],22,-45705983),h=S(h,_,p,u,d[s+8],7,1770035416),u=S(u,h,_,p,d[s+9],12,-1958414417),p=S(p,u,h,_,d[s+10],17,-42063),_=S(_,p,u,h,d[s+11],22,-1990404162),h=S(h,_,p,u,d[s+12],7,1804603682),u=S(u,h,_,p,d[s+13],12,-40341101),p=S(p,u,h,_,d[s+14],17,-1502002290),_=S(_,p,u,h,d[s+15],22,1236535329),h=k(h,_,p,u,d[s+1],5,-165796510),u=k(u,h,_,p,d[s+6],9,-1069501632),p=k(p,u,h,_,d[s+11],14,643717713),_=k(_,p,u,h,d[s+0],20,-373897302),h=k(h,_,p,u,d[s+5],5,-701558691),u=k(u,h,_,p,d[s+10],9,38016083),p=k(p,u,h,_,d[s+15],14,-660478335),_=k(_,p,u,h,d[s+4],20,-405537848),h=k(h,_,p,u,d[s+9],5,568446438),u=k(u,h,_,p,d[s+14],9,-1019803690),p=k(p,u,h,_,d[s+3],14,-187363961),_=k(_,p,u,h,d[s+8],20,1163531501),h=k(h,_,p,u,d[s+13],5,-1444681467),u=k(u,h,_,p,d[s+2],9,-51403784),p=k(p,u,h,_,d[s+7],14,1735328473),_=k(_,p,u,h,d[s+12],20,-1926607734),h=E(h,_,p,u,d[s+5],4,-378558),u=E(u,h,_,p,d[s+8],11,-2022574463),p=E(p,u,h,_,d[s+11],16,1839030562),_=E(_,p,u,h,d[s+14],23,-35309556),h=E(h,_,p,u,d[s+1],4,-1530992060),u=E(u,h,_,p,d[s+4],11,1272893353),p=E(p,u,h,_,d[s+7],16,-155497632),_=E(_,p,u,h,d[s+10],23,-1094730640),h=E(h,_,p,u,d[s+13],4,681279174),u=E(u,h,_,p,d[s+0],11,-358537222),p=E(p,u,h,_,d[s+3],16,-722521979),_=E(_,p,u,h,d[s+6],23,76029189),h=E(h,_,p,u,d[s+9],4,-640364487),u=E(u,h,_,p,d[s+12],11,-421815835),p=E(p,u,h,_,d[s+15],16,530742520),_=E(_,p,u,h,d[s+2],23,-995338651),h=q(h,_,p,u,d[s+0],6,-198630844),u=q(u,h,_,p,d[s+7],10,1126891415),p=q(p,u,h,_,d[s+14],15,-1416354905),_=q(_,p,u,h,d[s+5],21,-57434055),h=q(h,_,p,u,d[s+12],6,1700485571),u=q(u,h,_,p,d[s+3],10,-1894986606),p=q(p,u,h,_,d[s+10],15,-1051523),_=q(_,p,u,h,d[s+1],21,-2054922799),h=q(h,_,p,u,d[s+8],6,1873313359),u=q(u,h,_,p,d[s+15],10,-30611744),p=q(p,u,h,_,d[s+6],15,-1560198380),_=q(_,p,u,h,d[s+13],21,1309151649),h=q(h,_,p,u,d[s+4],6,-145523070),u=q(u,h,_,p,d[s+11],10,-1120210379),p=q(p,u,h,_,d[s+2],15,718787259),_=q(_,p,u,h,d[s+9],21,-343485551),h=h+oe>>>0,_=_+Y>>>0,p=p+se>>>0,u=u+G>>>0}return m.endian([h,_,p,u])};c._ff=function(g,w,d,x,h,_,p){var u=g+(w&d|~w&x)+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._gg=function(g,w,d,x,h,_,p){var u=g+(w&x|d&~x)+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._hh=function(g,w,d,x,h,_,p){var u=g+(w^d^x)+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._ii=function(g,w,d,x,h,_,p){var u=g+(d^(w|~x))+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._blocksize=16,c._digestsize=16,Ou.exports=function(g,w){if(g==null)throw new Error("Illegal argument "+g);var d=m.wordsToBytes(c(g,w));return w&&w.asBytes?d:w&&w.asString?l.bytesToString(d):m.bytesToHex(d)}})();var bg=Ou.exports;const Ag=_g(bg);var rn=(m=>(m.MAIN="main",m.NEXT="next",m))(rn||{}),Dt=(m=>(m.USER="User",m.TOKEN="Token",m))(Dt||{});class qn{static async getSessionStorageDataByKey(v,r=!0){if(typeof chrome<"u"&&typeof chrome.storage<"u"){const l=await chrome.storage.session.get(v);if(l[v])return r?JSON.parse(l[v]):l[v]}if(typeof window<"u"){const l=window.sessionStorage.getItem(v);if(l)return r?JSON.parse(l):l}}static async updateSessionStorageKey(v,r){typeof chrome<"u"&&typeof chrome.storage<"u"&&await chrome.storage.session.set({[v]:JSON.stringify(r)}),typeof window<"u"&&window.sessionStorage.setItem(v,JSON.stringify(r))}static clearSessionStorage(){typeof chrome<"u"&&typeof chrome.storage<"u"&&chrome.storage.session.clear(),typeof window<"u"&&window.sessionStorage.clear()}}var Xt=(m=>(m.INFO="INFO",m.WARN="WARN",m.ERROR="ERROR",m))(Xt||{});class xg{constructor(v){Se(this,"delay",1e3);Se(this,"lastLoginTimestamp");Se(this,"token");Se(this,"storageKey");this.eventsSdkClass=v,this.eventsSdkClass=v,this.storageKey=""}async login(v){const r={token:v.token,email:v.email,password:v.password};if(this.storageKey=Ag(JSON.stringify(v)),this.lastLoginTimestamp&&this.lastLoginTimestamp+this.delay>new Date().getTime())return;this.updateLastLoginTimestamp(),await this.checkLoginStatus(this.storageKey)||(qn.clearSessionStorage(),await this.userLoginFunction(r,this.storageKey,v.loginType))}updateLastLoginTimestamp(){this.lastLoginTimestamp=new Date().getTime()}async checkLoginStatus(v){const r=await qn.getSessionStorageDataByKey(v);return r?(this.onLoginResponse(r),!0):!1}async userLoginFunction(v,r,l){let c,g,w;this.eventsSdkClass.options.isNewStack?(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),g=await this.getSettings(c.Data.AccessToken),w={...c.Data,...g}):(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),w={...c.Data.Socket}),this.onLoginResponse(w),await qn.updateSessionStorageKey(r,w)}onLoginResponse(v){if(v.MonitorList&&v.MonitorList.length&&(this.eventsSdkClass.servers=[...v.MonitorList],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),!this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length&&v.URLList&&(this.eventsSdkClass.URLList=v.URLList),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.URLList.length&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");if(this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");this.eventsSdkClass.server&&(this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${this.eventsSdkClass.server.Version}`),this.eventsSdkClass.loggerClass.init()),!this.eventsSdkClass.server&&this.eventsSdkClass.URLList.length&&this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${v.Client}`),v.IdentityCode&&(this.token=v.IdentityCode,this.eventsSdkClass.connect(rn.MAIN)),v.Token&&(this.token=v.Token,this.eventsSdkClass.connect(rn.MAIN)),v.RefreshToken&&v.IdentityCodeExpiry&&this.eventsSdkClass.options.loginType===Dt.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.IdentityCodeExpiry,this.handleTokenExpiry()),v.RefreshToken&&v.TokenExpiry&&this.eventsSdkClass.options.loginType===Dt.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.TokenExpiry,this.handleTokenExpiry())}handleTokenExpiry(){if(!this.eventsSdkClass.options.refreshTokenUrl)throw new Error("refreshTokenUrl not provided");let v;if(this.eventsSdkClass.options.tokenExpiry)v=new Date(this.eventsSdkClass.options.tokenExpiry);else return;const r=v.getTime()-new Date().getTime()-5e3,l=Math.min(r,2147483647);setTimeout(async()=>{if(this.eventsSdkClass.options.refreshToken){this.eventsSdkClass.socketIoClass.closeAllConnections();let c,g;if(this.eventsSdkClass.options.isNewStack){const w=await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken);c=await this.getSettings(w.Data.AccessToken),g={...w.Data,...c}}else g={...(await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken)).Data.Socket};this.onLoginResponse(g),await qn.updateSessionStorageKey(this.storageKey,g)}},l)}async externalLogin(v,{password:r,token:l,email:c},g){if(!v)throw new Error("loginUrl not provided");let w;this.eventsSdkClass.options.isNewStack?g===Dt.TOKEN?w=JSON.stringify({identityType:Dt.TOKEN,token:l}):w=JSON.stringify({identityType:Dt.USER,username:c,password:r}):this.eventsSdkClass.options.loginType===Dt.TOKEN?(w=JSON.stringify({token:l}),v=`${v}/${Dt.TOKEN}`):(w=JSON.stringify({email:c,pin:r}),v=`${v}/${Dt.USER}`);try{const d=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json"},body:w});if(!d.ok&&d.status===400)throw new Error("Bad body request. Login type or isNewStack values not correct or not provided");if(!d.ok&&d.status===401)throw new Error("Unauthorized. Invalid token provided");if(!d.ok&&d.status===403)throw new Error("Forbidden. Identity token not provided or not valid");const x=await d.json();if(x.error)throw new Error(x.error);return x}catch(d){throw this.eventsSdkClass.loggerClass.log(Xt.ERROR,`External login ${v}`,d),d}}async getSettings(v){try{if(!this.eventsSdkClass.options.getSettingsUrl)throw new Error("getSettingsUrl not provided");const r=await fetch(this.eventsSdkClass.options.getSettingsUrl,{headers:{Authorization:`Bearer ${v}`}});if(!r.ok&&r.status===401)throw new Error("Unauthorized. Access token not provided or not valid");return r.json()}catch(r){throw this.eventsSdkClass.loggerClass.log(Xt.ERROR,`Get settings ${this.eventsSdkClass.options.getSettingsUrl}`,r),r}}async refreshToken(v,r){try{return(await fetch(v,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`}})).json()}catch(l){throw this.eventsSdkClass.loggerClass.log(Xt.ERROR,`Refresh token ${v}`,l),l}}}var Ir={exports:{}};/**
6
+ */var wg=function(m){return m!=null&&(Bu(m)||Sg(m)||!!m._isBuffer)};function Bu(m){return!!m.constructor&&typeof m.constructor.isBuffer=="function"&&m.constructor.isBuffer(m)}function Sg(m){return typeof m.readFloatLE=="function"&&typeof m.slice=="function"&&Bu(m.slice(0,0))}(function(){var m=mg,v=Iu.utf8,r=wg,l=Iu.bin,c=function(g,w){g.constructor==String?w&&w.encoding==="binary"?g=l.stringToBytes(g):g=v.stringToBytes(g):r(g)?g=Array.prototype.slice.call(g,0):!Array.isArray(g)&&g.constructor!==Uint8Array&&(g=g.toString());for(var d=m.bytesToWords(g),x=g.length*8,h=1732584193,_=-271733879,p=-1732584194,u=271733878,s=0;s<d.length;s++)d[s]=(d[s]<<8|d[s]>>>24)&16711935|(d[s]<<24|d[s]>>>8)&4278255360;d[x>>>5]|=128<<x%32,d[(x+64>>>9<<4)+14]=x;for(var S=c._ff,k=c._gg,E=c._hh,q=c._ii,s=0;s<d.length;s+=16){var oe=h,Y=_,se=p,G=u;h=S(h,_,p,u,d[s+0],7,-680876936),u=S(u,h,_,p,d[s+1],12,-389564586),p=S(p,u,h,_,d[s+2],17,606105819),_=S(_,p,u,h,d[s+3],22,-1044525330),h=S(h,_,p,u,d[s+4],7,-176418897),u=S(u,h,_,p,d[s+5],12,1200080426),p=S(p,u,h,_,d[s+6],17,-1473231341),_=S(_,p,u,h,d[s+7],22,-45705983),h=S(h,_,p,u,d[s+8],7,1770035416),u=S(u,h,_,p,d[s+9],12,-1958414417),p=S(p,u,h,_,d[s+10],17,-42063),_=S(_,p,u,h,d[s+11],22,-1990404162),h=S(h,_,p,u,d[s+12],7,1804603682),u=S(u,h,_,p,d[s+13],12,-40341101),p=S(p,u,h,_,d[s+14],17,-1502002290),_=S(_,p,u,h,d[s+15],22,1236535329),h=k(h,_,p,u,d[s+1],5,-165796510),u=k(u,h,_,p,d[s+6],9,-1069501632),p=k(p,u,h,_,d[s+11],14,643717713),_=k(_,p,u,h,d[s+0],20,-373897302),h=k(h,_,p,u,d[s+5],5,-701558691),u=k(u,h,_,p,d[s+10],9,38016083),p=k(p,u,h,_,d[s+15],14,-660478335),_=k(_,p,u,h,d[s+4],20,-405537848),h=k(h,_,p,u,d[s+9],5,568446438),u=k(u,h,_,p,d[s+14],9,-1019803690),p=k(p,u,h,_,d[s+3],14,-187363961),_=k(_,p,u,h,d[s+8],20,1163531501),h=k(h,_,p,u,d[s+13],5,-1444681467),u=k(u,h,_,p,d[s+2],9,-51403784),p=k(p,u,h,_,d[s+7],14,1735328473),_=k(_,p,u,h,d[s+12],20,-1926607734),h=E(h,_,p,u,d[s+5],4,-378558),u=E(u,h,_,p,d[s+8],11,-2022574463),p=E(p,u,h,_,d[s+11],16,1839030562),_=E(_,p,u,h,d[s+14],23,-35309556),h=E(h,_,p,u,d[s+1],4,-1530992060),u=E(u,h,_,p,d[s+4],11,1272893353),p=E(p,u,h,_,d[s+7],16,-155497632),_=E(_,p,u,h,d[s+10],23,-1094730640),h=E(h,_,p,u,d[s+13],4,681279174),u=E(u,h,_,p,d[s+0],11,-358537222),p=E(p,u,h,_,d[s+3],16,-722521979),_=E(_,p,u,h,d[s+6],23,76029189),h=E(h,_,p,u,d[s+9],4,-640364487),u=E(u,h,_,p,d[s+12],11,-421815835),p=E(p,u,h,_,d[s+15],16,530742520),_=E(_,p,u,h,d[s+2],23,-995338651),h=q(h,_,p,u,d[s+0],6,-198630844),u=q(u,h,_,p,d[s+7],10,1126891415),p=q(p,u,h,_,d[s+14],15,-1416354905),_=q(_,p,u,h,d[s+5],21,-57434055),h=q(h,_,p,u,d[s+12],6,1700485571),u=q(u,h,_,p,d[s+3],10,-1894986606),p=q(p,u,h,_,d[s+10],15,-1051523),_=q(_,p,u,h,d[s+1],21,-2054922799),h=q(h,_,p,u,d[s+8],6,1873313359),u=q(u,h,_,p,d[s+15],10,-30611744),p=q(p,u,h,_,d[s+6],15,-1560198380),_=q(_,p,u,h,d[s+13],21,1309151649),h=q(h,_,p,u,d[s+4],6,-145523070),u=q(u,h,_,p,d[s+11],10,-1120210379),p=q(p,u,h,_,d[s+2],15,718787259),_=q(_,p,u,h,d[s+9],21,-343485551),h=h+oe>>>0,_=_+Y>>>0,p=p+se>>>0,u=u+G>>>0}return m.endian([h,_,p,u])};c._ff=function(g,w,d,x,h,_,p){var u=g+(w&d|~w&x)+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._gg=function(g,w,d,x,h,_,p){var u=g+(w&x|d&~x)+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._hh=function(g,w,d,x,h,_,p){var u=g+(w^d^x)+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._ii=function(g,w,d,x,h,_,p){var u=g+(d^(w|~x))+(h>>>0)+p;return(u<<_|u>>>32-_)+w},c._blocksize=16,c._digestsize=16,Ou.exports=function(g,w){if(g==null)throw new Error("Illegal argument "+g);var d=m.wordsToBytes(c(g,w));return w&&w.asBytes?d:w&&w.asString?l.bytesToString(d):m.bytesToHex(d)}})();var bg=Ou.exports;const Ag=_g(bg);var rn=(m=>(m.MAIN="main",m.NEXT="next",m))(rn||{}),Dt=(m=>(m.USER="User",m.TOKEN="Token",m))(Dt||{});class qn{static async getSessionStorageDataByKey(v,r=!0){if(typeof chrome<"u"&&typeof chrome.storage<"u"){const l=await chrome.storage.session.get(v);if(l[v])return r?JSON.parse(l[v]):l[v]}if(typeof window<"u"){const l=window.sessionStorage.getItem(v);if(l)return r?JSON.parse(l):l}}static async updateSessionStorageKey(v,r){typeof chrome<"u"&&typeof chrome.storage<"u"&&await chrome.storage.session.set({[v]:JSON.stringify(r)}),typeof window<"u"&&window.sessionStorage.setItem(v,JSON.stringify(r))}static clearSessionStorage(){typeof chrome<"u"&&typeof chrome.storage<"u"&&chrome.storage.session.clear(),typeof window<"u"&&window.sessionStorage.clear()}}var Xt=(m=>(m.INFO="INFO",m.WARN="WARN",m.ERROR="ERROR",m))(Xt||{});class xg{constructor(v){Se(this,"delay",1e3);Se(this,"lastLoginTimestamp");Se(this,"token");Se(this,"storageKey");this.eventsSdkClass=v,this.eventsSdkClass=v,this.storageKey=""}async login(v){const r={token:v.token,email:v.email,password:v.password};if(this.storageKey=Ag(JSON.stringify(v)),this.lastLoginTimestamp&&this.lastLoginTimestamp+this.delay>new Date().getTime())return;this.updateLastLoginTimestamp(),await this.checkLoginStatus(this.storageKey)||(qn.clearSessionStorage(),await this.userLoginFunction(r,this.storageKey,v.loginType))}updateLastLoginTimestamp(){this.lastLoginTimestamp=new Date().getTime()}async checkLoginStatus(v){const r=await qn.getSessionStorageDataByKey(v);return r?(this.onLoginResponse(r),!0):!1}async userLoginFunction(v,r,l){let c,g,w;this.eventsSdkClass.options.isNewStack?(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),g=await this.getSettings(c.Data.AccessToken),w={...c.Data,...g}):(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),w={...c.Data.Socket}),this.onLoginResponse(w),await qn.updateSessionStorageKey(r,w)}onLoginResponse(v){if(!this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),v.MonitorList&&v.MonitorList.length&&(this.eventsSdkClass.servers=[...v.MonitorList],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length&&v.URLList&&(this.eventsSdkClass.URLList=v.URLList),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.URLList.length&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");if(this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");this.eventsSdkClass.server&&(this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${this.eventsSdkClass.server.Version}`),this.eventsSdkClass.loggerClass.init()),!this.eventsSdkClass.server&&this.eventsSdkClass.URLList.length&&this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${v.Client}`),v.IdentityCode&&(this.token=v.IdentityCode,this.eventsSdkClass.connect(rn.MAIN)),v.Token&&(this.token=v.Token,this.eventsSdkClass.connect(rn.MAIN)),v.RefreshToken&&v.IdentityCodeExpiry&&this.eventsSdkClass.options.loginType===Dt.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.IdentityCodeExpiry,this.handleTokenExpiry()),v.RefreshToken&&v.TokenExpiry&&this.eventsSdkClass.options.loginType===Dt.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.TokenExpiry,this.handleTokenExpiry())}handleTokenExpiry(){if(!this.eventsSdkClass.options.refreshTokenUrl)throw new Error("refreshTokenUrl not provided");let v;if(this.eventsSdkClass.options.tokenExpiry)v=new Date(this.eventsSdkClass.options.tokenExpiry);else return;const r=v.getTime()-new Date().getTime()-5e3,l=Math.min(r,2147483647);setTimeout(async()=>{if(this.eventsSdkClass.options.refreshToken){this.eventsSdkClass.socketIoClass.closeAllConnections();let c,g;if(this.eventsSdkClass.options.isNewStack){const w=await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken);c=await this.getSettings(w.Data.AccessToken),g={...w.Data,...c}}else g={...(await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken)).Data.Socket};this.onLoginResponse(g),await qn.updateSessionStorageKey(this.storageKey,g)}},l)}async externalLogin(v,{password:r,token:l,email:c},g){if(!v)throw new Error("loginUrl not provided");let w;this.eventsSdkClass.options.isNewStack?g===Dt.TOKEN?w=JSON.stringify({identityType:Dt.TOKEN,token:l}):w=JSON.stringify({identityType:Dt.USER,username:c,password:r}):this.eventsSdkClass.options.loginType===Dt.TOKEN?(w=JSON.stringify({token:l}),v=`${v}/${Dt.TOKEN}`):(w=JSON.stringify({email:c,pin:r}),v=`${v}/${Dt.USER}`);try{const d=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json"},body:w});if(!d.ok&&d.status===400)throw new Error("Bad body request. Login type or isNewStack values not correct or not provided");if(!d.ok&&d.status===401)throw new Error("Unauthorized. Invalid token provided");if(!d.ok&&d.status===403)throw new Error("Forbidden. Identity token not provided or not valid");const x=await d.json();if(x.error)throw new Error(x.error);return x}catch(d){throw this.eventsSdkClass.loggerClass.log(Xt.ERROR,`External login ${v}`,d),d}}async getSettings(v){try{if(!this.eventsSdkClass.options.getSettingsUrl)throw new Error("getSettingsUrl not provided");const r=await fetch(this.eventsSdkClass.options.getSettingsUrl,{headers:{Authorization:`Bearer ${v}`}});if(!r.ok&&r.status===401)throw new Error("Unauthorized. Access token not provided or not valid");return r.json()}catch(r){throw this.eventsSdkClass.loggerClass.log(Xt.ERROR,`Get settings ${this.eventsSdkClass.options.getSettingsUrl}`,r),r}}async refreshToken(v,r){try{return(await fetch(v,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`}})).json()}catch(l){throw this.eventsSdkClass.loggerClass.log(Xt.ERROR,`Refresh token ${v}`,l),l}}}var Ir={exports:{}};/**
7
7
  * @license
8
8
  * Lodash <https://lodash.com/>
9
9
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>