itty-router 4.0.26 → 4.0.27

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.
Files changed (71) hide show
  1. package/README.md +2 -2
  2. package/Router.d.ts +10 -4
  3. package/Router.js +2 -1
  4. package/Router.js.map +1 -0
  5. package/Router.mjs +2 -1
  6. package/Router.mjs.map +1 -0
  7. package/StatusError.js +1 -0
  8. package/StatusError.js.map +1 -0
  9. package/StatusError.mjs +1 -0
  10. package/StatusError.mjs.map +1 -0
  11. package/createCors.js +1 -0
  12. package/createCors.js.map +1 -0
  13. package/createCors.mjs +1 -0
  14. package/createCors.mjs.map +1 -0
  15. package/createResponse.js +1 -0
  16. package/createResponse.js.map +1 -0
  17. package/createResponse.mjs +1 -0
  18. package/createResponse.mjs.map +1 -0
  19. package/error.js +1 -0
  20. package/error.js.map +1 -0
  21. package/error.mjs +1 -0
  22. package/error.mjs.map +1 -0
  23. package/html.js +1 -0
  24. package/html.js.map +1 -0
  25. package/html.mjs +1 -0
  26. package/html.mjs.map +1 -0
  27. package/index.js +2 -1
  28. package/index.js.map +1 -0
  29. package/index.mjs +2 -1
  30. package/index.mjs.map +1 -0
  31. package/jpeg.js +1 -0
  32. package/jpeg.js.map +1 -0
  33. package/jpeg.mjs +1 -0
  34. package/jpeg.mjs.map +1 -0
  35. package/json.js +1 -0
  36. package/json.js.map +1 -0
  37. package/json.mjs +1 -0
  38. package/json.mjs.map +1 -0
  39. package/package.json +1 -1
  40. package/png.js +1 -0
  41. package/png.js.map +1 -0
  42. package/png.mjs +1 -0
  43. package/png.mjs.map +1 -0
  44. package/status.js +1 -0
  45. package/status.js.map +1 -0
  46. package/status.mjs +1 -0
  47. package/status.mjs.map +1 -0
  48. package/text.js +1 -0
  49. package/text.js.map +1 -0
  50. package/text.mjs +1 -0
  51. package/text.mjs.map +1 -0
  52. package/webp.js +1 -0
  53. package/webp.js.map +1 -0
  54. package/webp.mjs +1 -0
  55. package/webp.mjs.map +1 -0
  56. package/websocket.js +1 -0
  57. package/websocket.js.map +1 -0
  58. package/websocket.mjs +1 -0
  59. package/websocket.mjs.map +1 -0
  60. package/withContent.js +1 -0
  61. package/withContent.js.map +1 -0
  62. package/withContent.mjs +1 -0
  63. package/withContent.mjs.map +1 -0
  64. package/withCookies.js +1 -0
  65. package/withCookies.js.map +1 -0
  66. package/withCookies.mjs +1 -0
  67. package/withCookies.mjs.map +1 -0
  68. package/withParams.js +1 -0
  69. package/withParams.js.map +1 -0
  70. package/withParams.mjs +1 -0
  71. package/withParams.mjs.map +1 -0
package/README.md CHANGED
@@ -167,7 +167,7 @@ router
167
167
  ```
168
168
 
169
169
  ### 3. It's all Promises.
170
- We `await` every handler, looking for a return value. If we get one, we break the flow and return your value. If we don't, we continue processing handlers/routes until we do. This means that every handler can either be synchronous or async - it's all the same.
170
+ itty `await`s every handler, looking for a return value. If it gets one, it breaks the flow and returns the value. If it doesn't, it continues processing handlers/routes until it does. This means that every handler can either be synchronous or async - it's all the same.
171
171
 
172
172
  When paired with the fact that we can simply return raw data and transform it later, this is AWESOME for working with async APIs, database layers, etc. We don't need to transform anything at the route, we can simply return the Promise (to data) itself!
173
173
 
@@ -186,7 +186,7 @@ router
186
186
  ```
187
187
 
188
188
  ### 4. Only one required argument. The rest is up to you.
189
- We only require one argument in itty - a Request-like object with the following shape: `{ url, method }` (usually a native [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request)). Because itty is not opinionated about [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) creation, there is not "response" argument built in. Every other argument you pass to `route.handle` is given to each handler, in the same order.
189
+ itty only requires one argument - a Request-like object with the following shape: `{ url, method }` (usually a native [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request)). Because itty is not opinionated about [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) creation, there is not "response" argument built in. Every other argument you pass to `route.handle` is given to each handler, in the same order.
190
190
 
191
191
  > ### This makes itty one of the most platform-agnostic routers, *period*, as it's able to match up to any platform's signature.
192
192
 
package/Router.d.ts CHANGED
@@ -21,11 +21,16 @@ export type IRequest = IRequestStrict & GenericTraps;
21
21
  export type RouterOptions = {
22
22
  base?: string;
23
23
  routes?: RouteEntry[];
24
- };
24
+ } & Record<string, any>;
25
25
  export type RouteHandler<I = IRequest, A extends any[] = any[]> = {
26
26
  (request: I, ...args: A): any;
27
27
  };
28
- export type RouteEntry = [string, RegExp, RouteHandler[], string];
28
+ export type RouteEntry = [
29
+ httpMethod: string,
30
+ match: RegExp,
31
+ handlers: RouteHandler[],
32
+ path?: string
33
+ ];
29
34
  export type Route = <RequestType = IRequest, Args extends any[] = any[], RT = RouterType>(path: string, ...handlers: RouteHandler<RequestType, Args>[]) => RT;
30
35
  export type UniversalRoute<RequestType = IRequest, Args extends any[] = any[]> = (path: string, ...handlers: RouteHandler<RequestType, Args>[]) => RouterType<UniversalRoute<RequestType, Args>, Args>;
31
36
  type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? true : false;
