Commit 019ed62e authored by nanahira's avatar nanahira

use ConfigLike

parent 5f982606
Pipeline #6292 passed with stages
in 1 minute and 1 second
......@@ -5,3 +5,5 @@ export class MyPluginConfig {
@DefineSchema({ desc: '命令名', default: 'cmd' })
commandName: string;
}
export type MyPluginConfigLike = Partial<MyPluginConfig>;
import 'source-map-support/register';
import { Context } from 'koishi';
import { MyPlugin } from './plugin';
import { MyPluginConfig } from './config';
import { MyPluginConfigLike } from './config';
export { MyPluginConfig } from './config';
export const name = 'myplugin';
const plugin = new MyPlugin();
export const schema = plugin.schema;
export function apply(ctx: Context, config: Partial<MyPluginConfig>) {
export function apply(ctx: Context, config: Partial<MyPluginConfigLike>) {
ctx.plugin(plugin, config);
}
import 'source-map-support/register';
import { Context, Schema } from 'koishi';
import { MyPluginConfig } from './config';
import { MyPluginConfig, MyPluginConfigLike } from './config';
import { schemaFromClass, schemaTransform } from 'koishi-utils-schemagen';
export class MyPlugin {
private config: MyPluginConfig;
private ctx: Context;
name = 'myplugin-main';
schema: Schema<MyPluginConfig> = schemaFromClass(MyPluginConfig);
apply(ctx: Context, config: Partial<MyPluginConfig>) {
schema: Schema<MyPluginConfigLike> = schemaFromClass(MyPluginConfig);
apply(ctx: Context, config: MyPluginConfigLike) {
this.ctx = ctx;
this.config = schemaTransform(MyPluginConfig, config);
}
......
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