Commit c83e34da authored by nanahira's avatar nanahira

add missing ws

parent b90b2c03
......@@ -11,7 +11,7 @@
"dependencies": {
"@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.14",
"cordis-decorators": "^1.0.15",
"lodash": "^4.17.21"
},
"devDependencies": {
......@@ -28,7 +28,8 @@
"prettier": "^2.7.1",
"rimraf": "^3.0.2",
"ts-jest": "^28.0.7",
"typescript": "^4.7.4"
"typescript": "^4.7.4",
"ws": "^8.8.1"
},
"peerDependencies": {
"@satorijs/satori": "^1.0.3"
......@@ -2245,9 +2246,9 @@
}
},
"node_modules/cordis-decorators": {
"version": "1.0.14",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.14.tgz",
"integrity": "sha512-8bYnky3f2dgXPLD0QhYNYlX8ufrLKWb1R0iMQJIBcTGO2WSsOF2rpALElDtEt92bqko1q4JOAZwDD2rLejBO6Q==",
"version": "1.0.15",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.15.tgz",
"integrity": "sha512-xk7U04hXfH1kA7aSRE17sfgs9AFimgkjonIByXP1TRJlOaWJHkCf2+CdeH20ajANLqh/39rhcrBrIEqkmJlxGg==",
"dependencies": {
"lodash": "^4.17.21",
"mustache": "^4.2.0",
......@@ -6135,7 +6136,6 @@
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
"integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
"peer": true,
"engines": {
"node": ">=10.0.0"
},
......@@ -7963,9 +7963,9 @@
}
},
"cordis-decorators": {
"version": "1.0.14",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.14.tgz",
"integrity": "sha512-8bYnky3f2dgXPLD0QhYNYlX8ufrLKWb1R0iMQJIBcTGO2WSsOF2rpALElDtEt92bqko1q4JOAZwDD2rLejBO6Q==",
"version": "1.0.15",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.15.tgz",
"integrity": "sha512-xk7U04hXfH1kA7aSRE17sfgs9AFimgkjonIByXP1TRJlOaWJHkCf2+CdeH20ajANLqh/39rhcrBrIEqkmJlxGg==",
"requires": {
"lodash": "^4.17.21",
"mustache": "^4.2.0",
......@@ -10860,7 +10860,6 @@
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
"integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
"peer": true,
"requires": {}
},
"xregexp": {
......
......@@ -52,7 +52,8 @@
"prettier": "^2.7.1",
"rimraf": "^3.0.2",
"ts-jest": "^28.0.7",
"typescript": "^4.7.4"
"typescript": "^4.7.4",
"ws": "^8.8.1"
},
"peerDependencies": {
"@satorijs/satori": "^1.0.3"
......@@ -60,7 +61,7 @@
"dependencies": {
"@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.14",
"cordis-decorators": "^1.0.15",
"lodash": "^4.17.21"
}
}
import { Context } from '@satorijs/satori';
import { Registrar } from 'cordis-decorators';
import { selectContext, Selection } from './utility/select-context';
import WebSocket from 'ws';
import {
DefaultContext,
......@@ -9,6 +9,8 @@ import {
Next as KoaNext,
} from 'koa';
import { RouterParamContext } from '@koa/router';
import { IncomingMessage } from 'http';
import { selectContext, Selection } from './utility/select-context';
export type KoaContext = ParameterizedContext<
DefaultState,
......@@ -23,7 +25,7 @@ export class SatoriRegistrar<Ctx extends Context> extends Registrar<Ctx> {
RouterMethod: this.decorateMethod(
'route',
(
ctx,
{ ctx },
fun: (ctx: KoaContext, Next: KoaNext) => Promise<any>,
method:
| 'get'
......@@ -40,7 +42,14 @@ export class SatoriRegistrar<Ctx extends Context> extends Registrar<Ctx> {
return ctx.router[method](_path, (koaCtx, next) => fun(koaCtx, next));
},
),
Ws: this.decorateMethod,
Ws: this.decorateMethod(
'ws',
(
{ ctx },
action: (socket: WebSocket, request: IncomingMessage) => any,
path: string,
) => ctx.router.ws(path.startsWith('/') ? path : `/${path}`, action),
),
};
}
......
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