@@ -35,6 +40,7 @@ export type CustomRoutes<R = Route> = {
35
40
  export type RouterType<R = Route, Args extends any[] = any[]> = {
36
41
  __proto__: RouterType<R>;
37
42
  routes: RouteEntry[];
43
+ fetch: <A extends any[] = Args>(request: RequestLike, ...extra: Equal<R, Args> extends true ? A : Args) => Promise<any>;
38
44
  handle: <A extends any[] = Args>(request: RequestLike, ...extra: Equal<R, Args> extends true ? A : Args) => Promise<any>;
39
45
  all: R;
40
46
  delete: R;
@@ -44,6 +50,6 @@ export type RouterType<R = Route, Args extends any[] = any[]> = {
44
50
  patch: R;
45
51
  post: R;
46
52
  put: R;
47
- } & CustomRoutes<R>;
48
- export declare const Router: <RequestType = IRequest, Args extends any[] = any[], RouteType = Equal<RequestType, IRequest> extends true ? Route : UniversalRoute<RequestType, Args>>({ base, routes }?: RouterOptions) => RouterType<RouteType, Args>;
53
+ } & CustomRoutes<R> & Record<string, any>;
54
+ export declare const Router: <RequestType = IRequest, Args extends any[] = any[], RouteType = Equal<RequestType, IRequest> extends true ? Route : UniversalRoute<RequestType, Args>>({ base, routes, ...other }?: RouterOptions) => RouterType<RouteType, Args>;
49
55
  export {};
package/Router.js CHANGED
@@ -1 +1,2 @@
1
- "use strict";exports.Router=({base:e="",routes:r=[]}={})=>({__proto__:new Proxy({},{get:(o,t,a,p)=>(o,...l)=>r.push([t.toUpperCase(),RegExp(`^${(p=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),l,p])&&a}),routes:r,async handle(e,...o){let t,a,p=new URL(e.url),l=e.query={__proto__:null};for(let[e,r]of p.searchParams)l[e]=l[e]?[].concat(l[e],r):r;for(let[l,s,u,c]of r)if((l===e.method||"ALL"===l)&&(a=p.pathname.match(s))){e.params=a.groups||{},e.route=c;for(let r of u)if(null!=(t=await r(e.proxy??e,...o)))return t}}});
1
+ "use strict";exports.Router=({base:e="",routes:r=[],...t}={})=>({__proto__:new Proxy({},{get:(t,o,a,p)=>"handle"==o?a.fetch:(t,...l)=>r.push([o.toUpperCase?.(),RegExp(`^${(p=(e+t).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),l,p])&&a}),routes:r,...t,async fetch(e,...t){let o,a,p=new URL(e.url),l=e.query={__proto__:null};for(let[e,r]of p.searchParams)l[e]=l[e]?[].concat(l[e],r):r;for(let[l,c,s,u]of r)if((l==e.method||"ALL"==l)&&(a=p.pathname.match(c))){e.params=a.groups||{},e.route=u;for(let r of s)if(null!=(o=await r(e.proxy??e,...t)))return o}}});
2
+ //# sourceMappingURL=Router.js.map
package/Router.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.js","sources":["../src/src/Router.ts"],"sourcesContent":[null],"names":["base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","fetch","route","handlers","push","toUpperCase","RegExp","replace","async","request","args","response","match","url","URL","query","k","v","searchParams","concat","method","regex","pathname","params","groups","handler","proxy"],"mappings":"4BA2EsB,EAIlBA,OAAO,GAAIC,SAAS,MAAOC,GAAyB,CAAE,KAExD,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAC7C,UAARF,EAAmBC,EAASE,MAE5B,CAACC,KAAkBC,IACjBX,EAAOY,KACL,CACEN,EAAKO,gBACLC,OAAO,KAAKN,GAAQT,EAAOW,GACxBK,QAAQ,aAAc,OACtBA,QAAQ,oBAAqB,gBAC7BA,QAAQ,kBAAmB,uBAC3BA,QAAQ,MAAO,OACfA,QAAQ,WAAY,iBAEvBJ,EACAH,KAECD,IAEXP,YACGC,EACHe,YAAaC,KAAyBC,GACpC,IAAIC,EAAUC,EAAOC,EAAM,IAAIC,IAAIL,EAAQI,KAAME,EAA6BN,EAAQM,MAAQ,CAAErB,UAAW,MAG3G,IAAK,IAAKsB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAG/D,IAAK,IAAKG,EAAQC,EAAOlB,EAAUH,KAASR,EAC1C,IAAK4B,GAAUX,EAAQW,QAAoB,OAAVA,KAAqBR,EAAQC,EAAIS,SAASV,MAAMS,IAAS,CACxFZ,EAAQc,OAASX,EAAMY,QAAU,CAAA,EACjCf,EAAQP,MAAQF,EAChB,IAAK,IAAIyB,KAAWtB,EAClB,GAAqE,OAAhEQ,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,OAAOC,CACrF,CACJ"}
package/Router.mjs CHANGED
@@ -1 +1,2 @@
1
- const e=({base:e="",routes:r=[]}={})=>({__proto__:new Proxy({},{get:(o,a,t,p)=>(o,...l)=>r.push([a.toUpperCase(),RegExp(`^${(p=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),l,p])&&t}),routes:r,async handle(e,...o){let a,t,p=new URL(e.url),l=e.query={__proto__:null};for(let[e,r]of p.searchParams)l[e]=l[e]?[].concat(l[e],r):r;for(let[l,c,s,n]of r)if((l===e.method||"ALL"===l)&&(t=p.pathname.match(c))){e.params=t.groups||{},e.route=n;for(let r of s)if(null!=(a=await r(e.proxy??e,...o)))return a}}});export{e as Router};
1
+ const e=({base:e="",routes:r=[],...o}={})=>({__proto__:new Proxy({},{get:(o,t,a,p)=>"handle"==t?a.fetch:(o,...l)=>r.push([t.toUpperCase?.(),RegExp(`^${(p=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),l,p])&&a}),routes:r,...o,async fetch(e,...o){let t,a,p=new URL(e.url),l=e.query={__proto__:null};for(let[e,r]of p.searchParams)l[e]=l[e]?[].concat(l[e],r):r;for(let[l,c,s,f]of r)if((l==e.method||"ALL"==l)&&(a=p.pathname.match(c))){e.params=a.groups||{},e.route=f;for(let r of s)if(null!=(t=await r(e.proxy??e,...o)))return t}}});export{e as Router};
2
+ //# sourceMappingURL=Router.mjs.map
package/Router.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Router.mjs","sources":["../src/src/Router.ts"],"sourcesContent":[null],"names":["Router","base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","fetch","route","handlers","push","toUpperCase","RegExp","replace","async","request","args","response","match","url","URL","query","k","v","searchParams","concat","method","regex","pathname","params","groups","handler","proxy"],"mappings":"AA2Ea,MAAAA,EAAS,EAIlBC,OAAO,GAAIC,SAAS,MAAOC,GAAyB,CAAE,KAExD,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAC7C,UAARF,EAAmBC,EAASE,MAE5B,CAACC,KAAkBC,IACjBX,EAAOY,KACL,CACEN,EAAKO,gBACLC,OAAO,KAAKN,GAAQT,EAAOW,GACxBK,QAAQ,aAAc,OACtBA,QAAQ,oBAAqB,gBAC7BA,QAAQ,kBAAmB,uBAC3BA,QAAQ,MAAO,OACfA,QAAQ,WAAY,iBAEvBJ,EACAH,KAECD,IAEXP,YACGC,EACHe,YAAaC,KAAyBC,GACpC,IAAIC,EAAUC,EAAOC,EAAM,IAAIC,IAAIL,EAAQI,KAAME,EAA6BN,EAAQM,MAAQ,CAAErB,UAAW,MAG3G,IAAK,IAAKsB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAG/D,IAAK,IAAKG,EAAQC,EAAOlB,EAAUH,KAASR,EAC1C,IAAK4B,GAAUX,EAAQW,QAAoB,OAAVA,KAAqBR,EAAQC,EAAIS,SAASV,MAAMS,IAAS,CACxFZ,EAAQc,OAASX,EAAMY,QAAU,CAAA,EACjCf,EAAQP,MAAQF,EAChB,IAAK,IAAIyB,KAAWtB,EAClB,GAAqE,OAAhEQ,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,OAAOC,CACrF,CACJ"}
package/StatusError.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";class t extends Error{status;constructor(t=500,s){super("object"==typeof s?s.error:s),"object"==typeof s&&Object.assign(this,s),this.status=t}}exports.StatusError=t;
2
+ //# sourceMappingURL=StatusError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusError.js","sources":["../src/src/StatusError.ts"],"sourcesContent":[null],"names":["StatusError","Error","status","constructor","body","super","error","Object","assign","this"],"mappings":"aAKM,MAAOA,UAAoBC,MAC/BC,OAGAC,YAAYD,EAAS,IAAKE,GACxBC,MAAsB,iBAATD,EAAoBA,EAAKE,MAAQF,GAC9B,iBAATA,GAAqBG,OAAOC,OAAOC,KAAML,GAChDK,KAAKP,OAASA,CACf"}
package/StatusError.mjs CHANGED
@@ -1 +1,2 @@
1
1
  class t extends Error{status;constructor(t=500,s){super("object"==typeof s?s.error:s),"object"==typeof s&&Object.assign(this,s),this.status=t}}export{t as StatusError};
2
+ //# sourceMappingURL=StatusError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusError.mjs","sources":["../src/src/StatusError.ts"],"sourcesContent":[null],"names":["StatusError","Error","status","constructor","body","super","error","Object","assign","this"],"mappings":"AAKM,MAAOA,UAAoBC,MAC/BC,OAGAC,YAAYD,EAAS,IAAKE,GACxBC,MAAsB,iBAATD,EAAoBA,EAAKE,MAAQF,GAC9B,iBAATA,GAAqBG,OAAOC,OAAOC,KAAML,GAChDK,KAAKP,OAASA,CACf"}
package/createCors.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.createCors=(e={})=>{const{origins:s=["*"],maxAge:o,methods:t=["GET"],headers:n={}}=e;let r;const c="function"==typeof s?s:e=>s.includes(e)||s.includes("*"),l={"content-type":"application/json","Access-Control-Allow-Methods":t.join(", "),...n};o&&(l["Access-Control-Max-Age"]=o);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:s,status:o,body:t}=e;return[101,301,302,308].includes(o)||s.get("access-control-allow-origin")?e:new Response(t,{status:o,headers:{...Object.fromEntries(s),...l,...r,"content-type":s.get("content-type")}})},preflight:e=>{const s=[...new Set(["OPTIONS",...t])],o=e.headers.get("origin")||"";if(r=c(o)&&{"Access-Control-Allow-Origin":o},"OPTIONS"===e.method){const o={...l,"Access-Control-Allow-Methods":s.join(", "),"Access-Control-Allow-Headers":e.headers.get("Access-Control-Request-Headers"),...r};return new Response(null,{headers:e.headers.get("Origin")&&e.headers.get("Access-Control-Request-Method")&&e.headers.get("Access-Control-Request-Headers")?o:{Allow:s.join(", ")}})}}}};
2
+ //# sourceMappingURL=createCors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCors.js","sources":["../src/src/createCors.ts"],"sourcesContent":[null],"names":["options","origins","maxAge","methods","headers","allowOrigin","isAllowOrigin","origin","includes","rHeaders","join","corsify","response","Error","status","body","get","Response","Object","fromEntries","preflight","r","useMethods","Set","method","reqHeaders","Allow"],"mappings":"gCAU0B,CAACA,EAAuB,MAEhD,MAAMC,QAAEA,EAAU,CAAC,KAAIC,OAAEA,EAAMC,QAAEA,EAAU,CAAC,OAAMC,QAAEA,EAAU,CAAE,GAAKJ,EAErE,IAAIK,EACJ,MAAMC,EAAmC,mBAAZL,EACzBA,EACCM,GAAoBN,EAAQO,SAASD,IAAWN,EAAQO,SAAS,KAGhEC,EAAW,CACf,eAAgB,mBAChB,+BAAgCN,EAAQO,KAAK,SAC1CN,GAIDF,IAAQO,EAAS,0BAA4BP,GA+DjD,MAAO,CAAES,QA5BQC,IACf,IAAKA,EACH,MAAM,IAAIC,MACR,qEAGJ,MAAMT,QAAEA,EAAOU,OAAEA,EAAMC,KAAEA,GAASH,EAGlC,MACE,CAAC,IAAK,IAAK,IAAK,KAAKJ,SAASM,IAC9BV,EAAQY,IAAI,+BAELJ,EAGF,IAAIK,SAASF,EAAM,CACxBD,SACAV,QAAS,IACJc,OAAOC,YAAYf,MACnBK,KACAJ,EACH,eAAgBD,EAAQY,IAAI,kBAE9B,EAIcI,UA5DCC,IAEjB,MAAMC,EAAa,IAAI,IAAIC,IAAI,CAAC,aAAcpB,KACxCI,EAASc,EAAEjB,QAAQY,IAAI,WAAa,GAM1C,GAHAX,EAAcC,EAAcC,IAAW,CAAE,8BAA+BA,GAGvD,YAAbc,EAAEG,OAAsB,CAC1B,MAAMC,EAAa,IACdhB,EACH,+BAAgCa,EAAWZ,KAAK,MAChD,+BAAgCW,EAAEjB,QAAQY,IACxC,qCAECX,GAIL,OAAO,IAAIY,SAAS,KAAM,CACxBb,QACEiB,EAAEjB,QAAQY,IAAI,WACdK,EAAEjB,QAAQY,IAAI,kCACdK,EAAEjB,QAAQY,IAAI,kCACVS,EACA,CAAEC,MAAOJ,EAAWZ,KAAK,QAElC,GAgC0B"}
package/createCors.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=(e={})=>{const{origins:o=["*"],maxAge:s,methods:t=["GET"],headers:n={}}=e;let r;const c="function"==typeof o?o:e=>o.includes(e)||o.includes("*"),l={"content-type":"application/json","Access-Control-Allow-Methods":t.join(", "),...n};s&&(l["Access-Control-Max-Age"]=s);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:o,status:s,body:t}=e;return[101,301,302,308].includes(s)||o.get("access-control-allow-origin")?e:new Response(t,{status:s,headers:{...Object.fromEntries(o),...l,...r,"content-type":o.get("content-type")}})},preflight:e=>{const o=[...new Set(["OPTIONS",...t])],s=e.headers.get("origin")||"";if(r=c(s)&&{"Access-Control-Allow-Origin":s},"OPTIONS"===e.method){const s={...l,"Access-Control-Allow-Methods":o.join(", "),"Access-Control-Allow-Headers":e.headers.get("Access-Control-Request-Headers"),...r};return new Response(null,{headers:e.headers.get("Origin")&&e.headers.get("Access-Control-Request-Method")&&e.headers.get("Access-Control-Request-Headers")?s:{Allow:o.join(", ")}})}}}};export{e as createCors};
2
+ //# sourceMappingURL=createCors.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCors.mjs","sources":["../src/src/createCors.ts"],"sourcesContent":[null],"names":["createCors","options","origins","maxAge","methods","headers","allowOrigin","isAllowOrigin","origin","includes","rHeaders","join","corsify","response","Error","status","body","get","Response","Object","fromEntries","preflight","r","useMethods","Set","method","reqHeaders","Allow"],"mappings":"MAUaA,EAAa,CAACC,EAAuB,MAEhD,MAAMC,QAAEA,EAAU,CAAC,KAAIC,OAAEA,EAAMC,QAAEA,EAAU,CAAC,OAAMC,QAAEA,EAAU,CAAE,GAAKJ,EAErE,IAAIK,EACJ,MAAMC,EAAmC,mBAAZL,EACzBA,EACCM,GAAoBN,EAAQO,SAASD,IAAWN,EAAQO,SAAS,KAGhEC,EAAW,CACf,eAAgB,mBAChB,+BAAgCN,EAAQO,KAAK,SAC1CN,GAIDF,IAAQO,EAAS,0BAA4BP,GA+DjD,MAAO,CAAES,QA5BQC,IACf,IAAKA,EACH,MAAM,IAAIC,MACR,qEAGJ,MAAMT,QAAEA,EAAOU,OAAEA,EAAMC,KAAEA,GAASH,EAGlC,MACE,CAAC,IAAK,IAAK,IAAK,KAAKJ,SAASM,IAC9BV,EAAQY,IAAI,+BAELJ,EAGF,IAAIK,SAASF,EAAM,CACxBD,SACAV,QAAS,IACJc,OAAOC,YAAYf,MACnBK,KACAJ,EACH,eAAgBD,EAAQY,IAAI,kBAE9B,EAIcI,UA5DCC,IAEjB,MAAMC,EAAa,IAAI,IAAIC,IAAI,CAAC,aAAcpB,KACxCI,EAASc,EAAEjB,QAAQY,IAAI,WAAa,GAM1C,GAHAX,EAAcC,EAAcC,IAAW,CAAE,8BAA+BA,GAGvD,YAAbc,EAAEG,OAAsB,CAC1B,MAAMC,EAAa,IACdhB,EACH,+BAAgCa,EAAWZ,KAAK,MAChD,+BAAgCW,EAAEjB,QAAQY,IACxC,qCAECX,GAIL,OAAO,IAAIY,SAAS,KAAM,CACxBb,QACEiB,EAAEjB,QAAQY,IAAI,WACdK,EAAEjB,QAAQY,IAAI,kCACdK,EAAEjB,QAAQY,IAAI,kCACVS,EACA,CAAEC,MAAOJ,EAAWZ,KAAK,QAElC,GAgC0B"}
package/createResponse.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.createResponse=(e="text/plain; charset=utf-8",s)=>(t,{headers:n={},...o}={})=>void 0===t||"Response"===t?.constructor.name?t:new Response(s?s(t):t,{headers:{"content-type":e,...n},...o});
2
+ //# sourceMappingURL=createResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createResponse.js","sources":["../src/src/createResponse.ts"],"sourcesContent":[null],"names":["format","transform","body","headers","rest","undefined","constructor","name","Response"],"mappings":"oCASE,CACEA,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC"}
@@ -1 +1,2 @@
1
1
  const e=(e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o});export{e as createResponse};
