2019-09-19 10:59:00 +00:00
|
|
|
import { Container } from "@ms/container";
|
2019-09-07 04:23:15 +00:00
|
|
|
|
|
|
|
export namespace plugin {
|
|
|
|
/**
|
|
|
|
* MiaoScript Plugin
|
|
|
|
*/
|
|
|
|
export const Plugin = Symbol("Plugin");
|
|
|
|
/**
|
|
|
|
* Runtime Plugin Instance
|
|
|
|
*/
|
|
|
|
export const PluginInstance = Symbol("PluginInstance");
|
|
|
|
/**
|
|
|
|
* MiaoScript Plugin Manager
|
|
|
|
*/
|
|
|
|
export const PluginManager = Symbol("PluginManager");
|
|
|
|
/**
|
|
|
|
* MiaoScript Plugin Manager
|
|
|
|
*/
|
|
|
|
export interface PluginManager {
|
|
|
|
scan(folder: string): void;
|
2019-09-19 10:59:00 +00:00
|
|
|
build(container: Container): void;
|
|
|
|
load(...args: any[]): void;
|
|
|
|
enable(...args: any[]): void;
|
|
|
|
disable(...args: any[]): void;
|
|
|
|
reload(...args: any[]): void;
|
2019-09-07 04:23:15 +00:00
|
|
|
}
|
|
|
|
}
|