Commit 5bbaad02 authored by nanahira's avatar nanahira

bump

parent 7f426d34
......@@ -21,7 +21,7 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.0",
"koishi": "^4.0.0-beta.1",
"prettier": "^2.4.1",
"typescript": "^4.4.4",
"ws": "^8.2.3"
......@@ -198,9 +198,9 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.0.tgz",
"integrity": "sha512-G40ePYqygU5BUxW62CuqrHF9cK8qfX3Vjcc0k4r92rnGAN6qyxhQY8LMx7ZMBpZmk91x0J+FY7C6KuSIu7smJQ==",
"version": "4.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.1.tgz",
"integrity": "sha512-GqZplnc+tD/fy6Iy6E2y177y3l2ie90pi7wUrA/iMX76mEJoFcONqz92G/fBiNYcrBCh5BOKKk2hEqVfQ+1HMA==",
"dependencies": {
"@koishijs/utils": "^5.0.0-beta.0",
"fastest-levenshtein": "^1.0.12"
......@@ -2037,12 +2037,12 @@
}
},
"node_modules/koishi": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.0.tgz",
"integrity": "sha512-WtQ2oMREo/ZJKDceSDhz4X15EHJM9O9yXzDZaihchdRJUa95xkt5rVN1RwtRlLdBcahLbZdHyfgmArEuyR8kUw==",
"version": "4.0.0-beta.1",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.1.tgz",
"integrity": "sha512-6L8O+9lkplOh6ZH/tWyZEjSFbGIOfIm7KgC1VCg5a2SQaSsdMOjSSaIhziKDFGGsGw5FrUfkR8QUWrOFRjKGPA==",
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.0",
"@koishijs/core": "^4.0.0-beta.1",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.0",
"@koishijs/utils": "^5.0.0-beta.0",
"@types/koa": "*",
......@@ -3225,9 +3225,9 @@
}
},
"@koishijs/core": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.0.tgz",
"integrity": "sha512-G40ePYqygU5BUxW62CuqrHF9cK8qfX3Vjcc0k4r92rnGAN6qyxhQY8LMx7ZMBpZmk91x0J+FY7C6KuSIu7smJQ==",
"version": "4.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.1.tgz",
"integrity": "sha512-GqZplnc+tD/fy6Iy6E2y177y3l2ie90pi7wUrA/iMX76mEJoFcONqz92G/fBiNYcrBCh5BOKKk2hEqVfQ+1HMA==",
"requires": {
"@koishijs/utils": "^5.0.0-beta.0",
"fastest-levenshtein": "^1.0.12"
......@@ -4614,12 +4614,12 @@
}
},
"koishi": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.0.tgz",
"integrity": "sha512-WtQ2oMREo/ZJKDceSDhz4X15EHJM9O9yXzDZaihchdRJUa95xkt5rVN1RwtRlLdBcahLbZdHyfgmArEuyR8kUw==",
"version": "4.0.0-beta.1",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.1.tgz",
"integrity": "sha512-6L8O+9lkplOh6ZH/tWyZEjSFbGIOfIm7KgC1VCg5a2SQaSsdMOjSSaIhziKDFGGsGw5FrUfkR8QUWrOFRjKGPA==",
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.0",
"@koishijs/core": "^4.0.0-beta.1",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.0",
"@koishijs/utils": "^5.0.0-beta.0",
"@types/koa": "*",
......
......@@ -35,13 +35,13 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.0",
"koishi": "^4.0.0-beta.1",
"prettier": "^2.4.1",
"typescript": "^4.4.4",
"ws": "^8.2.3"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.0"
"koishi": "^4.0.0-beta.1"
},
"dependencies": {
"koishi-utils-schemagen": "^1.1.9",
......
......@@ -20,7 +20,6 @@ import { reflector } from './meta/meta-fetch';
import { applySelector } from './utility/utility';
export interface KoishiPluginRegistrationOptions<T = any> {
name?: string;
schema?: Schema<T> | Type<T>;
}
......@@ -54,8 +53,11 @@ function getContextFromFilters(ctx: Context, filters: OnContextFunction[]) {
export function KoishiPlugin<T = any>(
options: KoishiPluginRegistrationOptions<T> = {},
) {
return function <C extends { new (...args: any[]): any }>(originalClass: C) {
return function <C extends { new (...args: any[]): any; schema?: Schema }>(
originalClass: C,
) {
const newClass = class extends originalClass implements PluginClass {
static schema = options.schema || originalClass.schema || undefined;
__ctx: Context;
__config: T;
__rawConfig: T;
......@@ -328,26 +330,6 @@ export function KoishiPlugin<T = any>(
this._initializePluginClass().then();
}
};
if (options.name) {
Object.defineProperty(newClass, 'name', {
enumerable: true,
configurable: true,
writable: true,
value: options.name,
});
}
if (options.schema) {
const schema =
typeof options.schema === 'function'
? schemaFromClass(options.schema)
: options.schema;
Object.defineProperty(newClass, 'schema', {
enumerable: true,
configurable: true,
writable: true,
value: schema,
});
}
return newClass;
};
}
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