itty-router 4.2.2 → 4.3.0-next.0
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/AutoRouter.d.ts +9 -0
- package/AutoRouter.js +2 -0
- package/AutoRouter.js.map +1 -0
- package/AutoRouter.mjs +2 -0
- package/AutoRouter.mjs.map +1 -0
- package/IttyRouter.js +2 -0
- package/IttyRouter.js.map +1 -0
- package/IttyRouter.mjs +2 -0
- package/IttyRouter.mjs.map +1 -0
- package/Router.d.ts +12 -53
- package/Router.js +1 -1
- package/Router.js.map +1 -1
- package/Router.mjs +1 -1
- package/Router.mjs.map +1 -1
- package/createCors.d.ts +1 -1
- package/index.d.ts +2 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/package.json +11 -1
- package/withContent.d.ts +1 -1
- package/withContent.js +1 -1
- package/withContent.js.map +1 -1
- package/withContent.mjs +1 -1
- package/withContent.mjs.map +1 -1
- package/withCookies.d.ts +1 -1
- package/withParams.d.ts +1 -1
package/AutoRouter.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RouterOptions } from './Router';
|
|
2
|
+
import { RouteHandler } from 'IttyRouter';
|
|
3
|
+
import { ResponseFormatter } from './createResponse';
|
|
4
|
+
type AutoRouterOptions = {
|
|
5
|
+
missing?: RouteHandler;
|
|
6
|
+
format?: ResponseFormatter;
|
|
7
|
+
} & RouterOptions;
|
|
8
|
+
export declare const AutoRouter: ({ format, missing, after, before, ...options }?: AutoRouterOptions) => import("./Router").RouterType<import("IttyRouter").Route, any[]>;
|
|
9
|
+
export {};
|
package/AutoRouter.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const r=((r="text/plain; charset=utf-8",e)=>(o,{headers:t={},...a}={})=>void 0===o||"Response"===o?.constructor.name?o:new Response(e?e(o):o,{headers:{"content-type":r,...t.entries?Object.fromEntries(t):t},...a}))("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"),o=(o=500,t)=>{if(o instanceof Error){const{message:r,...a}=o;o=o.status||500,t={error:r||e(o),...a}}return t={status:o,..."object"==typeof t?t:{error:t||e(o)}},r(t,{status:o})},t=r=>{r.proxy=new Proxy(r.proxy||r,{get:(e,o)=>void 0!==e[o]?e[o].bind?.(r)||e[o]:e?.params?.[o]})};exports.AutoRouter=({format:e=r,missing:a=(()=>o(404)),after:n=[],before:s=[],...f}={})=>(({base:r="",routes:e=[],...o}={})=>({__proto__:new Proxy({},{get:(o,t,a,n)=>"handle"==t?a.fetch:(o,...s)=>e.push([t.toUpperCase?.(),RegExp(`^${(n=(r+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),s,n])&&a}),routes:e,...o,async fetch(r,...t){let a,n,s=new URL(r.url),f=r.query={__proto__:null};for(let[r,e]of s.searchParams)f[r]=f[r]?[].concat(f[r],e):e;r:try{for(let e of o.before||[])if(null!=(a=await e(r.proxy??r,...t)))break r;e:for(let[o,f,p,c]of e)if((o==r.method||"ALL"==o)&&(n=s.pathname.match(f))){r.params=n.groups||{},r.route=c;for(let e of p)if(null!=(a=await e(r.proxy??r,...t)))break e}}catch(e){if(!o.onError)throw e;for(let n of o.onError)a=await n(a??e,r.proxy??r,...t)??a}for(let e of o.after||[])a=await e(a,r.proxy??r,...t)??a;return a}}))({before:[t,...s],onError:[o],after:[(r,...e)=>r??a(r,...e),e,...n],...f});
|
|
2
|
+
//# sourceMappingURL=AutoRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoRouter.js","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts","../src/src/withParams.ts","../src/src/AutoRouter.ts","../src/src/Router.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["json","format","transform","body","headers","rest","undefined","constructor","name","Response","entries","Object","fromEntries","createResponse","JSON","stringify","getMessage","code","error","a","b","Error","message","err","status","withParams","request","proxy","Proxy","get","obj","prop","bind","params","missing","after","before","options","base","routes","other","__proto__","target","receiver","path","fetch","route","handlers","push","toUpperCase","RegExp","replace","async","args","response","match","url","URL","query","k","v","searchParams","concat","t","handler","outer","method","regex","pathname","groups","onError","Router","r"],"mappings":"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"}
|
package/AutoRouter.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const r=((r="text/plain; charset=utf-8",e)=>(o,{headers:t={},...a}={})=>void 0===o||"Response"===o?.constructor.name?o:new Response(e?e(o):o,{headers:{"content-type":r,...t.entries?Object.fromEntries(t):t},...a}))("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"),o=(o=500,t)=>{if(o instanceof Error){const{message:r,...a}=o;o=o.status||500,t={error:r||e(o),...a}}return t={status:o,..."object"==typeof t?t:{error:t||e(o)}},r(t,{status:o})},t=r=>{r.proxy=new Proxy(r.proxy||r,{get:(e,o)=>void 0!==e[o]?e[o].bind?.(r)||e[o]:e?.params?.[o]})},a=({format:e=r,missing:a=(()=>o(404)),after:n=[],before:s=[],...f}={})=>(({base:r="",routes:e=[],...o}={})=>({__proto__:new Proxy({},{get:(o,t,a,n)=>"handle"==t?a.fetch:(o,...s)=>e.push([t.toUpperCase?.(),RegExp(`^${(n=(r+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),s,n])&&a}),routes:e,...o,async fetch(r,...t){let a,n,s=new URL(r.url),f=r.query={__proto__:null};for(let[r,e]of s.searchParams)f[r]=f[r]?[].concat(f[r],e):e;r:try{for(let e of o.before||[])if(null!=(a=await e(r.proxy??r,...t)))break r;e:for(let[o,f,p,c]of e)if((o==r.method||"ALL"==o)&&(n=s.pathname.match(f))){r.params=n.groups||{},r.route=c;for(let e of p)if(null!=(a=await e(r.proxy??r,...t)))break e}}catch(e){if(!o.onError)throw e;for(let n of o.onError)a=await n(a??e,r.proxy??r,...t)??a}for(let e of o.after||[])a=await e(a,r.proxy??r,...t)??a;return a}}))({before:[t,...s],onError:[o],after:[(r,...e)=>r??a(r,...e),e,...n],...f});export{a as AutoRouter};
|
|
2
|
+
//# sourceMappingURL=AutoRouter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoRouter.mjs","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts","../src/src/withParams.ts","../src/src/AutoRouter.ts","../src/src/Router.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["json","format","transform","body","headers","rest","undefined","constructor","name","Response","entries","Object","fromEntries","createResponse","JSON","stringify","getMessage","code","error","a","b","Error","message","err","status","withParams","request","proxy","Proxy","get","obj","prop","bind","params","AutoRouter","missing","after","before","options","base","routes","other","__proto__","target","receiver","path","fetch","route","handlers","push","toUpperCase","RegExp","replace","async","args","response","match","url","URL","query","k","v","searchParams","concat","t","handler","outer","method","regex","pathname","groups","onError","Router","r"],"mappings":"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"}
|
package/IttyRouter.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";exports.IttyRouter=({base:e="",routes:r=[],...t}={})=>({__proto__:new Proxy({},{get:(t,o,a,p)=>(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,s,c,u]of r)if((l==e.method||"ALL"==l)&&(a=p.pathname.match(s))){e.params=a.groups||{},e.route=u;for(let r of c)if(null!=(o=await r(e.proxy??e,...t)))return o}}});
|
|
2
|
+
//# sourceMappingURL=IttyRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IttyRouter.js","sources":["../src/src/IttyRouter.ts"],"sourcesContent":[null],"names":["base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","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":"gCA0E0B,EAItBA,OAAO,GAAIC,SAAS,MAAOC,GAA6B,CAAE,KAE5D,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAErD,CAACC,KAAkBC,IACjBV,EAAOW,KACL,CACEL,EAAKM,gBACLC,OAAO,KAAKL,GAAQT,EAAOU,GACxBK,QAAQ,aAAc,OACtBA,QAAQ,oBAAqB,gBAC7BA,QAAQ,kBAAmB,uBAC3BA,QAAQ,MAAO,OACfA,QAAQ,WAAY,iBAEvBJ,EACAF,KAECD,IAEXP,YACGC,EACHc,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAEpB,UAAW,MAG9D,IAAK,IAAKqB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAG/D,IAAK,IAAKG,EAAQC,EAAOlB,EAAUF,KAASR,EAC1C,IAAK2B,GAAUX,EAAQW,QAAoB,OAAVA,KAAqBR,EAAQC,EAAIS,SAASV,MAAMS,IAAS,CACxFZ,EAAQc,OAASX,EAAMY,QAAU,CAAA,EACjCf,EAAQP,MAAQD,EAChB,IAAK,IAAIwB,KAAWtB,EAClB,GAAqE,OAAhEQ,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,OAAOC,CACrF,CACJ"}
|
package/IttyRouter.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=({base:e="",routes:r=[],...o}={})=>({__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,...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,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!=(t=await r(e.proxy??e,...o)))return t}}});export{e as IttyRouter};
|
|
2
|
+
//# sourceMappingURL=IttyRouter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IttyRouter.mjs","sources":["../src/src/IttyRouter.ts"],"sourcesContent":[null],"names":["IttyRouter","base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","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":"AA0Ea,MAAAA,EAAa,EAItBC,OAAO,GAAIC,SAAS,MAAOC,GAA6B,CAAE,KAE5D,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAErD,CAACC,KAAkBC,IACjBV,EAAOW,KACL,CACEL,EAAKM,gBACLC,OAAO,KAAKL,GAAQT,EAAOU,GACxBK,QAAQ,aAAc,OACtBA,QAAQ,oBAAqB,gBAC7BA,QAAQ,kBAAmB,uBAC3BA,QAAQ,MAAO,OACfA,QAAQ,WAAY,iBAEvBJ,EACAF,KAECD,IAEXP,YACGC,EACHc,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAEpB,UAAW,MAG9D,IAAK,IAAKqB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAG/D,IAAK,IAAKG,EAAQC,EAAOlB,EAAUF,KAASR,EAC1C,IAAK2B,GAAUX,EAAQW,QAAoB,OAAVA,KAAqBR,EAAQC,EAAIS,SAASV,MAAMS,IAAS,CACxFZ,EAAQc,OAASX,EAAMY,QAAU,CAAA,EACjCf,EAAQP,MAAQD,EAChB,IAAK,IAAIwB,KAAWtB,EAClB,GAAqE,OAAhEQ,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,OAAOC,CACrF,CACJ"}
|
package/Router.d.ts
CHANGED
|
@@ -1,55 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type RequestLike = {
|
|
5
|
-
method: string;
|
|
6
|
-
url: string;
|
|
7
|
-
} & GenericTraps;
|
|
8
|
-
export type IRequestStrict = {
|
|
9
|
-
method: string;
|
|
10
|
-
url: string;
|
|
11
|
-
route: string;
|
|
12
|
-
params: {
|
|
13
|
-
[key: string]: string;
|
|
14
|
-
};
|
|
15
|
-
query: {
|
|
16
|
-
[key: string]: string | string[] | undefined;
|
|
17
|
-
};
|
|
18
|
-
proxy?: any;
|
|
19
|
-
} & Request;
|
|
20
|
-
export type IRequest = IRequestStrict & GenericTraps;
|
|
21
|
-
export type RouterOptions = {
|
|
22
|
-
base?: string;
|
|
23
|
-
routes?: RouteEntry[];
|
|
24
|
-
} & Record<string, any>;
|
|
25
|
-
export type RouteHandler<I = IRequest, A extends any[] = any[]> = {
|
|
26
|
-
(request: I, ...args: A): any;
|
|
27
|
-
};
|
|
28
|
-
export type RouteEntry = [
|
|
29
|
-
httpMethod: string,
|
|
30
|
-
match: RegExp,
|
|
31
|
-
handlers: RouteHandler[],
|
|
32
|
-
path?: string
|
|
33
|
-
];
|
|
34
|
-
export type Route = <RequestType = IRequest, Args extends any[] = any[], RT = RouterType>(path: string, ...handlers: RouteHandler<RequestType, Args>[]) => RT;
|
|
35
|
-
export type UniversalRoute<RequestType = IRequest, Args extends any[] = any[]> = (path: string, ...handlers: RouteHandler<RequestType, Args>[]) => RouterType<UniversalRoute<RequestType, Args>, Args>;
|
|
36
|
-
type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? true : false;
|
|
37
|
-
export type CustomRoutes<R = Route> = {
|
|
38
|
-
[key: string]: R;
|
|
39
|
-
};
|
|
1
|
+
import { Equal, IRequest, IttyRouterOptions, IttyRouterType, Route, RouteHandler, UniversalRoute } from './IttyRouter';
|
|
2
|
+
export type ResponseHandler<ResponseType = any, RequestType = IRequest, Args extends any[] = any[]> = (response: ResponseType, request: RequestType, ...args: Args) => any;
|
|
3
|
+
export type ErrorHandler<ErrorOrResponse = Error, RequestType = IRequest, Args extends any[] = any[]> = (response: ErrorOrResponse, request: RequestType, ...args: Args) => any;
|
|
40
4
|
export type RouterType<R = Route, Args extends any[] = any[]> = {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
patch: R;
|
|
51
|
-
post: R;
|
|
52
|
-
put: R;
|
|
53
|
-
} & CustomRoutes<R> & Record<string, any>;
|
|
5
|
+
before?: RouteHandler[];
|
|
6
|
+
onError?: ErrorHandler[];
|
|
7
|
+
after?: ResponseHandler[];
|
|
8
|
+
} & IttyRouterType<R, Args>;
|
|
9
|
+
export type RouterOptions = {
|
|
10
|
+
before?: RouteHandler[];
|
|
11
|
+
onError?: ErrorHandler[];
|
|
12
|
+
after?: ResponseHandler[];
|
|
13
|
+
} & IttyRouterOptions;
|
|
54
14
|
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>;
|
|
55
|
-
export {};
|
package/Router.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.Router=({base:
|
|
1
|
+
"use strict";exports.Router=({base:r="",routes:e=[],...o}={})=>({__proto__:new Proxy({},{get:(o,t,a,f)=>"handle"==t?a.fetch:(o,...l)=>e.push([t.toUpperCase?.(),RegExp(`^${(f=(r+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),l,f])&&a}),routes:e,...o,async fetch(r,...t){let a,f,l=new URL(r.url),p=r.query={__proto__:null};for(let[r,e]of l.searchParams)p[r]=p[r]?[].concat(p[r],e):e;r:try{for(let e of o.before||[])if(null!=(a=await e(r.proxy??r,...t)))break r;e:for(let[o,p,c,s]of e)if((o==r.method||"ALL"==o)&&(f=l.pathname.match(p))){r.params=f.groups||{},r.route=s;for(let e of c)if(null!=(a=await e(r.proxy??r,...t)))break e}}catch(e){if(!o.onError)throw e;for(let f of o.onError)a=await f(a??e,r.proxy??r,...t)??a}for(let e of o.after||[])a=await e(a,r.proxy??r,...t)??a;return a}});
|
|
2
2
|
//# sourceMappingURL=Router.js.map
|
package/Router.js.map
CHANGED
|
@@ -1 +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","
|
|
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","t","handler","before","proxy","outer","method","regex","pathname","params","groups","err","onError","after"],"mappings":"4BA6BsB,EAIlBA,OAAO,GAAIC,SAAS,MAAOC,GAAyB,CAAE,KAExD,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAC7C,UAARF,EAAmBC,EAASE,MAE1B,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,IAEbP,YACGC,EACHe,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAErB,UAAW,MAG9D,IAAK,IAAKsB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAE/DG,EAAG,IACD,IAAK,IAAIC,KAAW5B,EAAM6B,QAAU,GAClC,GAAqE,OAAhEX,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,MAAMU,EAGnFI,EAAO,IAAK,IAAKC,EAAQC,EAAOvB,EAAUH,KAASR,EACjD,IAAKiC,GAAUhB,EAAQgB,QAAoB,OAAVA,KAAqBb,EAAQC,EAAIc,SAASf,MAAMc,IAAS,CACxFjB,EAAQmB,OAAShB,EAAMiB,QAAU,CAAA,EACjCpB,EAAQP,MAAQF,EAEhB,IAAK,IAAIqB,KAAWlB,EAClB,GAAqE,OAAhEQ,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,MAAMc,CACpF,CACJ,CAAC,MAAOM,GACP,IAAKrC,EAAMsC,QAAS,MAAMD,EAE1B,IAAK,IAAIT,KAAW5B,EAAMsC,QACxBpB,QAAiBU,EAAQV,GAAYmB,EAAKrB,EAAQc,OAASd,KAAYC,IAASC,CACnF,CAED,IAAK,IAAIU,KAAW5B,EAAMuC,OAAS,GACjCrB,QAAiBU,EAAQV,EAAUF,EAAQc,OAASd,KAAYC,IAASC,EAE3E,OAAOA,CACR"}
|
package/Router.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
const r=({base:r="",routes:e=[],...o}={})=>({__proto__:new Proxy({},{get:(o,t,a,f)=>"handle"==t?a.fetch:(o,...l)=>e.push([t.toUpperCase?.(),RegExp(`^${(f=(r+o).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),l,f])&&a}),routes:e,...o,async fetch(r,...t){let a,f,l=new URL(r.url),p=r.query={__proto__:null};for(let[r,e]of l.searchParams)p[r]=p[r]?[].concat(p[r],e):e;r:try{for(let e of o.before||[])if(null!=(a=await e(r.proxy??r,...t)))break r;e:for(let[o,p,c,n]of e)if((o==r.method||"ALL"==o)&&(f=l.pathname.match(p))){r.params=f.groups||{},r.route=n;for(let e of c)if(null!=(a=await e(r.proxy??r,...t)))break e}}catch(e){if(!o.onError)throw e;for(let f of o.onError)a=await f(a??e,r.proxy??r,...t)??a}for(let e of o.after||[])a=await e(a,r.proxy??r,...t)??a;return a}});export{r as Router};
|
|
2
2
|
//# sourceMappingURL=Router.mjs.map
|
package/Router.mjs.map
CHANGED
|
@@ -1 +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","
|
|
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","t","handler","before","proxy","outer","method","regex","pathname","params","groups","err","onError","after"],"mappings":"AA6Ba,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,MAE1B,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,IAEbP,YACGC,EACHe,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAErB,UAAW,MAG9D,IAAK,IAAKsB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAE/DG,EAAG,IACD,IAAK,IAAIC,KAAW5B,EAAM6B,QAAU,GAClC,GAAqE,OAAhEX,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,MAAMU,EAGnFI,EAAO,IAAK,IAAKC,EAAQC,EAAOvB,EAAUH,KAASR,EACjD,IAAKiC,GAAUhB,EAAQgB,QAAoB,OAAVA,KAAqBb,EAAQC,EAAIc,SAASf,MAAMc,IAAS,CACxFjB,EAAQmB,OAAShB,EAAMiB,QAAU,CAAA,EACjCpB,EAAQP,MAAQF,EAEhB,IAAK,IAAIqB,KAAWlB,EAClB,GAAqE,OAAhEQ,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,MAAMc,CACpF,CACJ,CAAC,MAAOM,GACP,IAAKrC,EAAMsC,QAAS,MAAMD,EAE1B,IAAK,IAAIT,KAAW5B,EAAMsC,QACxBpB,QAAiBU,EAAQV,GAAYmB,EAAKrB,EAAQc,OAASd,KAAYC,IAASC,CACnF,CAED,IAAK,IAAIU,KAAW5B,EAAMuC,OAAS,GACjCrB,QAAiBU,EAAQV,EAAUF,EAAQc,OAASd,KAAYC,IAASC,EAE3E,OAAOA,CACR"}
|
package/createCors.d.ts
CHANGED
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";const e=({base:e="",routes:t=[],...r}={})=>({__proto__:new Proxy({},{get:(r,o,s,n)=>"handle"==o?s.fetch:(r,...a)=>t.push([o.toUpperCase?.(),RegExp(`^${(n=(e+r).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&s}),routes:t,...r,async fetch(e,...o){let s,n,a=new URL(e.url),c=e.query={__proto__:null};for(let[e,t]of a.searchParams)c[e]=c[e]?[].concat(c[e],t):t;e:try{for(let t of r.before||[])if(null!=(s=await t(e.proxy??e,...o)))break e;t:for(let[r,c,p,l]of t)if((r==e.method||"ALL"==r)&&(n=a.pathname.match(c))){e.params=n.groups||{},e.route=l;for(let t of p)if(null!=(s=await t(e.proxy??e,...o)))break t}}catch(t){if(!r.onError)throw t;for(let n of r.onError)s=await n(s??t,e.proxy??e,...o)??s}for(let t of r.after||[])s=await t(s,e.proxy??e,...o)??s;return s}}),t=(e="text/plain; charset=utf-8",t)=>(r,{headers:o={},...s}={})=>void 0===r||"Response"===r?.constructor.name?r:new Response(t?t(r):r,{headers:{"content-type":e,...o.entries?Object.fromEntries(o):o},...s}),r=t("application/json; charset=utf-8",JSON.stringify),o=e=>({400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error"}[e]||"Unknown Error"),s=(e=500,t)=>{if(e instanceof Error){const{message:r,...s}=e;e=e.status||500,t={error:r||o(e),...s}}return t={status:e,..."object"==typeof t?t:{error:t||o(e)}},r(t,{status:e})},n=e=>{e.proxy=new Proxy(e.proxy||e,{get:(t,r)=>void 0!==t[r]?t[r].bind?.(e)||t[r]:t?.params?.[r]})};class a 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 c=t("text/plain; charset=utf-8",String),p=t("text/html"),l=t("image/jpeg"),i=t("image/png"),u=t("image/webp");exports.AutoRouter=({format:t=r,missing:o=(()=>s(404)),after:a=[],before:c=[],...p}={})=>e({before:[n,...c],onError:[s],after:[(e,...t)=>e??o(e,...t),t,...a],...p}),exports.IttyRouter=({base:e="",routes:t=[],...r}={})=>({__proto__:new Proxy({},{get:(r,o,s,n)=>(r,...a)=>t.push([o.toUpperCase?.(),RegExp(`^${(n=(e+r).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&s}),routes:t,...r,async fetch(e,...r){let o,s,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,l]of t)if((a==e.method||"ALL"==a)&&(s=n.pathname.match(c))){e.params=s.groups||{},e.route=l;for(let t of p)if(null!=(o=await t(e.proxy??e,...r)))return o}}}),exports.Router=e,exports.StatusError=a,exports.createCors=(e={})=>{const{origins:t=["*"],maxAge:r,methods:o=["GET"],headers:s={}}=e;let n;const a="function"==typeof t?t:e=>t.includes(e)||t.includes("*"),c={"content-type":"application/json","Access-Control-Allow-Methods":o.join(", "),...s};r&&(c["Access-Control-Max-Age"]=r);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:t,status:r,body:o}=e;return[101,301,302,308].includes(r)||t.get("access-control-allow-origin")?e:new Response(o,{status:r,headers:{...Object.fromEntries(t),...c,...n,"content-type":t.get("content-type")}})},preflight:e=>{const t=[...new Set(["OPTIONS",...o])],r=e.headers.get("origin")||"";if(n=a(r)&&{"Access-Control-Allow-Origin":r},"OPTIONS"===e.method){const r={...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")?r:{Allow:t.join(", ")}})}}}},exports.createResponse=t,exports.error=s,exports.html=p,exports.jpeg=l,exports.json=r,exports.png=i,exports.status=(e,t)=>new Response(null,{...t,status:e}),exports.text=c,exports.webp=u,exports.withContent=async e=>{e.content=await e.clone().json().catch((()=>e.clone().formData())).catch((()=>e.text()))},exports.withCookies=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[t,r])=>r?(e[t]=r,e):e),{})},exports.withParams=n;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/src/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/src/IttyRouter.ts","../src/src/Router.ts","../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts","../src/src/withParams.ts","../src/src/StatusError.ts","../src/src/text.ts","../src/src/html.ts","../src/src/jpeg.ts","../src/src/png.ts","../src/src/webp.ts","../src/src/AutoRouter.ts","../src/src/createCors.ts","../src/src/status.ts","../src/src/withContent.ts","../src/src/withCookies.ts"],"sourcesContent":[null,null,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","t","handler","before","proxy","outer","method","regex","pathname","params","groups","err","onError","after","createResponse","format","transform","body","headers","rest","undefined","constructor","name","Response","entries","Object","fromEntries","json","JSON","stringify","getMessage","code","error","a","b","Error","message","status","withParams","obj","bind","StatusError","super","assign","this","text","String","html","jpeg","png","webp","missing","options","r","origins","maxAge","methods","allowOrigin","isAllowOrigin","origin","includes","rHeaders","join","corsify","preflight","useMethods","Set","reqHeaders","Allow","content","clone","catch","formData","cookies","split","map","p","reduce"],"mappings":"aA0Ea,MC7CAA,EAAS,EAIlBC,OAAO,GAAIC,SAAS,MAAOC,GAAyB,CAAE,KAExD,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAC7C,UAARF,EAAmBC,EAASE,MAE1B,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,IAEbP,YACGC,EACHe,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAErB,UAAW,MAG9D,IAAK,IAAKsB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAE/DG,EAAG,IACD,IAAK,IAAIC,KAAW5B,EAAM6B,QAAU,GAClC,GAAqE,OAAhEX,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,MAAMU,EAGnFI,EAAO,IAAK,IAAKC,EAAQC,EAAOvB,EAAUH,KAASR,EACjD,IAAKiC,GAAUhB,EAAQgB,QAAoB,OAAVA,KAAqBb,EAAQC,EAAIc,SAASf,MAAMc,IAAS,CACxFjB,EAAQmB,OAAShB,EAAMiB,QAAU,CAAA,EACjCpB,EAAQP,MAAQF,EAEhB,IAAK,IAAIqB,KAAWlB,EAClB,GAAqE,OAAhEQ,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,MAAMc,CACpF,CACJ,CAAC,MAAOM,GACP,IAAKrC,EAAMsC,QAAS,MAAMD,EAE1B,IAAK,IAAIT,KAAW5B,EAAMsC,QACxBpB,QAAiBU,EAAQV,GAAYmB,EAAKrB,EAAQc,OAASd,KAAYC,IAASC,CACnF,CAED,IAAK,IAAIU,KAAW5B,EAAMuC,OAAS,GACjCrB,QAAiBU,EAAQV,EAAUF,EAAQc,OAASd,KAAYC,IAASC,EAE3E,OAAOA,CACR,ICrFQsB,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,CACP,eAAgBH,KACZG,EAAQM,QAENC,OAAOC,YAAYR,GACnBA,MAGLC,ICvBVQ,EAAOb,EAClB,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,KAAYzB,GAAQsB,EAC5BA,EAAIA,EAAEI,QAAU,IAChBH,EAAI,CACFF,MAAOI,GAAWN,EAAWG,MAC1BtB,EAEN,CAOD,OALAuB,EAAI,CACFG,OAAQJ,KACS,iBAANC,EAAiBA,EAAI,CAAEF,MAAOE,GAAKJ,EAAWG,KAGpDN,EAAKO,EAAG,CAAEG,OAAQJ,GAAI,ECpClBK,EAAchD,IACzBA,EAAQc,MAAQ,IAAI5B,MAAMc,EAAQc,OAASd,EAAS,CAClDb,IAAK,CAAC8D,EAAK5D,SAAuByC,IAAdmB,EAAI5D,GACN4D,EAAI5D,GAAM6D,OAAOlD,IAAYiD,EAAI5D,GACjC4D,GAAK9B,SAAS9B,IAChC,ECFE,MAAO8D,UAAoBN,MAC/BE,OAGAhB,YAAYgB,EAAS,IAAKpB,GACxByB,MAAsB,iBAATzB,EAAoBA,EAAKe,MAAQf,GAC9B,iBAATA,GAAqBQ,OAAOkB,OAAOC,KAAM3B,GAChD2B,KAAKP,OAASA,CACf,QCXUQ,EAAO/B,EAClB,4BACAgC,QCFWC,EAAOjC,EAAe,aCAtBkC,EAAOlC,EAAe,cCAtBmC,EAAMnC,EAAe,aCArBoC,EAAOpC,EAAe,iCCWT,EACxBC,SAASY,EACTwB,UAAU,KAAMnB,EAAM,MACtBnB,QAAQ,GACRV,SAAS,MACNiD,GAA+B,CAAE,IACjCjF,EAAO,CACVgC,OAAQ,CACNmC,KACGnC,GAELS,QAAS,CAACoB,GACVnB,MAAO,CACL,CAACwC,KAAW9D,IAAS8D,GAAKF,EAAQE,KAAM9D,GACxCwB,KACGF,MAEFuC,uBZ4CqB,EAItBhF,OAAO,GAAIC,SAAS,MAAOC,GAA6B,CAAE,KAE5D,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAErD,CAACE,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,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAErB,UAAW,MAG9D,IAAK,IAAKsB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAG/D,IAAK,IAAKQ,EAAQC,EAAOvB,EAAUH,KAASR,EAC1C,IAAKiC,GAAUhB,EAAQgB,QAAoB,OAAVA,KAAqBb,EAAQC,EAAIc,SAASf,MAAMc,IAAS,CACxFjB,EAAQmB,OAAShB,EAAMiB,QAAU,CAAA,EACjCpB,EAAQP,MAAQF,EAChB,IAAK,IAAIqB,KAAWlB,EAClB,GAAqE,OAAhEQ,QAAiBU,EAAQZ,EAAQc,OAASd,KAAYC,IAAgB,OAAOC,CACrF,CACJ,8Da/GqB,CAAC4D,EAAuB,MAEhD,MAAME,QAAEA,EAAU,CAAC,KAAIC,OAAEA,EAAMC,QAAEA,EAAU,CAAC,OAAMtC,QAAEA,EAAU,CAAE,GAAKkC,EAErE,IAAIK,EACJ,MAAMC,EAAmC,mBAAZJ,EACzBA,EACCK,GAAoBL,EAAQM,SAASD,IAAWL,EAAQM,SAAS,KAGhEC,EAAW,CACf,eAAgB,mBAChB,+BAAgCL,EAAQM,KAAK,SAC1C5C,GAIDqC,IAAQM,EAAS,0BAA4BN,GA+DjD,MAAO,CAAEQ,QA5BQvE,IACf,IAAKA,EACH,MAAM,IAAI2C,MACR,qEAGJ,MAAMjB,QAAEA,EAAOmB,OAAEA,EAAMpB,KAAEA,GAASzB,EAGlC,MACE,CAAC,IAAK,IAAK,IAAK,KAAKoE,SAASvB,IAC9BnB,EAAQzC,IAAI,+BAELe,EAGF,IAAI+B,SAASN,EAAM,CACxBoB,SACAnB,QAAS,IACJO,OAAOC,YAAYR,MACnB2C,KACAJ,EACH,eAAgBvC,EAAQzC,IAAI,kBAE9B,EAIcuF,UA5DCX,IAEjB,MAAMY,EAAa,IAAI,IAAIC,IAAI,CAAC,aAAcV,KACxCG,EAASN,EAAEnC,QAAQzC,IAAI,WAAa,GAM1C,GAHAgF,EAAcC,EAAcC,IAAW,CAAE,8BAA+BA,GAGvD,YAAbN,EAAE/C,OAAsB,CAC1B,MAAM6D,EAAa,IACdN,EACH,+BAAgCI,EAAWH,KAAK,MAChD,+BAAgCT,EAAEnC,QAAQzC,IACxC,qCAECgF,GAIL,OAAO,IAAIlC,SAAS,KAAM,CACxBL,QACEmC,EAAEnC,QAAQzC,IAAI,WACd4E,EAAEnC,QAAQzC,IAAI,kCACd4E,EAAEnC,QAAQzC,IAAI,kCACV0F,EACA,CAAEC,MAAOH,EAAWH,KAAK,QAElC,GAgC0B,qHC1FT,CAACzB,EAAgBe,IACrC,IAAI7B,SAAS,KAAM,IAAK6B,EAASf,6DCMRhD,MAAOC,IAChCA,EAAQ+E,cAAgB/E,EAAQgF,QAAQ3C,OACb4C,OAAM,IAAMjF,EAAQgF,QAAQE,aAC5BD,OAAM,IAAMjF,EAAQuD,QAAO,sBCH5BQ,IAC1BA,EAAEoB,SAAWpB,EAAEnC,QAAQzC,IAAI,WAAa,IACrCiG,MAAM,QACNC,KAAKC,GAAsBA,EAAEF,MAAM,WACnCG,QAAO,CAAC5C,GAAkBpC,EAAGC,KAAgBA,GAAMmC,EAAEpC,GAAKC,EAAImC,GAAKA,GAAI,CAAE,EAAC"}
|
package/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=({base:e="",routes:t=[],...
|
|
1
|
+
const e=({base:e="",routes:t=[],...r}={})=>({__proto__:new Proxy({},{get:(r,o,s,n)=>(r,...a)=>t.push([o.toUpperCase?.(),RegExp(`^${(n=(e+r).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&s}),routes:t,...r,async fetch(e,...r){let o,s,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,p]of t)if((a==e.method||"ALL"==a)&&(s=n.pathname.match(c))){e.params=s.groups||{},e.route=p;for(let t of l)if(null!=(o=await t(e.proxy??e,...r)))return o}}}),t=({base:e="",routes:t=[],...r}={})=>({__proto__:new Proxy({},{get:(r,o,s,n)=>"handle"==o?s.fetch:(r,...a)=>t.push([o.toUpperCase?.(),RegExp(`^${(n=(e+r).replace(/\/+(\/|$)/g,"$1")).replace(/(\/?\.?):(\w+)\+/g,"($1(?<$2>*))").replace(/(\/?\.?):(\w+)/g,"($1(?<$2>[^$1/]+?))").replace(/\./g,"\\.").replace(/(\/?)\*/g,"($1.*)?")}/*$`),a,n])&&s}),routes:t,...r,async fetch(e,...o){let s,n,a=new URL(e.url),c=e.query={__proto__:null};for(let[e,t]of a.searchParams)c[e]=c[e]?[].concat(c[e],t):t;e:try{for(let t of r.before||[])if(null!=(s=await t(e.proxy??e,...o)))break e;t:for(let[r,c,l,p]of t)if((r==e.method||"ALL"==r)&&(n=a.pathname.match(c))){e.params=n.groups||{},e.route=p;for(let t of l)if(null!=(s=await t(e.proxy??e,...o)))break t}}catch(t){if(!r.onError)throw t;for(let n of r.onError)s=await n(s??t,e.proxy??e,...o)??s}for(let t of r.after||[])s=await t(s,e.proxy??e,...o)??s;return s}}),r=(e="text/plain; charset=utf-8",t)=>(r,{headers:o={},...s}={})=>void 0===r||"Response"===r?.constructor.name?r:new Response(t?t(r):r,{headers:{"content-type":e,...o.entries?Object.fromEntries(o):o},...s}),o=r("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"),n=(e=500,t)=>{if(e instanceof Error){const{message:r,...o}=e;e=e.status||500,t={error:r||s(e),...o}}return t={status:e,..."object"==typeof t?t:{error:t||s(e)}},o(t,{status:e})},a=e=>{e.proxy=new Proxy(e.proxy||e,{get:(t,r)=>void 0!==t[r]?t[r].bind?.(e)||t[r]:t?.params?.[r]})},c=({format:e=o,missing:r=(()=>n(404)),after:s=[],before:c=[],...l}={})=>t({before:[a,...c],onError:[n],after:[(e,...t)=>e??r(e,...t),e,...s],...l});class l 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 p=(e,t)=>new Response(null,{...t,status:e}),i=r("text/plain; charset=utf-8",String),f=r("text/html"),u=r("image/jpeg"),h=r("image/png"),g=r("image/webp"),d=async e=>{e.content=await e.clone().json().catch((()=>e.clone().formData())).catch((()=>e.text()))},w=e=>{e.cookies=(e.headers.get("Cookie")||"").split(/;\s*/).map((e=>e.split(/=(.+)/))).reduce(((e,[t,r])=>r?(e[t]=r,e):e),{})},y=(e={})=>{const{origins:t=["*"],maxAge:r,methods:o=["GET"],headers:s={}}=e;let n;const a="function"==typeof t?t:e=>t.includes(e)||t.includes("*"),c={"content-type":"application/json","Access-Control-Allow-Methods":o.join(", "),...s};r&&(c["Access-Control-Max-Age"]=r);return{corsify:e=>{if(!e)throw new Error("No fetch handler responded and no upstream to proxy to specified.");const{headers:t,status:r,body:o}=e;return[101,301,302,308].includes(r)||t.get("access-control-allow-origin")?e:new Response(o,{status:r,headers:{...Object.fromEntries(t),...c,...n,"content-type":t.get("content-type")}})},preflight:e=>{const t=[...new Set(["OPTIONS",...o])],r=e.headers.get("origin")||"";if(n=a(r)&&{"Access-Control-Allow-Origin":r},"OPTIONS"===e.method){const r={...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")?r:{Allow:t.join(", ")}})}}}};export{c as AutoRouter,e as IttyRouter,t as Router,l as StatusError,y as createCors,r as createResponse,n as error,f as html,u as jpeg,o as json,h as png,p as status,i as text,g as webp,d as withContent,w as withCookies,a as withParams};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/src/
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/src/IttyRouter.ts","../src/src/Router.ts","../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts","../src/src/withParams.ts","../src/src/AutoRouter.ts","../src/src/StatusError.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/createCors.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["IttyRouter","base","routes","other","__proto__","Proxy","get","target","prop","receiver","path","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","Router","fetch","t","before","outer","err","onError","after","createResponse","format","transform","body","headers","rest","undefined","constructor","name","Response","entries","Object","fromEntries","json","JSON","stringify","getMessage","code","error","a","b","Error","message","status","withParams","obj","bind","AutoRouter","missing","options","r","StatusError","super","assign","this","text","String","html","jpeg","png","webp","withContent","content","clone","catch","formData","withCookies","cookies","split","map","p","reduce","createCors","origins","maxAge","methods","allowOrigin","isAllowOrigin","origin","includes","rHeaders","join","corsify","preflight","useMethods","Set","reqHeaders","Allow"],"mappings":"AA0Ea,MAAAA,EAAa,EAItBC,OAAO,GAAIC,SAAS,MAAOC,GAA6B,CAAE,KAE5D,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAErD,CAACC,KAAkBC,IACjBV,EAAOW,KACL,CACEL,EAAKM,gBACLC,OAAO,KAAKL,GAAQT,EAAOU,GACxBK,QAAQ,aAAc,OACtBA,QAAQ,oBAAqB,gBAC7BA,QAAQ,kBAAmB,uBAC3BA,QAAQ,MAAO,OACfA,QAAQ,WAAY,iBAEvBJ,EACAF,KAECD,IAEXP,YACGC,EACHc,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAEpB,UAAW,MAG9D,IAAK,IAAKqB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAG/D,IAAK,IAAKG,EAAQC,EAAOlB,EAAUF,KAASR,EAC1C,IAAK2B,GAAUX,EAAQW,QAAoB,OAAVA,KAAqBR,EAAQC,EAAIS,SAASV,MAAMS,IAAS,CACxFZ,EAAQc,OAASX,EAAMY,QAAU,CAAA,EACjCf,EAAQP,MAAQD,EAChB,IAAK,IAAIwB,KAAWtB,EAClB,GAAqE,OAAhEQ,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,OAAOC,CACrF,CACJ,IC5FQgB,EAAS,EAIlBnC,OAAO,GAAIC,SAAS,MAAOC,GAAyB,CAAE,KAExD,CACEC,UAAW,IAAIC,MAAM,GAAI,CAEvBC,IAAK,CAACC,EAAaC,EAAcC,EAAsBC,IAC7C,UAARF,EAAmBC,EAAS4B,MAE1B,CAAC1B,KAAkBC,IACjBV,EAAOW,KACL,CACEL,EAAKM,gBACLC,OAAO,KAAKL,GAAQT,EAAOU,GACxBK,QAAQ,aAAc,OACtBA,QAAQ,oBAAqB,gBAC7BA,QAAQ,kBAAmB,uBAC3BA,QAAQ,MAAO,OACfA,QAAQ,WAAY,iBAEvBJ,EACAF,KAECD,IAEbP,YACGC,EACHc,YAAaC,KAAyBC,GACpC,IAAIC,EACAC,EACAC,EAAM,IAAIC,IAAIL,EAAQI,KACtBE,EAA6BN,EAAQM,MAAQ,CAAEpB,UAAW,MAG9D,IAAK,IAAKqB,EAAGC,KAAMJ,EAAIK,aACrBH,EAAMC,GAAKD,EAAMC,GAAM,GAAgBG,OAAOJ,EAAMC,GAAIC,GAAKA,EAE/DY,EAAG,IACD,IAAK,IAAIJ,KAAW/B,EAAMoC,QAAU,GAClC,GAAqE,OAAhEnB,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,MAAMmB,EAGnFE,EAAO,IAAK,IAAKX,EAAQC,EAAOlB,EAAUF,KAASR,EACjD,IAAK2B,GAAUX,EAAQW,QAAoB,OAAVA,KAAqBR,EAAQC,EAAIS,SAASV,MAAMS,IAAS,CACxFZ,EAAQc,OAASX,EAAMY,QAAU,CAAA,EACjCf,EAAQP,MAAQD,EAEhB,IAAK,IAAIwB,KAAWtB,EAClB,GAAqE,OAAhEQ,QAAiBc,EAAQhB,EAAQiB,OAASjB,KAAYC,IAAgB,MAAMqB,CACpF,CACJ,CAAC,MAAOC,GACP,IAAKtC,EAAMuC,QAAS,MAAMD,EAE1B,IAAK,IAAIP,KAAW/B,EAAMuC,QACxBtB,QAAiBc,EAAQd,GAAYqB,EAAKvB,EAAQiB,OAASjB,KAAYC,IAASC,CACnF,CAED,IAAK,IAAIc,KAAW/B,EAAMwC,OAAS,GACjCvB,QAAiBc,EAAQd,EAAUF,EAAQiB,OAASjB,KAAYC,IAASC,EAE3E,OAAOA,CACR,ICrFQwB,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,CACP,eAAgBH,KACZG,EAAQM,QAENC,OAAOC,YAAYR,GACnBA,MAGLC,ICvBVQ,EAAOb,EAClB,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,KAAYzB,GAAQsB,EAC5BA,EAAIA,EAAEI,QAAU,IAChBH,EAAI,CACFF,MAAOI,GAAWN,EAAWG,MAC1BtB,EAEN,CAOD,OALAuB,EAAI,CACFG,OAAQJ,KACS,iBAANC,EAAiBA,EAAI,CAAEF,MAAOE,GAAKJ,EAAWG,KAGpDN,EAAKO,EAAG,CAAEG,OAAQJ,GAAI,ECpClBK,EAAclD,IACzBA,EAAQiB,MAAQ,IAAI9B,MAAMa,EAAQiB,OAASjB,EAAS,CAClDZ,IAAK,CAAC+D,EAAK7D,SAAuB0C,IAAdmB,EAAI7D,GACN6D,EAAI7D,GAAM8D,OAAOpD,IAAYmD,EAAI7D,GACjC6D,GAAKrC,SAASxB,IAChC,ECMS+D,EAAa,EACxB1B,SAASY,EACTe,UAAU,KAAMV,EAAM,MACtBnB,QAAQ,GACRJ,SAAS,MACNkC,GAA+B,CAAE,IACjCrC,EAAO,CACVG,OAAQ,CACN6B,KACG7B,GAELG,QAAS,CAACoB,GACVnB,MAAO,CACL,CAAC+B,KAAWvD,IAASuD,GAAKF,EAAQE,KAAMvD,GACxC0B,KACGF,MAEF8B,ICzBC,MAAOE,UAAoBV,MAC/BE,OAGAhB,YAAYgB,EAAS,IAAKpB,GACxB6B,MAAsB,iBAAT7B,EAAoBA,EAAKe,MAAQf,GAC9B,iBAATA,GAAqBQ,OAAOsB,OAAOC,KAAM/B,GAChD+B,KAAKX,OAASA,CACf,QCbUA,EAAS,CAACA,EAAgBM,IACrC,IAAIpB,SAAS,KAAM,IAAKoB,EAASN,WCCtBY,EAAOnC,EAClB,4BACAoC,QCFWC,EAAOrC,EAAe,aCAtBsC,EAAOtC,EAAe,cCAtBuC,EAAMvC,EAAe,aCArBwC,EAAOxC,EAAe,cCKtByC,EAAcpE,MAAOC,IAChCA,EAAQoE,cAAgBpE,EAAQqE,QAAQ9B,OACb+B,OAAM,IAAMtE,EAAQqE,QAAQE,aAC5BD,OAAM,IAAMtE,EAAQ6D,QAAO,ECH3CW,EAAehB,IAC1BA,EAAEiB,SAAWjB,EAAE1B,QAAQ1C,IAAI,WAAa,IACrCsF,MAAM,QACNC,KAAKC,GAAsBA,EAAEF,MAAM,WACnCG,QAAO,CAAChC,GAAkBtC,EAAGC,KAAgBA,GAAMqC,EAAEtC,GAAKC,EAAIqC,GAAKA,GAAI,CAAE,EAAC,ECDlEiC,EAAa,CAACvB,EAAuB,MAEhD,MAAMwB,QAAEA,EAAU,CAAC,KAAIC,OAAEA,EAAMC,QAAEA,EAAU,CAAC,OAAMnD,QAAEA,EAAU,CAAE,GAAKyB,EAErE,IAAI2B,EACJ,MAAMC,EAAmC,mBAAZJ,EACzBA,EACCK,GAAoBL,EAAQM,SAASD,IAAWL,EAAQM,SAAS,KAGhEC,EAAW,CACf,eAAgB,mBAChB,+BAAgCL,EAAQM,KAAK,SAC1CzD,GAIDkD,IAAQM,EAAS,0BAA4BN,GA+DjD,MAAO,CAAEQ,QA5BQtF,IACf,IAAKA,EACH,MAAM,IAAI6C,MACR,qEAGJ,MAAMjB,QAAEA,EAAOmB,OAAEA,EAAMpB,KAAEA,GAAS3B,EAGlC,MACE,CAAC,IAAK,IAAK,IAAK,KAAKmF,SAASpC,IAC9BnB,EAAQ1C,IAAI,+BAELc,EAGF,IAAIiC,SAASN,EAAM,CACxBoB,SACAnB,QAAS,IACJO,OAAOC,YAAYR,MACnBwD,KACAJ,EACH,eAAgBpD,EAAQ1C,IAAI,kBAE9B,EAIcqG,UA5DCjC,IAEjB,MAAMkC,EAAa,IAAI,IAAIC,IAAI,CAAC,aAAcV,KACxCG,EAAS5B,EAAE1B,QAAQ1C,IAAI,WAAa,GAM1C,GAHA8F,EAAcC,EAAcC,IAAW,CAAE,8BAA+BA,GAGvD,YAAb5B,EAAE7C,OAAsB,CAC1B,MAAMiF,EAAa,IACdN,EACH,+BAAgCI,EAAWH,KAAK,MAChD,+BAAgC/B,EAAE1B,QAAQ1C,IACxC,qCAEC8F,GAIL,OAAO,IAAI/C,SAAS,KAAM,CACxBL,QACE0B,EAAE1B,QAAQ1C,IAAI,WACdoE,EAAE1B,QAAQ1C,IAAI,kCACdoE,EAAE1B,QAAQ1C,IAAI,kCACVwG,EACA,CAAEC,MAAOH,EAAWH,KAAK,QAElC,GAgC0B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itty-router",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0-next.0",
|
|
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",
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
"require": "./index.js",
|
|
12
12
|
"types": "./index.d.ts"
|
|
13
13
|
},
|
|
14
|
+
"./AutoRouter": {
|
|
15
|
+
"import": "./AutoRouter.mjs",
|
|
16
|
+
"require": "./AutoRouter.js",
|
|
17
|
+
"types": "./AutoRouter.d.ts"
|
|
18
|
+
},
|
|
14
19
|
"./createCors": {
|
|
15
20
|
"import": "./createCors.mjs",
|
|
16
21
|
"require": "./createCors.js",
|
|
@@ -31,6 +36,11 @@
|
|
|
31
36
|
"require": "./html.js",
|
|
32
37
|
"types": "./html.d.ts"
|
|
33
38
|
},
|
|
39
|
+
"./IttyRouter": {
|
|
40
|
+
"import": "./IttyRouter.mjs",
|
|
41
|
+
"require": "./IttyRouter.js",
|
|
42
|
+
"types": "./IttyRouter.d.ts"
|
|
43
|
+
},
|
|
34
44
|
"./jpeg": {
|
|
35
45
|
"import": "./jpeg.mjs",
|
|
36
46
|
"require": "./jpeg.js",
|
package/withContent.d.ts
CHANGED
package/withContent.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.withContent=async t=>{t.content=
|
|
1
|
+
"use strict";exports.withContent=async t=>{t.content=await t.clone().json().catch((()=>t.clone().formData())).catch((()=>t.text()))};
|
|
2
2
|
//# sourceMappingURL=withContent.js.map
|
package/withContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withContent.js","sources":["../src/src/withContent.ts"],"sourcesContent":[null],"names":["async","request","content","
|
|
1
|
+
{"version":3,"file":"withContent.js","sources":["../src/src/withContent.ts"],"sourcesContent":[null],"names":["async","request","content","clone","json","catch","formData","text"],"mappings":"iCAO2BA,MAAOC,IAChCA,EAAQC,cAAgBD,EAAQE,QAAQC,OACbC,OAAM,IAAMJ,EAAQE,QAAQG,aAC5BD,OAAM,IAAMJ,EAAQM,QAAO"}
|
package/withContent.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const t=async t=>{t.content=
|
|
1
|
+
const t=async t=>{t.content=await t.clone().json().catch((()=>t.clone().formData())).catch((()=>t.text()))};export{t as withContent};
|
|
2
2
|
//# sourceMappingURL=withContent.mjs.map
|
package/withContent.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withContent.mjs","sources":["../src/src/withContent.ts"],"sourcesContent":[null],"names":["withContent","async","request","content","
|
|
1
|
+
{"version":3,"file":"withContent.mjs","sources":["../src/src/withContent.ts"],"sourcesContent":[null],"names":["withContent","async","request","content","clone","json","catch","formData","text"],"mappings":"MAOaA,EAAcC,MAAOC,IAChCA,EAAQC,cAAgBD,EAAQE,QAAQC,OACbC,OAAM,IAAMJ,EAAQE,QAAQG,aAC5BD,OAAM,IAAMJ,EAAQM,QAAO"}
|
package/withCookies.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IRequest } from './
|
|
1
|
+
import { IRequest } from './IttyRouter';
|
|
2
2
|
export declare const withCookies: (r: IRequest) => void;
|
package/withParams.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IRequest } from './
|
|
1
|
+
import { IRequest } from './IttyRouter';
|
|
2
2
|
export declare const withParams: (request: IRequest) => void;
|