Commit ddc8f85a authored by nanahira's avatar nanahira

bump

parent f033f8eb
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
"dependencies": { "dependencies": {
"@types/koa": "^2.13.5", "@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11", "@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.12", "cordis-decorators": "^1.0.13",
"lodash": "^4.17.21" "lodash": "^4.17.21"
}, },
"devDependencies": { "devDependencies": {
...@@ -2245,9 +2245,9 @@ ...@@ -2245,9 +2245,9 @@
} }
}, },
"node_modules/cordis-decorators": { "node_modules/cordis-decorators": {
"version": "1.0.12", "version": "1.0.13",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.12.tgz", "resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.13.tgz",
"integrity": "sha512-IuJY+F9GNrHvXdiGqFl8lNJHElF1PjvvbIOft36GUYN9C3sqq1QRUvsVNjnRzWJj91gy4nLD4Dm/WFkx+kPfhQ==", "integrity": "sha512-GHVvGHnbBiCFJIr5T9YYEKFx/K1yliHHrt00op3uyQB9IQVmSxnWwSHcf48xoPOtVAoEiFe3jC4513TjZE/0AA==",
"dependencies": { "dependencies": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mustache": "^4.2.0", "mustache": "^4.2.0",
...@@ -7963,9 +7963,9 @@ ...@@ -7963,9 +7963,9 @@
} }
}, },
"cordis-decorators": { "cordis-decorators": {
"version": "1.0.12", "version": "1.0.13",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.12.tgz", "resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.13.tgz",
"integrity": "sha512-IuJY+F9GNrHvXdiGqFl8lNJHElF1PjvvbIOft36GUYN9C3sqq1QRUvsVNjnRzWJj91gy4nLD4Dm/WFkx+kPfhQ==", "integrity": "sha512-GHVvGHnbBiCFJIr5T9YYEKFx/K1yliHHrt00op3uyQB9IQVmSxnWwSHcf48xoPOtVAoEiFe3jC4513TjZE/0AA==",
"requires": { "requires": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mustache": "^4.2.0", "mustache": "^4.2.0",
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
"dependencies": { "dependencies": {
"@types/koa": "^2.13.5", "@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11", "@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.12", "cordis-decorators": "^1.0.13",
"lodash": "^4.17.21" "lodash": "^4.17.21"
} }
} }
import { defaultRegistrarS } from '../registrar'; import { defaultRegistrarS } from '../registrar';
import {
DefaultContext,
DefaultState,
ParameterizedContext,
Next as KoaNext,
} from 'koa';
import { RouterParamContext } from '@koa/router';
export type KoaContext = ParameterizedContext< const { RouterMethod } = defaultRegistrarS.methodDecorators();
DefaultState,
DefaultContext & RouterParamContext<DefaultState, DefaultContext>,
any
>;
const RouterMethod = defaultRegistrarS.decorateMethod(
'route',
(
ctx,
fun: (ctx: KoaContext, Next: KoaNext) => Promise<any>,
method:
| 'get'
| 'post'
| 'put'
| 'delete'
| 'patch'
| 'options'
| 'head'
| 'all',
path: string,
) => {
const _path = path.startsWith('/') ? path : `/${path}`;
return ctx.router[method](_path, (koaCtx, next) => fun(koaCtx, next));
},
);
export const Get = (path: string) => RouterMethod('get', path); export const Get = (path: string) => RouterMethod('get', path);
export const Post = (path: string) => RouterMethod('post', path); export const Post = (path: string) => RouterMethod('post', path);
......
...@@ -2,10 +2,45 @@ import { Context } from '@satorijs/satori'; ...@@ -2,10 +2,45 @@ import { Context } from '@satorijs/satori';
import { Registrar } from 'cordis-decorators'; import { Registrar } from 'cordis-decorators';
import { selectContext, Selection } from './utility/select-context'; import { selectContext, Selection } from './utility/select-context';
import {
DefaultContext,
DefaultState,
ParameterizedContext,
Next as KoaNext,
} from 'koa';
import { RouterParamContext } from '@koa/router';
export type KoaContext = ParameterizedContext<
DefaultState,
DefaultContext & RouterParamContext<DefaultState, DefaultContext>,
any
>;
export class SatoriRegistrar<Ctx extends Context> extends Registrar<Ctx> { export class SatoriRegistrar<Ctx extends Context> extends Registrar<Ctx> {
methodDecorators() { methodDecorators() {
return { return {
...super.methodDecorators(), ...super.methodDecorators(),
RouterMethod: this.decorateMethod(
'route',
(
ctx,
fun: (ctx: KoaContext, Next: KoaNext) => Promise<any>,
method:
| 'get'
| 'post'
| 'put'
| 'delete'
| 'patch'
| 'options'
| 'head'
| 'all',
path: string,
) => {
const _path = path.startsWith('/') ? path : `/${path}`;
return ctx.router[method](_path, (koaCtx, next) => fun(koaCtx, next));
},
),
Ws: this.decorateMethod,
}; };
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment