Minor koa decorator fixes.
This commit is contained in:
Generated
+7
-8
@@ -221,13 +221,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "25.5.2",
|
"version": "25.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
|
||||||
"integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==",
|
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.18.0"
|
"undici-types": "~7.19.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/qs": {
|
"node_modules/@types/qs": {
|
||||||
@@ -520,7 +520,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/koa/-/koa-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/koa/-/koa-3.2.0.tgz",
|
||||||
"integrity": "sha512-TrM4/tnNY7uJ1aW55sIIa+dqBvc4V14WRIAlGcWat9wV5pRS9Wr5Zk2ZTjQP1jtfIHDoHiSbPuV08P0fUZo2pg==",
|
"integrity": "sha512-TrM4/tnNY7uJ1aW55sIIa+dqBvc4V14WRIAlGcWat9wV5pRS9Wr5Zk2ZTjQP1jtfIHDoHiSbPuV08P0fUZo2pg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"accepts": "^1.3.8",
|
"accepts": "^1.3.8",
|
||||||
"content-disposition": "~1.0.1",
|
"content-disposition": "~1.0.1",
|
||||||
@@ -693,9 +692,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "7.18.2",
|
"version": "7.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
|
||||||
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
|||||||
+6
-2
@@ -17,6 +17,7 @@ export function get(path: string) {
|
|||||||
if (!context.metadata[routeSymbol]) {
|
if (!context.metadata[routeSymbol]) {
|
||||||
context.metadata[routeSymbol] = [] as Route[];
|
context.metadata[routeSymbol] = [] as Route[];
|
||||||
}
|
}
|
||||||
|
// @ts-ignore
|
||||||
context.metadata[routeSymbol].push({method: 'get', path, fn: originalMethod});
|
context.metadata[routeSymbol].push({method: 'get', path, fn: originalMethod});
|
||||||
}
|
}
|
||||||
return originalMethod;
|
return originalMethod;
|
||||||
@@ -27,8 +28,9 @@ export function post(path: string) {
|
|||||||
return function getDecorator (originalMethod: any, context: ClassMethodDecoratorContext) {
|
return function getDecorator (originalMethod: any, context: ClassMethodDecoratorContext) {
|
||||||
if (context.metadata) {
|
if (context.metadata) {
|
||||||
if (!context.metadata[routeSymbol]) {
|
if (!context.metadata[routeSymbol]) {
|
||||||
context.metadata[routeSymbol] = [] as Route;
|
context.metadata[routeSymbol] = [] as Route[];
|
||||||
}
|
}
|
||||||
|
// @ts-ignore
|
||||||
context.metadata[routeSymbol].push({method: 'post', path, fn: originalMethod});
|
context.metadata[routeSymbol].push({method: 'post', path, fn: originalMethod});
|
||||||
}
|
}
|
||||||
return originalMethod;
|
return originalMethod;
|
||||||
@@ -41,6 +43,7 @@ export function middleware(fn: any, path: string = '') {
|
|||||||
if (!context.metadata[routeSymbol]) {
|
if (!context.metadata[routeSymbol]) {
|
||||||
context.metadata[routeSymbol] = [];
|
context.metadata[routeSymbol] = [];
|
||||||
}
|
}
|
||||||
|
// @ts-ignore
|
||||||
context.metadata[routeSymbol].unshift({method: 'use', path, fn});
|
context.metadata[routeSymbol].unshift({method: 'use', path, fn});
|
||||||
}
|
}
|
||||||
return constructor;
|
return constructor;
|
||||||
@@ -54,7 +57,8 @@ export function router(prefix: string) {
|
|||||||
constructor(...args: any[]) {
|
constructor(...args: any[]) {
|
||||||
super(...args);
|
super(...args);
|
||||||
this.router = new Router({prefix});
|
this.router = new Router({prefix});
|
||||||
for (const route of context.metadata?.[routeSymbol] || [] satisfies Route[]) switch (route.method) {
|
|
||||||
|
for (const route of (context.metadata?.[routeSymbol] || []) as Route[]) switch (route.method) {
|
||||||
case "get": this.router.get(route.path, route.fn); break;
|
case "get": this.router.get(route.path, route.fn); break;
|
||||||
case "post": this.router.post(route.path, route.fn); break;
|
case "post": this.router.post(route.path, route.fn); break;
|
||||||
case 'use': this.router.use(route.fn); break;
|
case 'use': this.router.use(route.fn); break;
|
||||||
|
|||||||
Reference in New Issue
Block a user