@adonix.org/cloud-spark 2.0.3 → 2.0.5
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/README.md +1 -1
- package/dist/cache.js +2 -2
- package/dist/cache.js.map +1 -1
- package/dist/cors.js +1 -1
- package/dist/cors.js.map +1 -1
- package/dist/index.d.ts +361 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/websocket.js +1 -1
- package/dist/websocket.js.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Cloud⚡Spark
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@adonix.org/cloud-spark)
|
|
4
|
-
[](https://github.com/adonix-org/cloud-spark/blob/main/LICENSE)
|
|
4
|
+
[](https://github.com/adonix-org/cloud-spark/blob/main/LICENSE)
|
|
5
5
|
[](https://github.com/adonix-org/cloud-spark/actions/workflows/build.yml)
|
|
6
6
|
[](https://sonarcloud.io/summary/overall?id=adonix-org_cloud-spark&branch=main)
|
|
7
7
|
[](https://sonarcloud.io/summary/overall?id=adonix-org_cloud-spark&branch=main)
|
package/dist/cache.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {StatusCodes}from'http-status-codes/build/es/status-codes';import te from'cache-control-parser';import {getReasonPhrase}from'http-status-codes/build/es/utils-functions';function x(t){return typeof t=="string"}function J(t){return typeof t=="number"&&!Number.isNaN(t)}function Z(t){if(typeof t!="object"||t===null)throw new TypeError("CacheInit must be an object.");let{name:e,getKey:r}=t;Te(e),ge(r);}function Te(t){if(t!==void 0&&!x(t))throw new TypeError("Cache name must be a string.")}function ge(t){if(t!==void 0&&typeof t!="function")throw new TypeError("getKey must be a function.")}function Q(t){if(!(t instanceof URL))throw new TypeError("getKey must return a URL.")}function ee(t){let e=new URL(t.url);return e.searchParams.sort(),e.hash="",e}function we(t){let e=new URL(t.url);return e.search="",e.hash="",e}var A=class{rules=[];use(...e){return this.rules.push(...e),this}execute(e,r){return this.rules.reduceRight((n,i)=>()=>i.apply(e,n),()=>r())()}};var m={parse:te.parse,stringify:te.stringify,DISABLE:Object.freeze({"no-cache":true,"no-store":true,"must-revalidate":true,"max-age":0})};var re=(c=>(c.GET="GET",c.PUT="PUT",c.HEAD="HEAD",c.POST="POST",c.PATCH="PATCH",c.DELETE="DELETE",c.OPTIONS="OPTIONS",c))(re||{}),{GET:_,PUT:Ve,HEAD:se,POST:Ge,PATCH:ve,DELETE:Me,OPTIONS:We}=re;var o={ACCEPT:"accept",ACCEPT_ENCODING:"accept-encoding",ACCEPT_LANGUAGE:"accept-language",AUTHORIZATION:"authorization",CACHE_CONTROL:"cache-control",CONTENT_DISPOSITION:"content-disposition",CONTENT_ENCODING:"content-encoding",CONTENT_LANGUAGE:"content-language",CONTENT_LENGTH:"content-length",CONTENT_RANGE:"content-range",CONTENT_TYPE:"content-type",CONTENT_MD5:"content-md5",COOKIE:"cookie",ETAG:"etag",IF_MATCH:"if-match",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",IF_UNMODIFIED_SINCE:"if-unmodified-since",LAST_MODIFIED:"last-modified",ORIGIN:"origin",RANGE:"range",SET_COOKIE:"set-cookie",VARY:"vary",UPGRADE:"upgrade",INTERNAL_VARIANT_SET:"internal-variant-set"},ne=[o.CONTENT_TYPE,o.CONTENT_LENGTH,o.CONTENT_RANGE,o.CONTENT_ENCODING,o.CONTENT_LANGUAGE,o.CONTENT_DISPOSITION,o.CONTENT_MD5],oe=[o.CONTENT_LENGTH,o.CONTENT_RANGE];function R(t,e){return t<e?-1:t>e?1:0}function k(t,e,r){let s=Array.isArray(r)?r:[r],n=Array.from(new Set(s.map(i=>i.trim()))).filter(i=>i.length).sort(R);if(!n.length){t.delete(e);return}t.set(e,n.join(", "));}function ie(t,e,r){let s=Array.isArray(r)?r:[r];if(s.length===0)return;let i=p(t,e).concat(s.map(a=>a.trim()));k(t,e,i);}function p(t,e){let r=t.get(e)?.split(",").map(s=>s.trim()).filter(s=>s.length>0)??[];return Array.from(new Set(r)).sort(R)}function F(t,e){for(let r of e)t.delete(r);}var Ne="https://vary",Re="*";function ae(t,e){if(e.status!==StatusCodes.OK||t.method!==_||t.headers.has(o.AUTHORIZATION)||t.headers.has(o.COOKIE)||h(t.headers)["no-store"]||!e.headers.has(o.CACHE_CONTROL))return false;let s=h(e.headers),n=s["s-maxage"]??s["max-age"];if(n===void 0||n===0||s["no-store"]||s["no-cache"]||s.private||e.headers.has(o.SET_COOKIE)||K(e).includes(Re))return false;if(e.headers.has(o.INTERNAL_VARIANT_SET))throw new Error("Found conflicting vary header.");if(e.headers.has(o.CONTENT_RANGE))throw new Error("Found content-range header on 200 OK. Must use 206 Partial Content");return true}function h(t){return m.parse(t.get(o.CACHE_CONTROL)??"")}function K(t){return C(p(t.headers,o.VARY))}function C(t){let e=t.map(r=>r.toLowerCase()).filter(r=>r!==o.ACCEPT_ENCODING).sort(R);return Array.from(new Set(e))}function E(t,e,r){let s=[],n=C(e);for(let a of n){let c=t.headers.get(a);c!==null&&s.push([a,Oe(a,c)]);}let i=xe(JSON.stringify([r.toString(),s]));return new URL(i,Ne).toString()}function Oe(t,e){switch(t.toLowerCase()){case o.ACCEPT:case o.ACCEPT_LANGUAGE:case o.ORIGIN:return e.toLowerCase();default:return e}}function xe(t){let e=new TextEncoder().encode(t),r="";for(let s of e)r+=String.fromCodePoint(s);return btoa(r).replaceAll("+","-").replaceAll("/","_").replace(/={1,2}$/,"")}var Ae=/^bytes=(\d{1,12})-(\d{0,12})$/,ce="W/",ue="*";function de(t){let e=t.headers.get(o.RANGE);if(!e)return;let r=Ae.exec(e);if(!r)return;let s=Number(r[1]),n=r[2]===""?void 0:Number(r[2]);return n===void 0?{start:s}:{start:s,end:n}}function pe(t,e){return t.length>0&&!me(t,e,ue)}function fe(t,e){return me(t,le(e),ue)}function me(t,...e){return t.some(r=>e.includes(r))}function I(t){if(!x(t))return;let e=Date.parse(t);return Number.isNaN(e)?void 0:e}function le(t){return t.startsWith(ce)?t.slice(2):t}function B(t){return {ifMatch:p(t,o.IF_MATCH).filter(e=>!e.startsWith(ce)),ifNoneMatch:p(t,o.IF_NONE_MATCH).map(le),ifModifiedSince:t.get(o.IF_MODIFIED_SINCE),ifUnmodifiedSince:t.get(o.IF_UNMODIFIED_SINCE)}}function he(t){let{ifNoneMatch:e,ifMatch:r,ifModifiedSince:s,ifUnmodifiedSince:n}=B(t);return e.length>0||r.length>0||s!==null||n!==null}function Ce(t){let e=t.get(o.CONTENT_LENGTH);if(e===null||e.trim()==="")return;let r=Number(e);if(J(r))return r}var y=class{async apply(e,r){let s=h(e.request.headers);if(!s["no-store"]&&!((s["no-cache"]||s["max-age"]===0)&&!he(e.request.headers)))return r()}};var q="utf-8";function $(t,e){return !e||t.toLowerCase().includes("charset=")?t:`${t}; charset=${e.toLowerCase()}`}var Y=class{headers=new Headers;status=StatusCodes.OK;statusText;webSocket;mediaType=$("text/plain",q);get responseInit(){return {headers:this.headers,status:this.status,statusText:this.statusText??getReasonPhrase(this.status),webSocket:this.webSocket,encodeBody:"automatic"}}setHeader(e,r){k(this.headers,e,r);}mergeHeader(e,r){ie(this.headers,e,r);}addContentType(){this.headers.get(o.CONTENT_TYPE)||this.setHeader(o.CONTENT_TYPE,this.mediaType);}filterHeaders(){this.status===StatusCodes.NO_CONTENT?F(this.headers,oe):this.status===StatusCodes.NOT_MODIFIED&&F(this.headers,ne);}},z=class extends Y{constructor(r){super();this.cache=r;}addCacheHeader(){this.cache&&this.setHeader(o.CACHE_CONTROL,m.stringify(this.cache));}},l=class extends z{constructor(r=null,s){super(s);this.body=r;}async response(){this.addCacheHeader();let r=[StatusCodes.NO_CONTENT,StatusCodes.NOT_MODIFIED].includes(this.status)?null:this.body;return r&&this.addContentType(),this.filterHeaders(),new Response(r,this.responseInit)}};var T=class extends l{constructor(e){super(),this.status=StatusCodes.NOT_MODIFIED,this.headers=new Headers(e.headers);}},X=class extends l{constructor(e=null,r,s=StatusCodes.OK){super(e,r),this.status=s;}},S=class extends X{constructor(e={},r,s=StatusCodes.OK){super(JSON.stringify(e),r,s),this.mediaType=$("application/json",q);}};var H=class extends l{constructor(e){super(),this.status=e.status,this.statusText=e.statusText,this.headers=new Headers(e.headers);}};var j=class extends S{constructor(r,s){let n={status:r,error:getReasonPhrase(r),details:s??""};super(n,m.DISABLE,r);this.details=s;}};var g=class extends j{constructor(e){super(StatusCodes.PRECONDITION_FAILED,e);}};var N=class{async apply(e,r){let s=await r();if(!s||s.status!==StatusCodes.OK)return s;let n=this.getHeader(s);if(n===void 0)return s;let i=B(e.request.headers);return this.response(s,n,i)}};var w=class extends N{getHeader(e){return e.headers.get(o.ETAG)??void 0}},b=class extends w{async response(e,r,s){return pe(s.ifMatch,r)?new g(`ETag: ${r}`).response():e}},L=class extends w{async response(e,r,s){if(s.ifNoneMatch.length===0)return e;if(fe(s.ifNoneMatch,r))return new T(e).response()}};var P=class{async apply(e,r){if(e.request.method===_)return r();if(e.request.method===se){let s=await r();return s?new H(s).response():void 0}}};var D=class extends N{getHeader(e){return I(e.headers.get(o.LAST_MODIFIED))}},V=class extends D{async response(e,r,s){let n=I(s.ifModifiedSince);if(n===void 0)return e;if(r<=n)return new T(e).response()}},G=class extends D{async response(e,r,s){let n=I(s.ifUnmodifiedSince);return n===void 0?e:r>n?new g(`Last-Modified: ${new Date(r).toUTCString()}`).response():e}};var v=class{async apply(e,r){let s=de(e.request);if(s&&(s.start!==0||s.end===0))return;let n=await r();if(!n||n.status!==StatusCodes.OK||!s||s.end===void 0)return n;let i=Ce(n.headers);if(i&&s.end===i-1)return n}};var M=class{async apply(e,r){let s=e.request.headers;if(!s.has(o.AUTHORIZATION)&&!s.has(o.COOKIE))return r()}};var W=class{async apply(e,r){if(!e.request.headers.has(o.UPGRADE))return r()}};var f=class t extends l{_isModified=false;constructor(e){let r=C(e);if(r.length===0)throw new Error("The filtered vary array is empty.");super(),this.setHeader(o.INTERNAL_VARIANT_SET,r);}static new(e){return new t(C(e))}static restore(e){if(!t.isVariantResponse(e))throw new Error("The source response is not a variant response");let r=t.new(p(e.headers,o.INTERNAL_VARIANT_SET)),s=e.headers.get(o.CACHE_CONTROL);return s&&(r.cache=m.parse(s)),r}get vary(){return p(this.headers,o.INTERNAL_VARIANT_SET)}get isModified(){return this._isModified}append(e){let r=this.vary.length;this.mergeHeader(o.INTERNAL_VARIANT_SET,C(e)),this._isModified=this.vary.length!==r;}static isVariantResponse(e){return e.headers.has(o.INTERNAL_VARIANT_SET)}expireAfter(e){let r=h(e.headers),s=r["s-maxage"]??r["max-age"];if(s===void 0)return;let n=this.cache?.["s-maxage"];(n===void 0||s>n)&&(this.cache={"s-maxage":s},this._isModified=true);}};var U=class{init;constructor(e){let{name:r,getKey:s=ee}=e;this.init={name:r?.trim()||void 0,getKey:s};}async handle(e,r){let s=this.init.name?await caches.open(this.init.name):caches.default,i=await new A().use(new y).use(new P).use(new W).use(new M).use(new v).use(new V).use(new L).use(new G).use(new b).execute(e,()=>this.getCached(s,e.request));if(i)return i;let a=await r();return e.ctx.waitUntil(this.setCached(s,e.request,a)),a}async getCached(e,r){let s=this.getCacheKey(r),n=await e.match(s.toString());if(!n)return;if(!f.isVariantResponse(n))return n;let i=f.restore(n).vary,a=E(r,i,s);return e.match(a)}async setCached(e,r,s){if(!ae(r,s))return;let n=this.getCacheKey(r),i=s.clone(),a=K(i),c=await e.match(n),Ee=c&&f.isVariantResponse(c);if(!c){if(a.length===0){await e.put(n,i);return}let d=f.new(a);d.expireAfter(i),await e.put(n,await d.response()),await e.put(E(r,d.vary,n),i);return}if(Ee){let d=f.restore(c);d.expireAfter(i),a.length>0&&(d.append(a),d.isModified&&await e.put(n,await d.response())),await e.put(E(r,d.vary,n),i);return}if(a.length===0){await e.put(n,i);return}let O=f.new(a);O.expireAfter(c),O.expireAfter(i),await e.put(n,await O.response()),await e.put(E(r,O.vary,n),i),await e.put(E(r,[],n),c);}getCacheKey(e){let r=this.init.getKey(e);return Q(r),r.hash="",r}};function Er(t={}){return Z(t),new U(t)}
|
|
2
|
-
export{
|
|
1
|
+
import re from'cache-control-parser';function _(t){return typeof t=="string"}function j(t){return typeof t=="number"&&!Number.isNaN(t)}function J(t){if(typeof t!="object"||t===null)throw new TypeError("CacheInit must be an object.");let{name:e,getKey:n}=t;Oe(e),Ae(n);}function Oe(t){if(t!==void 0&&!_(t))throw new TypeError("Cache name must be a string.")}function Ae(t){if(t!==void 0&&typeof t!="function")throw new TypeError("getKey must be a function.")}function Z(t){if(!(t instanceof URL))throw new TypeError("getKey must return a URL.")}function ee(t){let e=new URL(t.url);return e.searchParams.sort(),e.hash="",e}function De(t){let e=new URL(t.url);return e.search="",e.hash="",e}var I=class{rules=[];use(...e){return this.rules.push(...e),this}execute(e,n){return this.rules.reduceRight((o,a)=>()=>a.apply(e,o),()=>n())()}};var E={parse:re.parse,stringify:re.stringify,DISABLE:Object.freeze({"no-cache":true,"no-store":true,"must-revalidate":true,"max-age":0})};var te=(p=>(p.GET="GET",p.PUT="PUT",p.HEAD="HEAD",p.POST="POST",p.PATCH="PATCH",p.DELETE="DELETE",p.OPTIONS="OPTIONS",p))(te||{}),{GET:C,PUT:Ge,HEAD:ne,POST:Me,PATCH:Ve,DELETE:Fe,OPTIONS:We}=te;var x=(r=>(r[r.CONTINUE=100]="CONTINUE",r[r.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",r[r.PROCESSING=102]="PROCESSING",r[r.EARLY_HINTS=103]="EARLY_HINTS",r[r.OK=200]="OK",r[r.CREATED=201]="CREATED",r[r.ACCEPTED=202]="ACCEPTED",r[r.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",r[r.NO_CONTENT=204]="NO_CONTENT",r[r.RESET_CONTENT=205]="RESET_CONTENT",r[r.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",r[r.MULTI_STATUS=207]="MULTI_STATUS",r[r.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",r[r.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",r[r.FOUND=302]="FOUND",r[r.SEE_OTHER=303]="SEE_OTHER",r[r.NOT_MODIFIED=304]="NOT_MODIFIED",r[r.USE_PROXY=305]="USE_PROXY",r[r.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",r[r.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",r[r.BAD_REQUEST=400]="BAD_REQUEST",r[r.UNAUTHORIZED=401]="UNAUTHORIZED",r[r.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",r[r.FORBIDDEN=403]="FORBIDDEN",r[r.NOT_FOUND=404]="NOT_FOUND",r[r.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",r[r.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",r[r.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",r[r.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",r[r.CONFLICT=409]="CONFLICT",r[r.GONE=410]="GONE",r[r.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",r[r.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",r[r.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",r[r.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",r[r.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",r[r.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",r[r.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",r[r.IM_A_TEAPOT=418]="IM_A_TEAPOT",r[r.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",r[r.METHOD_FAILURE=420]="METHOD_FAILURE",r[r.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",r[r.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",r[r.LOCKED=423]="LOCKED",r[r.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",r[r.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",r[r.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",r[r.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",r[r.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",r[r.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",r[r.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",r[r.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",r[r.BAD_GATEWAY=502]="BAD_GATEWAY",r[r.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",r[r.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",r[r.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",r[r.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",r[r.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED",r))(x||{});var s={ACCEPT:"accept",ACCEPT_ENCODING:"accept-encoding",ACCEPT_LANGUAGE:"accept-language",AUTHORIZATION:"authorization",CACHE_CONTROL:"cache-control",CONTENT_DISPOSITION:"content-disposition",CONTENT_ENCODING:"content-encoding",CONTENT_LANGUAGE:"content-language",CONTENT_LENGTH:"content-length",CONTENT_RANGE:"content-range",CONTENT_TYPE:"content-type",CONTENT_MD5:"content-md5",COOKIE:"cookie",ETAG:"etag",IF_MATCH:"if-match",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",IF_UNMODIFIED_SINCE:"if-unmodified-since",LAST_MODIFIED:"last-modified",ORIGIN:"origin",RANGE:"range",SET_COOKIE:"set-cookie",VARY:"vary",UPGRADE:"upgrade",INTERNAL_VARIANT_SET:"internal-variant-set"},ie=[s.CONTENT_TYPE,s.CONTENT_LENGTH,s.CONTENT_RANGE,s.CONTENT_ENCODING,s.CONTENT_LANGUAGE,s.CONTENT_DISPOSITION,s.CONTENT_MD5],oe=[s.CONTENT_LENGTH,s.CONTENT_RANGE];function A(t,e){return t<e?-1:t>e?1:0}function K(t,e,n){let i=Array.isArray(n)?n:[n],o=Array.from(new Set(i.map(a=>a.trim()))).filter(a=>a.length).sort(A);if(!o.length){t.delete(e);return}t.set(e,o.join(", "));}function se(t,e,n){let i=Array.isArray(n)?n:[n];if(i.length===0)return;let a=u(t,e).concat(i.map(c=>c.trim()));K(t,e,a);}function u(t,e){let n=t.get(e)?.split(",").map(i=>i.trim()).filter(i=>i.length>0)??[];return Array.from(new Set(n)).sort(A)}function B(t,e){for(let n of e)t.delete(n);}var ge="https://vary",_e="*";function ae(t,e){if(e.status!==200||t.method!==C||t.headers.has(s.AUTHORIZATION)||t.headers.has(s.COOKIE)||d(t.headers)["no-store"]||!e.headers.has(s.CACHE_CONTROL))return false;let i=d(e.headers),o=i["s-maxage"]??i["max-age"];if(o===void 0||o===0||i["no-store"]||i["no-cache"]||i.private||e.headers.has(s.SET_COOKIE)||Y(e).includes(_e))return false;if(e.headers.has(s.INTERNAL_VARIANT_SET))throw new Error("Found conflicting vary header.");if(e.headers.has(s.CONTENT_RANGE))throw new Error("Found content-range header on 200 OK. Must use 206 Partial Content");return true}function d(t){return E.parse(t.get(s.CACHE_CONTROL)??"")}function Y(t){return h(u(t.headers,s.VARY))}function h(t){let e=t.map(n=>n.toLowerCase()).filter(n=>n!==s.ACCEPT_ENCODING).sort(A);return Array.from(new Set(e))}function T(t,e,n){let i=[],o=h(e);for(let c of o){let p=t.headers.get(c);p!==null&&i.push([c,Ie(c,p)]);}let a=Ce(JSON.stringify([n.toString(),i]));return new URL(a,ge).toString()}function Ie(t,e){switch(t.toLowerCase()){case s.ACCEPT:case s.ACCEPT_LANGUAGE:case s.ORIGIN:return e.toLowerCase();default:return e}}function Ce(t){let e=new TextEncoder().encode(t),n="";for(let i of e)n+=String.fromCodePoint(i);return btoa(n).replaceAll("+","-").replaceAll("/","_").replace(/={1,2}$/,"")}var xe=/^bytes=(\d{1,12})-(\d{0,12})$/,ce="W/",pe="*";function fe(t){let e=t.headers.get(s.RANGE);if(!e)return;let n=xe.exec(e);if(!n)return;let i=Number(n[1]),o=n[2]===""?void 0:Number(n[2]);return o===void 0?{start:i}:{start:i,end:o}}function ue(t,e){return t.length>0&&!Ee(t,e,pe)}function me(t,e){return Ee(t,le(e),pe)}function Ee(t,...e){return t.some(n=>e.includes(n))}function H(t){if(!_(t))return;let e=Date.parse(t);return Number.isNaN(e)?void 0:e}function le(t){return t.startsWith(ce)?t.slice(2):t}function Q(t){return {ifMatch:u(t,s.IF_MATCH).filter(e=>!e.startsWith(ce)),ifNoneMatch:u(t,s.IF_NONE_MATCH).map(le),ifModifiedSince:t.get(s.IF_MODIFIED_SINCE),ifUnmodifiedSince:t.get(s.IF_UNMODIFIED_SINCE)}}function de(t){let{ifNoneMatch:e,ifMatch:n,ifModifiedSince:i,ifUnmodifiedSince:o}=Q(t);return e.length>0||n.length>0||i!==null||o!==null}function he(t){let e=t.get(s.CONTENT_LENGTH);if(e===null||e.trim()==="")return;let n=Number(e);if(j(n))return n}var y=class{async apply(e,n){let i=d(e.request.headers);if(!i["no-store"]&&!((i["no-cache"]||i["max-age"]===0)&&!de(e.request.headers)))return n()}};var Te="utf-8";function Re(t,e){return !e||t.toLowerCase().includes("charset=")?t:`${t}; charset=${e.toLowerCase()}`}function L(t){return x[t].toLowerCase().replaceAll("_"," ").replaceAll(/\b\w/g,e=>e.toUpperCase())}var q=class{headers=new Headers;status=200;statusText;webSocket;mediaType="text/plain; charset=utf-8";get responseInit(){return {headers:this.headers,status:this.status,statusText:this.statusText??L(this.status),webSocket:this.webSocket,encodeBody:"automatic"}}setHeader(e,n){K(this.headers,e,n);}mergeHeader(e,n){se(this.headers,e,n);}addContentType(){this.headers.get(s.CONTENT_TYPE)||this.setHeader(s.CONTENT_TYPE,this.mediaType);}filterHeaders(){this.status===204?B(this.headers,oe):this.status===304&&B(this.headers,ie);}},$=class extends q{constructor(n){super();this.cache=n;}addCacheHeader(){this.cache&&this.setHeader(s.CACHE_CONTROL,E.stringify(this.cache));}},l=class extends ${constructor(n=null,i){super(i);this.body=n;}async response(){this.addCacheHeader();let n=[204,304].includes(this.status)?null:this.body;return n&&this.addContentType(),this.filterHeaders(),new Response(n,this.responseInit)}};var R=class extends l{constructor(e){super(),this.status=304,this.headers=new Headers(e.headers);}},X=class extends l{constructor(e=null,n,i=200){super(e,n),this.status=i;}},D=class extends X{constructor(e={},n,i=200){super(JSON.stringify(e),n,i),this.mediaType=Re("application/json",Te);}};var P=class extends l{constructor(e){super(),this.status=e.status,this.statusText=e.statusText,this.headers=new Headers(e.headers);}};var z=class extends D{constructor(n,i){let o={status:n,error:L(n),details:i??""};super(o,E.DISABLE,n);this.details=i;}};var N=class extends z{constructor(e){super(412,e);}};var O=class{async apply(e,n){let i=await n();if(!i||i.status!==200)return i;let o=this.getHeader(i);if(o===void 0)return i;let a=Q(e.request.headers);return this.response(i,o,a)}};var w=class extends O{getHeader(e){return e.headers.get(s.ETAG)??void 0}},b=class extends w{async response(e,n,i){return ue(i.ifMatch,n)?new N(`ETag: ${n}`).response():e}},U=class extends w{async response(e,n,i){if(i.ifNoneMatch.length===0)return e;if(me(i.ifNoneMatch,n))return new R(e).response()}};var G=class{async apply(e,n){if(e.request.method===C)return n();if(e.request.method===ne){let i=await n();return i?new P(i).response():void 0}}};var M=class extends O{getHeader(e){return H(e.headers.get(s.LAST_MODIFIED))}},V=class extends M{async response(e,n,i){let o=H(i.ifModifiedSince);if(o===void 0)return e;if(n<=o)return new R(e).response()}},F=class extends M{async response(e,n,i){let o=H(i.ifUnmodifiedSince);return o===void 0?e:n>o?new N(`Last-Modified: ${new Date(n).toUTCString()}`).response():e}};var W=class{async apply(e,n){let i=fe(e.request);if(i&&(i.start!==0||i.end===0))return;let o=await n();if(!o||o.status!==200||!i||i.end===void 0)return o;let a=he(o.headers);if(a&&i.end===a-1)return o}};var v=class{async apply(e,n){let i=e.request.headers;if(!i.has(s.AUTHORIZATION)&&!i.has(s.COOKIE))return n()}};var S=class{async apply(e,n){if(!e.request.headers.has(s.UPGRADE))return n()}};var m=class t extends l{_isModified=false;constructor(e){let n=h(e);if(n.length===0)throw new Error("The filtered vary array is empty.");super(),this.setHeader(s.INTERNAL_VARIANT_SET,n);}static new(e){return new t(h(e))}static restore(e){if(!t.isVariantResponse(e))throw new Error("The source response is not a variant response");let n=t.new(u(e.headers,s.INTERNAL_VARIANT_SET)),i=e.headers.get(s.CACHE_CONTROL);return i&&(n.cache=E.parse(i)),n}get vary(){return u(this.headers,s.INTERNAL_VARIANT_SET)}get isModified(){return this._isModified}append(e){let n=this.vary.length;this.mergeHeader(s.INTERNAL_VARIANT_SET,h(e)),this._isModified=this.vary.length!==n;}static isVariantResponse(e){return e.headers.has(s.INTERNAL_VARIANT_SET)}expireAfter(e){let n=d(e.headers),i=n["s-maxage"]??n["max-age"];if(i===void 0)return;let o=this.cache?.["s-maxage"];(o===void 0||i>o)&&(this.cache={"s-maxage":i},this._isModified=true);}};var k=class{init;constructor(e){let{name:n,getKey:i=ee}=e;this.init={name:n?.trim()||void 0,getKey:i};}async handle(e,n){let i=this.init.name?await caches.open(this.init.name):caches.default,a=await new I().use(new y).use(new G).use(new S).use(new v).use(new W).use(new V).use(new U).use(new F).use(new b).execute(e,()=>this.getCached(i,e.request));if(a)return a;let c=await n();return e.ctx.waitUntil(this.setCached(i,e.request,c)),c}async getCached(e,n){let i=this.getCacheKey(n),o=await e.match(i.toString());if(!o)return;if(!m.isVariantResponse(o))return o;let a=m.restore(o).vary,c=T(n,a,i);return e.match(c)}async setCached(e,n,i){if(!ae(n,i))return;let o=this.getCacheKey(n),a=i.clone(),c=Y(a),p=await e.match(o),Ne=p&&m.isVariantResponse(p);if(!p){if(c.length===0){await e.put(o,a);return}let f=m.new(c);f.expireAfter(a),await e.put(o,await f.response()),await e.put(T(n,f.vary,o),a);return}if(Ne){let f=m.restore(p);f.expireAfter(a),c.length>0&&(f.append(c),f.isModified&&await e.put(o,await f.response())),await e.put(T(n,f.vary,o),a);return}if(c.length===0){await e.put(o,a);return}let g=m.new(c);g.expireAfter(p),g.expireAfter(a),await e.put(o,await g.response()),await e.put(T(n,g.vary,o),a),await e.put(T(n,[],o),p);}getCacheKey(e){let n=this.init.getKey(e);return Z(n),n.hash="",n}};function ft(t={}){return J(t),new k(t)}
|
|
2
|
+
export{ft as cache,ee as sortSearchParams,De as stripSearchParams};//# sourceMappingURL=cache.js.map
|
|
3
3
|
//# sourceMappingURL=cache.js.map
|