Commit e0a6dbde authored by nanahira's avatar nanahira

support contextify multi instance config

parent e1944fc5
import { ClonePlugin } from '../utility/clone-plugin'; import { ClonePlugin } from '../utility/clone-plugin';
import { Context } from 'koishi'; import { Selection } from 'koishi';
import { BasePlugin } from '../base-plugin'; import { BasePlugin } from '../base-plugin';
import { import {
ClassPluginConfig, ClassPluginConfig,
...@@ -19,7 +19,7 @@ import { LifecycleEvents } from '../register'; ...@@ -19,7 +19,7 @@ import { LifecycleEvents } from '../register';
export class MultiInstancePluginFramework<InnerPlugin extends PluginClass> export class MultiInstancePluginFramework<InnerPlugin extends PluginClass>
extends BasePlugin< extends BasePlugin<
Instances<ClassPluginConfig<InnerPlugin>>, Instances<ClassPluginConfig<InnerPlugin>>,
Instances<ClassPluginConfig<InnerPlugin>> Instances<ClassPluginConfig<InnerPlugin> & Selection>
> >
implements LifecycleEvents implements LifecycleEvents
{ {
...@@ -38,7 +38,8 @@ export class MultiInstancePluginFramework<InnerPlugin extends PluginClass> ...@@ -38,7 +38,8 @@ export class MultiInstancePluginFramework<InnerPlugin extends PluginClass>
`${this.constructor.name}_${innerPlugin.name}_instance_${i}`, `${this.constructor.name}_${innerPlugin.name}_instance_${i}`,
(instance) => this.instances.push(instance), (instance) => this.instances.push(instance),
); );
this.ctx.plugin(clonedInnerPlugin, this.config.instances[i]); const instanceConfig = this.config.instances[i];
this.ctx.select(instanceConfig).plugin(clonedInnerPlugin, instanceConfig);
} }
} }
......
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