@adonix.org/cloud-spark 2.0.4 → 2.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  # Cloud⚡Spark
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@adonix.org/cloud-spark.svg?color=blue)](https://www.npmjs.com/package/@adonix.org/cloud-spark)
4
- [![Apache 2.0 License](https://badges.adonix.org/License/Apache%202.0?color=blue)](https://github.com/adonix-org/cloud-spark/blob/main/LICENSE)
4
+ [![Apache 2.0 License](https://badges.adonix.org/badge/License/Apache%202.0?color=blue)](https://github.com/adonix-org/cloud-spark/blob/main/LICENSE)
5
5
  [![Build](https://github.com/adonix-org/cloud-spark/actions/workflows/build.yml/badge.svg)](https://github.com/adonix-org/cloud-spark/actions/workflows/build.yml)
6
6
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=adonix-org_cloud-spark&metric=alert_status)](https://sonarcloud.io/summary/overall?id=adonix-org_cloud-spark&branch=main)
7
7
  [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=adonix-org_cloud-spark&metric=security_rating)](https://sonarcloud.io/summary/overall?id=adonix-org_cloud-spark&branch=main)
@@ -837,7 +837,6 @@ wrangler init
837
837
  - [Hibernation WebSocket API](https://developers.cloudflare.com/durable-objects/best-practices/websockets/#durable-objects-hibernation-websocket-api)
838
838
  - [Standard WebSocket API](https://developers.cloudflare.com/workers/runtime-apis/websockets/)
839
839
  - [Postman](https://www.postman.com/downloads/)
840
- - [http-status-codes](https://github.com/prettymuchbryce/http-status-codes)
841
840
  - [path-to-regexp](https://github.com/pillarjs/path-to-regexp)
842
841
 
843
842
  ##
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{Er as cache,ee as sortSearchParams,we as stripSearchParams};//# sourceMappingURL=cache.js.map
1
+ import K from'cache-control-parser';function U(n){return typeof n=="string"}function G(n){if(typeof n!="object"||n===null)throw new TypeError("CacheInit must be an object.");let{name:r,getKey:t}=n;S(r),z(t);}function S(n){if(n!==void 0&&!U(n))throw new TypeError("Cache name must be a string.")}function z(n){if(n!==void 0&&typeof n!="function")throw new TypeError("getKey must be a function.")}function v(n){if(!(n instanceof URL))throw new TypeError("getKey must return a URL.")}function M(n){let r=new URL(n.url);return r.searchParams.sort(),r.hash="",r}function te(n){let r=new URL(n.url);return r.search="",r.hash="",r}var A=class{rules=[];use(...r){return this.rules.push(...r),this}execute(r,t){return this.rules.reduceRight((s,a)=>()=>a.apply(r,s),()=>t())()}};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",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",ORIGIN:"origin",SET_COOKIE:"set-cookie",VARY:"vary",UPGRADE:"upgrade",INTERNAL_VARIANT_SET:"internal-variant-set"},V=[o.CONTENT_TYPE,o.CONTENT_LENGTH,o.CONTENT_RANGE,o.CONTENT_ENCODING,o.CONTENT_LANGUAGE,o.CONTENT_DISPOSITION,o.CONTENT_MD5],F=[o.CONTENT_LENGTH,o.CONTENT_RANGE];var l={parse:K.parse,stringify:K.stringify,DISABLE:Object.freeze({"no-cache":true,"no-store":true,"must-revalidate":true,"max-age":0})};var W=(p=>(p.GET="GET",p.PUT="PUT",p.HEAD="HEAD",p.POST="POST",p.PATCH="PATCH",p.DELETE="DELETE",p.OPTIONS="OPTIONS",p))(W||{}),{GET:_,PUT:ce,HEAD:k,POST:pe,PATCH:Ee,DELETE:Te,OPTIONS:le}=W;var I=(e=>(e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED",e))(I||{});function N(n,r){return n<r?-1:n>r?1:0}function H(n,r,t){let i=Array.isArray(t)?t:[t],s=Array.from(new Set(i.map(a=>a.trim()))).filter(a=>a.length).sort(N);if(!s.length){n.delete(r);return}n.set(r,s.join(", "));}function q(n,r,t){let i=Array.isArray(t)?t:[t];if(i.length===0)return;let a=f(n,r).concat(i.map(c=>c.trim()));H(n,r,a);}function f(n,r){let t=n.get(r)?.split(",").map(i=>i.trim()).filter(i=>i.length>0)??[];return Array.from(new Set(t)).sort(N)}function w(n,r){for(let t of r)n.delete(t);}var X="https://vary",$="*";function Y(n,r){if(r.status!==200||n.method!==_||n.headers.has(o.AUTHORIZATION)||n.headers.has(o.COOKIE)||h(n.headers)["no-store"]||!r.headers.has(o.CACHE_CONTROL))return false;let i=h(r.headers),s=i["s-maxage"]??i["max-age"];if(s===void 0||s===0||i["no-store"]||i["no-cache"]||i.private||r.headers.has(o.SET_COOKIE)||D(r).includes($))return false;if(r.headers.has(o.INTERNAL_VARIANT_SET))throw new Error("Found conflicting vary header.");if(r.headers.has(o.CONTENT_RANGE))throw new Error("Found content-range header on 200 OK. Must use 206 Partial Content");return true}function h(n){return l.parse(n.get(o.CACHE_CONTROL)??"")}function D(n){return m(f(n.headers,o.VARY))}function m(n){let r=n.map(t=>t.toLowerCase()).filter(t=>t!==o.ACCEPT_ENCODING).sort(N);return Array.from(new Set(r))}function u(n,r){let t=[],i=m(r);for(let a of i){let c=n.headers.get(a);c!==null&&t.push([a,j(a,c)]);}let s=Z(JSON.stringify([n.url,t]));return new URL(s,X).toString()}function j(n,r){switch(n.toLowerCase()){case o.ACCEPT:case o.ACCEPT_LANGUAGE:case o.ORIGIN:return r.toLowerCase();default:return r}}function Z(n){let r=new TextEncoder().encode(n),t="";for(let i of r)t+=String.fromCodePoint(i);return btoa(t).replaceAll("+","-").replaceAll("/","_").replace(/={1,2}$/,"")}var d=class{async apply(r,t){let i=h(r.request.headers);if(!(i["no-store"]||(i["no-cache"]||i["max-age"]===0)&&!(r.request.headers.has(o.IF_NONE_MATCH)||r.request.headers.has(o.IF_MODIFIED_SINCE))))return t()}};function B(n){return I[n].toLowerCase().replaceAll("_"," ").replaceAll(/\b\w/g,r=>r.toUpperCase())}var P=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??B(this.status),webSocket:this.webSocket,encodeBody:"automatic"}}setHeader(r,t){H(this.headers,r,t);}mergeHeader(r,t){q(this.headers,r,t);}addContentType(){this.headers.get(o.CONTENT_TYPE)||this.setHeader(o.CONTENT_TYPE,this.mediaType);}filterHeaders(){this.status===204?w(this.headers,F):this.status===304&&w(this.headers,V);}},b=class extends P{constructor(t){super();this.cache=t;}addCacheHeader(){this.cache&&this.setHeader(o.CACHE_CONTROL,l.stringify(this.cache));}},R=class extends b{constructor(t=null,i){super(i);this.body=t;}async response(){this.addCacheHeader();let t=[204,304].includes(this.status)?null:this.body;return t&&this.addContentType(),this.filterHeaders(),new Response(t,this.responseInit)}};var g=class extends R{constructor(r){super(),this.status=r.status,this.statusText=r.statusText,this.headers=new Headers(r.headers);}};var C=class{async apply(r,t){if(r.request.method===_)return t();if(r.request.method===k){let i=await t();return i?new g(i).response():void 0}}};var y=class{async apply(r,t){let i=r.request.headers;if(!i.has(o.AUTHORIZATION)&&!i.has(o.COOKIE))return t()}};var x=class{async apply(r,t){if(!r.request.headers.has(o.UPGRADE))return t()}};var T=class n extends R{_isModified=false;constructor(r){let t=m(r);if(t.length===0)throw new Error("The filtered vary array is empty.");super(),this.setHeader(o.INTERNAL_VARIANT_SET,t);}static new(r){return new n(m(r))}static restore(r){if(!n.isVariantResponse(r))throw new Error("The source response is not a variant response");let t=n.new(f(r.headers,o.INTERNAL_VARIANT_SET)),i=r.headers.get(o.CACHE_CONTROL);return i&&(t.cache=l.parse(i)),t}get vary(){return f(this.headers,o.INTERNAL_VARIANT_SET)}get isModified(){return this._isModified}append(r){let t=this.vary.length;this.mergeHeader(o.INTERNAL_VARIANT_SET,m(r)),this._isModified=this.vary.length!==t;}static isVariantResponse(r){return r.headers.has(o.INTERNAL_VARIANT_SET)}expireAfter(r){let t=h(r.headers),i=t["s-maxage"]??t["max-age"];if(i===void 0)return;let s=this.cache?.["s-maxage"];(s===void 0||i>s)&&(this.cache={"s-maxage":i},this._isModified=true);}};var L=class{init;constructor(r){let{name:t,getKey:i=M}=r;this.init={name:t?.trim()||void 0,getKey:i};}async handle(r,t){let i=this.init.name?await caches.open(this.init.name):caches.default,a=await new A().use(new d).use(new C).use(new x).use(new y).execute(r,()=>this.getCached(i,r.request));if(a)return a;let c=await t();return r.ctx.waitUntil(this.setCached(i,r.request,c)),c}async getCached(r,t){let i=new Request(this.getCacheKey(t),t),s=await r.match(i);if(!s)return;if(!T.isVariantResponse(s))return s;let a=T.restore(s).vary,c=u(i,a);return r.match(new Request(c,t))}async setCached(r,t,i){let s=new Request(this.getCacheKey(t),t);if(!Y(s,i))return;let a=i.clone(),c=D(a),p=await r.match(s),Q=p&&T.isVariantResponse(p);if(!p){if(c.length===0){await r.put(s,a);return}let E=T.new(c);E.expireAfter(a),await r.put(s,await E.response()),await r.put(u(s,E.vary),a);return}if(Q){let E=T.restore(p);E.expireAfter(a),c.length>0&&(E.append(c),E.isModified&&await r.put(s,await E.response())),await r.put(u(s,E.vary),a);return}if(c.length===0){await r.put(s,a);return}let O=T.new(c);O.expireAfter(p),O.expireAfter(a),await r.put(s,await O.response()),await r.put(u(s,O.vary),a),await r.put(u(s,[]),p);}getCacheKey(r){let t=this.init.getKey(r);return v(t),t.hash="",t}};function ir(n={}){return G(n),new L(n)}
2
+ export{ir as cache,M as sortSearchParams,te as stripSearchParams};//# sourceMappingURL=cache.js.map
3
3
  //# sourceMappingURL=cache.js.map