2019-09-07 04:23:15 +00:00
|
|
|
export namespace plugin {
|
|
|
|
/**
|
|
|
|
* MiaoScript Plugin
|
|
|
|
*/
|
|
|
|
export const Plugin = Symbol("Plugin");
|
2020-02-24 08:25:16 +00:00
|
|
|
/**
|
2020-02-29 14:28:43 +00:00
|
|
|
* MiaoScript Plugin Folder
|
2020-02-24 08:25:16 +00:00
|
|
|
*/
|
|
|
|
export const PluginFolder = Symbol("PluginFolder");
|
2019-09-07 04:23:15 +00:00
|
|
|
/**
|
|
|
|
* Runtime Plugin Instance
|
|
|
|
*/
|
|
|
|
export const PluginInstance = Symbol("PluginInstance");
|
|
|
|
/**
|
2020-02-24 08:25:16 +00:00
|
|
|
* MiaoScript Plugin Manager Symbol
|
2019-09-07 04:23:15 +00:00
|
|
|
*/
|
|
|
|
export const PluginManager = Symbol("PluginManager");
|
|
|
|
/**
|
2020-02-24 08:25:16 +00:00
|
|
|
* MiaoScript Plugin Manager Interface
|
2019-09-07 04:23:15 +00:00
|
|
|
*/
|
|
|
|
export interface PluginManager {
|
|
|
|
scan(folder: string): void;
|
2020-01-17 03:10:30 +00:00
|
|
|
build(): void;
|
2019-09-19 10:59:00 +00:00
|
|
|
load(...args: any[]): void;
|
|
|
|
enable(...args: any[]): void;
|
|
|
|
disable(...args: any[]): void;
|
|
|
|
reload(...args: any[]): void;
|
2019-09-22 10:00:18 +00:00
|
|
|
getPlugins(): Map<string, any>;
|
2019-09-07 04:23:15 +00:00
|
|
|
}
|
|
|
|
}
|