Commit e33ea961 authored by nanahira's avatar nanahira

use schemagen as default

parent 6a881169
Pipeline #6277 passed with stages
in 1 minute and 33 seconds
......@@ -15,4 +15,5 @@ npm install --save-dev \
ts-loader \
webpack \
webpack-cli \
koishi@^4.0.0-alpha.9
koishi@^4.0.0-alpha.9 \
koishi-utils-schemagen
import 'source-map-support/register';
import { DefineSchema, UseSchema } from 'koishi-utils-schemagen';
import { Schema } from 'koishi';
export class Config {
@DefineSchema({ type: 'string', desc: '命令名', default: 'cmd' })
commandName: string;
}
import 'source-map-support/register';
import { Context } from 'koishi';
import { Config, MyPlugin } from './plugin';
export { Config } from './plugin';
import { MyPlugin } from './plugin';
import { Config } from './config';
export { Config } from './config';
export const name = 'my-plugin';
const plugin = new MyPlugin();
export const schema = plugin.schema;
export function apply(ctx: Context, config: Config) {
export function apply(ctx: Context, config: Partial<Config>) {
ctx.plugin(plugin, config);
}
import 'source-map-support/register';
import { Context, Schema } from 'koishi';
export interface Config {
prefix: string;
}
import { Config } from './config';
import { schemaFromClass, schemaTransform } from 'koishi-utils-schemagen';
export class MyPlugin {
config: Config
ctx: Context;
private config: Config;
private ctx: Context;
name = 'my-plugin-main';
schema: Schema<Config> = Schema.object({
prefix: Schema.string('desc')
});
apply(ctx: Context, config: Config) {
schema: Schema<Config> = schemaFromClass(Config);
apply(ctx: Context, config: Partial<Config>) {
this.ctx = ctx;
this.config = Schema.validate(config, this.schema);;
this.config = schemaTransform(Config, 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