itty-router 3.0.9 → 3.0.10-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.
@@ -1,26 +1,31 @@
1
- declare type GenericTraps = {
1
+ export declare type GenericTraps = {
2
2
  [key: string]: any;
3
3
  };
4
- declare type IRequest = {
4
+ export declare type RequestLike = {
5
+ method: string;
6
+ url: string;
7
+ } & GenericTraps;
8
+ export declare type IRequest = {
5
9
  method: string;
6
10
  url: string;
7
11
  params: {
8
12
  [key: string]: string;
9
13
  };
10
14
  query: {
11
- [key: string]: string | undefined;
15
+ [key: string]: string | string[] | undefined;
12
16
  };
17
+ proxy?: any;
13
18
  } & GenericTraps;
14
- interface RouterOptions {
19
+ export interface RouterOptions {
15
20
  base?: string;
16
21
  routes?: RouteEntry[];
17
22
  }
18
- interface RouteHandler {
23
+ export interface RouteHandler {
19
24
  (request: IRequest, ...args: any): any;
20
25
  }
21
- declare type RouteEntry = [string, RegExp, RouteHandler[]];
22
- declare type Route = <T extends RouterType>(path: string, ...handlers: RouteHandler[]) => T;
23
- declare type RouterHints = {
26
+ export declare type RouteEntry = [string, RegExp, RouteHandler[]];
27
+ export declare type Route = <T extends RouterType>(path: string, ...handlers: RouteHandler[]) => T;
28
+ export declare type RouterHints = {
24
29
  all: Route;
25
30
  delete: Route;
26
31
  get: Route;
@@ -29,11 +34,9 @@ declare type RouterHints = {
29
34
  post: Route;
30
35
  put: Route;
31
36
  };
32
- declare type RouterType = {
37
+ export declare type RouterType = {
33
38
  __proto__: RouterType;
34
39
  routes: RouteEntry[];
35
- handle: (request: IRequest, ...extra: any) => Promise<any>;
40
+ handle: (request: RequestLike, ...extra: any) => Promise<any>;
36
41
  } & RouterHints;
37
- declare const Router: ({ base, routes }?: RouterOptions) => RouterType;
38
-
39
- export { GenericTraps, IRequest, Route, RouteEntry, RouteHandler, Router, RouterHints, RouterOptions, RouterType };
42
+ export declare const Router: ({ base, routes }?: RouterOptions) => RouterType;
@@ -1 +1 @@
1
- "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var h=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},x=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of g(e))!d.call(r,o)&&o!==t&&s(r,o,{get:()=>e[o],enumerable:!(n=l(e,o))||n.enumerable});return r};var f=r=>x(s({},"__esModule",{value:!0}),r);var T={};h(T,{Router:()=>$});module.exports=f(T);var m=r=>[...r.entries()].reduce((e,[t,n])=>(e[t]===void 0?e[t]=n:e[t]=[e[t],n].flat())&&e||e,{}),$=({base:r="",routes:e=[]}={})=>({__proto__:new Proxy({},{get:(t,n,o)=>(p,...a)=>e.push([n.toUpperCase(),RegExp(`^${(r+p).replace(/(\/?)\*/g,"($1.*)?").replace(/(\/$)|((?<=\/)\/)/,"").replace(/(:(\w+)\+)/,"(?<$2>.*)").replace(/:(\w+)(\?)?(\.)?/g,"$2(?<$1>[^/]+)$2$3").replace(/\.(?=[\w(])/,"\\.").replace(/\)\.\?\(([^\[]+)\[\^/g,"?)\\.?($1(?<=\\.)[^\\.")}/*$`),a])&&o}),routes:e,async handle(t,...n){let o,p,a=new URL(t.url);t.query=m(a.searchParams);for(let[u,R,i]of e)if((u===t.method||u==="ALL")&&(p=a.pathname.match(R))){t.params=p.groups||{};for(let y of i)if((o=await y(t.proxy||t,...n))!==void 0)return o}}});0&&(module.exports={Router});
1
+ "use strict";exports.Router=({base:e="",routes:r=[]}={})=>({__proto__:new Proxy({},{get:(a,o,t)=>(a,...p)=>r.push([o.toUpperCase(),RegExp(`^${(e+a).replace(/(\/?)\*/g,"($1.*)?").replace(/(\/$)|((?<=\/)\/)/,"").replace(/(:(\w+)\+)/,"(?<$2>.*)").replace(/:(\w+)(\?)?(\.)?/g,"$2(?<$1>[^/]+)$2$3").replace(/\.(?=[\w(])/,"\\.").replace(/\)\.\?\(([^\[]+)\[\^/g,"?)\\.?($1(?<=\\.)[^\\.")}/*$`),p])&&t}),routes:r,async handle(e,...a){let o,t,p=new URL(e.url),l=e.query={};for(let[e,r]of p.searchParams)l[e]=void 0===l[e]?r:[l[e],r].flat();for(let[l,s,c]of r)if((l===e.method||"ALL"===l)&&(t=p.pathname.match(s))){e.params=t.groups||{};for(let r of c)if(void 0!==(o=await r(e.proxy||e,...a)))return o}}});
@@ -1 +1 @@
1
- var y=a=>[...a.entries()].reduce((t,[e,r])=>(t[e]===void 0?t[e]=r:t[e]=[t[e],r].flat())&&t||t,{}),l=({base:a="",routes:t=[]}={})=>({__proto__:new Proxy({},{get:(e,r,o)=>(n,...p)=>t.push([r.toUpperCase(),RegExp(`^${(a+n).replace(/(\/?)\*/g,"($1.*)?").replace(/(\/$)|((?<=\/)\/)/,"").replace(/(:(\w+)\+)/,"(?<$2>.*)").replace(/:(\w+)(\?)?(\.)?/g,"$2(?<$1>[^/]+)$2$3").replace(/\.(?=[\w(])/,"\\.").replace(/\)\.\?\(([^\[]+)\[\^/g,"?)\\.?($1(?<=\\.)[^\\.")}/*$`),p])&&o}),routes:t,async handle(e,...r){let o,n,p=new URL(e.url);e.query=y(p.searchParams);for(let[s,u,R]of t)if((s===e.method||s==="ALL")&&(n=p.pathname.match(u))){e.params=n.groups||{};for(let i of R)if((o=await i(e.proxy||e,...r))!==void 0)return o}}});export{l as Router};
1
+ const e=({base:e="",routes:r=[]}={})=>({__proto__:new Proxy({},{get:(a,o,t)=>(a,...p)=>r.push([o.toUpperCase(),RegExp(`^${(e+a).replace(/(\/?)\*/g,"($1.*)?").replace(/(\/$)|((?<=\/)\/)/,"").replace(/(:(\w+)\+)/,"(?<$2>.*)").replace(/:(\w+)(\?)?(\.)?/g,"$2(?<$1>[^/]+)$2$3").replace(/\.(?=[\w(])/,"\\.").replace(/\)\.\?\(([^\[]+)\[\^/g,"?)\\.?($1(?<=\\.)[^\\.")}/*$`),p])&&t}),routes:r,async handle(e,...a){let o,t,p=new URL(e.url),l=e.query={};for(let[e,r]of p.searchParams)l[e]=void 0===l[e]?r:[l[e],r].flat();for(let[l,s,c]of r)if((l===e.method||"ALL"===l)&&(t=p.pathname.match(s))){e.params=t.groups||{};for(let r of c)if(void 0!==(o=await r(e.proxy||e,...a)))return o}}});export{e as Router};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itty-router",
3
- "version": "3.0.9",
3
+ "version": "3.0.10-next.0",
4
4
  "description": "Tiny, zero-dependency API router - built for Cloudflare Workers, but works everywhere!",
5
5
  "sourceType": "module",
6
6
  "main": "./dist/itty-router.js",
@@ -41,7 +41,7 @@
41
41
  "dev": "yarn test",
42
42
  "prerelease": "yarn verify",
43
43
  "prebuild": "rimraf dist && mkdir dist",
44
- "build": "tsup src/itty-router.ts --format cjs,esm --dts --minify --clean",
44
+ "build": "rollup -c",
45
45
  "release": "release --tag --push --patch",
46
46
  "prerelease:next": "yarn verify",
47
47
  "release:next": "release --push --type=next"
@@ -57,6 +57,9 @@
57
57
  },
58
58
  "homepage": "https://itty-router.dev",
59
59
  "devDependencies": {
60
+ "@cloudflare/workers-types": "^4.20221111.1",
61
+ "@rollup/plugin-terser": "^0.2.1",
62
+ "@rollup/plugin-typescript": "^10.0.1",
60
63
  "@vitejs/plugin-vue": "^2.2.4",
61
64
  "@vitest/coverage-c8": "^0.24.3",
62
65
  "coveralls": "^3.1.1",
@@ -69,7 +72,8 @@
69
72
  "jsdom": "^20.0.1",
70
73
  "npm-run-all": "^4.1.5",
71
74
  "rimraf": "^3.0.2",
72
- "tsup": "^6.3.0",
75
+ "rollup": "^3.8.1",
76
+ "rollup-plugin-bundle-size": "^1.0.3",
73
77
  "typescript": "^4.8.4",
74
78
  "vite": "^2.8.6",
75
79
  "vitest": "^0.24.3",