switch to dedicated source maps

This commit is contained in:
2025-10-25 07:39:28 -07:00
parent db9828a518
commit ee9eb17898
14 changed files with 33 additions and 5 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,3 +1,3 @@
var d=i=>{throw TypeError(i)};var o=(i,t,h)=>t.has(i)||d("Cannot "+h);var n=(i,t,h)=>(o(i,t,"read from private field"),h?h.call(i):t.get(i)),c=(i,t,h)=>t.has(i)?d("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,h),u=(i,t,h,e)=>(o(i,t,"write to private field"),e?e.call(i,h):t.set(i,h),h);var l,r,a,s,w=class{constructor(t,h=(e,f)=>globalThis.fetch(e,f)){c(this,l,new URL(import.meta.url).origin);c(this,r,null);c(this,a,null);c(this,s,null);u(this,s,h),u(this,r,t),t.getAccessTokenForUser(void 0).then(e=>caches.open(e.userId+"/"+t.clientId)).then(e=>u(this,a,e))}async fetch(t,h={}){if(t=new URL(t,n(this,l)),t.origin==n(this,l)){let e=await n(this,r).getAccessTokenForUser(void 0);h.headers||(h.headers={}),h.headers.authorization="OAuth "+e.accessToken}if("method"in h)switch(h.method){case"PUT":case"POST":{let e=await n(this,s).call(this,t,h);if(!e.ok)return e;let f=await new Request(t,h).blob();return n(this,a).put(t,new Response(f)),e}case"DELETE":{let e=await n(this,s).call(this,t,h);return e.ok&&n(this,a).delete(t),e}}return n(this,s).call(this,t,h).then(async e=>{if(e.status>=500)throw new Error(e.statusText+` var d=i=>{throw TypeError(i)};var o=(i,t,h)=>t.has(i)||d("Cannot "+h);var n=(i,t,h)=>(o(i,t,"read from private field"),h?h.call(i):t.get(i)),c=(i,t,h)=>t.has(i)?d("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,h),u=(i,t,h,e)=>(o(i,t,"write to private field"),e?e.call(i,h):t.set(i,h),h);var l,r,a,s,w=class{constructor(t,h=(e,f)=>globalThis.fetch(e,f)){c(this,l,new URL(import.meta.url).origin);c(this,r,null);c(this,a,null);c(this,s,null);u(this,s,h),u(this,r,t),t.getAccessTokenForUser(void 0).then(e=>caches.open(e.userId+"/"+t.clientId)).then(e=>u(this,a,e))}async fetch(t,h={}){if(t=new URL(t,n(this,l)),t.origin==n(this,l)){let e=await n(this,r).getAccessTokenForUser(void 0);h.headers||(h.headers={}),h.headers.authorization="OAuth "+e.accessToken}if("method"in h)switch(h.method){case"PUT":case"POST":{let e=await n(this,s).call(this,t,h);if(!e.ok)return e;let f=await new Request(t,h).blob();return n(this,a).put(t,new Response(f)),e}case"DELETE":{let e=await n(this,s).call(this,t,h);return e.ok&&n(this,a).delete(t),e}}return n(this,s).call(this,t,h).then(async e=>{if(e.status>=500)throw new Error(e.statusText+`
`+await e.text());return n(this,a).put(t,e.clone()),e}).catch(e=>(console.warn(e),n(this,a).match(t)))}};l=new WeakMap,r=new WeakMap,a=new WeakMap,s=new WeakMap;export{w as default}; `+await e.text());return n(this,a).put(t,e.clone()),e}).catch(e=>(console.warn(e),n(this,a).match(t)))}};l=new WeakMap,r=new WeakMap,a=new WeakMap,s=new WeakMap;export{w as default};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiV2ViU3RvcmFnZS50cyJdLAogICJtYXBwaW5ncyI6ICIyVUFBQSxJQUFBQSxFQUFBQyxFQUFBQyxFQUFBQyxFQU9xQkMsRUFBckIsS0FBZ0MsQ0FlNUIsWUFBWUMsRUFBcURDLEVBQWlDLENBQUNDLEVBQVNDLElBQWtCLFdBQVcsTUFBTUQsRUFBU0MsQ0FBTyxFQUFJLENBYm5LQyxFQUFBLEtBQUFULEVBQVUsSUFBSSxJQUFJLFlBQVksR0FBRyxFQUFFLFFBQ25DUyxFQUFBLEtBQUFSLEVBQXVELE1BQ3ZEUSxFQUFBLEtBQUFQLEVBQWdCLE1BQ2hCTyxFQUFBLEtBQUFOLEVBQWtDLE1BVzlCTyxFQUFBLEtBQUtQLEVBQVNHLEdBQ2RJLEVBQUEsS0FBS1QsRUFBaUJJLEdBQ3RCQSxFQUFjLHNCQUFzQixNQUFTLEVBQ3hDLEtBQUtNLEdBQVMsT0FBTyxLQUFLQSxFQUFNLE9BQVMsSUFBTU4sRUFBYyxRQUFRLENBQUMsRUFDdEUsS0FBS08sR0FBU0YsRUFBQSxLQUFLUixFQUFTVSxFQUFLLENBQzFDLENBT0EsTUFBTSxNQUFNTCxFQUF3QkMsRUFBcUIsQ0FBQyxFQUFHLENBRXpELEdBREFELEVBQVcsSUFBSSxJQUFJQSxFQUFVTSxFQUFBLEtBQUtiLEVBQU8sRUFDckNPLEVBQVMsUUFBVU0sRUFBQSxLQUFLYixHQUFTLENBQ2pDLElBQU1XLEVBQVEsTUFBTUUsRUFBQSxLQUFLWixHQUFlLHNCQUFzQixNQUFTLEVBQ2xFTyxFQUFRLFVBQ1RBLEVBQVEsUUFBVSxDQUFDLEdBRXZCQSxFQUFRLFFBQVEsY0FBbUIsU0FBV0csRUFBTSxXQUN4RCxDQUNBLEdBQUksV0FBWUgsRUFDWixPQUFRQSxFQUFRLE9BQVEsQ0FDcEIsSUFBSyxNQUNMLElBQUssT0FBUSxDQUNULElBQU1NLEVBQVcsTUFBTUQsRUFBQSxLQUFLVixHQUFMLFVBQVlJLEVBQVVDLEdBQzdDLEdBQUksQ0FBQ00sRUFBUyxHQUNWLE9BQU9BLEVBRVgsSUFBTUMsRUFBTyxNQUFNLElBQUksUUFBUVIsRUFBVUMsQ0FBTyxFQUFFLEtBQUssRUFDdkQsT0FBQUssRUFBQSxLQUFLWCxHQUFPLElBQUlLLEVBQVUsSUFBSSxTQUFTUSxDQUFJLENBQUMsRUFDckNELENBQ1gsQ0FDQSxJQUFLLFNBQVUsQ0FDWCxJQUFNQSxFQUFXLE1BQU1ELEVBQUEsS0FBS1YsR0FBTCxVQUFZSSxFQUFVQyxHQUM3QyxPQUFLTSxFQUFTLElBR2RELEVBQUEsS0FBS1gsR0FBTyxPQUFPSyxDQUFRLEVBQ3BCTyxDQUNYLENBQ0osQ0FFSixPQUFPRCxFQUFBLEtBQUtWLEdBQUwsVUFBWUksRUFBVUMsR0FDeEIsS0FBSyxNQUFNTSxHQUFZLENBQ3BCLEdBQUlBLEVBQVMsUUFBVSxJQUNuQixNQUFNLElBQUksTUFBTUEsRUFBUyxXQUFhO0FBQUEsRUFBTyxNQUFNQSxFQUFTLEtBQUssQ0FBQyxFQUV0RSxPQUFBRCxFQUFBLEtBQUtYLEdBQU8sSUFBSUssRUFBVU8sRUFBUyxNQUFNLENBQUMsRUFDbkNBLENBQ1gsQ0FBQyxFQUFFLE1BQU1FLElBQ0wsUUFBUSxLQUFLQSxDQUFLLEVBQ1hILEVBQUEsS0FBS1gsR0FBTyxNQUFNSyxDQUFRLEVBRXpDLENBQ0osQ0FDSixFQXRFSVAsRUFBQSxZQUNBQyxFQUFBLFlBQ0FDLEVBQUEsWUFDQUMsRUFBQSIsCiAgIm5hbWVzIjogWyJfb3JpZ2luIiwgIl9hdXRoX3Byb3ZpZGVyIiwgIl9jYWNoZSIsICJfZmV0Y2giLCAiV2ViU3RvcmFnZSIsICJhdXRoX3Byb3ZpZGVyIiwgImZldGNoIiwgInJlc291cmNlIiwgIm9wdGlvbnMiLCAiX19wcml2YXRlQWRkIiwgIl9fcHJpdmF0ZVNldCIsICJ0b2tlbiIsICJjYWNoZSIsICJfX3ByaXZhdGVHZXQiLCAicmVzcG9uc2UiLCAiYmxvYiIsICJlcnJvciJdCn0K //# sourceMappingURL=WebStorage.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["WebStorage.ts"],
"sourcesContent": ["/**\n * @callback fetch\n * @param {RequestInfo} resource\n * @param {RequestInit} options\n * @returns {Promise<Response>}\n */\n\nexport default class WebStorage {\n\n #origin = new URL(import.meta.url).origin\n #auth_provider: import('@twurple/auth').AuthProvider = null;\n #cache: Cache = null\n #fetch: typeof globalThis.fetch = null\n\n /**\n * Creates a fetch request wrapper that returns cached responses when the server can't be reached.\n * When only a path is provided, the origin defaults to the same origin this module was loaded from.\n * When the origin matches this script, authorization headers are added automatically.\n * You can also use this for GET requests to any orgigin, but other methods may have unknown behavior.\n * @param {import('@twurple/auth').AuthProvider} auth_provider used to add the authentication header to requests for web storage\n * @param {fetch} fetch defaults to `globalThis.fetch`, allows you to further customize fetch behavior via chaining, for example with `fetch-retry`\n */\n constructor(auth_provider: import('@twurple/auth').AuthProvider, fetch: typeof globalThis.fetch = (resource,options)=>{return globalThis.fetch(resource,options)}) {\n this.#fetch = fetch\n this.#auth_provider = auth_provider\n auth_provider.getAccessTokenForUser(undefined)\n .then(token => caches.open(token.userId + '/' + auth_provider.clientId))\n .then(cache => this.#cache = cache)\n }\n\n /**\n * \n * @param {String | URL} resource \n * @param {RequestInit} options \n */\n async fetch(resource: string | URL, options: RequestInit={}) {\n resource = new URL(resource, this.#origin)\n if (resource.origin == this.#origin) {\n const token = await this.#auth_provider.getAccessTokenForUser(undefined)\n if (!options.headers) {\n options.headers = {}\n }\n options.headers['authorization'] = 'OAuth ' + token.accessToken\n }\n if ('method' in options) {\n switch (options.method) {\n case 'PUT':\n case 'POST': {\n const response = await this.#fetch(resource, options)\n if (!response.ok) {\n return response\n }\n const blob = await new Request(resource, options).blob()\n this.#cache.put(resource, new Response(blob))\n return response\n }\n case 'DELETE': {\n const response = await this.#fetch(resource, options)\n if (!response.ok) {\n return response\n }\n this.#cache.delete(resource)\n return response\n }\n }\n }\n return this.#fetch(resource, options)\n .then(async response => {\n if (response.status >= 500) {\n throw new Error(response.statusText + '\\n' + await response.text())\n }\n this.#cache.put(resource, response.clone())\n return response\n }).catch(error => {\n console.warn(error)\n return this.#cache.match(resource)\n }\n )\n }\n}"],
"mappings": "2UAAA,IAAAA,EAAAC,EAAAC,EAAAC,EAOqBC,EAArB,KAAgC,CAe5B,YAAYC,EAAqDC,EAAiC,CAACC,EAASC,IAAkB,WAAW,MAAMD,EAASC,CAAO,EAAI,CAbnKC,EAAA,KAAAT,EAAU,IAAI,IAAI,YAAY,GAAG,EAAE,QACnCS,EAAA,KAAAR,EAAuD,MACvDQ,EAAA,KAAAP,EAAgB,MAChBO,EAAA,KAAAN,EAAkC,MAW9BO,EAAA,KAAKP,EAASG,GACdI,EAAA,KAAKT,EAAiBI,GACtBA,EAAc,sBAAsB,MAAS,EACxC,KAAKM,GAAS,OAAO,KAAKA,EAAM,OAAS,IAAMN,EAAc,QAAQ,CAAC,EACtE,KAAKO,GAASF,EAAA,KAAKR,EAASU,EAAK,CAC1C,CAOA,MAAM,MAAML,EAAwBC,EAAqB,CAAC,EAAG,CAEzD,GADAD,EAAW,IAAI,IAAIA,EAAUM,EAAA,KAAKb,EAAO,EACrCO,EAAS,QAAUM,EAAA,KAAKb,GAAS,CACjC,IAAMW,EAAQ,MAAME,EAAA,KAAKZ,GAAe,sBAAsB,MAAS,EAClEO,EAAQ,UACTA,EAAQ,QAAU,CAAC,GAEvBA,EAAQ,QAAQ,cAAmB,SAAWG,EAAM,WACxD,CACA,GAAI,WAAYH,EACZ,OAAQA,EAAQ,OAAQ,CACpB,IAAK,MACL,IAAK,OAAQ,CACT,IAAMM,EAAW,MAAMD,EAAA,KAAKV,GAAL,UAAYI,EAAUC,GAC7C,GAAI,CAACM,EAAS,GACV,OAAOA,EAEX,IAAMC,EAAO,MAAM,IAAI,QAAQR,EAAUC,CAAO,EAAE,KAAK,EACvD,OAAAK,EAAA,KAAKX,GAAO,IAAIK,EAAU,IAAI,SAASQ,CAAI,CAAC,EACrCD,CACX,CACA,IAAK,SAAU,CACX,IAAMA,EAAW,MAAMD,EAAA,KAAKV,GAAL,UAAYI,EAAUC,GAC7C,OAAKM,EAAS,IAGdD,EAAA,KAAKX,GAAO,OAAOK,CAAQ,EACpBO,CACX,CACJ,CAEJ,OAAOD,EAAA,KAAKV,GAAL,UAAYI,EAAUC,GACxB,KAAK,MAAMM,GAAY,CACpB,GAAIA,EAAS,QAAU,IACnB,MAAM,IAAI,MAAMA,EAAS,WAAa;AAAA,EAAO,MAAMA,EAAS,KAAK,CAAC,EAEtE,OAAAD,EAAA,KAAKX,GAAO,IAAIK,EAAUO,EAAS,MAAM,CAAC,EACnCA,CACX,CAAC,EAAE,MAAME,IACL,QAAQ,KAAKA,CAAK,EACXH,EAAA,KAAKX,GAAO,MAAMK,CAAQ,EAEzC,CACJ,CACJ,EAtEIP,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA",
"names": ["_origin", "_auth_provider", "_cache", "_fetch", "WebStorage", "auth_provider", "fetch", "resource", "options", "__privateAdd", "__privateSet", "token", "cache", "__privateGet", "response", "blob", "error"]
}
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
View File
+1 -1
View File
@@ -34,6 +34,6 @@
} }
], ],
"build": { "build": {
"command": "esbuild static/*.ts --outdir=static --bundle --format=esm --minify --sourcemap=inline --sources-content=false --target=es2020" "command": "esbuild static_src/*.ts --outdir=static --bundle --format=esm --minify --sourcemap --target=es2020"
} }
} }