plugin-tls
Version:
plugin-tls 是插件系统相应的工具,可快速地让任何模块具备插件机制
36 lines • 1.23 kB
TypeScript
import { PluginManager } from "./PluginManager";
import type { IPlugin, HostInst, FormatUseParameters } from "./PluginManager";
/**
* 插件的接口
*
* @typeParam HOST - 插件宿主的类类型
* @typeParam Options - 插件的选项类型
*/
export interface IPluginWithInit<HOST, Options = void> extends IPlugin<HOST, Options> {
/**
* 当宿主实例被初始化时调用
* @param host - 新建的宿主实例
* @param options - 注册插件时的选项
*/
inited?(host: HostInst<HOST>, ...options: FormatUseParameters<Options>): any;
}
/**
* 插件管理者
*
* @remarks
* 负责管理插件的注册、应用 等
*
* @typeParam HostClassType 插件宿主类的类型
*
*/
export declare class PluginManagerWithInit<HostClassType, Plugin extends IPluginWithInit<HostClassType, any> = IPluginWithInit<HostClassType, any>> extends PluginManager<HostClassType, Plugin> {
/**
* 插件宿主创建实例时调用
*
* @remarks
* 会调用每个插件的 {@link IPlugin.created | IPlugin.created()} 方法
* @param hostInst - 插件宿主的新实例
*/
inited(hostInst: HostInst<HostClassType>): void;
}
//# sourceMappingURL=PluginManagerWithInit.d.ts.map