itty-router 3.0.9 → 3.0.10
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/dist/itty-router.d.ts +7 -2
- package/dist/itty-router.js +1 -1
- package/dist/itty-router.mjs +1 -1
- package/package.json +2 -1
package/dist/itty-router.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
declare type GenericTraps = {
|
|
2
2
|
[key: string]: any;
|
|
3
3
|
};
|
|
4
|
+
declare type RequestLike = {
|
|
5
|
+
method: string;
|
|
6
|
+
url: string;
|
|
7
|
+
} & GenericTraps;
|
|
4
8
|
declare type IRequest = {
|
|
5
9
|
method: string;
|
|
6
10
|
url: string;
|
|
@@ -10,6 +14,7 @@ declare type IRequest = {
|
|
|
10
14
|
query: {
|
|
11
15
|
[key: string]: string | undefined;
|
|
12
16
|
};
|
|
17
|
+
proxy?: any;
|
|
13
18
|
} & GenericTraps;
|
|
14
19
|
interface RouterOptions {
|
|
15
20
|
base?: string;
|
|
@@ -32,8 +37,8 @@ declare type RouterHints = {
|
|
|
32
37
|
declare type RouterType = {
|
|
33
38
|
__proto__: RouterType;
|
|
34
39
|
routes: RouteEntry[];
|
|
35
|
-
handle: (request:
|
|
40
|
+
handle: (request: RequestLike, ...extra: any) => Promise<any>;
|
|
36
41
|
} & RouterHints;
|
|
37
42
|
declare const Router: ({ base, routes }?: RouterOptions) => RouterType;
|
|
38
43
|
|
|
39
|
-
export { GenericTraps, IRequest, Route, RouteEntry, RouteHandler, Router, RouterHints, RouterOptions, RouterType };
|
|
44
|
+
export { GenericTraps, IRequest, RequestLike, Route, RouteEntry, RouteHandler, Router, RouterHints, RouterOptions, RouterType };
|
package/dist/itty-router.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var x=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},h=(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=>h(s({},"__esModule",{value:!0}),r);var $={};x($,{Router:()=>T});module.exports=f($);var m=r=>[...r.entries()].reduce((e,[t,n])=>(e[t]===void 0?e[t]=n:e[t]=[e[t],n].flat())&&e||e,{}),T=({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,i,R]of e)if((u===t.method||u==="ALL")&&(p=a.pathname.match(i))){t.params=p.groups||{};for(let y of R)if((o=await y(t.proxy||t,...n))!==void 0)return o}}});0&&(module.exports={Router});
|
package/dist/itty-router.mjs
CHANGED
|
@@ -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,
|
|
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,i]of t)if((s===e.method||s==="ALL")&&(n=p.pathname.match(u))){e.params=n.groups||{};for(let R of i)if((o=await R(e.proxy||e,...r))!==void 0)return o}}});export{l as Router};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itty-router",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.10",
|
|
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",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"homepage": "https://itty-router.dev",
|
|
59
59
|
"devDependencies": {
|
|
60
|
+
"@cloudflare/workers-types": "^4.20221111.1",
|
|
60
61
|
"@vitejs/plugin-vue": "^2.2.4",
|
|
61
62
|
"@vitest/coverage-c8": "^0.24.3",
|
|
62
63
|
"coveralls": "^3.1.1",
|