var N=Object.create;var q=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var E=r=>{throw TypeError(r)};var H=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var J=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $(e))!G.call(r,i)&&i!==t&&q(r,i,{get:()=>e[i],enumerable:!(n=Z(e,i))||n.enumerable});return r};var K=(r,e,t)=>(t=r!=null?N(B(r)):{},J(e||!r||!r.__esModule?q(t,"default",{value:r,enumerable:!0}):t,r));var W=(r,e,t)=>e.has(r)||E("Cannot "+t);var s=(r,e,t)=>(W(r,e,"read from private field"),t?t.call(r):e.get(r)),x=(r,e,t)=>e.has(r)?E("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),f=(r,e,t,n)=>(W(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t);var z=H((v,U)=>{(function(r,e){typeof v=="object"&&typeof U<"u"?U.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis<"u"?globalThis:r||self,r.fetchRetry=e())})(v,function(){"use strict";var r=function(n,i){if(i=i||{},typeof n!="function")throw new t("fetch must be a function");if(typeof i!="object")throw new t("defaults must be an object");if(i.retries!==void 0&&!e(i.retries))throw new t("retries must be a positive integer");if(i.retryDelay!==void 0&&!e(i.retryDelay)&&typeof i.retryDelay!="function")throw new t("retryDelay must be a positive integer or a function returning a positive integer");if(i.retryOn!==void 0&&!Array.isArray(i.retryOn)&&typeof i.retryOn!="function")throw new t("retryOn property expects an array or function");var M={retries:3,retryDelay:1e3,retryOn:[]};return i=Object.assign(M,i),function(A,c){var _=i.retries,l=i.retryDelay,d=i.retryOn;if(c&&c.retries!==void 0)if(e(c.retries))_=c.retries;else throw new t("retries must be a positive integer");if(c&&c.retryDelay!==void 0)if(e(c.retryDelay)||typeof c.retryDelay=="function")l=c.retryDelay;else throw new t("retryDelay must be a positive integer or a function returning a positive integer");if(c&&c.retryOn)if(Array.isArray(c.retryOn)||typeof c.retryOn=="function")d=c.retryOn;else throw new t("retryOn property expects an array or function");return new Promise(function(b,w){var L=function(h){var P=typeof Request<"u"&&A instanceof Request?A.clone():A;n(P,c).then(function(a){if(Array.isArray(d)&&d.indexOf(a.status)===-1)b(a);else if(typeof d=="function")try{return Promise.resolve(d(h,null,a)).then(function(u){u?p(h,null,a):b(a)}).catch(w)}catch(u){w(u)}else h<_?p(h,null,a):b(a)}).catch(function(a){if(typeof d=="function")try{Promise.resolve(d(h,a,null)).then(function(u){u?p(h,a,null):w(a)}).catch(function(u){w(u)})}catch(u){w(u)}else h<_?p(h,a,null):w(a)})};function p(h,P,a){var u=typeof l=="function"?l(h,P,a):l;setTimeout(function(){L(++h)},u)}L(0)})}};function e(n){return Number.isInteger(n)&&n>=0}function t(n){this.name="ArgumentError",this.message=n}return r})});var j=K(z()),k=(0,j.default)(globalThis.fetch,{retries:10,retryDelay:r=>r*1e3}),T=location.origin+location.pathname,O=new URL("/oauth2/token",import.meta.url);function I(r){return r.obtainment_timestamp=Date.now(),r}function C(r){let e=new URLSearchParams({client_id:r,grant_type:"client_credentials"});return k(O,{method:"POST",body:e.toString(),headers:{"content-type":"application/x-www-form-urlencoded"}}).then(async function(t){if(!t.ok)throw new Error(await t.text());let n=await t.json();return I(n)})}function Q(r,...e){console.debug("requesting authorization code");let t=new URL("https://id.twitch.tv/oauth2/authorize");return t.searchParams.append("response_type","code"),t.searchParams.append("client_id",r),t.searchParams.append("scope",e.join(" ").trim()),location.assign(t+"&redirect_uri="+T),new Promise(()=>{})}function V(r,e){console.debug("exchanging authorization code");let t=new URLSearchParams({client_id:r,code:e,grant_type:"authorization_code"});return k(O,{method:"POST",body:t.toString()+"&redirect_uri="+T,headers:{"content-type":"application/x-www-form-urlencoded"}}).then(async function(n){if(!n.ok)throw new Error(await n.text());let i=await n.json();return I(i)})}async function D(r){return console.debug("validating token"),k("https://id.twitch.tv/oauth2/validate",{headers:{authorization:"OAuth "+r}}).then(async e=>{if(!e.ok)throw new Error(await e.text());let t=await e.json();return t.access_token=r,t.scope=t.scopes,delete t.scopes,t.token_type="bearer",I(t)})}function m(r,e){console.debug("refreshing token");let t=new URLSearchParams({client_id:r,grant_type:"refresh_token",refresh_token:e});return k(O,{method:"POST",body:t.toString(),headers:{"content-type":"application/x-www-form-urlencoded"}}).then(async function(n){if(!n.ok)throw new Error(await n.text());return await n.json()})}async function F(r,...e){let t=await R(r,...e);return t||Q(r,...e)}async function R(r,...e){console.debug("scopes requested:",...e);let t=new URLSearchParams(location.search+"&"+location.hash.substring(1));if(t.has("code")){let n=t.get("code");return history.replaceState(null,"",T),V(r,n)}if(t.has("refresh_token"))return m(r,t.get("refresh_token"));if(t.has("access_token"))return D(t.get("access_token"));if(t.has("error")){let n=t.get("error")+": "+t.get("error_description");throw history.replaceState(null,"",T),new Error(n)}return null}function g(r){return new Proxy(r,{get(e,t,n){return e[t.toString().replace(/[A-Z]/g,i=>`_${i.toLowerCase()}`)]}})}function Y(r,...e){if(!r)return!1;if(!e)return!0;for(let t of e)if(!r.scope.includes(t))return!1;return!0}var o,y,S=class{constructor(e){x(this,o);x(this,y,e=>(f(this,o,e),e));this.clientId=e}async addUser(...e){return f(this,o,await F(this.clientId,...e).then(g).then(s(this,y))),s(this,o)}async addUserForToken(e){return e.refresh_token?(f(this,o,await m(this.clientId,e.refresh_token).then(g).then(s(this,y))),s(this,o)):(f(this,o,await D(e.access_token).then(g).then(s(this,y))),s(this,o))}removeUser(){f(this,o,null)}async getAccessTokenForUser(e,...t){if(!t[0]&&s(this,o))return s(this,o);for(let n of t)if(Y(s(this,o),...n))return s(this,o);return f(this,o,await R(this.clientId,...t[0]||[]).then(g).then(s(this,y))),s(this,o)}async getAnyAccessToken(e){return s(this,o)||C(this.clientId).then(g)}getCurrentScopesForUser(e){return!s(this,o)||s(this,o)instanceof Promise?[]:s(this,o).scope}async refreshAccessTokenForUser(e){return f(this,o,await m(this.clientId,s(this,o).refresh_token).then(s(this,y))),s(this,o)}};o=new WeakMap,y=new WeakMap;export{S as default}; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vbm9kZV9tb2R1bGVzL2ZldGNoLXJldHJ5L2Rpc3QvZmV0Y2gtcmV0cnkudW1kLmpzIiwgIlR3aXRjaEF1dGgudHMiLCAiU3Vnb2lBdXRoUHJvdmlkZXIudHMiXSwKICAibWFwcGluZ3MiOiAibzFCQUFBLElBQUFBLEVBQUFDLEVBQUEsQ0FBQUMsRUFBQUMsSUFBQSxFQUFDLFNBQVVDLEVBQVFDLEVBQVMsQ0FDMUIsT0FBT0gsR0FBWSxVQUFZLE9BQU9DLEVBQVcsSUFBY0EsRUFBTyxRQUFVRSxFQUFRLEVBQ3hGLE9BQU8sUUFBVyxZQUFjLE9BQU8sSUFBTSxPQUFPQSxDQUFPLEdBQzFERCxFQUFTLE9BQU8sV0FBZSxJQUFjLFdBQWFBLEdBQVUsS0FBTUEsRUFBTyxXQUFhQyxFQUFRLEVBQ3pHLEdBQUdILEVBQU8sVUFBWSxDQUFFLGFBRXRCLElBQUlJLEVBQWEsU0FBVUMsRUFBT0MsRUFBVSxDQUUxQyxHQURBQSxFQUFXQSxHQUFZLENBQUMsRUFDcEIsT0FBT0QsR0FBVSxXQUNuQixNQUFNLElBQUlFLEVBQWMsMEJBQTBCLEVBR3BELEdBQUksT0FBT0QsR0FBYSxTQUN0QixNQUFNLElBQUlDLEVBQWMsNEJBQTRCLEVBR3RELEdBQUlELEVBQVMsVUFBWSxRQUFhLENBQUNFLEVBQWtCRixFQUFTLE9BQU8sRUFDdkUsTUFBTSxJQUFJQyxFQUFjLG9DQUFvQyxFQUc5RCxHQUFJRCxFQUFTLGFBQWUsUUFBYSxDQUFDRSxFQUFrQkYsRUFBUyxVQUFVLEdBQUssT0FBT0EsRUFBUyxZQUFlLFdBQ2pILE1BQU0sSUFBSUMsRUFBYyxrRkFBa0YsRUFHNUcsR0FBSUQsRUFBUyxVQUFZLFFBQWEsQ0FBQyxNQUFNLFFBQVFBLEVBQVMsT0FBTyxHQUFLLE9BQU9BLEVBQVMsU0FBWSxXQUNwRyxNQUFNLElBQUlDLEVBQWMsK0NBQStDLEVBR3pFLElBQUlFLEVBQWUsQ0FDakIsUUFBUyxFQUNULFdBQVksSUFDWixRQUFTLENBQUMsQ0FDWixFQUVBLE9BQUFI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Q2pCLEdBQUlkLEVBQVVVLEVBQUEsS0FBS1AsR0FBUSxHQUFHRixDQUFNLEVBQ2hDLE9BQU9TLEVBQUEsS0FBS1AsR0FHcEIsT0FBQUssRUFBQSxLQUFLTCxFQUFTLE1BQWlCWSxFQUFvQixLQUFLLFNBQVUsR0FBSUQsRUFBVSxDQUFDLEdBQUssQ0FBQyxDQUFFLEVBQUUsS0FBS3BCLENBQWUsRUFBRSxLQUFLZ0IsRUFBQSxLQUFLTixFQUFTLEdBQzdITSxFQUFBLEtBQUtQLEVBQ2hCLENBRUEsTUFBTSxrQkFBa0JVLEVBQXVCLENBQzNDLE9BQU9ILEVBQUEsS0FBS1AsSUFBcUJhLEVBQVksS0FBSyxRQUFRLEVBQUUsS0FBS3RCLENBQWUsQ0FDcEYsQ0FFQSx3QkFBd0JtQixFQUF1QixDQUMzQyxNQUFJLENBQUNILEVBQUEsS0FBS1AsSUFBVU8sRUFBQSxLQUFLUCxhQUFrQixRQUNoQyxDQUFDLEVBRUxPLEVBQUEsS0FBS1AsR0FBTyxLQUN2QixDQUVBLE1BQU0sMEJBQTBCVSxFQUF1QixDQUNuRCxPQUFBTCxFQUFBLEtBQUtMLEVBQVMsTUFBaUJRLEVBQWEsS0FBSyxTQUFVRCxFQUFBLEtBQUtQLEdBQU8sYUFBYSxFQUFFLEtBQUtPLEVBQUEsS0FBS04sRUFBUyxHQUNsR00sRUFBQSxLQUFLUCxFQUNoQixDQUNKLEVBMURJQSxFQUFBLFlBT0FDLEVBQUEiLAogICJuYW1lcyI6IFsicmVxdWlyZV9mZXRjaF9yZXRyeV91bWQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJnbG9iYWwiLCAiZmFjdG9yeSIsICJmZXRjaFJldHJ5IiwgImZldGNoIiwgImRlZmF1bHRzIiwgIkFyZ3VtZW50RXJyb3IiLCAiaXNQb3NpdGl2ZUludGVnZXIiLCAiYmFzZURlZmF1bHRzIiwgImlucHV0IiwgImluaXQiLCAicmV0cmllcyIsICJyZXRyeURlbGF5IiwgInJldHJ5T24iLCAicmVzb2x2ZSIsICJyZWplY3QiLCAid3JhcHBlZEZldGNoIiwgImF0dGVtcHQiLCAiX2lucHV0IiwgInJlc3BvbnNlIiwgInJldHJ5T25SZXNwb25zZSIsICJyZXRyeSIsICJlcnJvciIsICJkZWxheSIsICJ2YWx1ZSIsICJtZXNzYWdlIiwgImltcG9ydF9mZXRjaF9yZXRyeSIsICJmZXRjaCIsICJmZXRjaF9yZXRyeSIsICJhdHRlbXB0cyIsICJyZWRpcmVjdF91cmkiLCAicHJveHlfdXJpIiwgInN0YW1wIiwgInRva2VuIiwgImdldEFwcFRva2VuIiwgImNsaWVudF9pZCIsICJzZWFyY2hQYXJhbXMiLCAicmVzcG9uc2UiLCAicmVxdWVzdEF1dGhDb2RlIiwgImNsaWVudF9pZCIsICJzY29wZXMiLCAidXJsIiwgInJlZGlyZWN0X3VyaSIsICJleGNoYW5nZUNvZGUiLCAiY29kZSIsICJzZWFyY2hQYXJhbXMiLCAiZmV0Y2giLCAicHJveHlfdXJpIiwgInJlc3BvbnNlIiwgInRva2VuIiwgInN0YW1wIiwgInZhbGlkYXRlVG9rZW4iLCAiYWNjZXNzX3Rva2VuIiwgInJlZnJlc2hUb2tlbiIsICJyZWZyZXNoX3Rva2VuIiwgImdldFVzZXJUb2tlbiIsICJnZXRVc2VyVG9rZW5QYXNzaXZlIiwgInBhcmFtcyIsICJlcnJvcl9tZXNzYWdlIiwgImdldFR3dXJwbGVQcm94eSIsICJ0b2tlbiIsICJ0YXJnZXQiLCAibmFtZSIsICJyZWNlaXZlciIsICJsZXR0ZXIiLCAiaGFzU2NvcGVzIiwgInNjb3BlcyIsICJzY29wZSIsICJfdG9rZW4iLCAiX3NldFRva2VuIiwgIlN1Z29pQXV0aFByb3ZpZGVyIiwgImNsaWVudF9pZCIsICJfX3ByaXZhdGVBZGQiLCAiX19wcml2YXRlU2V0IiwgImdldFVzZXJUb2tlbiIsICJfX3ByaXZhdGVHZXQiLCAicmVmcmVzaFRva2VuIiwgInZhbGlkYXRlVG9rZW4iLCAidXNlciIsICJzY29wZVNldHMiLCAiZ2V0VXNlclRva2VuUGFzc2l2ZSIsICJnZXRBcHBUb2tlbiJdCn0K