Commit 4ae9a97b authored by nanahira's avatar nanahira

bump version and add @ws for websocket

parent 78206759
......@@ -28,7 +28,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"jest": "^27.4.3",
"koishi": "^4.0.0-rc.2",
"koishi": "^4.0.0-rc.3",
"prettier": "^2.4.1",
"rimraf": "^3.0.2",
"supertest": "^6.1.6",
......@@ -37,7 +37,7 @@
"ws": "^8.2.3"
},
"peerDependencies": {
"koishi": "^4.0.0-rc.1"
"koishi": "^4.0.0-rc.2"
}
},
"node_modules/@babel/code-frame": {
......@@ -1026,9 +1026,9 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.0.0-rc.2",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-rc.2.tgz",
"integrity": "sha512-ohMDvkpQTUGi6xYA0OApI56c+E+lhvyIYNYLkDmC3VkU07EGWDmaEt7r9dv04LLy8pr+zx1rCkbkzPWy0BjnXw==",
"version": "4.0.0-rc.3",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-rc.3.tgz",
"integrity": "sha512-NaM0cqp126dnz6/COKIsuvDVuKE4Gb1yPQcoOof0PReVKF1qOL/MSoZGaAxEsHDpKd5CSaZfqz00aoeqhYkFCQ==",
"dev": true,
"dependencies": {
"@koishijs/utils": "^5.0.0-rc.0",
......@@ -4724,13 +4724,13 @@
}
},
"node_modules/koishi": {
"version": "4.0.0-rc.2",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-rc.2.tgz",
"integrity": "sha512-3ovz8Tp4wdMv0pWHDoBr58d+JDpvFfhzDUn5nAIrF7Bd6u9I5gi0qejK+m+2hlfmz1JJCMh9bFnR6hDApAmplw==",
"version": "4.0.0-rc.3",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-rc.3.tgz",
"integrity": "sha512-zO5/jf0XrdGXx0ZtQJ7A5b2tjkctw5We+Uc0wjQP2eGYvVeykkg6O7XdY+qnpvz+VSXylNr2gIe4FYKWTDJGHw==",
"dev": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-rc.2",
"@koishijs/core": "^4.0.0-rc.3",
"@koishijs/utils": "^5.0.0-rc.0",
"@types/koa": "*",
"@types/koa__router": "*",
......@@ -7544,9 +7544,9 @@
}
},
"@koishijs/core": {
"version": "4.0.0-rc.2",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-rc.2.tgz",
"integrity": "sha512-ohMDvkpQTUGi6xYA0OApI56c+E+lhvyIYNYLkDmC3VkU07EGWDmaEt7r9dv04LLy8pr+zx1rCkbkzPWy0BjnXw==",
"version": "4.0.0-rc.3",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-rc.3.tgz",
"integrity": "sha512-NaM0cqp126dnz6/COKIsuvDVuKE4Gb1yPQcoOof0PReVKF1qOL/MSoZGaAxEsHDpKd5CSaZfqz00aoeqhYkFCQ==",
"dev": true,
"requires": {
"@koishijs/utils": "^5.0.0-rc.0",
......@@ -10388,13 +10388,13 @@
}
},
"koishi": {
"version": "4.0.0-rc.2",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-rc.2.tgz",
"integrity": "sha512-3ovz8Tp4wdMv0pWHDoBr58d+JDpvFfhzDUn5nAIrF7Bd6u9I5gi0qejK+m+2hlfmz1JJCMh9bFnR6hDApAmplw==",
"version": "4.0.0-rc.3",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-rc.3.tgz",
"integrity": "sha512-zO5/jf0XrdGXx0ZtQJ7A5b2tjkctw5We+Uc0wjQP2eGYvVeykkg6O7XdY+qnpvz+VSXylNr2gIe4FYKWTDJGHw==",
"dev": true,
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-rc.2",
"@koishijs/core": "^4.0.0-rc.3",
"@koishijs/utils": "^5.0.0-rc.0",
"@types/koa": "*",
"@types/koa__router": "*",
......
......@@ -39,7 +39,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"jest": "^27.4.3",
"koishi": "^4.0.0-rc.2",
"koishi": "^4.0.0-rc.3",
"prettier": "^2.4.1",
"rimraf": "^3.0.2",
"supertest": "^6.1.6",
......@@ -48,7 +48,7 @@
"ws": "^8.2.3"
},
"peerDependencies": {
"koishi": "^4.0.0-rc.2"
"koishi": "^4.0.0-rc.3"
},
"dependencies": {
"@types/koa": "^2.13.4",
......
......@@ -30,6 +30,7 @@ import {
Command,
Context,
FieldCollector,
MaybeArray,
Selection,
Session,
} from 'koishi';
......@@ -67,6 +68,8 @@ export const Options = (path: string) =>
UseHttpRoute({ path, method: 'options' });
export const Head = (path: string) => UseHttpRoute({ path, method: 'head' });
export const All = (path: string) => UseHttpRoute({ path, method: 'all' });
export const Ws = (path: MaybeArray<string | RegExp>) =>
DoRegister(GenerateMappingStruct('ws', path));
export function UseCommand<D extends string>(
def: D,
......
......@@ -4,6 +4,7 @@ import {
Context,
EventMap,
FieldCollector,
MaybeArray,
Modules,
Plugin,
Selection,
......@@ -82,6 +83,7 @@ export interface DoRegisterConfigDataMap {
plugin: never;
command: CommandRegisterConfig;
route: KoishiRouteDef;
ws: MaybeArray<string | RegExp>;
}
export interface MappingStruct<
......
......@@ -307,6 +307,12 @@ export function DefinePlugin<T = any>(
this[methodKey](ctx, next),
);
break;
case 'ws':
const { data: wsPath } = regData as DoRegisterConfig<'ws'>;
baseContext.router.ws(wsPath, (socket, req) =>
this[methodKey](socket, req),
);
break;
default:
throw new Error(`Unknown operation type ${regData.type}`);
}
......
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