@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
40 lines (39 loc) • 1.49 kB
TypeScript
import { Plugin, PluginOptions, Module, ModuleOptions, PisellCore, PisellOSOptions, BusinessContext, ModuleContextConfig, ServerOptions, InitializeServerOptions } from '../types';
import { EffectsManager } from '../effects';
/**
* pisell OS 核心实现
*/
declare class PisellOSCore implements PisellCore {
private plugins;
private modules;
private stores;
effects: EffectsManager;
private debug;
context: BusinessContext;
server: any;
serverOptions?: ServerOptions;
constructor(options?: PisellOSOptions);
private initialize;
/**
* 初始化 Server(公开方法,需要外部显式调用并等待)
* Server 配置从构造函数传入的 options.server 中获取
*/
initializeServer(options?: InitializeServerOptions): Promise<void>;
private log;
registerPlugin(plugin: Plugin, options?: PluginOptions): void;
getPlugin<T extends Plugin>(name: string): T | null;
hasPlugin(name: string): boolean;
registerModule(module: Module, options?: ModuleOptions): void;
unregisterModule(module: Module): void;
getModule<T extends Module>(name: string): T | null;
getModuleExports<T = any>(name: string): T | null;
hasModule(name: string): boolean;
destroy(): Promise<void>;
setContext(ctx: Partial<BusinessContext>): void;
/**
* 验证上下文参数
*/
validateContext(config: ModuleContextConfig): boolean;
}
export { PisellOSCore };
export default PisellOSCore;