2
+ //# sourceMappingURL=createResponse.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createResponse.mjs","sources":["../src/src/createResponse.ts"],"sourcesContent":[null],"names":["createResponse","format","transform","body","headers","rest","undefined","constructor","name","Response"],"mappings":"AAQa,MAAAA,EACX,CACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC"}
package/error.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const r=((r="text/plain; charset=utf-8",e)=>(t,{headers:s={},...o}={})=>void 0===t||"Response"===t?.constructor.name?t:new Response(e?e(t):t,{headers:{"content-type":r,...s},...o}))("application/json; charset=utf-8",JSON.stringify),e=r=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[r]||"Unknown Error");exports.error=(t=500,s)=>{if(t instanceof Error){const{message:r,...o}=t;t=t.status||500,s={error:r||e(t),...o}}return s={status:t,..."object"==typeof s?s:{error:s||e(t)}},r(s,{status:t})};
2
+ //# sourceMappingURL=error.js.map
package/error.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts"],"sourcesContent":[null,null,null],"names":["json","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","JSON","stringify","getMessage","code","a","b","Error","message","err","status","error"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAClB,kCACAC,KAAKC,WCUDC,EAAcC,IAAyB,CAC3C,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,YACL,IAAK,yBACJA,IAAS,+BAEyB,CAACC,EAAI,IAAKC,KAE7C,GAAID,aAAaE,MAAO,CACtB,MAAMC,QAAEA,KAAYC,GAAQJ,EAC5BA,EAAIA,EAAEK,QAAU,IAChBJ,EAAI,CACFK,MAAOH,GAAWL,EAAWE,MAC1BI,EAEN,CAOD,OALAH,EAAI,CACFI,OAAQL,KACS,iBAANC,EAAiBA,EAAI,CAAEK,MAAOL,GAAKH,EAAWE,KAGpDf,EAAKgB,EAAG,CAAEI,OAAQL,GAAI"}
package/error.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",r)=>(t,{headers:n={},...o}={})=>void 0===t||"Response"===t?.constructor.name?t:new Response(r?r(t):t,{headers:{"content-type":e,...n},...o}))("application/json; charset=utf-8",JSON.stringify),r=e=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[e]||"Unknown Error"),t=(t=500,n)=>{if(t instanceof Error){const{message:e,...o}=t;t=t.status||500,n={error:e||r(t),...o}}return n={status:t,..."object"==typeof n?n:{error:n||r(t)}},e(n,{status:t})};export{t as error};
2
+ //# sourceMappingURL=error.mjs.map
package/error.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.mjs","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts"],"sourcesContent":[null,null,null],"names":["json","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","JSON","stringify","getMessage","code","error","a","b","Error","message","err","status"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAClB,kCACAC,KAAKC,WCUDC,EAAcC,IAAyB,CAC3C,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,YACL,IAAK,yBACJA,IAAS,iBAECC,EAAwB,CAACC,EAAI,IAAKC,KAE7C,GAAID,aAAaE,MAAO,CACtB,MAAMC,QAAEA,KAAYC,GAAQJ,EAC5BA,EAAIA,EAAEK,QAAU,IAChBJ,EAAI,CACFF,MAAOI,GAAWN,EAAWG,MAC1BI,EAEN,CAOD,OALAH,EAAI,CACFI,OAAQL,KACS,iBAANC,EAAiBA,EAAI,CAAEF,MAAOE,GAAKJ,EAAWG,KAGpDhB,EAAKiB,EAAG,CAAEI,OAAQL,GAAI"}
package/html.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const e=((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))("text/html");exports.html=e;
2
+ //# sourceMappingURL=html.js.map
package/html.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sources":["../src/src/createResponse.ts","../src/src/html.ts"],"sourcesContent":[null,null],"names":["html","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAAe"}
package/html.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o}))("text/html");export{e as html};
2
+ //# sourceMappingURL=html.mjs.map
package/html.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.mjs","sources":["../src/src/createResponse.ts","../src/src/html.ts"],"sourcesContent":[null,null],"names":["html","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAAe"}
package/index.js CHANGED
@@ -1 +1,2 @@
1
- "use strict";class e extends Error{status;constructor(e=500,t){super("object"==typeof t?t.error:t),"object"==typeof t&&Object.assign(this,t),this.status=e}}const t=(e="text/plain; charset=utf-8",t)=>(o,{headers:s={},...r}={})=>void 0===o||"Response"===o?.constructor.name?o:new Response(t?t(o):o,{headers:{"content-type":e,...s},...r}),o=t("application/json; charset=utf-8",JSON.stringify),s=e=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[e]||"Unknown Error"),r=t("text/plain; charset=utf-8",String),n=t("text/html"),a=t("image/jpeg"),c=t("image/png"),p=t("image/webp");exports.Router=({base:e="",routes:t=[]}={})=>({__proto__:new Proxy({},{get:(o,s,r,n)=>(o,...a)=>t.push([s.toUpperCase(),RegExp(`^${(n=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&r}),routes:t,async handle(e,...o){let s,r,n=new URL(e.url),a=e.query={__proto__:null};for(let[e,t]of n.searchParams)a[e]=a[e]?[].concat(a[e],t):t;for(let[a,c,p,i]of t)if((a===e.method||"ALL"===a)&&(r=n.pathname.match(c))){e.params=r.groups||{},e.route=i;for(let t of p)if(null!=(s=await t(e.proxy??e,...o)))return s}}}),exports.StatusError=e,exports.createCors=(e={})=>{const{origins:t=["*"],maxAge:o,methods:s=["GET"],headers:r={}}=e;let n;const a="function"==typeof t?t:e=>t.includes(e)||t.includes("*"),c={"content-type":"application/json","Access-Control-Allow-Methods":s.join(", "),...r};o&&(c["Access-Control-Max-Age"]=o);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:t,status:o,body:s}=e;return[101,301,302,308].includes(o)||t.get("access-control-allow-origin")?e:new Response(s,{status:o,headers:{...Object.fromEntries(t),...c,...n,"content-type":t.get("content-type")}})},preflight:e=>{const t=[...new Set(["OPTIONS",...s])],o=e.headers.get("origin")||"";if(n=a(o)&&{"Access-Control-Allow-Origin":o},"OPTIONS"===e.method){const o={...c,"Access-Control-Allow-Methods":t.join(", "),"Access-Control-Allow-Headers":e.headers.get("Access-Control-Request-Headers"),...n};return new Response(null,{headers:e.headers.get("Origin")&&e.headers.get("Access-Control-Request-Method")&&e.headers.get("Access-Control-Request-Headers")?o:{Allow:t.join(", ")}})}}}},exports.createResponse=t,exports.error=(e=500,t)=>{if(e instanceof Error){const{message:o,...r}=e;e=e.status||500,t={error:o||s(e),...r}}return t={status:e,..."object"==typeof t?t:{error:t||s(e)}},o(t,{status:e})},exports.html=n,exports.jpeg=a,exports.json=o,exports.png=c,exports.status=(e,t)=>new Response(null,{...t,status:e}),exports.text=r,exports.webp=p,exports.withContent=async e=>{e.headers.get("content-type")?.includes("json")&&(e.content=await e.json())},exports.withCookies=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[t,o])=>o?(e[t]=o,e):e),{})},exports.withParams=e=>{e.proxy=new Proxy(e.proxy||e,{get:(t,o)=>void 0!==t[o]?t[o].bind?.(e)||t[o]:t?.params?.[o]})};
1
+ "use strict";class e extends Error{status;constructor(e=500,t){super("object"==typeof t?t.error:t),"object"==typeof t&&Object.assign(this,t),this.status=e}}const t=(e="text/plain; charset=utf-8",t)=>(o,{headers:s={},...r}={})=>void 0===o||"Response"===o?.constructor.name?o:new Response(t?t(o):o,{headers:{"content-type":e,...s},...r}),o=t("application/json; charset=utf-8",JSON.stringify),s=e=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[e]||"Unknown Error"),r=t("text/plain; charset=utf-8",String),n=t("text/html"),a=t("image/jpeg"),c=t("image/png"),p=t("image/webp");exports.Router=({base:e="",routes:t=[],...o}={})=>({__proto__:new Proxy({},{get:(o,s,r,n)=>"handle"==s?r.fetch:(o,...a)=>t.push([s.toUpperCase?.(),RegExp(`^${(n=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&r}),routes:t,...o,async fetch(e,...o){let s,r,n=new URL(e.url),a=e.query={__proto__:null};for(let[e,t]of n.searchParams)a[e]=a[e]?[].concat(a[e],t):t;for(let[a,c,p,i]of t)if((a==e.method||"ALL"==a)&&(r=n.pathname.match(c))){e.params=r.groups||{},e.route=i;for(let t of p)if(null!=(s=await t(e.proxy??e,...o)))return s}}}),exports.StatusError=e,exports.createCors=(e={})=>{const{origins:t=["*"],maxAge:o,methods:s=["GET"],headers:r={}}=e;let n;const a="function"==typeof t?t:e=>t.includes(e)||t.includes("*"),c={"content-type":"application/json","Access-Control-Allow-Methods":s.join(", "),...r};o&&(c["Access-Control-Max-Age"]=o);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:t,status:o,body:s}=e;return[101,301,302,308].includes(o)||t.get("access-control-allow-origin")?e:new Response(s,{status:o,headers:{...Object.fromEntries(t),...c,...n,"content-type":t.get("content-type")}})},preflight:e=>{const t=[...new Set(["OPTIONS",...s])],o=e.headers.get("origin")||"";if(n=a(o)&&{"Access-Control-Allow-Origin":o},"OPTIONS"===e.method){const o={...c,"Access-Control-Allow-Methods":t.join(", "),"Access-Control-Allow-Headers":e.headers.get("Access-Control-Request-Headers"),...n};return new Response(null,{headers:e.headers.get("Origin")&&e.headers.get("Access-Control-Request-Method")&&e.headers.get("Access-Control-Request-Headers")?o:{Allow:t.join(", ")}})}}}},exports.createResponse=t,exports.error=(e=500,t)=>{if(e instanceof Error){const{message:o,...r}=e;e=e.status||500,t={error:o||s(e),...r}}return t={status:e,..."object"==typeof t?t:{error:t||s(e)}},o(t,{status:e})},exports.html=n,exports.jpeg=a,exports.json=o,exports.png=c,exports.status=(e,t)=>new Response(null,{...t,status:e}),exports.text=r,exports.webp=p,exports.withContent=async e=>{e.headers.get("content-type")?.includes("json")&&(e.content=await e.json())},exports.withCookies=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[t,o])=>o?(e[t]=o,e):e),{})},exports.withParams=e=>{e.proxy=new Proxy(e.proxy||e,{get:(t,o)=>void 0!==t[o]?t[o].bind?.(e)||t[o]:t?.params?.[o]})};
2
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/src/StatusError.ts","../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts","../src/src/text.ts","../src/src/html.ts","../src/src/jpeg.ts","../src/src/png.ts","../src/src/webp.ts","../src/src/Router.ts","../src/src/createCors.ts","../src/src/status.ts","../src/src/withContent.ts","../src/src/withCookies.ts","../src/src/withParams.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StatusError","Error","status","constructor","body","super","error","Object","assign","this","createResponse","format","transform","headers","rest","undefined","name","Response","json","JSON","stringify","getMessage","code","text","String","html","jpeg","png","webp","base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","fetch","route","handlers","push","toUpperCase","RegExp","replace","async","request","args","response","match","url","URL","query","k","v","searchParams","concat","method","regex","pathname","params","groups","handler","proxy","options","origins","maxAge","methods","allowOrigin","isAllowOrigin","origin","includes","rHeaders","join","corsify","fromEntries","preflight","r","useMethods","Set","reqHeaders","Allow","a","b","message","err","content","cookies","split","map","p","reduce","obj","bind"],"mappings":"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"}
package/index.mjs CHANGED
@@ -1 +1,2 @@
1
- const e=({base:e="",routes:t=[]}={})=>({__proto__:new Proxy({},{get:(o,s,r,n)=>(o,...a)=>t.push([s.toUpperCase(),RegExp(`^${(n=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&r}),routes:t,async handle(e,...o){let s,r,n=new URL(e.url),a=e.query={__proto__:null};for(let[e,t]of n.searchParams)a[e]=a[e]?[].concat(a[e],t):t;for(let[a,c,l,i]of t)if((a===e.method||"ALL"===a)&&(r=n.pathname.match(c))){e.params=r.groups||{},e.route=i;for(let t of l)if(null!=(s=await t(e.proxy??e,...o)))return s}}});class t extends Error{status;constructor(e=500,t){super("object"==typeof t?t.error:t),"object"==typeof t&&Object.assign(this,t),this.status=e}}const o=(e="text/plain; charset=utf-8",t)=>(o,{headers:s={},...r}={})=>void 0===o||"Response"===o?.constructor.name?o:new Response(t?t(o):o,{headers:{"content-type":e,...s},...r}),s=o("application/json; charset=utf-8",JSON.stringify),r=e=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[e]||"Unknown Error"),n=(e=500,t)=>{if(e instanceof Error){const{message:o,...s}=e;e=e.status||500,t={error:o||r(e),...s}}return t={status:e,..."object"==typeof t?t:{error:t||r(e)}},s(t,{status:e})},a=(e,t)=>new Response(null,{...t,status:e}),c=o("text/plain; charset=utf-8",String),l=o("text/html"),i=o("image/jpeg"),p=o("image/png"),d=o("image/webp"),u=async e=>{e.headers.get("content-type")?.includes("json")&&(e.content=await e.json())},g=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[t,o])=>o?(e[t]=o,e):e),{})},h=e=>{e.proxy=new Proxy(e.proxy||e,{get:(t,o)=>void 0!==t[o]?t[o].bind?.(e)||t[o]:t?.params?.[o]})},f=(e={})=>{const{origins:t=["*"],maxAge:o,methods:s=["GET"],headers:r={}}=e;let n;const a="function"==typeof t?t:e=>t.includes(e)||t.includes("*"),c={"content-type":"application/json","Access-Control-Allow-Methods":s.join(", "),...r};o&&(c["Access-Control-Max-Age"]=o);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:t,status:o,body:s}=e;return[101,301,302,308].includes(o)||t.get("access-control-allow-origin")?e:new Response(s,{status:o,headers:{...Object.fromEntries(t),...c,...n,"content-type":t.get("content-type")}})},preflight:e=>{const t=[...new Set(["OPTIONS",...s])],o=e.headers.get("origin")||"";if(n=a(o)&&{"Access-Control-Allow-Origin":o},"OPTIONS"===e.method){const o={...c,"Access-Control-Allow-Methods":t.join(", "),"Access-Control-Allow-Headers":e.headers.get("Access-Control-Request-Headers"),...n};return new Response(null,{headers:e.headers.get("Origin")&&e.headers.get("Access-Control-Request-Method")&&e.headers.get("Access-Control-Request-Headers")?o:{Allow:t.join(", ")}})}}}};export{e as Router,t as StatusError,f as createCors,o as createResponse,n as error,l as html,i as jpeg,s as json,p as png,a as status,c as text,d as webp,u as withContent,g as withCookies,h as withParams};
1
+ const e=({base:e="",routes:t=[],...o}={})=>({__proto__:new Proxy({},{get:(o,s,r,n)=>"handle"==s?r.fetch:(o,...a)=>t.push([s.toUpperCase?.(),RegExp(`^${(n=(e+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&r}),routes:t,...o,async fetch(e,...o){let s,r,n=new URL(e.url),a=e.query={__proto__:null};for(let[e,t]of n.searchParams)a[e]=a[e]?[].concat(a[e],t):t;for(let[a,c,l,i]of t)if((a==e.method||"ALL"==a)&&(r=n.pathname.match(c))){e.params=r.groups||{},e.route=i;for(let t of l)if(null!=(s=await t(e.proxy??e,...o)))return s}}});class t extends Error{status;constructor(e=500,t){super("object"==typeof t?t.error:t),"object"==typeof t&&Object.assign(this,t),this.status=e}}const o=(e="text/plain; charset=utf-8",t)=>(o,{headers:s={},...r}={})=>void 0===o||"Response"===o?.constructor.name?o:new Response(t?t(o):o,{headers:{"content-type":e,...s},...r}),s=o("application/json; charset=utf-8",JSON.stringify),r=e=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[e]||"Unknown Error"),n=(e=500,t)=>{if(e instanceof Error){const{message:o,...s}=e;e=e.status||500,t={error:o||r(e),...s}}return t={status:e,..."object"==typeof t?t:{error:t||r(e)}},s(t,{status:e})},a=(e,t)=>new Response(null,{...t,status:e}),c=o("text/plain; charset=utf-8",String),l=o("text/html"),i=o("image/jpeg"),p=o("image/png"),d=o("image/webp"),u=async e=>{e.headers.get("content-type")?.includes("json")&&(e.content=await e.json())},h=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[t,o])=>o?(e[t]=o,e):e),{})},g=e=>{e.proxy=new Proxy(e.proxy||e,{get:(t,o)=>void 0!==t[o]?t[o].bind?.(e)||t[o]:t?.params?.[o]})},f=(e={})=>{const{origins:t=["*"],maxAge:o,methods:s=["GET"],headers:r={}}=e;let n;const a="function"==typeof t?t:e=>t.includes(e)||t.includes("*"),c={"content-type":"application/json","Access-Control-Allow-Methods":s.join(", "),...r};o&&(c["Access-Control-Max-Age"]=o);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:t,status:o,body:s}=e;return[101,301,302,308].includes(o)||t.get("access-control-allow-origin")?e:new Response(s,{status:o,headers:{...Object.fromEntries(t),...c,...n,"content-type":t.get("content-type")}})},preflight:e=>{const t=[...new Set(["OPTIONS",...s])],o=e.headers.get("origin")||"";if(n=a(o)&&{"Access-Control-Allow-Origin":o},"OPTIONS"===e.method){const o={...c,"Access-Control-Allow-Methods":t.join(", "),"Access-Control-Allow-Headers":e.headers.get("Access-Control-Request-Headers"),...n};return new Response(null,{headers:e.headers.get("Origin")&&e.headers.get("Access-Control-Request-Method")&&e.headers.get("Access-Control-Request-Headers")?o:{Allow:t.join(", ")}})}}}};export{e as Router,t as StatusError,f as createCors,o as createResponse,n as error,l as html,i as jpeg,s as json,p as png,a as status,c as text,d as webp,u as withContent,h as withCookies,g as withParams};
2
+ //# sourceMappingURL=index.mjs.map
package/index.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/src/Router.ts","../src/src/StatusError.ts","../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts","../src/src/status.ts","../src/src/text.ts","../src/src/html.ts","../src/src/jpeg.ts","../src/src/png.ts","../src/src/webp.ts","../src/src/withContent.ts","../src/src/withCookies.ts","../src/src/withParams.ts","../src/src/createCors.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Router","base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","fetch","route","handlers","push","toUpperCase","RegExp","replace","async","request","args","response","match","url","URL","query","k","v","searchParams","concat","method","regex","pathname","params","groups","handler","proxy","StatusError","Error","status","constructor","body","super","error","Object","assign","this","createResponse","format","transform","headers","rest","undefined","name","Response","json","JSON","stringify","getMessage","code","a","b","message","err","options","text","String","html","jpeg","png","webp","withContent","includes","content","withCookies","r","cookies","split","map","p","reduce","withParams","obj","bind","createCors","origins","maxAge","methods","allowOrigin","isAllowOrigin","origin","rHeaders","join","corsify","fromEntries","preflight","useMethods","Set","reqHeaders","Allow"],"mappings":"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"}
package/jpeg.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const e=((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))("image/jpeg");exports.jpeg=e;
2
+ //# sourceMappingURL=jpeg.js.map
package/jpeg.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpeg.js","sources":["../src/src/createResponse.ts","../src/src/jpeg.ts"],"sourcesContent":[null,null],"names":["jpeg","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAAe"}
package/jpeg.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o}))("image/jpeg");export{e as jpeg};
2
+ //# sourceMappingURL=jpeg.mjs.map
package/jpeg.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpeg.mjs","sources":["../src/src/createResponse.ts","../src/src/jpeg.ts"],"sourcesContent":[null,null],"names":["jpeg","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAAe"}
package/json.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const e=((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))("application/json; charset=utf-8",JSON.stringify);exports.json=e;
2
+ //# sourceMappingURL=json.js.map
package/json.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sources":["../src/src/createResponse.ts","../src/src/json.ts"],"sourcesContent":[null,null],"names":["json","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","JSON","stringify"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAClB,kCACAC,KAAKC"}
package/json.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o}))("application/json; charset=utf-8",JSON.stringify);export{e as json};
2
+ //# sourceMappingURL=json.mjs.map
package/json.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.mjs","sources":["../src/src/createResponse.ts","../src/src/json.ts"],"sourcesContent":[null,null],"names":["json","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","JSON","stringify"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAClB,kCACAC,KAAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itty-router",
3
- "version": "4.0.26",
3
+ "version": "4.0.27",
4
4
  "description": "A tiny, zero-dependency router, designed to make beautiful APIs in any environment.",
