@faable/auth-js 1.3.6 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dts/FaableAuthClient.d.ts +3 -0
- package/dist/faableauth.js +2 -2
- package/dist/faableauth.js.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
|
@@ -123,6 +123,9 @@ export declare class FaableAuthClient extends Base {
|
|
|
123
123
|
password: string;
|
|
124
124
|
redirect_uri?: string;
|
|
125
125
|
}): Promise<void>;
|
|
126
|
+
changePassword(params: {
|
|
127
|
+
email: string;
|
|
128
|
+
}): Promise<unknown>;
|
|
126
129
|
private _handleConnectionSignIn;
|
|
127
130
|
/**
|
|
128
131
|
* Sets the session data from the current session. If the current session is expired, setSession will take care of refreshing it to obtain a new session.
|
package/dist/faableauth.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @faable/auth-js v1.
|
|
2
|
+
* @faable/auth-js v1.4.0
|
|
3
3
|
* (c) 2025
|
|
4
4
|
* @license SEE LICENSE.md
|
|
5
5
|
*/
|
|
6
|
-
!function(e){"use strict";var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)};function r(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},n.apply(this,arguments)};function s(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function a(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}u((n=n.apply(e,t||[])).next())}))}function i(e,t){var r,n,s,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(u){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(i=0)),i;)try{if(r=1,n&&(s=2&a[0]?n.return:a[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,a[1])).done)return s;switch(n=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(s=i.trys,(s=s.length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(6===a[0]&&i.label<s[1]){i.label=s[1],s=a;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(a);break}s[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=s=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function o(e,t,r){if(r||2===arguments.length)for(var n,s=0,i=t.length;s<i;s++)!n&&s in t||(n||(n=Array.prototype.slice.call(t,0,s)),n[s]=t[s]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var a=function(e,t,r){return s(void 0,void 0,void 0,(function(){return i(this,(function(n){switch(n.label){case 0:return[4,e.setItem(t,JSON.stringify(r))];case 1:return n.sent(),[2]}}))}))},u=function(e,t){return s(void 0,void 0,void 0,(function(){var r;return i(this,(function(n){switch(n.label){case 0:return[4,e.getItem(t)];case 1:if(!(r=n.sent()))return[2,null];try{return[2,JSON.parse(r)]}catch(e){return[2,r]}return[2]}}))}))},c=function(e,t){return s(void 0,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return[4,e.removeItem(t)];case 1:return r.sent(),[2]}}))}))};function l(e){return("0"+e.toString(16)).substr(-2)}function h(e){return s(this,void 0,void 0,(function(){var t,r,n,s;return i(this,(function(i){switch(i.label){case 0:return t=new TextEncoder,r=t.encode(e),[4,crypto.subtle.digest("SHA-256",r)];case 1:return n=i.sent(),s=new Uint8Array(n),[2,Array.from(s).map((function(e){return String.fromCharCode(e)})).join("")]}}))}))}function d(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return"undefined"!=typeof crypto&&void 0!==crypto.subtle&&"undefined"!=typeof TextEncoder?[4,h(e)]:(console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),[2,e]);case 1:return t=r.sent(),[2,(n=t,btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""))]}var n}))}))}function f(e,t){return s(this,arguments,void 0,(function(e,t,r){var n,s,o;return void 0===r&&(r=!1),i(this,(function(i){switch(i.label){case 0:return n=function(){var e=new Uint32Array(56);if("undefined"==typeof crypto){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r="",n=0;n<56;n++)r+=t.charAt(Math.floor(66*Math.random()));return r}return crypto.getRandomValues(e),Array.from(e,l).join("")}(),s=n,r&&(s+="/PASSWORD_RECOVERY"),[4,a(e,"".concat(t,"-code-verifier"),s)];case 1:return i.sent(),[4,d(n)];case 2:return[2,[o=i.sent(),n===o?"plain":"S256"]]}}))}))}var v=function(){return"undefined"!=typeof document},p={tested:!1,writable:!1},b=function(){if(!v())return!1;try{if("object"!=typeof globalThis.localStorage)return!1}catch(e){return!1}if(p.tested)return p.writable;var e="lswt-".concat(Math.random()).concat(Math.random());try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),p.tested=!0,p.writable=!0}catch(e){p.tested=!0,p.writable=!1}return p.writable};function g(e){var t,r,s=e.data,i=null;if(!s)throw new Error("Bad session response");return function(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}(s)&&(i=n({},s),!s.expires_at&&s.expires_in&&(i.expires_at=(r=s.expires_in,Math.round(Date.now()/1e3)+r))),{data:{session:i,user:null!==(t=s.user)&&void 0!==t?t:s},error:null}}var _=function(){function e(){var t=this;this.promise=new e.promiseConstructor((function(e,r){t.resolve=e,t.reject=r}))}return e.promiseConstructor=Promise,e}();function w(e,t){var r=this;return new Promise((function(n,o){s(r,void 0,void 0,(function(){var r,s,a;return i(this,(function(i){switch(i.label){case 0:r=0,i.label=1;case 1:if(!(r<1/0))return[3,6];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,e(r)];case 3:return s=i.sent(),t(r,null,s)?[3,5]:(n(s),[2]);case 4:return a=i.sent(),t(r,a)?[3,5]:(o(a),[2]);case 5:return r++,[3,1];case 6:return[2]}}))}))}))}function y(e){return s(this,void 0,void 0,(function(){return i(this,(function(t){return[2,new Promise((function(t){setTimeout((function(){return t(null)}),e)}))]}))}))}function k(e){var t=e.split(".");if(3!==t.length)throw new Error("JWT is not valid: not a JWT structure");if(!/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i.test(t[1]))throw new Error("JWT is not valid: payload is not in base64url format");var r=t[1];return JSON.parse(function(e){var t,r,n,s,i,o,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u="",c=0;for(e=e.replace("-","+").replace("_","/");c<e.length;)t=a.indexOf(e.charAt(c++))<<2|(s=a.indexOf(e.charAt(c++)))>>4,r=(15&s)<<4|(i=a.indexOf(e.charAt(c++)))>>2,n=(3&i)<<6|(o=a.indexOf(e.charAt(c++))),u+=String.fromCharCode(t),64!=i&&0!=r&&(u+=String.fromCharCode(r)),64!=o&&0!=n&&(u+=String.fromCharCode(n));return u}(r))}var m={getItem:function(e){return b()?globalThis.localStorage.getItem(e):null},setItem:function(e,t){b()&&globalThis.localStorage.setItem(e,t)},removeItem:function(e){b()&&globalThis.localStorage.removeItem(e)}},S=function(e){function t(t,r,n){var s=e.call(this,t)||this;return s.__isAuthError=!0,s.name="AuthError",s.status=r,s.code=n,s}return r(t,e),t}(Error),T=function(e){function t(t,r,n,s){var i=e.call(this,t,n,s)||this;return i.name=r,i.status=n,i}return r(t,e),t}(S),x=function(e){function t(){return e.call(this,"Auth session missing!","AuthSessionMissingError",400,void 0)||this}return r(t,e),t}(T);function I(e){return"object"==typeof e&&null!==e&&"__isAuthError"in e}!function(e){function t(t,r,n){var s=e.call(this,t,r,n)||this;return s.name="AuthApiError",s.status=r,s.code=n,s}r(t,e)}(S);var A=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t,"AuthImplicitGrantRedirectError",500,void 0)||this;return n.details=null,n.details=r,n}return r(t,e),t.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},t}(T),C=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t,"AuthPKCEGrantCodeExchangeError",500,void 0)||this;return n.details=null,n.details=r,n}return r(t,e),t.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},t}(T),E=function(e){function t(t,r){var n=e.call(this,t)||this;return n.name="AuthUnknownError",n.originalError=r,n}return r(t,e),t}(S),R=function(e){function t(){return e.call(this,"Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)||this}return r(t,e),t}(T);function L(e){return I(e)&&"AuthRetryableFetchError"===e.name}!function(e){function t(t,r){return e.call(this,t,"AuthRetryableFetchError",r,void 0)||this}r(t,e)}(T);var P=function(){function e(e){void 0===e&&(e={}),this.logger=console.log,this.logDebugMessages=!!e.debug,"function"==typeof e.debug&&(this.logger=e.debug)}return e.prototype._debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(this.logDebugMessages){var r=this.extraPrint?this.extraPrint():"";this.logger.apply(this,o(["FaableAuth@".concat(r," (").concat("0.0.0",") ").concat((new Date).toISOString())],e,!1))}return this},e}(),U="undefined"!=typeof window?window:void 0,O="undefined"!=typeof globalThis?globalThis:U,D=null==O?void 0:O.document,N=O.fetch,q=function(e){void 0===e&&(e={});var t={};return(null==e?void 0:e.token)&&(t=n(n({},t),{Authorization:"Bearer ".concat(null==e?void 0:e.token)})),n(n({},null==e?void 0:e.headers),t)},z=function(e,t){for(var r=[],a=2;a<arguments.length;a++)r[a-2]=arguments[a];return s(void 0,o([e,t],r,!0),void 0,(function(e,t,r){var s,o,a,u;return void 0===r&&(r={}),i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,6,,7]),[4,N(e,{method:"POST",body:JSON.stringify(t),headers:n(n({},q(r)),{"Content-Type":"application/json"})})];case 1:return s=i.sent(),r.raw?[4,s.text()]:[3,3];case 2:return a=i.sent(),[3,5];case 3:return[4,s.json()];case 4:a=i.sent(),i.label=5;case 5:return o=a,s.status>=300?[2,{data:o,error:r.raw?null===(u=JSON.parse(o))||void 0===u?void 0:u.message:null==o?void 0:o.message}]:[2,{data:o,error:null}];case 6:return[2,{data:null,error:i.sent()}];case 7:return[2]}}))}))},K=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return s(void 0,o([e],t,!0),void 0,(function(e,t){return void 0===t&&(t={}),i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,N(e,n(n({},t),{method:"GET",headers:q(t)}))];case 1:return[4,r.sent().json()];case 2:return[2,{data:r.sent(),error:null}];case 3:return[2,{data:null,error:r.sent()}];case 4:return[2]}}))}))},j=function(e){function t(t,r){var n=e.call(this,r)||this;return n.base_url=t,n}return r(t,e),t.prototype.extraPrint=function(){return"api"},t.prototype.signOut=function(e){return s(this,void 0,void 0,(function(){var t,r;return i(this,(function(n){switch(n.label){case 0:return t="".concat(this.base_url,"/logout?").concat(new URLSearchParams(e)),this._debug("requesting ".concat(t)),[4,K(t)];case 1:return r=n.sent(),this._debug(r),r.error?[2,{error:r.error,data:null}]:[2,{error:null,data:null}]}}))}))},t}(P);globalThis&&b()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");var M=function(e){function t(t){var r=e.call(this,t)||this;return r.isAcquireTimeout=!0,r}return r(t,e),t}(Error);function F(e,t,r){return s(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,r()];case 1:return[2,e.sent()]}}))}))}!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}r(t,e)}(M);var V=function(e){function t(r){void 0===r&&(r={});var n=e.call(this,r)||this;return n.instanceID=t.nextInstanceID,t.nextInstanceID+=1,n}return r(t,e),t.prototype.extraPrint=function(){return this.instanceID.toString()},t.nextInstanceID=0,t}(P),G=function(e){function t(t){var r=e.call(this,{debug:t.debug})||this;return r.lockAcquired=!1,r.pendingInLock=[],r.lock=t.lock||F,r.storageKey=t.storageKey,r}return r(t,e),t.prototype._acquireLock=function(e,t){return s(this,void 0,void 0,(function(){var r,n,a=this;return i(this,(function(u){switch(u.label){case 0:this._debug("#_acquireLock","begin",e),u.label=1;case 1:return u.trys.push([1,,3,4]),this.lockAcquired?(r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=s(a,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,r];case 1:return e.sent(),[4,t()];case 2:return[2,e.sent()]}}))})),this.pendingInLock.push(s(a,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,n];case 1:case 2:return e.sent(),[3,3];case 3:return[2]}}))}))),[2,n]):[4,this.lock("lock:".concat(this.storageKey),e,(function(){return s(a,void 0,void 0,(function(){var e,r,n=this;return i(this,(function(a){switch(a.label){case 0:this._debug("#_acquireLock","lock acquired for storage key",this.storageKey),a.label=1;case 1:return a.trys.push([1,,7,8]),this.lockAcquired=!0,e=t(),this.pendingInLock.push(s(n,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,e];case 1:case 2:return t.sent(),[3,3];case 3:return[2]}}))}))),[4,e];case 2:a.sent(),a.label=3;case 3:return this.pendingInLock.length?(r=o([],this.pendingInLock,!0),[4,Promise.all(r)]):[3,5];case 4:return a.sent(),this.pendingInLock.splice(0,r.length),[3,3];case 5:return[4,e];case 6:return[2,a.sent()];case 7:return this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1,[7];case 8:return[2]}}))}))}))];case 2:return[2,u.sent()];case 3:return this._debug("#_acquireLock","end"),[7];case 4:return[2]}}))}))},t}(V);function J(e){var t={},r=new URL(e);if(r.hash&&"#"===r.hash[0])try{new URLSearchParams(r.hash.substring(1)).forEach((function(e,r){t[r]=e}))}catch(e){}return r.searchParams.forEach((function(e,r){t[r]=e})),t}var B=function(e){void 0===e&&(e=[]);var t=new URL(window.location.href);e.forEach((function(e){t.searchParams.delete(e)})),t.hash="",window.history.replaceState(window.history.state,"",t.toString())},W=3e4,H=function(e){function t(t){var r,n,o=this,a=(null==t?void 0:t.debug)||!1;if((o=e.call(this,{debug:a})||this).initializePromise=null,o.detectSessionInUrl=!0,o.autoRefreshTicker=null,o.visibilityChangedCallback=null,o.refreshingDeferred=null,o.broadcastChannel=null,o.stateChangeEmitters=new Map,o.sessionCheckExpiryDays=1,o.redirect_uri=(null==t?void 0:t.redirect_uri)||"",!(null==t?void 0:t.domain))throw new Error("Missing domain");if(o.domainUrl=function(e){if(!/^(https|http)?:\/\//.test(e)){var t=(null===location||void 0===location?void 0:location.protocol)||"https";return"".concat(t,"//").concat(e)}return e}(t.domain),o.tokenIssuer=(n=o.domainUrl,"".concat(n)),!t.clientId)throw new Error("Missing clientId");if(o.clientId=t.clientId,o.api=new j(o.domainUrl,{debug:a}),o.storageKey=(null==t?void 0:t.storageKey)||"faable.auth.token",o.flowType=(null==t?void 0:t.flowType)||"implicit",o.storage=(null==t?void 0:t.storage)||m,o.lock=new G({lock:t.lock,storageKey:o.storageKey,debug:t.debug}),v()&&globalThis.BroadcastChannel&&o.storageKey){try{o.broadcastChannel=new globalThis.BroadcastChannel(o.storageKey)}catch(e){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",e)}null===(r=o.broadcastChannel)||void 0===r||r.addEventListener("message",(function(e){return s(o,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return this._debug("received broadcast notification from other tab or client",e),[4,this._notifyAllSubscribers(e.data.event,e.data.session,!1)];case 1:return t.sent(),[2]}}))}))}))}return o.autoRefreshToken=!0,o.initialize(),o}return r(t,e),t.prototype.initialize=function(){return s(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return this.initializePromise?[4,this.initializePromise]:[3,2];case 1:case 3:return[2,t.sent()];case 2:return this.initializePromise=s(e,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return[4,this.lock._acquireLock(-1,(function(){return s(e,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this._initialize()];case 1:return[2,e.sent()]}}))}))}))];case 1:return[2,t.sent()]}}))})),[4,this.initializePromise]}}))}))},t.prototype._initialize=function(){return s(this,void 0,void 0,(function(){var e,t,r,n,o,a,u,c,l=this;return i(this,(function(h){switch(h.label){case 0:return h.trys.push([0,10,11,13]),v()?[4,this._isPKCEFlow()]:[3,2];case 1:return t=h.sent(),[3,3];case 2:t=!1,h.label=3;case 3:return e=t,this._debug("#_initialize()","begin","is PKCE flow",e),e||this.detectSessionInUrl&&this._isImplicitGrantFlow()?[4,this._getSessionFromURL(e)]:[3,8];case 4:return r=h.sent(),n=r.data,(o=r.error)?(this._debug("#_initialize()","error detecting session from URL",o),"Identity is already linked"===(null==o?void 0:o.message)||"Identity is already linked to another user"===(null==o?void 0:o.message)?[2,{error:o}]:[4,this._removeSession()]):[3,6];case 5:return h.sent(),[2,{error:o}];case 6:return a=n.session,u=n.redirectType,this._debug("#_initialize()","detected session in URL",a,"redirect type",u),[4,this._saveSession(a)];case 7:return h.sent(),setTimeout((function(){return s(l,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"recovery"!==u?[3,2]:[4,this._notifyAllSubscribers("PASSWORD_RECOVERY",a)];case 1:return e.sent(),[3,4];case 2:return[4,this._notifyAllSubscribers("SIGNED_IN",a)];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))}),0),[2,{error:null}];case 8:return[4,this._recoverAndRefresh()];case 9:return h.sent(),[2,{error:null}];case 10:return I(c=h.sent())?[2,{error:c}]:[2,{error:new E("Unexpected error during initialization",c)}];case 11:return[4,this._handleVisibilityChange()];case 12:return h.sent(),this._debug("#_initialize()","end"),[7];case 13:return[2]}}))}))},t.prototype._getSessionFromURL=function(e){return s(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c,l,h,d,f,p,b,g,_,w,y,k;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,4,,5]),!v())throw new A("No browser detected.");if("implicit"===this.flowType&&!this._isImplicitGrantFlow())throw new A("Not a valid implicit grant flow url.");if("pkce"==this.flowType&&!e)throw new C("Not a valid PKCE flow url.");if(t=J(window.location.href),!e)return[3,2];if(!t.code)throw new C("No code detected.");return[4,this._exchangeCodeForSession(t.code)];case 1:if(r=i.sent(),n=r.data,s=r.error)throw s;return B(["code"]),[2,{data:{session:n.session,redirectType:null},error:null}];case 2:if(t.error||t.error_description||t.error_code)throw new A(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});if(o=t.provider_token,a=t.provider_refresh_token,u=t.access_token,c=t.refresh_token,l=t.expires_in,h=t.expires_at,d=t.token_type,!(u&&l&&c&&d))throw new A("No session defined in URL");return f=function(e){var t=e.expires_in,r=e.expires_at,n=e.refreshTick,s=Math.round(Date.now()/1e3),i=parseInt(t),o=s+i;r&&(o=parseInt(r));var a=o-s;1e3*a<=n&&console.warn("@supabase/gotrue-js: Session as retrieved from URL expires in ".concat(a,"s, should have been closer to ").concat(i,"s"));var u=o-i;return s-u>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",u,o,s):s-u<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew",u,o,s),{expiresIn:i,expiresAt:o}}({expires_in:l,expires_at:h,refreshTick:W}),p=f.expiresAt,b=f.expiresIn,[4,this._getUser(u)];case 3:if(g=i.sent(),_=g.data,(w=g.error)||!_.user)throw w;return y={provider_token:o,provider_refresh_token:a,access_token:u,expires_in:b,expires_at:p,refresh_token:c,token_type:d,user:_.user},B(["access_token","expires_in","refresh_token","token_type","scope"]),this._debug("#_getSessionFromURL()","clearing window.location.hash"),[2,{data:{session:y,redirectType:t.type},error:null}];case 4:if(k=i.sent(),this._debug(k),I(k))return[2,{data:{session:null,redirectType:null},error:k}];throw k;case 5:return[2]}}))}))},t.prototype._exchangeCodeForSession=function(e){return s(this,void 0,void 0,(function(){var t,r,s,o,a,l,h,d,f,v,p,b;return i(this,(function(i){switch(i.label){case 0:return[4,u(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 1:return t=i.sent(),r=(null!=t?t:"").split("/"),s=r[0],o=r[1],[4,z("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"authorization_code",code:e,code_verifier:s})];case 2:if(a=i.sent(),l=g(a),h=l.data,d=l.error,!h)throw new Error("Missing data");return[4,c(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 3:return i.sent(),d?[2,{data:{user:null,session:null,redirectType:null},error:d}]:h&&h.session&&h.user?(f=h.session)?[4,this._getUser(f.access_token)]:[3,7]:[2,{data:{user:null,session:null,redirectType:null},error:new R}];case 4:if(v=i.sent(),p=v.data,(b=v.error)||!p.user)throw b;return f=n(n({},f),{user:p.user}),h.session=f,[4,this._saveSession(f)];case 5:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_IN",f)];case 6:i.sent(),i.label=7;case 7:return[2,{data:n(n({},h),{redirectType:null!=o?o:null}),error:d}]}}))}))},t.prototype._handleVisibilityChange=function(){return s(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:if(this._debug("#_handleVisibilityChange()"),!v()||!(null===window||void 0===window?void 0:window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),[2,!1];r.label=1;case 1:return r.trys.push([1,3,,4]),this.visibilityChangedCallback=function(){return s(t,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this._onVisibilityChanged(!1)];case 1:return[2,e.sent()]}}))}))},null===window||void 0===window||window.addEventListener("visibilitychange",this.visibilityChangedCallback),[4,this._onVisibilityChanged(!0)];case 2:return r.sent(),[3,4];case 3:return e=r.sent(),console.error("_handleVisibilityChange",e),[3,4];case 4:return[2]}}))}))},t.prototype._onVisibilityChanged=function(e){return s(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(n){switch(n.label){case 0:return t="#_onVisibilityChanged(".concat(e,")"),this._debug(t,"visibilityState",D.visibilityState),"visible"!==D.visibilityState?[3,4]:(this.autoRefreshToken&&this._startAutoRefresh(),e?[3,3]:[4,this.initializePromise]);case 1:return n.sent(),[4,this.lock._acquireLock(-1,(function(){return s(r,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"visible"!==D.visibilityState?(this._debug(t,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting"),[2]):[4,this._recoverAndRefresh()];case 1:return e.sent(),[2]}}))}))}))];case 2:n.sent(),n.label=3;case 3:return[3,5];case 4:"hidden"===D.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh(),n.label=5;case 5:return[2]}}))}))},t.prototype._recoverAndRefresh=function(){return s(this,void 0,void 0,(function(){var e,t,r,n,s,o,a;return i(this,(function(i){switch(i.label){case 0:e="#_recoverAndRefresh()",this._debug(e,"begin"),i.label=1;case 1:return i.trys.push([1,12,13,14]),[4,u(this.storage,this.storageKey)];case 2:return t=i.sent(),this._debug(e,"session from storage",t),this._isValidSession(t)?[3,5]:(this._debug(e,"session is not valid"),null===t?[3,4]:[4,this._removeSession()]);case 3:i.sent(),i.label=4;case 4:return[2];case 5:return r=Math.round(Date.now()/1e3),n=(null!==(a=t.expires_at)&&void 0!==a?a:1/0)<r+10,this._debug(e,"session has".concat(n?"":" not"," expired with margin of ").concat(10,"s")),n?this.autoRefreshToken&&t.refresh_token?[4,this._callRefreshToken(t.refresh_token)]:[3,8]:[3,9];case 6:return(s=i.sent().error)?(console.error(s),L(s)?[3,8]:(this._debug(e,"refresh failed with a non-retryable error, removing the session",s),[4,this._removeSession()])):[3,8];case 7:i.sent(),i.label=8;case 8:return[3,11];case 9:return[4,this._notifyAllSubscribers("SIGNED_IN",t)];case 10:i.sent(),i.label=11;case 11:return[3,14];case 12:return o=i.sent(),this._debug(e,"error",o),console.error(o),[2];case 13:return this._debug(e,"end"),[7];case 14:return[2]}}))}))},t.prototype._removeVisibilityChangedCallback=function(){this._debug("#_removeVisibilityChangedCallback()");var e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&v()&&(null===window||void 0===window?void 0:window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(e){console.error("removing visibilitychange callback failed",e)}},t.prototype.startAutoRefresh=function(){return s(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return this._removeVisibilityChangedCallback(),[4,this._startAutoRefresh()];case 1:return e.sent(),[2]}}))}))},t.prototype._startAutoRefresh=function(){return s(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this._stopAutoRefresh()];case 1:return r.sent(),this._debug("#_startAutoRefresh()"),e=setInterval((function(){return t._autoRefreshTokenTick()}),W),this.autoRefreshTicker=e,e&&"object"==typeof e&&"function"==typeof e.unref?e.unref():void 0!==globalThis.Deno&&"function"==typeof globalThis.Deno.unrefTimer&&Deno.unrefTimer(e),setTimeout((function(){return s(t,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this.initializePromise];case 1:return e.sent(),[4,this._autoRefreshTokenTick()];case 2:return e.sent(),[2]}}))}))}),0),[2]}}))}))},t.prototype._stopAutoRefresh=function(){return s(this,void 0,void 0,(function(){var e;return i(this,(function(t){return this._debug("#_stopAutoRefresh()"),e=this.autoRefreshTicker,this.autoRefreshTicker=null,e&&clearInterval(e),[2]}))}))},t.prototype._autoRefreshTokenTick=function(){return s(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:this._debug("#_autoRefreshTokenTick()","begin"),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.lock._acquireLock(0,(function(){return s(t,void 0,void 0,(function(){var e,t,r=this;return i(this,(function(n){switch(n.label){case 0:n.trys.push([0,,5,6]),e=Date.now(),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this._useSession((function(t){return s(r,void 0,void 0,(function(){var r,n;return i(this,(function(s){switch(s.label){case 0:return(r=t.data.session)&&r.refresh_token&&r.expires_at?(n=Math.floor((1e3*r.expires_at-e)/W),this._debug("#_autoRefreshTokenTick()","access token expires in ".concat(n," ticks, a tick lasts ").concat(W,"ms, refresh threshold is ").concat(3," ticks")),n<=3?[4,this._callRefreshToken(r.refresh_token)]:[3,2]):(this._debug("#_autoRefreshTokenTick()","no session"),[2]);case 1:s.sent(),s.label=2;case 2:return[2]}}))}))}))];case 2:return[2,n.sent()];case 3:return t=n.sent(),console.error("Auto refresh tick failed with error. This is likely a transient error.",t),[3,4];case 4:return[3,6];case 5:return this._debug("#_autoRefreshTokenTick()","end"),[7];case 6:return[2]}}))}))}))];case 2:return r.sent(),[3,4];case 3:if(!((e=r.sent()).isAcquireTimeout||e instanceof M))throw e;return this._debug("auto refresh token tick lock not available"),[3,4];case 4:return[2]}}))}))},t.prototype._isPKCEFlow=function(){return s(this,void 0,void 0,(function(){var e,t;return i(this,(function(r){switch(r.label){case 0:return e=J(window.location.href),[4,u(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 1:return t=r.sent(),[2,!(!e.code||!t)]}}))}))},t.prototype._isImplicitGrantFlow=function(){var e=J(window.location.href);return!(!v()||!e.access_token&&!e.error_description)},t.prototype._scope=function(){return this.scope||"openid profile email"},t.prototype._getUrlForConnection=function(e,t){return s(this,void 0,void 0,(function(){var r,s,o,a,u;return i(this,(function(i){switch(i.label){case 0:return r=t.queryParams||{},s={client_id:this.clientId,response_type:t.response_type,redirect_uri:t.redirectTo||this.redirect_uri||window.location.origin,scope:t.scopes||this._scope()},"pkce"!==this.flowType?[3,2]:[4,f(this.storage,this.storageKey)];case 1:o=i.sent(),a=o[0],u=o[1],r=n(n({},r),{code_challenge:a,code_challenge_method:u}),i.label=2;case 2:return t.connection&&(s.connection=t.connection),[2,"".concat(e,"?").concat(new URLSearchParams(n(n({},r),s)))]}}))}))},t.prototype.signInWithOauthConnection=function(e){return s(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._handleConnectionSignIn({connection:e.connection,redirectTo:null==e?void 0:e.redirectTo,scopes:null==e?void 0:e.scopes,queryParams:e.queryParams,skipBrowserRedirect:e.skipBrowserRedirect})];case 1:return[2,t.sent()]}}))}))},t.prototype.signInWithUsernamePassword=function(e){return s(this,void 0,void 0,(function(){var t,r,n=this;return i(this,(function(o){switch(o.label){case 0:return t=function(e){return s(n,void 0,void 0,(function(){var t;return i(this,(function(n){return console.log("rawres"),console.log(r),(t=D.createElement("div")).innerHTML=e,D.body.appendChild(t).children[0].submit(),[2]}))}))},[4,z("".concat(this.domainUrl,"/usernamepassword/login"),{username:e.username,password:e.password,redirect_uri:e.redirect_uri||this.redirect_uri||window.location.origin,client_id:this.clientId},{raw:!0})];case 1:if(!(r=o.sent()).data||r.error)throw new Error(r.error||"Error in username password login");return t(r.data),[2]}}))}))},t.prototype._handleConnectionSignIn=function(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return[4,this._getUrlForConnection("".concat(this.domainUrl,"/authorize"),{response_type:v()?"code":"token",connection:e.connection,redirectTo:e.redirectTo,scopes:e.scopes,queryParams:e.queryParams})];case 1:return t=r.sent(),this._debug("#_handleProviderSignIn()","options",e,"url",t),v()&&!e.skipBrowserRedirect&&window.location.assign(t),[2,{data:{url:t},error:null}]}}))}))},t.prototype.setSession=function(e){return s(this,void 0,void 0,(function(){var t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this.initializePromise];case 1:return r.sent(),[4,this.lock._acquireLock(-1,(function(){return s(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._setSession(e)];case 1:return[2,t.sent()]}}))}))}))];case 2:return[2,r.sent()]}}))}))},t.prototype.getSession=function(){return s(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return[4,this.initializePromise];case 1:return t.sent(),[4,this.lock._acquireLock(-1,(function(){return s(e,void 0,void 0,(function(){var e=this;return i(this,(function(t){return[2,this._useSession((function(t){return s(e,void 0,void 0,(function(){return i(this,(function(e){return[2,t]}))}))}))]}))}))}))];case 2:return[2,t.sent()]}}))}))},t.prototype._useSession=function(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:this._debug("#_useSession","begin"),r.label=1;case 1:return r.trys.push([1,,4,5]),[4,this.__loadSession()];case 2:return t=r.sent(),[4,e(t)];case 3:return[2,r.sent()];case 4:return this._debug("#_useSession","end"),[7];case 5:return[2]}}))}))},t.prototype.__loadSession=function(){return s(this,void 0,void 0,(function(){var e,t,r,n,s,o,a;return i(this,(function(i){switch(i.label){case 0:this._debug("#__loadSession()","begin"),this.lock.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",(new Error).stack),i.label=1;case 1:return i.trys.push([1,,7,8]),e=null,[4,u(this.storage,this.storageKey)];case 2:return t=i.sent(),this._debug("#getSession()","session from storage",t),null===t?[3,5]:this._isValidSession(t)?(e=t,[3,5]):[3,3];case 3:return this._debug("#getSession()","session from storage is not valid"),[4,this._removeSession()];case 4:i.sent(),i.label=5;case 5:return e?(r=!!e.expires_at&&e.expires_at<=Date.now()/1e3,this._debug("#__loadSession()","session has".concat(r?"":" not"," expired"),"expires_at",e.expires_at),r?[4,this._callRefreshToken(e.refresh_token)]:(this.storage.isServer&&(n=new Proxy(e,{get:function(e,t,r){return"user"===t&&console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and many not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),Reflect.get(e,t,r)}}),e=n),[2,{data:{session:e},error:null}])):[2,{data:{session:null},error:null}];case 6:return s=i.sent(),o=s.session,(a=s.error)?[2,{data:{session:null},error:a}]:[2,{data:{session:o},error:null}];case 7:return this._debug("#__loadSession()","end"),[7];case 8:return[2]}}))}))},t.prototype._removeSession=function(){return s(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return this._debug("#_removeSession()"),[4,c(this.storage,this.storageKey)];case 1:return e.sent(),[2]}}))}))},t.prototype._isValidSession=function(e){return"object"==typeof e&&null!==e&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e},t.prototype._setSession=function(e){return s(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c,l,h,d;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,7,,8]),!e.access_token||!e.refresh_token)throw new x;return t=Date.now()/1e3,r=t,n=!0,s=null,(o=k(e.access_token)).exp&&(r=o.exp,n=r<=t),n?[4,this._callRefreshToken(e.refresh_token)]:[3,2];case 1:return a=i.sent(),u=a.session,(h=a.error)?[2,{data:{user:null,session:null},error:h}]:u?(s=u,[3,6]):[2,{data:{user:null,session:null},error:null}];case 2:return[4,this._getUser(e.access_token)];case 3:if(c=i.sent(),l=c.data,(h=c.error)||!l.user)throw h;return s={access_token:e.access_token,refresh_token:e.refresh_token,user:l.user,token_type:"bearer",expires_in:r-t,expires_at:r},[4,this._saveSession(s)];case 4:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_IN",s)];case 5:i.sent(),i.label=6;case 6:return[2,{data:{user:s.user,session:s},error:null}];case 7:if(I(d=i.sent()))return[2,{data:{session:null,user:null},error:d}];throw d;case 8:return[2]}}))}))},t.prototype._saveSession=function(e){return s(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return this._debug("#_saveSession()",e),[4,a(this.storage,this.storageKey,e)];case 1:return t.sent(),[2]}}))}))},t.prototype._getUser=function(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:if(!e)throw new Error("Cannot fetch user without token");return this._debug("#_getUser() begin"),[4,K("".concat(this.domainUrl,"/me"),{token:e})];case 1:return t=r.sent(),this._debug("#_getUser() end"),[2,{data:{user:t.data},error:t.error}]}}))}))},t.prototype._callRefreshToken=function(e){return s(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c;return i(this,(function(i){switch(i.label){case 0:if(!e)throw new x;if(this.refreshingDeferred)return[2,this.refreshingDeferred.promise];t="#_callRefreshToken(".concat(e.substring(0,5),"...)"),this._debug(t,"begin"),i.label=1;case 1:return i.trys.push([1,5,10,11]),this.refreshingDeferred=new _,[4,this._refreshAccessToken(e)];case 2:if(r=i.sent(),n=r.data,s=r.error)throw s;if(!n.session)throw new x;return[4,this._saveSession(n.session)];case 3:return i.sent(),[4,this._notifyAllSubscribers("TOKEN_REFRESHED",n.session)];case 4:return i.sent(),a={session:n.session,error:null},this.refreshingDeferred.resolve(a),[2,a];case 5:return o=i.sent(),this._debug(t,"error",o),I(o)?(a={session:null,error:o},L(o)?[3,8]:[4,this._removeSession()]):[3,9];case 6:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_OUT",null)];case 7:i.sent(),i.label=8;case 8:return null===(u=this.refreshingDeferred)||void 0===u||u.resolve(a),[2,a];case 9:throw null===(c=this.refreshingDeferred)||void 0===c||c.reject(o),o;case 10:return this.refreshingDeferred=null,this._debug(t,"end"),[7];case 11:return[2]}}))}))},t.prototype._refreshAccessToken=function(e){return s(this,void 0,void 0,(function(){var t,r,o,a=this;return i(this,(function(u){switch(u.label){case 0:t="#_refreshAccessToken(".concat(e.substring(0,5),"...)"),this._debug(t,"begin"),u.label=1;case 1:return u.trys.push([1,3,4,5]),r=Date.now(),[4,w((function(r){return s(a,void 0,void 0,(function(){var s,o,a,u,c,l;return i(this,(function(i){switch(i.label){case 0:return r>0?[4,y(200*Math.pow(2,r-1))]:[3,2];case 1:i.sent(),i.label=2;case 2:return this._debug(t,"refreshing attempt",r),[4,z("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"refresh_token",refresh_token:e})];case 3:if(s=i.sent(),o=g(s),!(null===(c=o.data.session)||void 0===c?void 0:c.access_token))throw new Error("Bad user");return[4,this._getUser(null===(l=o.data.session)||void 0===l?void 0:l.access_token)];case 4:if(a=i.sent(),!(u=a.data.user))throw new Error("No user found");return[2,{data:{session:n(n({},o.data.session),{user:u}),user:u},error:null}]}}))}))}),(function(e,t){var n=200*Math.pow(2,e);return t&&L(t)&&Date.now()+n-r<W}))];case 2:return[2,u.sent()];case 3:if(o=u.sent(),this._debug(t,"error",o),I(o))return[2,{data:{session:null,user:null},error:o}];throw o;case 4:return this._debug(t,"end"),[7];case 5:return[2]}}))}))},t.prototype._notifyAllSubscribers=function(e,t){return s(this,arguments,void 0,(function(e,t,r){var n,o,a,u,c=this;return void 0===r&&(r=!0),i(this,(function(l){switch(l.label){case 0:n="#_notifyAllSubscribers(".concat(e,")"),this._debug(n,"begin",t,"broadcast = ".concat(r)),l.label=1;case 1:return l.trys.push([1,,3,4]),this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t}),o=[],a=Array.from(this.stateChangeEmitters.values()).map((function(r){return s(c,void 0,void 0,(function(){var n;return i(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,r.callback(e,t)];case 1:return s.sent(),[3,3];case 2:return n=s.sent(),o.push(n),[3,3];case 3:return[2]}}))}))})),[4,Promise.all(a)];case 2:if(l.sent(),o.length>0){for(u=0;u<o.length;u+=1)console.error(o[u]);throw o[0]}return[3,4];case 3:return this._debug(n,"end"),[7];case 4:return[2]}}))}))},t.prototype.signOut=function(){return s(this,arguments,void 0,(function(e){var t=this;return void 0===e&&(e={scope:"global"}),i(this,(function(r){switch(r.label){case 0:return[4,this.initializePromise];case 1:return r.sent(),[4,this.lock._acquireLock(-1,(function(){return s(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._signOut(e)];case 1:return[2,t.sent()]}}))}))}))];case 2:return[2,r.sent()]}}))}))},t.prototype._signOut=function(){return s(this,arguments,void 0,(function(e){var t=this,r=(void 0===e?{scope:"global"}:e).scope;return i(this,(function(e){switch(e.label){case 0:return[4,this._useSession((function(e){return s(t,void 0,void 0,(function(){var t,n,s,o;return i(this,(function(i){switch(i.label){case 0:return t=e.data,(n=e.error)?[2,{error:n}]:(null===(o=t.session)||void 0===o?void 0:o.access_token)?[4,this.api.signOut({client_id:this.clientId})]:[3,2];case 1:if((s=i.sent().error)&&(!function(e){return I(e)&&"AuthApiError"===e.name}(s)||404!==s.status&&401!==s.status))return[2,{error:s}];i.label=2;case 2:return"others"===r?[3,6]:[4,this._removeSession()];case 3:return i.sent(),[4,c(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 4:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_OUT",null)];case 5:i.sent(),i.label=6;case 6:return[2,{error:null}]}}))}))}))];case 1:return[2,e.sent()]}}))}))},t.prototype.onAuthStateChange=function(e){var t=this,r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),n={id:r,callback:e,unsubscribe:function(){t._debug("#unsubscribe()","state change callback with id removed",r),t.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,n),s(t,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return[4,this.initializePromise];case 1:return t.sent(),[4,this.lock._acquireLock(-1,(function(){return s(e,void 0,void 0,(function(){return i(this,(function(e){return this._emitInitialSession(r),[2]}))}))}))];case 2:return t.sent(),[2]}}))})),{data:{subscription:n}}},t.prototype._emitInitialSession=function(e){return s(this,void 0,void 0,(function(){var t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this._useSession((function(r){return s(t,void 0,void 0,(function(){var t,n,s,o,a;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,2,,4]),t=r.data.session,n=r.error)throw n;return[4,null===(o=this.stateChangeEmitters.get(e))||void 0===o?void 0:o.callback("INITIAL_SESSION",t)];case 1:return i.sent(),this._debug("INITIAL_SESSION","callback id",e,"session",t),[3,4];case 2:return s=i.sent(),[4,null===(a=this.stateChangeEmitters.get(e))||void 0===a?void 0:a.callback("INITIAL_SESSION",null)];case 3:return i.sent(),this._debug("INITIAL_SESSION","callback id",e,"error",s),console.error(s),[3,4];case 4:return[2]}}))}))}))];case 1:return[2,r.sent()]}}))}))},t.prototype.refreshSession=function(e){return s(this,void 0,void 0,(function(){var t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this.initializePromise];case 1:return r.sent(),[4,this.lock._acquireLock(-1,(function(){return s(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._refreshSession(e)];case 1:return[2,t.sent()]}}))}))}))];case 2:return[2,r.sent()]}}))}))},t.prototype._refreshSession=function(e){return s(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this._useSession((function(t){return s(r,void 0,void 0,(function(){var r,n,s,o,a,u;return i(this,(function(i){switch(i.label){case 0:if(!e){if(r=t.data,n=t.error)throw n;e=null!==(u=r.session)&&void 0!==u?u:void 0}if(!(null==e?void 0:e.refresh_token))throw new x;return[4,this._callRefreshToken(e.refresh_token)];case 1:return s=i.sent(),o=s.session,(a=s.error)?[2,{data:{user:null,session:null},error:a}]:o?[2,{data:{user:o.user,session:o},error:null}]:[2,{data:{user:null,session:null},error:null}]}}))}))}))];case 1:return[2,n.sent()];case 2:if(I(t=n.sent()))return[2,{data:{user:null,session:null},error:t}];throw t;case 3:return[2]}}))}))},t}(V),$=function(){};e.AuthError=S,e.FaableAuthClient=H,e.User=$,e.createClient=function(e){return new H(e)}}({});
|
|
6
|
+
!function(e){"use strict";var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)};function r(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},n.apply(this,arguments)};function s(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function a(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}u((n=n.apply(e,t||[])).next())}))}function i(e,t){var r,n,s,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(u){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(i=0)),i;)try{if(r=1,n&&(s=2&a[0]?n.return:a[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,a[1])).done)return s;switch(n=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(s=i.trys,(s=s.length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(6===a[0]&&i.label<s[1]){i.label=s[1],s=a;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(a);break}s[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=s=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function o(e,t,r){if(r||2===arguments.length)for(var n,s=0,i=t.length;s<i;s++)!n&&s in t||(n||(n=Array.prototype.slice.call(t,0,s)),n[s]=t[s]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var a=function(e,t,r){return s(void 0,void 0,void 0,(function(){return i(this,(function(n){switch(n.label){case 0:return[4,e.setItem(t,JSON.stringify(r))];case 1:return n.sent(),[2]}}))}))},u=function(e,t){return s(void 0,void 0,void 0,(function(){var r;return i(this,(function(n){switch(n.label){case 0:return[4,e.getItem(t)];case 1:if(!(r=n.sent()))return[2,null];try{return[2,JSON.parse(r)]}catch(e){return[2,r]}return[2]}}))}))},c=function(e,t){return s(void 0,void 0,void 0,(function(){return i(this,(function(r){switch(r.label){case 0:return[4,e.removeItem(t)];case 1:return r.sent(),[2]}}))}))};function l(e){return("0"+e.toString(16)).substr(-2)}function h(e){return s(this,void 0,void 0,(function(){var t,r,n,s;return i(this,(function(i){switch(i.label){case 0:return t=new TextEncoder,r=t.encode(e),[4,crypto.subtle.digest("SHA-256",r)];case 1:return n=i.sent(),s=new Uint8Array(n),[2,Array.from(s).map((function(e){return String.fromCharCode(e)})).join("")]}}))}))}function d(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return"undefined"!=typeof crypto&&void 0!==crypto.subtle&&"undefined"!=typeof TextEncoder?[4,h(e)]:(console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),[2,e]);case 1:return t=r.sent(),[2,(n=t,btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""))]}var n}))}))}function f(e,t){return s(this,arguments,void 0,(function(e,t,r){var n,s,o;return void 0===r&&(r=!1),i(this,(function(i){switch(i.label){case 0:return n=function(){var e=new Uint32Array(56);if("undefined"==typeof crypto){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r="",n=0;n<56;n++)r+=t.charAt(Math.floor(66*Math.random()));return r}return crypto.getRandomValues(e),Array.from(e,l).join("")}(),s=n,r&&(s+="/PASSWORD_RECOVERY"),[4,a(e,"".concat(t,"-code-verifier"),s)];case 1:return i.sent(),[4,d(n)];case 2:return[2,[o=i.sent(),n===o?"plain":"S256"]]}}))}))}var v=function(){return"undefined"!=typeof document},p={tested:!1,writable:!1},b=function(){if(!v())return!1;try{if("object"!=typeof globalThis.localStorage)return!1}catch(e){return!1}if(p.tested)return p.writable;var e="lswt-".concat(Math.random()).concat(Math.random());try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),p.tested=!0,p.writable=!0}catch(e){p.tested=!0,p.writable=!1}return p.writable};function g(e){var t,r,s=e.data,i=null;if(!s)throw new Error("Bad session response");return function(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}(s)&&(i=n({},s),!s.expires_at&&s.expires_in&&(i.expires_at=(r=s.expires_in,Math.round(Date.now()/1e3)+r))),{data:{session:i,user:null!==(t=s.user)&&void 0!==t?t:s},error:null}}var _=function(){function e(){var t=this;this.promise=new e.promiseConstructor((function(e,r){t.resolve=e,t.reject=r}))}return e.promiseConstructor=Promise,e}();function w(e,t){var r=this;return new Promise((function(n,o){s(r,void 0,void 0,(function(){var r,s,a;return i(this,(function(i){switch(i.label){case 0:r=0,i.label=1;case 1:if(!(r<1/0))return[3,6];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,e(r)];case 3:return s=i.sent(),t(r,null,s)?[3,5]:(n(s),[2]);case 4:return a=i.sent(),t(r,a)?[3,5]:(o(a),[2]);case 5:return r++,[3,1];case 6:return[2]}}))}))}))}function y(e){return s(this,void 0,void 0,(function(){return i(this,(function(t){return[2,new Promise((function(t){setTimeout((function(){return t(null)}),e)}))]}))}))}function k(e){var t=e.split(".");if(3!==t.length)throw new Error("JWT is not valid: not a JWT structure");if(!/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i.test(t[1]))throw new Error("JWT is not valid: payload is not in base64url format");var r=t[1];return JSON.parse(function(e){var t,r,n,s,i,o,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u="",c=0;for(e=e.replace("-","+").replace("_","/");c<e.length;)t=a.indexOf(e.charAt(c++))<<2|(s=a.indexOf(e.charAt(c++)))>>4,r=(15&s)<<4|(i=a.indexOf(e.charAt(c++)))>>2,n=(3&i)<<6|(o=a.indexOf(e.charAt(c++))),u+=String.fromCharCode(t),64!=i&&0!=r&&(u+=String.fromCharCode(r)),64!=o&&0!=n&&(u+=String.fromCharCode(n));return u}(r))}var m={getItem:function(e){return b()?globalThis.localStorage.getItem(e):null},setItem:function(e,t){b()&&globalThis.localStorage.setItem(e,t)},removeItem:function(e){b()&&globalThis.localStorage.removeItem(e)}},S=function(e){function t(t,r,n){var s=e.call(this,t)||this;return s.__isAuthError=!0,s.name="AuthError",s.status=r,s.code=n,s}return r(t,e),t}(Error),T=function(e){function t(t,r,n,s){var i=e.call(this,t,n,s)||this;return i.name=r,i.status=n,i}return r(t,e),t}(S),x=function(e){function t(){return e.call(this,"Auth session missing!","AuthSessionMissingError",400,void 0)||this}return r(t,e),t}(T);function I(e){return"object"==typeof e&&null!==e&&"__isAuthError"in e}!function(e){function t(t,r,n){var s=e.call(this,t,r,n)||this;return s.name="AuthApiError",s.status=r,s.code=n,s}r(t,e)}(S);var A=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t,"AuthImplicitGrantRedirectError",500,void 0)||this;return n.details=null,n.details=r,n}return r(t,e),t.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},t}(T),E=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t,"AuthPKCEGrantCodeExchangeError",500,void 0)||this;return n.details=null,n.details=r,n}return r(t,e),t.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},t}(T),C=function(e){function t(t,r){var n=e.call(this,t)||this;return n.name="AuthUnknownError",n.originalError=r,n}return r(t,e),t}(S),R=function(e){function t(){return e.call(this,"Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)||this}return r(t,e),t}(T);function P(e){return I(e)&&"AuthRetryableFetchError"===e.name}!function(e){function t(t,r){return e.call(this,t,"AuthRetryableFetchError",r,void 0)||this}r(t,e)}(T);var L=function(){function e(e){void 0===e&&(e={}),this.logger=console.log,this.logDebugMessages=!!e.debug,"function"==typeof e.debug&&(this.logger=e.debug)}return e.prototype._debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(this.logDebugMessages){var r=this.extraPrint?this.extraPrint():"";this.logger.apply(this,o(["FaableAuth@".concat(r," (").concat("0.0.0",") ").concat((new Date).toISOString())],e,!1))}return this},e}(),U="undefined"!=typeof window?window:void 0,O="undefined"!=typeof globalThis?globalThis:U,D=null==O?void 0:O.document,N=O.fetch,q=function(e){void 0===e&&(e={});var t={};return(null==e?void 0:e.token)&&(t=n(n({},t),{Authorization:"Bearer ".concat(null==e?void 0:e.token)})),n(n({},null==e?void 0:e.headers),t)},z=function(e,t){for(var r=[],a=2;a<arguments.length;a++)r[a-2]=arguments[a];return s(void 0,o([e,t],r,!0),void 0,(function(e,t,r){var s,o,a,u;return void 0===r&&(r={}),i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,6,,7]),[4,N(e,{method:"POST",body:JSON.stringify(t),headers:n(n({},q(r)),{"Content-Type":"application/json"})})];case 1:return s=i.sent(),r.raw?[4,s.text()]:[3,3];case 2:return a=i.sent(),[3,5];case 3:return[4,s.json()];case 4:a=i.sent(),i.label=5;case 5:return o=a,s.status>=300?[2,{data:o,error:r.raw?null===(u=JSON.parse(o))||void 0===u?void 0:u.message:null==o?void 0:o.message}]:[2,{data:o,error:null}];case 6:return[2,{data:null,error:i.sent()}];case 7:return[2]}}))}))},K=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return s(void 0,o([e],t,!0),void 0,(function(e,t){return void 0===t&&(t={}),i(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,N(e,n(n({},t),{method:"GET",headers:q(t)}))];case 1:return[4,r.sent().json()];case 2:return[2,{data:r.sent(),error:null}];case 3:return[2,{data:null,error:r.sent()}];case 4:return[2]}}))}))},j=function(e){function t(t,r){var n=e.call(this,r)||this;return n.base_url=t,n}return r(t,e),t.prototype.extraPrint=function(){return"api"},t.prototype.signOut=function(e){return s(this,void 0,void 0,(function(){var t,r;return i(this,(function(n){switch(n.label){case 0:return t="".concat(this.base_url,"/logout?").concat(new URLSearchParams(e)),this._debug("requesting ".concat(t)),[4,K(t)];case 1:return r=n.sent(),this._debug(r),r.error?[2,{error:r.error,data:null}]:[2,{error:null,data:null}]}}))}))},t}(L);globalThis&&b()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");var M=function(e){function t(t){var r=e.call(this,t)||this;return r.isAcquireTimeout=!0,r}return r(t,e),t}(Error);function F(e,t,r){return s(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,r()];case 1:return[2,e.sent()]}}))}))}!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}r(t,e)}(M);var V=function(e){function t(r){void 0===r&&(r={});var n=e.call(this,r)||this;return n.instanceID=t.nextInstanceID,t.nextInstanceID+=1,n}return r(t,e),t.prototype.extraPrint=function(){return this.instanceID.toString()},t.nextInstanceID=0,t}(L),G=function(e){function t(t){var r=e.call(this,{debug:t.debug})||this;return r.lockAcquired=!1,r.pendingInLock=[],r.lock=t.lock||F,r.storageKey=t.storageKey,r}return r(t,e),t.prototype._acquireLock=function(e,t){return s(this,void 0,void 0,(function(){var r,n,a=this;return i(this,(function(u){switch(u.label){case 0:this._debug("#_acquireLock","begin",e),u.label=1;case 1:return u.trys.push([1,,3,4]),this.lockAcquired?(r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=s(a,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,r];case 1:return e.sent(),[4,t()];case 2:return[2,e.sent()]}}))})),this.pendingInLock.push(s(a,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,n];case 1:case 2:return e.sent(),[3,3];case 3:return[2]}}))}))),[2,n]):[4,this.lock("lock:".concat(this.storageKey),e,(function(){return s(a,void 0,void 0,(function(){var e,r,n=this;return i(this,(function(a){switch(a.label){case 0:this._debug("#_acquireLock","lock acquired for storage key",this.storageKey),a.label=1;case 1:return a.trys.push([1,,7,8]),this.lockAcquired=!0,e=t(),this.pendingInLock.push(s(n,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,e];case 1:case 2:return t.sent(),[3,3];case 3:return[2]}}))}))),[4,e];case 2:a.sent(),a.label=3;case 3:return this.pendingInLock.length?(r=o([],this.pendingInLock,!0),[4,Promise.all(r)]):[3,5];case 4:return a.sent(),this.pendingInLock.splice(0,r.length),[3,3];case 5:return[4,e];case 6:return[2,a.sent()];case 7:return this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1,[7];case 8:return[2]}}))}))}))];case 2:return[2,u.sent()];case 3:return this._debug("#_acquireLock","end"),[7];case 4:return[2]}}))}))},t}(V);function J(e){var t={},r=new URL(e);if(r.hash&&"#"===r.hash[0])try{new URLSearchParams(r.hash.substring(1)).forEach((function(e,r){t[r]=e}))}catch(e){}return r.searchParams.forEach((function(e,r){t[r]=e})),t}var B=function(e){void 0===e&&(e=[]);var t=new URL(window.location.href);e.forEach((function(e){t.searchParams.delete(e)})),t.hash="",window.history.replaceState(window.history.state,"",t.toString())},W=3e4,H=function(e){function t(t){var r,n,o=this,a=(null==t?void 0:t.debug)||!1;if((o=e.call(this,{debug:a})||this).initializePromise=null,o.detectSessionInUrl=!0,o.autoRefreshTicker=null,o.visibilityChangedCallback=null,o.refreshingDeferred=null,o.broadcastChannel=null,o.stateChangeEmitters=new Map,o.sessionCheckExpiryDays=1,o.redirect_uri=(null==t?void 0:t.redirect_uri)||"",!(null==t?void 0:t.domain))throw new Error("Missing domain");if(o.domainUrl=function(e){if(!/^(https|http)?:\/\//.test(e)){var t=(null===location||void 0===location?void 0:location.protocol)||"https";return"".concat(t,"//").concat(e)}return e}(t.domain),o.tokenIssuer=(n=o.domainUrl,"".concat(n)),!t.clientId)throw new Error("Missing clientId");if(o.clientId=t.clientId,o.api=new j(o.domainUrl,{debug:a}),o.storageKey=(null==t?void 0:t.storageKey)||"faable.auth.token",o.flowType=(null==t?void 0:t.flowType)||"implicit",o.storage=(null==t?void 0:t.storage)||m,o.lock=new G({lock:t.lock,storageKey:o.storageKey,debug:t.debug}),v()&&globalThis.BroadcastChannel&&o.storageKey){try{o.broadcastChannel=new globalThis.BroadcastChannel(o.storageKey)}catch(e){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",e)}null===(r=o.broadcastChannel)||void 0===r||r.addEventListener("message",(function(e){return s(o,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return this._debug("received broadcast notification from other tab or client",e),[4,this._notifyAllSubscribers(e.data.event,e.data.session,!1)];case 1:return t.sent(),[2]}}))}))}))}return o.autoRefreshToken=!0,o.initialize(),o}return r(t,e),t.prototype.initialize=function(){return s(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return this.initializePromise?[4,this.initializePromise]:[3,2];case 1:case 3:return[2,t.sent()];case 2:return this.initializePromise=s(e,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return[4,this.lock._acquireLock(-1,(function(){return s(e,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this._initialize()];case 1:return[2,e.sent()]}}))}))}))];case 1:return[2,t.sent()]}}))})),[4,this.initializePromise]}}))}))},t.prototype._initialize=function(){return s(this,void 0,void 0,(function(){var e,t,r,n,o,a,u,c,l=this;return i(this,(function(h){switch(h.label){case 0:return h.trys.push([0,10,11,13]),v()?[4,this._isPKCEFlow()]:[3,2];case 1:return t=h.sent(),[3,3];case 2:t=!1,h.label=3;case 3:return e=t,this._debug("#_initialize()","begin","is PKCE flow",e),e||this.detectSessionInUrl&&this._isImplicitGrantFlow()?[4,this._getSessionFromURL(e)]:[3,8];case 4:return r=h.sent(),n=r.data,(o=r.error)?(this._debug("#_initialize()","error detecting session from URL",o),"Identity is already linked"===(null==o?void 0:o.message)||"Identity is already linked to another user"===(null==o?void 0:o.message)?[2,{error:o}]:[4,this._removeSession()]):[3,6];case 5:return h.sent(),[2,{error:o}];case 6:return a=n.session,u=n.redirectType,this._debug("#_initialize()","detected session in URL",a,"redirect type",u),[4,this._saveSession(a)];case 7:return h.sent(),setTimeout((function(){return s(l,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"recovery"!==u?[3,2]:[4,this._notifyAllSubscribers("PASSWORD_RECOVERY",a)];case 1:return e.sent(),[3,4];case 2:return[4,this._notifyAllSubscribers("SIGNED_IN",a)];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))}),0),[2,{error:null}];case 8:return[4,this._recoverAndRefresh()];case 9:return h.sent(),[2,{error:null}];case 10:return I(c=h.sent())?[2,{error:c}]:[2,{error:new C("Unexpected error during initialization",c)}];case 11:return[4,this._handleVisibilityChange()];case 12:return h.sent(),this._debug("#_initialize()","end"),[7];case 13:return[2]}}))}))},t.prototype._getSessionFromURL=function(e){return s(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c,l,h,d,f,p,b,g,_,w,y,k;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,4,,5]),!v())throw new A("No browser detected.");if("implicit"===this.flowType&&!this._isImplicitGrantFlow())throw new A("Not a valid implicit grant flow url.");if("pkce"==this.flowType&&!e)throw new E("Not a valid PKCE flow url.");if(t=J(window.location.href),!e)return[3,2];if(!t.code)throw new E("No code detected.");return[4,this._exchangeCodeForSession(t.code)];case 1:if(r=i.sent(),n=r.data,s=r.error)throw s;return B(["code"]),[2,{data:{session:n.session,redirectType:null},error:null}];case 2:if(t.error||t.error_description||t.error_code)throw new A(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});if(o=t.provider_token,a=t.provider_refresh_token,u=t.access_token,c=t.refresh_token,l=t.expires_in,h=t.expires_at,d=t.token_type,!(u&&l&&c&&d))throw new A("No session defined in URL");return f=function(e){var t=e.expires_in,r=e.expires_at,n=e.refreshTick,s=Math.round(Date.now()/1e3),i=parseInt(t),o=s+i;r&&(o=parseInt(r));var a=o-s;1e3*a<=n&&console.warn("@supabase/gotrue-js: Session as retrieved from URL expires in ".concat(a,"s, should have been closer to ").concat(i,"s"));var u=o-i;return s-u>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",u,o,s):s-u<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew",u,o,s),{expiresIn:i,expiresAt:o}}({expires_in:l,expires_at:h,refreshTick:W}),p=f.expiresAt,b=f.expiresIn,[4,this._getUser(u)];case 3:if(g=i.sent(),_=g.data,(w=g.error)||!_.user)throw w;return y={provider_token:o,provider_refresh_token:a,access_token:u,expires_in:b,expires_at:p,refresh_token:c,token_type:d,user:_.user},B(["access_token","expires_in","refresh_token","token_type","scope"]),this._debug("#_getSessionFromURL()","clearing window.location.hash"),[2,{data:{session:y,redirectType:t.type},error:null}];case 4:if(k=i.sent(),this._debug(k),I(k))return[2,{data:{session:null,redirectType:null},error:k}];throw k;case 5:return[2]}}))}))},t.prototype._exchangeCodeForSession=function(e){return s(this,void 0,void 0,(function(){var t,r,s,o,a,l,h,d,f,v,p,b;return i(this,(function(i){switch(i.label){case 0:return[4,u(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 1:return t=i.sent(),r=(null!=t?t:"").split("/"),s=r[0],o=r[1],[4,z("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"authorization_code",code:e,code_verifier:s})];case 2:if(a=i.sent(),l=g(a),h=l.data,d=l.error,!h)throw new Error("Missing data");return[4,c(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 3:return i.sent(),d?[2,{data:{user:null,session:null,redirectType:null},error:d}]:h&&h.session&&h.user?(f=h.session)?[4,this._getUser(f.access_token)]:[3,7]:[2,{data:{user:null,session:null,redirectType:null},error:new R}];case 4:if(v=i.sent(),p=v.data,(b=v.error)||!p.user)throw b;return f=n(n({},f),{user:p.user}),h.session=f,[4,this._saveSession(f)];case 5:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_IN",f)];case 6:i.sent(),i.label=7;case 7:return[2,{data:n(n({},h),{redirectType:null!=o?o:null}),error:d}]}}))}))},t.prototype._handleVisibilityChange=function(){return s(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:if(this._debug("#_handleVisibilityChange()"),!v()||!(null===window||void 0===window?void 0:window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),[2,!1];r.label=1;case 1:return r.trys.push([1,3,,4]),this.visibilityChangedCallback=function(){return s(t,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this._onVisibilityChanged(!1)];case 1:return[2,e.sent()]}}))}))},null===window||void 0===window||window.addEventListener("visibilitychange",this.visibilityChangedCallback),[4,this._onVisibilityChanged(!0)];case 2:return r.sent(),[3,4];case 3:return e=r.sent(),console.error("_handleVisibilityChange",e),[3,4];case 4:return[2]}}))}))},t.prototype._onVisibilityChanged=function(e){return s(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(n){switch(n.label){case 0:return t="#_onVisibilityChanged(".concat(e,")"),this._debug(t,"visibilityState",D.visibilityState),"visible"!==D.visibilityState?[3,4]:(this.autoRefreshToken&&this._startAutoRefresh(),e?[3,3]:[4,this.initializePromise]);case 1:return n.sent(),[4,this.lock._acquireLock(-1,(function(){return s(r,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"visible"!==D.visibilityState?(this._debug(t,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting"),[2]):[4,this._recoverAndRefresh()];case 1:return e.sent(),[2]}}))}))}))];case 2:n.sent(),n.label=3;case 3:return[3,5];case 4:"hidden"===D.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh(),n.label=5;case 5:return[2]}}))}))},t.prototype._recoverAndRefresh=function(){return s(this,void 0,void 0,(function(){var e,t,r,n,s,o,a;return i(this,(function(i){switch(i.label){case 0:e="#_recoverAndRefresh()",this._debug(e,"begin"),i.label=1;case 1:return i.trys.push([1,12,13,14]),[4,u(this.storage,this.storageKey)];case 2:return t=i.sent(),this._debug(e,"session from storage",t),this._isValidSession(t)?[3,5]:(this._debug(e,"session is not valid"),null===t?[3,4]:[4,this._removeSession()]);case 3:i.sent(),i.label=4;case 4:return[2];case 5:return r=Math.round(Date.now()/1e3),n=(null!==(a=t.expires_at)&&void 0!==a?a:1/0)<r+10,this._debug(e,"session has".concat(n?"":" not"," expired with margin of ").concat(10,"s")),n?this.autoRefreshToken&&t.refresh_token?[4,this._callRefreshToken(t.refresh_token)]:[3,8]:[3,9];case 6:return(s=i.sent().error)?(console.error(s),P(s)?[3,8]:(this._debug(e,"refresh failed with a non-retryable error, removing the session",s),[4,this._removeSession()])):[3,8];case 7:i.sent(),i.label=8;case 8:return[3,11];case 9:return[4,this._notifyAllSubscribers("SIGNED_IN",t)];case 10:i.sent(),i.label=11;case 11:return[3,14];case 12:return o=i.sent(),this._debug(e,"error",o),console.error(o),[2];case 13:return this._debug(e,"end"),[7];case 14:return[2]}}))}))},t.prototype._removeVisibilityChangedCallback=function(){this._debug("#_removeVisibilityChangedCallback()");var e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&v()&&(null===window||void 0===window?void 0:window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(e){console.error("removing visibilitychange callback failed",e)}},t.prototype.startAutoRefresh=function(){return s(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return this._removeVisibilityChangedCallback(),[4,this._startAutoRefresh()];case 1:return e.sent(),[2]}}))}))},t.prototype._startAutoRefresh=function(){return s(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this._stopAutoRefresh()];case 1:return r.sent(),this._debug("#_startAutoRefresh()"),e=setInterval((function(){return t._autoRefreshTokenTick()}),W),this.autoRefreshTicker=e,e&&"object"==typeof e&&"function"==typeof e.unref?e.unref():void 0!==globalThis.Deno&&"function"==typeof globalThis.Deno.unrefTimer&&Deno.unrefTimer(e),setTimeout((function(){return s(t,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return[4,this.initializePromise];case 1:return e.sent(),[4,this._autoRefreshTokenTick()];case 2:return e.sent(),[2]}}))}))}),0),[2]}}))}))},t.prototype._stopAutoRefresh=function(){return s(this,void 0,void 0,(function(){var e;return i(this,(function(t){return this._debug("#_stopAutoRefresh()"),e=this.autoRefreshTicker,this.autoRefreshTicker=null,e&&clearInterval(e),[2]}))}))},t.prototype._autoRefreshTokenTick=function(){return s(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:this._debug("#_autoRefreshTokenTick()","begin"),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.lock._acquireLock(0,(function(){return s(t,void 0,void 0,(function(){var e,t,r=this;return i(this,(function(n){switch(n.label){case 0:n.trys.push([0,,5,6]),e=Date.now(),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this._useSession((function(t){return s(r,void 0,void 0,(function(){var r,n;return i(this,(function(s){switch(s.label){case 0:return(r=t.data.session)&&r.refresh_token&&r.expires_at?(n=Math.floor((1e3*r.expires_at-e)/W),this._debug("#_autoRefreshTokenTick()","access token expires in ".concat(n," ticks, a tick lasts ").concat(W,"ms, refresh threshold is ").concat(3," ticks")),n<=3?[4,this._callRefreshToken(r.refresh_token)]:[3,2]):(this._debug("#_autoRefreshTokenTick()","no session"),[2]);case 1:s.sent(),s.label=2;case 2:return[2]}}))}))}))];case 2:return[2,n.sent()];case 3:return t=n.sent(),console.error("Auto refresh tick failed with error. This is likely a transient error.",t),[3,4];case 4:return[3,6];case 5:return this._debug("#_autoRefreshTokenTick()","end"),[7];case 6:return[2]}}))}))}))];case 2:return r.sent(),[3,4];case 3:if(!((e=r.sent()).isAcquireTimeout||e instanceof M))throw e;return this._debug("auto refresh token tick lock not available"),[3,4];case 4:return[2]}}))}))},t.prototype._isPKCEFlow=function(){return s(this,void 0,void 0,(function(){var e,t;return i(this,(function(r){switch(r.label){case 0:return e=J(window.location.href),[4,u(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 1:return t=r.sent(),[2,!(!e.code||!t)]}}))}))},t.prototype._isImplicitGrantFlow=function(){var e=J(window.location.href);return!(!v()||!e.access_token&&!e.error_description)},t.prototype._scope=function(){return this.scope||"openid profile email"},t.prototype._getUrlForConnection=function(e,t){return s(this,void 0,void 0,(function(){var r,s,o,a,u;return i(this,(function(i){switch(i.label){case 0:return r=t.queryParams||{},s={client_id:this.clientId,response_type:t.response_type,redirect_uri:t.redirectTo||this.redirect_uri||window.location.origin,scope:t.scopes||this._scope()},"pkce"!==this.flowType?[3,2]:[4,f(this.storage,this.storageKey)];case 1:o=i.sent(),a=o[0],u=o[1],r=n(n({},r),{code_challenge:a,code_challenge_method:u}),i.label=2;case 2:return t.connection&&(s.connection=t.connection),[2,"".concat(e,"?").concat(new URLSearchParams(n(n({},r),s)))]}}))}))},t.prototype.signInWithOauthConnection=function(e){return s(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._handleConnectionSignIn({connection:e.connection,redirectTo:null==e?void 0:e.redirectTo,scopes:null==e?void 0:e.scopes,queryParams:e.queryParams,skipBrowserRedirect:e.skipBrowserRedirect})];case 1:return[2,t.sent()]}}))}))},t.prototype.signInWithUsernamePassword=function(e){return s(this,void 0,void 0,(function(){var t,r,n=this;return i(this,(function(o){switch(o.label){case 0:return t=function(e){return s(n,void 0,void 0,(function(){var t;return i(this,(function(n){return console.log("rawres"),console.log(r),(t=D.createElement("div")).innerHTML=e,D.body.appendChild(t).children[0].submit(),[2]}))}))},[4,z("".concat(this.domainUrl,"/usernamepassword/login"),{username:e.username,password:e.password,redirect_uri:e.redirect_uri||this.redirect_uri||window.location.origin,client_id:this.clientId},{raw:!0})];case 1:if(!(r=o.sent()).data||r.error)throw new Error(r.error||"Error in username password login");return t(r.data),[2]}}))}))},t.prototype.changePassword=function(e){return s(this,void 0,void 0,(function(){var t,r;return i(this,(function(n){switch(n.label){case 0:if(!(null==e?void 0:e.email))throw new Error("email is required");return[4,z("".concat(this.domainUrl,"/dbconnections/change_password"),{email:e.email})];case 1:return t=n.sent(),r=t.data,t.error,[2,r]}}))}))},t.prototype._handleConnectionSignIn=function(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return[4,this._getUrlForConnection("".concat(this.domainUrl,"/authorize"),{response_type:v()?"code":"token",connection:e.connection,redirectTo:e.redirectTo,scopes:e.scopes,queryParams:e.queryParams})];case 1:return t=r.sent(),this._debug("#_handleProviderSignIn()","options",e,"url",t),v()&&!e.skipBrowserRedirect&&window.location.assign(t),[2,{data:{url:t},error:null}]}}))}))},t.prototype.setSession=function(e){return s(this,void 0,void 0,(function(){var t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this.initializePromise];case 1:return r.sent(),[4,this.lock._acquireLock(-1,(function(){return s(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._setSession(e)];case 1:return[2,t.sent()]}}))}))}))];case 2:return[2,r.sent()]}}))}))},t.prototype.getSession=function(){return s(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return[4,this.initializePromise];case 1:return t.sent(),[4,this.lock._acquireLock(-1,(function(){return s(e,void 0,void 0,(function(){var e=this;return i(this,(function(t){return[2,this._useSession((function(t){return s(e,void 0,void 0,(function(){return i(this,(function(e){return[2,t]}))}))}))]}))}))}))];case 2:return[2,t.sent()]}}))}))},t.prototype._useSession=function(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:this._debug("#_useSession","begin"),r.label=1;case 1:return r.trys.push([1,,4,5]),[4,this.__loadSession()];case 2:return t=r.sent(),[4,e(t)];case 3:return[2,r.sent()];case 4:return this._debug("#_useSession","end"),[7];case 5:return[2]}}))}))},t.prototype.__loadSession=function(){return s(this,void 0,void 0,(function(){var e,t,r,n,s,o,a;return i(this,(function(i){switch(i.label){case 0:this._debug("#__loadSession()","begin"),this.lock.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",(new Error).stack),i.label=1;case 1:return i.trys.push([1,,7,8]),e=null,[4,u(this.storage,this.storageKey)];case 2:return t=i.sent(),this._debug("#getSession()","session from storage",t),null===t?[3,5]:this._isValidSession(t)?(e=t,[3,5]):[3,3];case 3:return this._debug("#getSession()","session from storage is not valid"),[4,this._removeSession()];case 4:i.sent(),i.label=5;case 5:return e?(r=!!e.expires_at&&e.expires_at<=Date.now()/1e3,this._debug("#__loadSession()","session has".concat(r?"":" not"," expired"),"expires_at",e.expires_at),r?[4,this._callRefreshToken(e.refresh_token)]:(this.storage.isServer&&(n=new Proxy(e,{get:function(e,t,r){return"user"===t&&console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and many not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),Reflect.get(e,t,r)}}),e=n),[2,{data:{session:e},error:null}])):[2,{data:{session:null},error:null}];case 6:return s=i.sent(),o=s.session,(a=s.error)?[2,{data:{session:null},error:a}]:[2,{data:{session:o},error:null}];case 7:return this._debug("#__loadSession()","end"),[7];case 8:return[2]}}))}))},t.prototype._removeSession=function(){return s(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return this._debug("#_removeSession()"),[4,c(this.storage,this.storageKey)];case 1:return e.sent(),[2]}}))}))},t.prototype._isValidSession=function(e){return"object"==typeof e&&null!==e&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e},t.prototype._setSession=function(e){return s(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c,l,h,d;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,7,,8]),!e.access_token||!e.refresh_token)throw new x;return t=Date.now()/1e3,r=t,n=!0,s=null,(o=k(e.access_token)).exp&&(r=o.exp,n=r<=t),n?[4,this._callRefreshToken(e.refresh_token)]:[3,2];case 1:return a=i.sent(),u=a.session,(h=a.error)?[2,{data:{user:null,session:null},error:h}]:u?(s=u,[3,6]):[2,{data:{user:null,session:null},error:null}];case 2:return[4,this._getUser(e.access_token)];case 3:if(c=i.sent(),l=c.data,(h=c.error)||!l.user)throw h;return s={access_token:e.access_token,refresh_token:e.refresh_token,user:l.user,token_type:"bearer",expires_in:r-t,expires_at:r},[4,this._saveSession(s)];case 4:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_IN",s)];case 5:i.sent(),i.label=6;case 6:return[2,{data:{user:s.user,session:s},error:null}];case 7:if(I(d=i.sent()))return[2,{data:{session:null,user:null},error:d}];throw d;case 8:return[2]}}))}))},t.prototype._saveSession=function(e){return s(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return this._debug("#_saveSession()",e),[4,a(this.storage,this.storageKey,e)];case 1:return t.sent(),[2]}}))}))},t.prototype._getUser=function(e){return s(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:if(!e)throw new Error("Cannot fetch user without token");return this._debug("#_getUser() begin"),[4,K("".concat(this.domainUrl,"/me"),{token:e})];case 1:return t=r.sent(),this._debug("#_getUser() end"),[2,{data:{user:t.data},error:t.error}]}}))}))},t.prototype._callRefreshToken=function(e){return s(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c;return i(this,(function(i){switch(i.label){case 0:if(!e)throw new x;if(this.refreshingDeferred)return[2,this.refreshingDeferred.promise];t="#_callRefreshToken(".concat(e.substring(0,5),"...)"),this._debug(t,"begin"),i.label=1;case 1:return i.trys.push([1,5,10,11]),this.refreshingDeferred=new _,[4,this._refreshAccessToken(e)];case 2:if(r=i.sent(),n=r.data,s=r.error)throw s;if(!n.session)throw new x;return[4,this._saveSession(n.session)];case 3:return i.sent(),[4,this._notifyAllSubscribers("TOKEN_REFRESHED",n.session)];case 4:return i.sent(),a={session:n.session,error:null},this.refreshingDeferred.resolve(a),[2,a];case 5:return o=i.sent(),this._debug(t,"error",o),I(o)?(a={session:null,error:o},P(o)?[3,8]:[4,this._removeSession()]):[3,9];case 6:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_OUT",null)];case 7:i.sent(),i.label=8;case 8:return null===(u=this.refreshingDeferred)||void 0===u||u.resolve(a),[2,a];case 9:throw null===(c=this.refreshingDeferred)||void 0===c||c.reject(o),o;case 10:return this.refreshingDeferred=null,this._debug(t,"end"),[7];case 11:return[2]}}))}))},t.prototype._refreshAccessToken=function(e){return s(this,void 0,void 0,(function(){var t,r,o,a=this;return i(this,(function(u){switch(u.label){case 0:t="#_refreshAccessToken(".concat(e.substring(0,5),"...)"),this._debug(t,"begin"),u.label=1;case 1:return u.trys.push([1,3,4,5]),r=Date.now(),[4,w((function(r){return s(a,void 0,void 0,(function(){var s,o,a,u,c,l;return i(this,(function(i){switch(i.label){case 0:return r>0?[4,y(200*Math.pow(2,r-1))]:[3,2];case 1:i.sent(),i.label=2;case 2:return this._debug(t,"refreshing attempt",r),[4,z("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"refresh_token",refresh_token:e})];case 3:if(s=i.sent(),o=g(s),!(null===(c=o.data.session)||void 0===c?void 0:c.access_token))throw new Error("Bad user");return[4,this._getUser(null===(l=o.data.session)||void 0===l?void 0:l.access_token)];case 4:if(a=i.sent(),!(u=a.data.user))throw new Error("No user found");return[2,{data:{session:n(n({},o.data.session),{user:u}),user:u},error:null}]}}))}))}),(function(e,t){var n=200*Math.pow(2,e);return t&&P(t)&&Date.now()+n-r<W}))];case 2:return[2,u.sent()];case 3:if(o=u.sent(),this._debug(t,"error",o),I(o))return[2,{data:{session:null,user:null},error:o}];throw o;case 4:return this._debug(t,"end"),[7];case 5:return[2]}}))}))},t.prototype._notifyAllSubscribers=function(e,t){return s(this,arguments,void 0,(function(e,t,r){var n,o,a,u,c=this;return void 0===r&&(r=!0),i(this,(function(l){switch(l.label){case 0:n="#_notifyAllSubscribers(".concat(e,")"),this._debug(n,"begin",t,"broadcast = ".concat(r)),l.label=1;case 1:return l.trys.push([1,,3,4]),this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t}),o=[],a=Array.from(this.stateChangeEmitters.values()).map((function(r){return s(c,void 0,void 0,(function(){var n;return i(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,r.callback(e,t)];case 1:return s.sent(),[3,3];case 2:return n=s.sent(),o.push(n),[3,3];case 3:return[2]}}))}))})),[4,Promise.all(a)];case 2:if(l.sent(),o.length>0){for(u=0;u<o.length;u+=1)console.error(o[u]);throw o[0]}return[3,4];case 3:return this._debug(n,"end"),[7];case 4:return[2]}}))}))},t.prototype.signOut=function(){return s(this,arguments,void 0,(function(e){var t=this;return void 0===e&&(e={scope:"global"}),i(this,(function(r){switch(r.label){case 0:return[4,this.initializePromise];case 1:return r.sent(),[4,this.lock._acquireLock(-1,(function(){return s(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._signOut(e)];case 1:return[2,t.sent()]}}))}))}))];case 2:return[2,r.sent()]}}))}))},t.prototype._signOut=function(){return s(this,arguments,void 0,(function(e){var t=this,r=(void 0===e?{scope:"global"}:e).scope;return i(this,(function(e){switch(e.label){case 0:return[4,this._useSession((function(e){return s(t,void 0,void 0,(function(){var t,n,s,o;return i(this,(function(i){switch(i.label){case 0:return t=e.data,(n=e.error)?[2,{error:n}]:(null===(o=t.session)||void 0===o?void 0:o.access_token)?[4,this.api.signOut({client_id:this.clientId})]:[3,2];case 1:if((s=i.sent().error)&&(!function(e){return I(e)&&"AuthApiError"===e.name}(s)||404!==s.status&&401!==s.status))return[2,{error:s}];i.label=2;case 2:return"others"===r?[3,6]:[4,this._removeSession()];case 3:return i.sent(),[4,c(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 4:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_OUT",null)];case 5:i.sent(),i.label=6;case 6:return[2,{error:null}]}}))}))}))];case 1:return[2,e.sent()]}}))}))},t.prototype.onAuthStateChange=function(e){var t=this,r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),n={id:r,callback:e,unsubscribe:function(){t._debug("#unsubscribe()","state change callback with id removed",r),t.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,n),s(t,void 0,void 0,(function(){var e=this;return i(this,(function(t){switch(t.label){case 0:return[4,this.initializePromise];case 1:return t.sent(),[4,this.lock._acquireLock(-1,(function(){return s(e,void 0,void 0,(function(){return i(this,(function(e){return this._emitInitialSession(r),[2]}))}))}))];case 2:return t.sent(),[2]}}))})),{data:{subscription:n}}},t.prototype._emitInitialSession=function(e){return s(this,void 0,void 0,(function(){var t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this._useSession((function(r){return s(t,void 0,void 0,(function(){var t,n,s,o,a;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,2,,4]),t=r.data.session,n=r.error)throw n;return[4,null===(o=this.stateChangeEmitters.get(e))||void 0===o?void 0:o.callback("INITIAL_SESSION",t)];case 1:return i.sent(),this._debug("INITIAL_SESSION","callback id",e,"session",t),[3,4];case 2:return s=i.sent(),[4,null===(a=this.stateChangeEmitters.get(e))||void 0===a?void 0:a.callback("INITIAL_SESSION",null)];case 3:return i.sent(),this._debug("INITIAL_SESSION","callback id",e,"error",s),console.error(s),[3,4];case 4:return[2]}}))}))}))];case 1:return[2,r.sent()]}}))}))},t.prototype.refreshSession=function(e){return s(this,void 0,void 0,(function(){var t=this;return i(this,(function(r){switch(r.label){case 0:return[4,this.initializePromise];case 1:return r.sent(),[4,this.lock._acquireLock(-1,(function(){return s(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this._refreshSession(e)];case 1:return[2,t.sent()]}}))}))}))];case 2:return[2,r.sent()]}}))}))},t.prototype._refreshSession=function(e){return s(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this._useSession((function(t){return s(r,void 0,void 0,(function(){var r,n,s,o,a,u;return i(this,(function(i){switch(i.label){case 0:if(!e){if(r=t.data,n=t.error)throw n;e=null!==(u=r.session)&&void 0!==u?u:void 0}if(!(null==e?void 0:e.refresh_token))throw new x;return[4,this._callRefreshToken(e.refresh_token)];case 1:return s=i.sent(),o=s.session,(a=s.error)?[2,{data:{user:null,session:null},error:a}]:o?[2,{data:{user:o.user,session:o},error:null}]:[2,{data:{user:null,session:null},error:null}]}}))}))}))];case 1:return[2,n.sent()];case 2:if(I(t=n.sent()))return[2,{data:{user:null,session:null},error:t}];throw t;case 3:return[2]}}))}))},t}(V),$=function(){};e.AuthError=S,e.FaableAuthClient=H,e.User=$,e.createClient=function(e){return new H(e)}}({});
|
|
7
7
|
//# sourceMappingURL=faableauth.js.map
|