Commit 9cd28c80 authored by nanahira's avatar nanahira

Put everything in BasePlugin public

parent 2d7c1d5a
......@@ -33,7 +33,7 @@ export type PartialDeep<T> = T extends
};
export class BasePlugin<C, PC = PartialDeep<C>> {
constructor(protected ctx: Context, config: PC) {}
constructor(public ctx: Context, config: PC) {}
@InjectConfig()
config: C;
......
import { ClonePlugin } from './utility/clone-plugin';
import { Context } from 'koishi';
import { PartialDeep } from './base-plugin';
import { BasePlugin, PartialDeep } from './base-plugin';
import { ClassPluginConfig, MultiPluginConfig, TypeFromClass } from './def';
import { ClassType } from 'schemastery-gen';
import { ToInstancesConfig } from './utility/to-instance-config';
import Schema from 'schemastery';
import { InjectConfig, PluginSchema, UsingService } from './decorators';
import { PluginSchema, UsingService } from './decorators';
import { UseEvent } from 'koishi-decorators';
export class MultiInstancePluginFramework<
InnerPlugin extends new (ctx: Context, config: any) => any,
OuterConfig,
> extends BasePlugin<
MultiPluginConfig<ClassPluginConfig<InnerPlugin>, OuterConfig>,
MultiPluginConfig<ClassPluginConfig<InnerPlugin>, PartialDeep<OuterConfig>>
> {
constructor(
public ctx: Context,
config: MultiPluginConfig<
ClassPluginConfig<InnerPlugin>,
PartialDeep<OuterConfig>
>,
) {}
@InjectConfig()
config: MultiPluginConfig<ClassPluginConfig<InnerPlugin>, OuterConfig>;
instances: TypeFromClass<InnerPlugin>[] = [];
_getInnerPlugin(): InnerPlugin {
......
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