5
5
  "main": "./index.js",
6
6
  "module": "./index.mjs",
package/png.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const e=((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))("image/png");exports.png=e;
2
+ //# sourceMappingURL=png.js.map
package/png.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"png.js","sources":["../src/src/createResponse.ts","../src/src/png.ts"],"sourcesContent":[null,null],"names":["png","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBJK,CAAe"}
package/png.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o}))("image/png");export{e as png};
2
+ //# sourceMappingURL=png.mjs.map
package/png.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"png.mjs","sources":["../src/src/createResponse.ts","../src/src/png.ts"],"sourcesContent":[null,null],"names":["png","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBJK,CAAe"}
package/status.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.status=(s,t)=>new Response(null,{...t,status:s});
2
+ //# sourceMappingURL=status.js.map
package/status.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sources":["../src/src/status.ts"],"sourcesContent":[null],"names":["status","options","Response"],"mappings":"4BAAsB,CAACA,EAAgBC,IACrC,IAAIC,SAAS,KAAM,IAAKD,EAASD"}
package/status.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const s=(s,e)=>new Response(null,{...e,status:s});export{s as status};
2
+ //# sourceMappingURL=status.mjs.map
package/status.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.mjs","sources":["../src/src/status.ts"],"sourcesContent":[null],"names":["status","options","Response"],"mappings":"MAAaA,EAAS,CAACA,EAAgBC,IACrC,IAAIC,SAAS,KAAM,IAAKD,EAASD"}
package/text.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const t=((t="text/plain; charset=utf-8",e)=>(s,{headers:n={},...r}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(e?e(s):s,{headers:{"content-type":t,...n},...r}))("text/plain; charset=utf-8",String);exports.text=t;
2
+ //# sourceMappingURL=text.js.map
package/text.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sources":["../src/src/createResponse.ts","../src/src/text.ts"],"sourcesContent":[null,null],"names":["text","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","String"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAClB,4BACAC"}
package/text.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o}))("text/plain; charset=utf-8",String);export{e as text};
2
+ //# sourceMappingURL=text.mjs.map
package/text.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.mjs","sources":["../src/src/createResponse.ts","../src/src/text.ts"],"sourcesContent":[null,null],"names":["text","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","String"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAClB,4BACAC"}
package/webp.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";const e=((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))("image/webp");exports.webp=e;
2
+ //# sourceMappingURL=webp.js.map
package/webp.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webp.js","sources":["../src/src/createResponse.ts","../src/src/webp.ts"],"sourcesContent":[null,null],"names":["webp","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"aAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAAe"}
package/webp.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=((e="text/plain; charset=utf-8",t)=>(n,{headers:s={},...o}={})=>void 0===n||"Response"===n?.constructor.name?n:new Response(t?t(n):n,{headers:{"content-type":e,...s},...o}))("image/webp");export{e as webp};
2
+ //# sourceMappingURL=webp.mjs.map
package/webp.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webp.mjs","sources":["../src/src/createResponse.ts","../src/src/webp.ts"],"sourcesContent":[null,null],"names":["webp","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse"],"mappings":"AAQO,MCNMA,EDOX,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IChBHK,CAAe"}
package/websocket.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.websocket=(e,t={})=>((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))()(null,{status:101,webSocket:e,...t});
2
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sources":["../src/src/websocket.ts","../src/src/createResponse.ts"],"sourcesContent":[null,null],"names":["client","options","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","status","webSocket"],"mappings":"+BAEyB,CAACA,EAAmBC,EAAkB,CAAA,ICO7D,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,IDfrBK,GAAiB,KAAM,CACrBC,OAAQ,IACRC,UAAWb,KACRC"}
package/websocket.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=(e,t={})=>((e="text/plain; charset=utf-8",t)=>(s,{headers:n={},...o}={})=>void 0===s||"Response"===s?.constructor.name?s:new Response(t?t(s):s,{headers:{"content-type":e,...n},...o}))()(null,{status:101,webSocket:e,...t});export{e as websocket};
2
+ //# sourceMappingURL=websocket.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.mjs","sources":["../src/src/createResponse.ts","../src/src/websocket.ts"],"sourcesContent":[null,null],"names":["websocket","client","options","format","transform","body","headers","rest","undefined","constructor","name","Response","createResponse","status","webSocket"],"mappings":"AAQO,MCNMA,EAAY,CAACC,EAAmBC,EAAkB,CAAA,IDO7D,EACEC,EAAS,4BACTC,IAEF,CAACC,GAAQC,UAAU,CAAA,KAAOC,GAAS,CAAA,SACxBC,IAATH,GAAiD,aAA3BA,GAAMI,YAAYC,KACtCL,EACA,IAAIM,SAASP,EAAYA,EAAUC,GAAQA,EAAM,CACnCC,QAAS,CAAE,eAAgBH,KAAWG,MACnCC,ICfrBK,GAAiB,KAAM,CACrBC,OAAQ,IACRC,UAAWb,KACRC"}
package/withContent.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.withContent=async t=>{t.headers.get("content-type")?.includes("json")&&(t.content=await t.json())};
2
+ //# sourceMappingURL=withContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withContent.js","sources":["../src/src/withContent.ts"],"sourcesContent":[null],"names":["async","request","headers","get","includes","content","json"],"mappings":"iCAO2BA,MAAOC,IAC5BA,EAAQC,QAAQC,IAAI,iBAAiBC,SAAS,UAChDH,EAAQI,cAAgBJ,EAAQK,OAAM"}
package/withContent.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const n=async n=>{n.headers.get("content-type")?.includes("json")&&(n.content=await n.json())};export{n as withContent};
2
+ //# sourceMappingURL=withContent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withContent.mjs","sources":["../src/src/withContent.ts"],"sourcesContent":[null],"names":["withContent","async","request","headers","get","includes","content","json"],"mappings":"MAOaA,EAAcC,MAAOC,IAC5BA,EAAQC,QAAQC,IAAI,iBAAiBC,SAAS,UAChDH,EAAQI,cAAgBJ,EAAQK,OAAM"}
package/withCookies.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.withCookies=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[s,i])=>i?(e[s]=i,e):e),{})};
2
+ //# sourceMappingURL=withCookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withCookies.js","sources":["../src/src/withCookies.ts"],"sourcesContent":[null],"names":["r","cookies","headers","get","split","map","p","reduce","a","k","v"],"mappings":"iCAO4BA,IAC1BA,EAAEC,SAAWD,EAAEE,QAAQC,IAAI,WAAa,IACrCC,MAAM,QACNC,KAAKC,GAAsBA,EAAEF,MAAM,WACnCG,QAAO,CAACC,GAAkBC,EAAGC,KAAgBA,GAAMF,EAAEC,GAAKC,EAAIF,GAAKA,GAAI,CAAE,EAAC"}
package/withCookies.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const e=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[o,s])=>s?(e[o]=s,e):e),{})};export{e as withCookies};
2
+ //# sourceMappingURL=withCookies.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withCookies.mjs","sources":["../src/src/withCookies.ts"],"sourcesContent":[null],"names":["withCookies","r","cookies","headers","get","split","map","p","reduce","a","k","v"],"mappings":"AAOa,MAAAA,EAAeC,IAC1BA,EAAEC,SAAWD,EAAEE,QAAQC,IAAI,WAAa,IACrCC,MAAM,QACNC,KAAKC,GAAsBA,EAAEF,MAAM,WACnCG,QAAO,CAACC,GAAkBC,EAAGC,KAAgBA,GAAMF,EAAEC,GAAKC,EAAIF,GAAKA,GAAI,CAAE,EAAC"}
package/withParams.js CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";exports.withParams=r=>{r.proxy=new Proxy(r.proxy||r,{get:(o,s)=>void 0!==o[s]?o[s].bind?.(r)||o[s]:o?.params?.[s]})};
2
+ //# sourceMappingURL=withParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withParams.js","sources":["../src/src/withParams.ts"],"sourcesContent":[null],"names":["request","proxy","Proxy","get","obj","prop","undefined","bind","params"],"mappings":"gCAE2BA,IACzBA,EAAQC,MAAQ,IAAIC,MAAMF,EAAQC,OAASD,EAAS,CAClDG,IAAK,CAACC,EAAKC,SAAuBC,IAAdF,EAAIC,GACND,EAAIC,GAAME,OAAOP,IAAYI,EAAIC,GACjCD,GAAKI,SAASH,IAChC"}
package/withParams.mjs CHANGED
@@ -1 +1,2 @@
1
1
  const o=o=>{o.proxy=new Proxy(o.proxy||o,{get:(r,p)=>void 0!==r[p]?r[p].bind?.(o)||r[p]:r?.params?.[p]})};export{o as withParams};
2
+ //# sourceMappingURL=withParams.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withParams.mjs","sources":["../src/src/withParams.ts"],"sourcesContent":[null],"names":["withParams","request","proxy","Proxy","get","obj","prop","undefined","bind","params"],"mappings":"AAEa,MAAAA,EAAcC,IACzBA,EAAQC,MAAQ,IAAIC,MAAMF,EAAQC,OAASD,EAAS,CAClDG,IAAK,CAACC,EAAKC,SAAuBC,IAAdF,EAAIC,GACND,EAAIC,GAAME,OAAOP,IAAYI,EAAIC,GACjCD,GAAKI,SAASH,IAChC"}