@faable/auth-js 1.5.6 → 1.6.0-next.1
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 +28 -0
- package/dist/dts/lib/nextjs.d.ts +6 -0
- package/dist/dts/lib/storage/cookie-storage.d.ts +14 -0
- package/dist/dts/lib/{local-storage.d.ts → storage/local-storage.d.ts} +1 -1
- package/dist/dts/lib/storage_helpers.d.ts +0 -1
- package/dist/dts/lib/types.d.ts +26 -0
- package/dist/faableauth.js +3 -3
- package/dist/faableauth.js.map +1 -1
- package/dist/main.js +3 -3
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @faable/auth-js v1.
|
|
3
|
-
* (c)
|
|
2
|
+
* @faable/auth-js v1.6.0-next.1
|
|
3
|
+
* (c) 2026
|
|
4
4
|
* @license SEE LICENSE.md
|
|
5
5
|
*/
|
|
6
|
-
var e=function(t,r){return e=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])},e(t,r)};function t(t,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=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},r.apply(this,arguments)};function n(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{u(n.next(e))}catch(e){s(e)}}function a(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(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,i,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[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]&&(s=0)),s;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(6===a[0]&&s.label<i[1]){s.label=i[1],i=a;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(a);break}i[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function s(e,t,r){if(r||2===arguments.length)for(var n,i=0,s=t.length;i<s;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var o=function(e,t,r){return n(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]}}))}))},a=function(e,t){return n(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]}}))}))},u=function(e,t){return n(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 c(e){return("0"+e.toString(16)).substr(-2)}function l(e){return n(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 h(e){return n(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,l(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 d(e,t){return n(this,arguments,void 0,(function(e,t,r){var n,s,a;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,c).join("")}(),s=n,r&&(s+="/PASSWORD_RECOVERY"),[4,o(e,"".concat(t,"-code-verifier"),s)];case 1:return i.sent(),[4,h(n)];case 2:return[2,[a=i.sent(),n===a?"plain":"S256"]]}}))}))}var f=function(){return"undefined"!=typeof document},v={tested:!1,writable:!1},p=function(){if(!f())return!1;try{if("object"!=typeof globalThis.localStorage)return!1}catch(e){return!1}if(v.tested)return v.writable;var e="lswt-".concat(Math.random()).concat(Math.random());try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),v.tested=!0,v.writable=!0}catch(e){v.tested=!0,v.writable=!1}return v.writable};function b(e){var t,n,i=e.data,s=null;if(!i)throw new Error("Bad session response");return function(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}(i)&&(s=r({},i),!i.expires_at&&i.expires_in&&(s.expires_at=(n=i.expires_in,Math.round(Date.now()/1e3)+n))),{data:{session:s,user:null!==(t=i.user)&&void 0!==t?t:i},error:null}}var g=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 _(e,t){var r=this;return new Promise((function(s,o){n(r,void 0,void 0,(function(){var r,n,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 n=i.sent(),t(r,null,n)?[3,5]:(s(n),[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 n(this,void 0,void 0,(function(){return i(this,(function(t){return[2,new Promise((function(t){setTimeout((function(){return t(null)}),e)}))]}))}))}function w(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,i,s,o,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u="",c=0;for(e=e.replace("-","+").replace("_","/");c<e.length;)t=a.indexOf(e.charAt(c++))<<2|(i=a.indexOf(e.charAt(c++)))>>4,r=(15&i)<<4|(s=a.indexOf(e.charAt(c++)))>>2,n=(3&s)<<6|(o=a.indexOf(e.charAt(c++))),u+=String.fromCharCode(t),64!=s&&0!=r&&(u+=String.fromCharCode(r)),64!=o&&0!=n&&(u+=String.fromCharCode(n));return u}(r))}var k={getItem:function(e){return p()?globalThis.localStorage.getItem(e):null},setItem:function(e,t){p()&&globalThis.localStorage.setItem(e,t)},removeItem:function(e){p()&&globalThis.localStorage.removeItem(e)}},m=function(e){function r(t,r,n){var i=e.call(this,t)||this;return i.__isAuthError=!0,i.name="AuthError",i.status=r,i.code=n,i}return t(r,e),r}(Error),S=function(e){function r(t,r,n,i){var s=e.call(this,t,n,i)||this;return s.name=r,s.status=n,s}return t(r,e),r}(m),T=function(e){function r(){return e.call(this,"Auth session missing!","AuthSessionMissingError",400,void 0)||this}return t(r,e),r}(S);function x(e){return"object"==typeof e&&null!==e&&"__isAuthError"in e}!function(e){function r(t,r,n){var i=e.call(this,t,r,n)||this;return i.name="AuthApiError",i.status=r,i.code=n,i}t(r,e)}(m);var I=function(e){function r(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 t(r,e),r.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},r}(S),A=function(e){function r(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 t(r,e),r.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},r}(S),E=function(e){function r(t,r){var n=e.call(this,t)||this;return n.name="AuthUnknownError",n.originalError=r,n}return t(r,e),r}(m),R=function(e){function r(){return e.call(this,"Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)||this}return t(r,e),r}(S);function C(e){return x(e)&&"AuthRetryableFetchError"===e.name}!function(e){function r(t,r){return e.call(this,t,"AuthRetryableFetchError",r,void 0)||this}t(r,e)}(S);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,s(["FaableAuth@".concat(r," (").concat("0.0.0",") ").concat((new Date).toISOString())],e,!1))}return this},e}(),U="undefined"!=typeof window?window:void 0,P="undefined"!=typeof globalThis?globalThis:U,O=null==P?void 0:P.document,D=P.fetch,q=function(e){void 0===e&&(e={});var t={};return(null==e?void 0:e.token)&&(t=r(r({},t),{Authorization:"Bearer ".concat(null==e?void 0:e.token)})),r(r({},null==e?void 0:e.headers),t)},z=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return n(void 0,s([e],t,!0),void 0,(function(e,t){var r,n,s;return void 0===t&&(t={}),i(this,(function(i){switch(i.label){case 0:return t.raw?[4,e.text()]:[3,2];case 1:return n=i.sent(),[3,4];case 2:return[4,e.json()];case 3:n=i.sent(),i.label=4;case 4:return r=n,e.status>=300?[2,{data:r,error:t.raw?null===(s=JSON.parse(r))||void 0===s?void 0:s.message:null==r?void 0:r.message}]:[2,{data:r,error:null}]}}))}))},N=function(e,t){for(var o=[],a=2;a<arguments.length;a++)o[a-2]=arguments[a];return n(void 0,s([e,t],o,!0),void 0,(function(e,t,n){var s;return void 0===n&&(n={}),i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,D(e,{method:"POST",body:JSON.stringify(t),headers:r(r({},q(n)),{"Content-Type":"application/json"})})];case 1:return s=i.sent(),[2,z(s,n)];case 2:return[2,{data:null,error:i.sent()}];case 3:return[2]}}))}))},j=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return n(void 0,s([e],t,!0),void 0,(function(e,t){var n;return void 0===t&&(t={}),i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,D(e,r(r({},t),{method:"GET",headers:q(t)}))];case 1:return n=i.sent(),[2,z(n,t)];case 2:return[2,{data:null,error:i.sent()}];case 3:return[2]}}))}))},K=function(e){function r(t,r){var n=e.call(this,r)||this;return n.base_url=t,n}return t(r,e),r.prototype.extraPrint=function(){return"api"},r.prototype.signOut=function(e){return n(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,j(t)];case 1:return r=n.sent(),this._debug(r),r.error?[2,{error:r.error,data:null}]:[2,{error:null,data:null}]}}))}))},r}(L);globalThis&&p()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");var M=function(e){function r(t){var r=e.call(this,t)||this;return r.isAcquireTimeout=!0,r}return t(r,e),r}(Error);function V(e,t,r){return n(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 r(){return null!==e&&e.apply(this,arguments)||this}t(r,e)}(M);var F=function(e){function r(t){void 0===t&&(t={});var n=e.call(this,t)||this;return n.instanceID=r.nextInstanceID,r.nextInstanceID+=1,n}return t(r,e),r.prototype.extraPrint=function(){return this.instanceID.toString()},r.nextInstanceID=0,r}(L),G=function(e){function r(t){var r=e.call(this,{debug:t.debug})||this;return r.lockAcquired=!1,r.pendingInLock=[],r.lock=t.lock||V,r.storageKey=t.storageKey,r}return t(r,e),r.prototype._acquireLock=function(e,t){return n(this,void 0,void 0,(function(){var r,o,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(),o=n(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(n(a,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,o];case 1:case 2:return e.sent(),[3,3];case 3:return[2]}}))}))),[2,o]):[4,this.lock("lock:".concat(this.storageKey),e,(function(){return n(a,void 0,void 0,(function(){var e,r,o=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(n(o,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=s([],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]}}))}))},r}(F);function J(e){void 0===e&&(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())};function W(){if(!U)throw new Error("No window in environment");return U}var H={redirect:function(e){W().location=e},getDocument:function(){return W().document},getWindow:W},$=3e4,Y=function(e){function s(t){var r,s,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=(s=o.domainUrl,"".concat(s)),!t.clientId)throw new Error("Missing clientId");o.clientId=t.clientId,o.api=new K(o.domainUrl,{debug:a});var u=(null==t?void 0:t.storageKey)||"faableauth";if(o.storageKey="".concat(u,"-").concat(o.clientId),o.storage=(null==t?void 0:t.storage)||k,o.lock=new G({lock:t.lock,storageKey:o.storageKey,debug:t.debug}),f()&&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 n(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 t(s,e),s.prototype.initialize=function(){return n(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=n(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 n(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]}}))}))},s.prototype._initialize=function(){return n(this,void 0,void 0,(function(){var e,t,r,s,o,a,u,c=this;return i(this,(function(l){switch(l.label){case 0:return l.trys.push([0,8,9,11]),[4,this._detectFlowType()];case 1:return e=l.sent(),this._debug("#_initialize()","begin","flow_type",e),e?[4,this._getSessionFromURL(e)]:[3,6];case 2:return t=l.sent(),r=t.data,(s=t.error)?(this._debug("#_initialize()","error detecting session from URL",s),"Identity is already linked"===(null==s?void 0:s.message)||"Identity is already linked to another user"===(null==s?void 0:s.message)?[2,{error:s}]:[4,this._removeSession()]):[3,4];case 3:return l.sent(),[2,{error:s}];case 4:return o=r.session,a=r.redirectType,this._debug("#_initialize()","detected session in URL",o,"redirect type",a),[4,this._saveSession(o)];case 5:return l.sent(),setTimeout((function(){return n(c,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"recovery"!==a?[3,2]:[4,this._notifyAllSubscribers("PASSWORD_RECOVERY",o)];case 1:return e.sent(),[3,4];case 2:return[4,this._notifyAllSubscribers("SIGNED_IN",o)];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))}),0),[2,{error:null}];case 6:return[4,this._recoverAndRefresh()];case 7:return l.sent(),[2,{error:null}];case 8:return x(u=l.sent())?[2,{error:u}]:[2,{error:new E("Unexpected error during initialization",u)}];case 9:return[4,this._handleVisibilityChange()];case 10:return l.sent(),this._debug("#_initialize()","end"),[7];case 11:return[2]}}))}))},s.prototype._getSessionFromURL=function(e){return n(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c,l,h,d,f,v,p,b,g,_,y,w;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,4,,5]),t=J(null==U?void 0:U.location.href),"pkce"!=e)return[3,2];if(!t.code)throw new A("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 I(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 I("No session defined in URL");return f=function(e){var t=e.expires_in,r=e.expires_at,n=e.refreshTick,i=Math.round(Date.now()/1e3),s=parseInt(t),o=i+s;r&&(o=parseInt(r));var a=o-i;1e3*a<=n&&console.warn("@supabase/gotrue-js: Session as retrieved from URL expires in ".concat(a,"s, should have been closer to ").concat(s,"s"));var u=o-s;return i-u>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",u,o,i):i-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,i),{expiresIn:s,expiresAt:o}}({expires_in:l,expires_at:h,refreshTick:$}),v=f.expiresAt,p=f.expiresIn,[4,this._getUser(u)];case 3:if(b=i.sent(),g=b.data,(_=b.error)||!g)throw _;return y={provider_token:o,provider_refresh_token:a,access_token:u,expires_in:p,expires_at:v,refresh_token:c,token_type:d,user:g},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(w=i.sent(),this._debug(w),x(w))return[2,{data:{session:null,redirectType:null},error:w}];throw w;case 5:return[2]}}))}))},s.prototype._exchangeCodeForSession=function(e){return n(this,void 0,void 0,(function(){var t,n,s,o,c,l,h,d,f,v,p,g;return i(this,(function(i){switch(i.label){case 0:return[4,a(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 1:return t=i.sent(),n=(null!=t?t:"").split("/"),s=n[0],o=n[1],[4,N("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"authorization_code",code:e,code_verifier:s})];case 2:if(c=i.sent(),l=b(c),h=l.data,d=l.error,!h)throw new Error("Missing data");return[4,u(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,(g=v.error)||!p)throw g;return f=r(r({},f),{user:p}),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:r(r({},h),{redirectType:null!=o?o:null}),error:d}]}}))}))},s.prototype._handleVisibilityChange=function(){return n(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:if(this._debug("#_handleVisibilityChange()"),!f()||!(null==U?void 0:U.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),[2,!1];r.label=1;case 1:return r.trys.push([1,3,,4]),this.visibilityChangedCallback=function(){return n(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==U||U.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]}}))}))},s.prototype._onVisibilityChanged=function(e){return n(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(s){switch(s.label){case 0:return t="#_onVisibilityChanged(".concat(e,")"),this._debug(t,"visibilityState",O.visibilityState),"visible"!==O.visibilityState?[3,4]:(this.autoRefreshToken&&this._startAutoRefresh(),e?[3,3]:[4,this.initializePromise]);case 1:return s.sent(),[4,this.lock._acquireLock(-1,(function(){return n(r,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"visible"!==O.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:s.sent(),s.label=3;case 3:return[3,5];case 4:"hidden"===O.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh(),s.label=5;case 5:return[2]}}))}))},s.prototype._recoverAndRefresh=function(){return n(this,void 0,void 0,(function(){var e,t,r,n,s,o,u;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,a(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!==(u=t.expires_at)&&void 0!==u?u: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),C(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]}}))}))},s.prototype._removeVisibilityChangedCallback=function(){this._debug("#_removeVisibilityChangedCallback()");var e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&f()&&(null==U?void 0:U.removeEventListener)&&U.removeEventListener("visibilitychange",e)}catch(e){console.error("removing visibilitychange callback failed",e)}},s.prototype.startAutoRefresh=function(){return n(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]}}))}))},s.prototype._startAutoRefresh=function(){return n(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()}),$),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 n(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]}}))}))},s.prototype._stopAutoRefresh=function(){return n(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]}))}))},s.prototype._autoRefreshTokenTick=function(){return n(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 n(t,void 0,void 0,(function(){var e,t,r=this;return i(this,(function(s){switch(s.label){case 0:s.trys.push([0,,5,6]),e=Date.now(),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,this._useSession((function(t){return n(r,void 0,void 0,(function(){var r,n;return i(this,(function(i){switch(i.label){case 0:return(r=t.data.session)&&r.refresh_token&&r.expires_at?(n=Math.floor((1e3*r.expires_at-e)/$),this._debug("#_autoRefreshTokenTick()","access token expires in ".concat(n," ticks, a tick lasts ").concat($,"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:i.sent(),i.label=2;case 2:return[2]}}))}))}))];case 2:return[2,s.sent()];case 3:return t=s.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]}}))}))},s.prototype._detectFlowType=function(){return n(this,void 0,void 0,(function(){var e,t;return i(this,(function(r){return e=J(null==U?void 0:U.location.href),(t=f())&&e.code?[2,"pkce"]:t&&(e.access_token||e.error_description)?[2,"implicit"]:[2,null]}))}))},s.prototype._scope=function(){return this.scope||"openid profile email"},s.prototype._getUrlForConnection=function(e,t){return n(this,void 0,void 0,(function(){var n,s,o,a,u;return i(this,(function(i){switch(i.label){case 0:return n=t.queryParams||{},s={client_id:this.clientId,response_type:t.response_type,redirect_uri:t.redirectTo||this.redirect_uri||(null==U?void 0:U.location.origin),scope:t.scopes||this._scope()},[4,this._detectFlowType()];case 1:return"pkce"!==i.sent()?[3,3]:[4,d(this.storage,this.storageKey)];case 2:o=i.sent(),a=o[0],u=o[1],n=r(r({},n),{code_challenge:a,code_challenge_method:u}),i.label=3;case 3:return t.connection&&(s.connection=t.connection),[2,"".concat(e,"?").concat(new URLSearchParams(r(r({},n),s)))]}}))}))},s.prototype.signInWithOauthConnection=function(e){return n(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()]}}))}))},s.prototype.signInWithUsernamePassword=function(e){return n(this,void 0,void 0,(function(){var t,r,s=this;return i(this,(function(o){switch(o.label){case 0:return t=function(e){return n(s,void 0,void 0,(function(){var t;return i(this,(function(n){return console.log("rawres"),console.log(r),(t=O.createElement("div")).innerHTML=e,O.body.appendChild(t).children[0].submit(),[2]}))}))},[4,N("".concat(this.domainUrl,"/usernamepassword/login"),{username:e.username,password:e.password,redirect_uri:e.redirect_uri||this.redirect_uri||(null==U?void 0:U.location.origin),client_id:this.clientId,state:e.state},{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]}}))}))},s.prototype.changePassword=function(e){return n(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,N("".concat(this.domainUrl,"/dbconnections/change_password"),{email:e.email})];case 1:return t=n.sent(),r=t.data,t.error,[2,r]}}))}))},s.prototype.buildAuthorizeUrl=function(e){void 0===e&&(e={});var t={client_id:this.clientId,redirect_uri:e.redirectTo||this.redirect_uri||(null==U?void 0:U.location.origin),response_type:e.response_type||f()?"code":"token",audience:e.audience,scope:e.scope},r=Object.fromEntries(Object.entries(t).filter((function(e){return e[0],!!e[1]})));return"".concat(this.domainUrl,"/authorize?").concat(new URLSearchParams(r).toString())},s.prototype.authorize=function(e){var t=this.buildAuthorizeUrl(e);H.redirect(t)},s.prototype._handleConnectionSignIn=function(e){return n(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:f()?"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),f()&&!e.skipBrowserRedirect&&(null==U||U.location.assign(t)),[2,{data:{url:t},error:null}]}}))}))},s.prototype.setSession=function(e){return n(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 n(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()]}}))}))},s.prototype.getSession=function(){return n(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 n(e,void 0,void 0,(function(){var e=this;return i(this,(function(t){return[2,this._useSession((function(t){return n(e,void 0,void 0,(function(){return i(this,(function(e){return[2,t]}))}))}))]}))}))}))];case 2:return[2,t.sent()]}}))}))},s.prototype._useSession=function(e){return n(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]}}))}))},s.prototype.__loadSession=function(){return n(this,void 0,void 0,(function(){var e,t,r,n,s,o,u;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,a(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,(u=s.error)?[2,{data:{session:null},error:u}]:[2,{data:{session:o},error:null}];case 7:return this._debug("#__loadSession()","end"),[7];case 8:return[2]}}))}))},s.prototype._removeSession=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return this._debug("#_removeSession()"),[4,u(this.storage,this.storageKey)];case 1:return e.sent(),[2]}}))}))},s.prototype._isValidSession=function(e){return"object"==typeof e&&null!==e&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e},s.prototype._setSession=function(e){return n(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 T;return t=Date.now()/1e3,r=t,n=!0,s=null,(o=w(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)throw h;return s={access_token:e.access_token,refresh_token:e.refresh_token,user:l,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(x(d=i.sent()))return[2,{data:{session:null,user:null},error:d}];throw d;case 8:return[2]}}))}))},s.prototype._saveSession=function(e){return n(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return this._debug("#_saveSession()",e),[4,o(this.storage,this.storageKey,e)];case 1:return t.sent(),[2]}}))}))},s.prototype._getUser=function(e){return n(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,j("".concat(this.domainUrl,"/me"),{token:e})];case 1:return t=r.sent(),this._debug("#_getUser() end"),[2,{data:t.data,error:t.error}]}}))}))},s.prototype._callRefreshToken=function(e){return n(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 T;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 g,[4,this._refreshAccessToken(e)];case 2:if(r=i.sent(),n=r.data,s=r.error)throw s;if(!n.session)throw new T;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),x(o)?(a={session:null,error:o},C(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]}}))}))},s.prototype._refreshAccessToken=function(e){return n(this,void 0,void 0,(function(){var t,s,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]),s=Date.now(),[4,_((function(s){return n(a,void 0,void 0,(function(){var n,o,a,u,c,l;return i(this,(function(i){switch(i.label){case 0:return s>0?[4,y(200*Math.pow(2,s-1))]:[3,2];case 1:i.sent(),i.label=2;case 2:return this._debug(t,"refreshing attempt",s),[4,N("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"refresh_token",refresh_token:e})];case 3:if(n=i.sent(),o=b(n),!(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,a.error)throw new Error("Error requesting user");if(!u)throw new Error("No user found");return[2,{data:{session:r(r({},o.data.session),{user:u}),user:u},error:null}]}}))}))}),(function(e,t){var r=200*Math.pow(2,e);return t&&C(t)&&Date.now()+r-s<$}))];case 2:return[2,u.sent()];case 3:if(o=u.sent(),this._debug(t,"error",o),x(o))return[2,{data:{session:null,user:null},error:o}];throw o;case 4:return this._debug(t,"end"),[7];case 5:return[2]}}))}))},s.prototype._notifyAllSubscribers=function(e,t){return n(this,arguments,void 0,(function(e,t,r){var s,o,a,u,c=this;return void 0===r&&(r=!0),i(this,(function(l){switch(l.label){case 0:s="#_notifyAllSubscribers(".concat(e,")"),this._debug(s,"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 n(c,void 0,void 0,(function(){var n;return i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,r.callback(e,t)];case 1:return i.sent(),[3,3];case 2:return n=i.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(s,"end"),[7];case 4:return[2]}}))}))},s.prototype.signOut=function(){return n(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 n(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()]}}))}))},s.prototype._signOut=function(){return n(this,arguments,void 0,(function(e){var t=this,r=void 0===e?{scope:"global"}:e,s=r.scope;return r.returnTo,i(this,(function(e){switch(e.label){case 0:return[4,this._useSession((function(e){return n(t,void 0,void 0,(function(){var t,r,n,o;return i(this,(function(i){switch(i.label){case 0:return t=e.data,(r=e.error)?[2,{error:r}]:(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((n=i.sent().error)&&(!function(e){return x(e)&&"AuthApiError"===e.name}(n)||404!==n.status&&401!==n.status))return[2,{error:n}];i.label=2;case 2:return"others"===s?[3,6]:[4,this._removeSession()];case 3:return i.sent(),[4,u(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()]}}))}))},s.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)})),s={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,s),n(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 n(e,void 0,void 0,(function(){return i(this,(function(e){return this._emitInitialSession(r),[2]}))}))}))];case 2:return t.sent(),[2]}}))})),{data:{subscription:s}}},s.prototype._emitInitialSession=function(e){return n(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 n(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()]}}))}))},s.prototype.refreshSession=function(e){return n(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 n(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()]}}))}))},s.prototype._refreshSession=function(e){return n(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,this._useSession((function(t){return n(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 T;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,s.sent()];case 2:if(x(t=s.sent()))return[2,{data:{user:null,session:null},error:t}];throw t;case 3:return[2]}}))}))},s}(F),Q=function(){},X=function(e){return new Y(e)};export{m as AuthError,Y as FaableAuthClient,Q as User,X as createClient};
|
|
6
|
+
var e=function(t,r){return e=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])},e(t,r)};function t(t,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=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},r.apply(this,arguments)};function n(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{u(n.next(e))}catch(e){s(e)}}function a(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(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,i,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[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]&&(s=0)),s;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(6===a[0]&&s.label<i[1]){s.label=i[1],i=a;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(a);break}i[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function s(e,t,r){if(r||2===arguments.length)for(var n,i=0,s=t.length;i<s;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var o=function(e,t,r){return n(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]}}))}))},a=function(e,t){return n(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]}}))}))};function u(e){return("0"+e.toString(16)).substr(-2)}function c(e){return n(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 l(e){return n(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,c(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 h(e,t){return n(this,arguments,void 0,(function(e,t,r){var n,s,a;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,u).join("")}(),s=n,r&&(s+="/PASSWORD_RECOVERY"),[4,o(e,"".concat(t,"-code-verifier"),s)];case 1:return i.sent(),[4,l(n)];case 2:return[2,[a=i.sent(),n===a?"plain":"S256"]]}}))}))}var d=function(){return"undefined"!=typeof document},f={tested:!1,writable:!1},v=function(){if(!d())return!1;try{if("object"!=typeof globalThis.localStorage)return!1}catch(e){return!1}if(f.tested)return f.writable;var e="lswt-".concat(Math.random()).concat(Math.random());try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),f.tested=!0,f.writable=!0}catch(e){f.tested=!0,f.writable=!1}return f.writable};function p(e){var t,n,i=e.data,s=null;if(!i)throw new Error("Bad session response");return function(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}(i)&&(s=r({},i),!i.expires_at&&i.expires_in&&(s.expires_at=(n=i.expires_in,Math.round(Date.now()/1e3)+n))),{data:{session:s,user:null!==(t=i.user)&&void 0!==t?t:i},error:null}}var b=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 g(e,t){var r=this;return new Promise((function(s,o){n(r,void 0,void 0,(function(){var r,n,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 n=i.sent(),t(r,null,n)?[3,5]:(s(n),[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 _(e){return n(this,void 0,void 0,(function(){return i(this,(function(t){return[2,new Promise((function(t){setTimeout((function(){return t(null)}),e)}))]}))}))}function y(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,i,s,o,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u="",c=0;for(e=e.replace("-","+").replace("_","/");c<e.length;)t=a.indexOf(e.charAt(c++))<<2|(i=a.indexOf(e.charAt(c++)))>>4,r=(15&i)<<4|(s=a.indexOf(e.charAt(c++)))>>2,n=(3&s)<<6|(o=a.indexOf(e.charAt(c++))),u+=String.fromCharCode(t),64!=s&&0!=r&&(u+=String.fromCharCode(r)),64!=o&&0!=n&&(u+=String.fromCharCode(n));return u}(r))}var w={getItem:function(e){return v()?globalThis.localStorage.getItem(e):null},setItem:function(e,t){v()&&globalThis.localStorage.setItem(e,t)},removeItem:function(e){v()&&globalThis.localStorage.removeItem(e)}},m=function(e){function r(t,r,n){var i=e.call(this,t)||this;return i.__isAuthError=!0,i.name="AuthError",i.status=r,i.code=n,i}return t(r,e),r}(Error),k=function(e){function r(t,r,n,i){var s=e.call(this,t,n,i)||this;return s.name=r,s.status=n,s}return t(r,e),r}(m),S=function(e){function r(){return e.call(this,"Auth session missing!","AuthSessionMissingError",400,void 0)||this}return t(r,e),r}(k);function I(e){return"object"==typeof e&&null!==e&&"__isAuthError"in e}!function(e){function r(t,r,n){var i=e.call(this,t,r,n)||this;return i.name="AuthApiError",i.status=r,i.code=n,i}t(r,e)}(m);var x=function(e){function r(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 t(r,e),r.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},r}(k),T=function(e){function r(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 t(r,e),r.prototype.toJSON=function(){return{name:this.name,message:this.message,status:this.status,details:this.details}},r}(k),A=function(e){function r(t,r){var n=e.call(this,t)||this;return n.name="AuthUnknownError",n.originalError=r,n}return t(r,e),r}(m),E=function(e){function r(){return e.call(this,"Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)||this}return t(r,e),r}(k);function R(e){return I(e)&&"AuthRetryableFetchError"===e.name}!function(e){function r(t,r){return e.call(this,t,"AuthRetryableFetchError",r,void 0)||this}t(r,e)}(k);var C=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,s(["FaableAuth@".concat(r," (").concat("0.0.0",") ").concat((new Date).toISOString())],e,!1))}return this},e}(),U="undefined"!=typeof window?window:void 0,L="undefined"!=typeof globalThis?globalThis:U,P=null==L?void 0:L.document,O=L.fetch,D=function(e){void 0===e&&(e={});var t={};return(null==e?void 0:e.token)&&(t=r(r({},t),{Authorization:"Bearer ".concat(null==e?void 0:e.token)})),r(r({},null==e?void 0:e.headers),t)},N=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return n(void 0,s([e],t,!0),void 0,(function(e,t){var r,n,s;return void 0===t&&(t={}),i(this,(function(i){switch(i.label){case 0:return t.raw?[4,e.text()]:[3,2];case 1:return n=i.sent(),[3,4];case 2:return[4,e.json()];case 3:n=i.sent(),i.label=4;case 4:return r=n,e.status>=300?[2,{data:r,error:t.raw?null===(s=JSON.parse(r))||void 0===s?void 0:s.message:null==r?void 0:r.message}]:[2,{data:r,error:null}]}}))}))},q=function(e,t){for(var o=[],a=2;a<arguments.length;a++)o[a-2]=arguments[a];return n(void 0,s([e,t],o,!0),void 0,(function(e,t,n){var s;return void 0===n&&(n={}),i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,O(e,{method:"POST",body:JSON.stringify(t),headers:r(r({},D(n)),{"Content-Type":"application/json"})})];case 1:return s=i.sent(),[2,N(s,n)];case 2:return[2,{data:null,error:i.sent()}];case 3:return[2]}}))}))},z=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return n(void 0,s([e],t,!0),void 0,(function(e,t){var n;return void 0===t&&(t={}),i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,O(e,r(r({},t),{method:"GET",headers:D(t)}))];case 1:return n=i.sent(),[2,N(n,t)];case 2:return[2,{data:null,error:i.sent()}];case 3:return[2]}}))}))},j=function(e){function r(t,r){var n=e.call(this,r)||this;return n.base_url=t,n}return t(r,e),r.prototype.extraPrint=function(){return"api"},r.prototype.signOut=function(e){return n(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,z(t)];case 1:return r=n.sent(),this._debug(r),r.error?[2,{error:r.error,data:null}]:[2,{error:null,data:null}]}}))}))},r}(C);globalThis&&v()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");var M=function(e){function r(t){var r=e.call(this,t)||this;return r.isAcquireTimeout=!0,r}return t(r,e),r}(Error);function K(e,t,r){return n(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 r(){return null!==e&&e.apply(this,arguments)||this}t(r,e)}(M);var V=function(e){function r(t){void 0===t&&(t={});var n=e.call(this,t)||this;return n.instanceID=r.nextInstanceID,r.nextInstanceID+=1,n}return t(r,e),r.prototype.extraPrint=function(){return this.instanceID.toString()},r.nextInstanceID=0,r}(C),F=function(e){function r(t){var r=e.call(this,{debug:t.debug})||this;return r.lockAcquired=!1,r.pendingInLock=[],r.lock=t.lock||K,r.storageKey=t.storageKey,r}return t(r,e),r.prototype._acquireLock=function(e,t){return n(this,void 0,void 0,(function(){var r,o,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(),o=n(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(n(a,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,o];case 1:case 2:return e.sent(),[3,3];case 3:return[2]}}))}))),[2,o]):[4,this.lock("lock:".concat(this.storageKey),e,(function(){return n(a,void 0,void 0,(function(){var e,r,o=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(n(o,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=s([],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]}}))}))},r}(V);function G(e){void 0===e&&(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 W=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())};function J(){if(!U)throw new Error("No window in environment");return U}var B={redirect:function(e){J().location=e},getDocument:function(){return J().document},getWindow:J},H=3e4,$=function(e){function s(t){var s,o,a=this,u=(null==t?void 0:t.debug)||!1;if((a=e.call(this,{debug:u})||this).initializePromise=null,a.detectSessionInUrl=!0,a.autoRefreshTicker=null,a.visibilityChangedCallback=null,a.refreshingDeferred=null,a.broadcastChannel=null,a.stateChangeEmitters=new Map,a._session=null,a.sessionCheckExpiryDays=1,a.redirect_uri=(null==t?void 0:t.redirect_uri)||"",!(null==t?void 0:t.domain))throw new Error("Missing domain");if(a.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),a.tokenIssuer=(o=a.domainUrl,"".concat(o)),!t.clientId)throw new Error("Missing clientId");a.clientId=t.clientId,a.api=new j(a.domainUrl,{debug:u});var c=(null==t?void 0:t.storageKey)||"faableauth";if(a.storageKey="".concat(c,"-").concat(a.clientId),(null==t?void 0:t.cookieOptions)?a.storage=function(e){void 0===e&&(e={});var t=r({path:"/",sameSite:"Lax",secure:d()&&"https:"===window.location.protocol},e);return{getItem:function(e){if(!d())return null;for(var t=encodeURIComponent(e)+"=",r=decodeURIComponent(document.cookie).split(";"),n=0;n<r.length;n++){for(var i=r[n];" "===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(t))return i.substring(t.length,i.length)}return null},setItem:function(e,r){if(d()){var n="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(r));t.maxAge&&(n+="; Max-Age=".concat(t.maxAge)),t.domain&&(n+="; Domain=".concat(t.domain)),t.path&&(n+="; Path=".concat(t.path)),t.sameSite&&(n+="; SameSite=".concat(t.sameSite)),t.secure&&(n+="; Secure"),document.cookie=n}},removeItem:function(e){if(d()){var r="".concat(encodeURIComponent(e),"=; Max-Age=-99999999;");t.domain&&(r+=" Domain=".concat(t.domain,";")),t.path&&(r+=" Path=".concat(t.path,";")),document.cookie=r}}}}(t.cookieOptions):a.storage=(null==t?void 0:t.storage)||w,a.lock=new F({lock:t.lock,storageKey:a.storageKey,debug:t.debug}),d()&&globalThis.BroadcastChannel&&a.storageKey){try{a.broadcastChannel=new globalThis.BroadcastChannel(a.storageKey)}catch(e){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",e)}null===(s=a.broadcastChannel)||void 0===s||s.addEventListener("message",(function(e){return n(a,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 a.autoRefreshToken=!0,a.initialize(),a}return t(s,e),Object.defineProperty(s.prototype,"session",{get:function(){return this._session},enumerable:!1,configurable:!0}),s.prototype.initialize=function(){return n(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=n(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 n(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]}}))}))},s.prototype._initialize=function(){return n(this,void 0,void 0,(function(){var e,t,r,s,o,a,u,c=this;return i(this,(function(l){switch(l.label){case 0:return l.trys.push([0,8,9,11]),[4,this._detectFlowType()];case 1:return e=l.sent(),this._debug("#_initialize()","begin","flow_type",e),e?[4,this._getSessionFromURL(e)]:[3,6];case 2:return t=l.sent(),r=t.data,(s=t.error)?(this._debug("#_initialize()","error detecting session from URL",s),"Identity is already linked"===(null==s?void 0:s.message)||"Identity is already linked to another user"===(null==s?void 0:s.message)?[2,{error:s}]:[4,this._removeSession()]):[3,4];case 3:return l.sent(),[2,{error:s}];case 4:return o=r.session,a=r.redirectType,this._debug("#_initialize()","detected session in URL",o,"redirect type",a),[4,this._saveSession(o)];case 5:return l.sent(),setTimeout((function(){return n(c,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"recovery"!==a?[3,2]:[4,this._notifyAllSubscribers("PASSWORD_RECOVERY",o)];case 1:return e.sent(),[3,4];case 2:return[4,this._notifyAllSubscribers("SIGNED_IN",o)];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))}),0),[2,{error:null}];case 6:return[4,this._recoverAndRefresh()];case 7:return l.sent(),[2,{error:null}];case 8:return I(u=l.sent())?[2,{error:u}]:[2,{error:new A("Unexpected error during initialization",u)}];case 9:return[4,this._handleVisibilityChange()];case 10:return l.sent(),this._debug("#_initialize()","end"),[7];case 11:return[2]}}))}))},s.prototype._getSessionFromURL=function(e){return n(this,void 0,void 0,(function(){var t,r,n,s,o,a,u,c,l,h,d,f,v,p,b,g,_,y,w;return i(this,(function(i){switch(i.label){case 0:if(i.trys.push([0,4,,5]),t=G(null==U?void 0:U.location.href),"pkce"!=e)return[3,2];if(!t.code)throw new T("No code detected.");return[4,this._exchangeCodeForSession(t.code)];case 1:if(r=i.sent(),n=r.data,s=r.error)throw s;return W(["code"]),[2,{data:{session:n.session,redirectType:null},error:null}];case 2:if(t.error||t.error_description||t.error_code)throw new x(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 x("No session defined in URL");return f=function(e){var t=e.expires_in,r=e.expires_at,n=e.refreshTick,i=Math.round(Date.now()/1e3),s=parseInt(t),o=i+s;r&&(o=parseInt(r));var a=o-i;1e3*a<=n&&console.warn("@supabase/gotrue-js: Session as retrieved from URL expires in ".concat(a,"s, should have been closer to ").concat(s,"s"));var u=o-s;return i-u>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",u,o,i):i-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,i),{expiresIn:s,expiresAt:o}}({expires_in:l,expires_at:h,refreshTick:H}),v=f.expiresAt,p=f.expiresIn,[4,this._getUser(u)];case 3:if(b=i.sent(),g=b.data,(_=b.error)||!g)throw _;return y={provider_token:o,provider_refresh_token:a,access_token:u,expires_in:p,expires_at:v,refresh_token:c,token_type:d,user:g},W(["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(w=i.sent(),this._debug(w),I(w))return[2,{data:{session:null,redirectType:null},error:w}];throw w;case 5:return[2]}}))}))},s.prototype._exchangeCodeForSession=function(e){return n(this,void 0,void 0,(function(){var t,n,s,o,u,c,l,h,d,f,v,b;return i(this,(function(i){switch(i.label){case 0:return[4,a(this.storage,"".concat(this.storageKey,"-code-verifier"))];case 1:return t=i.sent(),n=(null!=t?t:"").split("/"),s=n[0],o=n[1],[4,q("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"authorization_code",code:e,code_verifier:s})];case 2:if(u=i.sent(),c=p(u),l=c.data,h=c.error,!l)throw new Error("Missing data");return[4,this.storage.removeItem("".concat(this.storageKey,"-code-verifier"))];case 3:return i.sent(),h?[2,{data:{user:null,session:null,redirectType:null},error:h}]:l&&l.session&&l.user?(d=l.session)?[4,this._getUser(d.access_token)]:[3,7]:[2,{data:{user:null,session:null,redirectType:null},error:new E}];case 4:if(f=i.sent(),v=f.data,(b=f.error)||!v)throw b;return d=r(r({},d),{user:v}),l.session=d,[4,this._saveSession(d)];case 5:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_IN",d)];case 6:i.sent(),i.label=7;case 7:return[2,{data:r(r({},l),{redirectType:null!=o?o:null}),error:h}]}}))}))},s.prototype._handleVisibilityChange=function(){return n(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(r){switch(r.label){case 0:if(this._debug("#_handleVisibilityChange()"),!d()||!(null==U?void 0:U.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),[2,!1];r.label=1;case 1:return r.trys.push([1,3,,4]),this.visibilityChangedCallback=function(){return n(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==U||U.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]}}))}))},s.prototype._onVisibilityChanged=function(e){return n(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(s){switch(s.label){case 0:return t="#_onVisibilityChanged(".concat(e,")"),this._debug(t,"visibilityState",P.visibilityState),"visible"!==P.visibilityState?[3,4]:(this.autoRefreshToken&&this._startAutoRefresh(),e?[3,3]:[4,this.initializePromise]);case 1:return s.sent(),[4,this.lock._acquireLock(-1,(function(){return n(r,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return"visible"!==P.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:s.sent(),s.label=3;case 3:return[3,5];case 4:"hidden"===P.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh(),s.label=5;case 5:return[2]}}))}))},s.prototype._recoverAndRefresh=function(){return n(this,void 0,void 0,(function(){var e,t,r,n,s,o,u;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,a(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!==(u=t.expires_at)&&void 0!==u?u: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),R(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 this._session=t,[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]}}))}))},s.prototype._removeVisibilityChangedCallback=function(){this._debug("#_removeVisibilityChangedCallback()");var e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&d()&&(null==U?void 0:U.removeEventListener)&&U.removeEventListener("visibilitychange",e)}catch(e){console.error("removing visibilitychange callback failed",e)}},s.prototype.startAutoRefresh=function(){return n(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]}}))}))},s.prototype._startAutoRefresh=function(){return n(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()}),H),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 n(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]}}))}))},s.prototype._stopAutoRefresh=function(){return n(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]}))}))},s.prototype._autoRefreshTokenTick=function(){return n(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 n(t,void 0,void 0,(function(){var e,t,r=this;return i(this,(function(s){switch(s.label){case 0:s.trys.push([0,,5,6]),e=Date.now(),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,this._useSession((function(t){return n(r,void 0,void 0,(function(){var r,n;return i(this,(function(i){switch(i.label){case 0:return(r=t.data.session)&&r.refresh_token&&r.expires_at?(n=Math.floor((1e3*r.expires_at-e)/H),this._debug("#_autoRefreshTokenTick()","access token expires in ".concat(n," ticks, a tick lasts ").concat(H,"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:i.sent(),i.label=2;case 2:return[2]}}))}))}))];case 2:return[2,s.sent()];case 3:return t=s.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]}}))}))},s.prototype._detectFlowType=function(){return n(this,void 0,void 0,(function(){var e,t;return i(this,(function(r){return e=G(null==U?void 0:U.location.href),(t=d())&&e.code?[2,"pkce"]:t&&(e.access_token||e.error_description)?[2,"implicit"]:[2,null]}))}))},s.prototype._scope=function(){return this.scope||"openid profile email"},s.prototype._getUrlForConnection=function(e,t){return n(this,void 0,void 0,(function(){var n,s,o,a,u;return i(this,(function(i){switch(i.label){case 0:return n=t.queryParams||{},s={client_id:this.clientId,response_type:t.response_type,redirect_uri:t.redirectTo||this.redirect_uri||(null==U?void 0:U.location.origin),scope:t.scopes||this._scope()},[4,this._detectFlowType()];case 1:return"pkce"!==i.sent()?[3,3]:[4,h(this.storage,this.storageKey)];case 2:o=i.sent(),a=o[0],u=o[1],n=r(r({},n),{code_challenge:a,code_challenge_method:u}),i.label=3;case 3:return t.connection&&(s.connection=t.connection),[2,"".concat(e,"?").concat(new URLSearchParams(r(r({},n),s)))]}}))}))},s.prototype.signInWithOauthConnection=function(e){return n(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()]}}))}))},s.prototype.signInWithUsernamePassword=function(e){return n(this,void 0,void 0,(function(){var t,r,s=this;return i(this,(function(o){switch(o.label){case 0:return t=function(e){return n(s,void 0,void 0,(function(){var t;return i(this,(function(n){return console.log("rawres"),console.log(r),(t=P.createElement("div")).innerHTML=e,P.body.appendChild(t).children[0].submit(),[2]}))}))},[4,q("".concat(this.domainUrl,"/usernamepassword/login"),{username:e.username,password:e.password,redirect_uri:e.redirect_uri||this.redirect_uri||(null==U?void 0:U.location.origin),client_id:this.clientId,state:e.state},{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]}}))}))},s.prototype.signInWithOtp=function(e){return n(this,void 0,void 0,(function(){var t,r,n,s,o;return i(this,(function(i){switch(i.label){case 0:return[4,q("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"http://auth0.com/oauth/grant-type/passwordless/otp",username:e.username,otp:e.otp})];case 1:return t=i.sent(),r=p(t),n=r.data,(s=r.error)?[2,{data:{user:null,session:null},error:s}]:n&&n.session&&n.user?(o=n.session,[4,this._saveSession(o)]):[2,{data:{user:null,session:null},error:new E}];case 2:return i.sent(),[4,this._notifyAllSubscribers("SIGNED_IN",o)];case 3:return i.sent(),[2,{data:{user:o.user,session:o},error:null}]}}))}))},s.prototype.signInWithPasswordless=function(e){return n(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return[4,q("".concat(this.domainUrl,"/passwordless/start"),{client_id:this.clientId,email:e.email,send:e.type})];case 1:return[2,{data:(t=r.sent()).data,error:t.error}]}}))}))},s.prototype.changePassword=function(e){return n(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,q("".concat(this.domainUrl,"/dbconnections/change_password"),{email:e.email})];case 1:return t=n.sent(),r=t.data,t.error,[2,r]}}))}))},s.prototype.buildAuthorizeUrl=function(e){void 0===e&&(e={});var t={client_id:this.clientId,redirect_uri:e.redirectTo||this.redirect_uri||(null==U?void 0:U.location.origin),response_type:e.response_type||d()?"code":"token",audience:e.audience,scope:e.scope,connection:e.connection},r=Object.fromEntries(Object.entries(t).filter((function(e){return e[0],!!e[1]})));return"".concat(this.domainUrl,"/authorize?").concat(new URLSearchParams(r).toString())},s.prototype.authorize=function(e){var t=this.buildAuthorizeUrl(e);B.redirect(t)},s.prototype._handleConnectionSignIn=function(e){return n(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:d()?"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),d()&&!e.skipBrowserRedirect&&(null==U||U.location.assign(t)),[2,{data:{url:t},error:null}]}}))}))},s.prototype.setSession=function(e){return n(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 n(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()]}}))}))},s.prototype.getSession=function(){return n(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 n(e,void 0,void 0,(function(){var e=this;return i(this,(function(t){return[2,this._useSession((function(t){return n(e,void 0,void 0,(function(){return i(this,(function(e){return[2,t]}))}))}))]}))}))}))];case 2:return[2,t.sent()]}}))}))},s.prototype._useSession=function(e){return n(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]}}))}))},s.prototype.__loadSession=function(){return n(this,void 0,void 0,(function(){var e,t,r,n,s,o,u;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,a(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,(u=s.error)?[2,{data:{session:null},error:u}]:[2,{data:{session:o},error:null}];case 7:return this._debug("#__loadSession()","end"),[7];case 8:return[2]}}))}))},s.prototype._removeSession=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){switch(e.label){case 0:return this._debug("#_removeSession()"),this._session=null,[4,this.storage.removeItem(this.storageKey)];case 1:return e.sent(),[2]}}))}))},s.prototype._isValidSession=function(e){return"object"==typeof e&&null!==e&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e},s.prototype._setSession=function(e){return n(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 S;return t=Date.now()/1e3,r=t,n=!0,s=null,(o=y(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)throw h;return s={access_token:e.access_token,refresh_token:e.refresh_token,user:l,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]}}))}))},s.prototype._saveSession=function(e){return n(this,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return this._debug("#_saveSession()",e),this._session=e,[4,o(this.storage,this.storageKey,e)];case 1:return t.sent(),[2]}}))}))},s.prototype._getUser=function(e){return n(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,z("".concat(this.domainUrl,"/me"),{token:e})];case 1:return t=r.sent(),this._debug("#_getUser() end"),[2,{data:t.data,error:t.error}]}}))}))},s.prototype._callRefreshToken=function(e){return n(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 S;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 b,[4,this._refreshAccessToken(e)];case 2:if(r=i.sent(),n=r.data,s=r.error)throw s;if(!n.session)throw new S;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},R(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]}}))}))},s.prototype._refreshAccessToken=function(e){return n(this,void 0,void 0,(function(){var t,s,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]),s=Date.now(),[4,g((function(s){return n(a,void 0,void 0,(function(){var n,o,a,u,c,l;return i(this,(function(i){switch(i.label){case 0:return s>0?[4,_(200*Math.pow(2,s-1))]:[3,2];case 1:i.sent(),i.label=2;case 2:return this._debug(t,"refreshing attempt",s),[4,q("".concat(this.domainUrl,"/oauth/token"),{client_id:this.clientId,grant_type:"refresh_token",refresh_token:e})];case 3:if(n=i.sent(),o=p(n),!(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,a.error)throw new Error("Error requesting user");if(!u)throw new Error("No user found");return[2,{data:{session:r(r({},o.data.session),{user:u}),user:u},error:null}]}}))}))}),(function(e,t){var r=200*Math.pow(2,e);return t&&R(t)&&Date.now()+r-s<H}))];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]}}))}))},s.prototype._notifyAllSubscribers=function(e,t){return n(this,arguments,void 0,(function(e,t,r){var s,o,a,u,c=this;return void 0===r&&(r=!0),i(this,(function(l){switch(l.label){case 0:s="#_notifyAllSubscribers(".concat(e,")"),this._debug(s,"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 n(c,void 0,void 0,(function(){var n;return i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,r.callback(e,t)];case 1:return i.sent(),[3,3];case 2:return n=i.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(s,"end"),[7];case 4:return[2]}}))}))},s.prototype.signOut=function(){return n(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 n(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()]}}))}))},s.prototype._signOut=function(){return n(this,arguments,void 0,(function(e){var t=this,r=void 0===e?{scope:"global"}:e,s=r.scope;return r.returnTo,i(this,(function(e){switch(e.label){case 0:return[4,this._useSession((function(e){return n(t,void 0,void 0,(function(){var t,r,n,o;return i(this,(function(i){switch(i.label){case 0:return t=e.data,(r=e.error)?[2,{error:r}]:(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((n=i.sent().error)&&(!function(e){return I(e)&&"AuthApiError"===e.name}(n)||404!==n.status&&401!==n.status))return[2,{error:n}];i.label=2;case 2:return"others"===s?[3,6]:[4,this._removeSession()];case 3:return i.sent(),[4,this.storage.removeItem("".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()]}}))}))},s.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)})),s={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,s),n(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 n(e,void 0,void 0,(function(){return i(this,(function(e){return this._emitInitialSession(r),[2]}))}))}))];case 2:return t.sent(),[2]}}))})),{data:{subscription:s}}},s.prototype._emitInitialSession=function(e){return n(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 n(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()]}}))}))},s.prototype.refreshSession=function(e){return n(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 n(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()]}}))}))},s.prototype._refreshSession=function(e){return n(this,void 0,void 0,(function(){var t,r=this;return i(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,this._useSession((function(t){return n(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 S;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,s.sent()];case 2:if(I(t=s.sent()))return[2,{data:{user:null,session:null},error:t}];throw t;case 3:return[2]}}))}))},s}(V),Y=function(){},Q=function(e){return new $(e)};export{m as AuthError,$ as FaableAuthClient,Y as User,Q as createClient};
|
|
7
7
|
//# sourceMappingURL=main.js.map
|