UNPKG

pdd

Version:
127 lines (126 loc) 3.26 kB
import { Container } from './container'; import type { UtilityClass, UtilityObject } from './type/utils'; import type { APP_CONFIG, IServiceProvider } from './type/types'; /** * Application 核心应用 * @extends Container * @author SunnyXu <xy@ztes.com> */ export declare class Application extends Container { private static VERSION; private adapters; private providers; /** * lifecycle * 生命周期 * @private */ private static lifecycle; /** * getterProviders Providers 获取器 */ getterProviders(): IServiceProvider[]; /** * getProviders * 获取 * @protected */ private static getProviders; /** * setterProviders Providers * 设置器 * @param providers */ setterProviders(providers: IServiceProvider[]): void; /** * setProviders * 设置 * @param providers */ static setProviders(providers: IServiceProvider[]): void; /** * registerProvider * @description 注册服务提供者 * @param Provider */ static registerProvider(Provider: any): void; /** * registerProviders * 批量注册 * @param providers */ static registerProviders(providers: IServiceProvider[]): void; /** * config * 配置 * @param {Object} config * @param {String} name */ static setConfig(name: string, config: UtilityObject): void; /** * getConfig * 获取 * @param name * @param {Object} def 默认值 */ static getConfig(name: string, def?: any): UtilityObject; /** * setAppConfig * 设置App配置 * @param config */ static setAppConfig(config: APP_CONFIG): void; /** * getAppConfig * 获取App配置 * @param name * @description 遵守getAppConfig中参数值和返回值的约定 */ static getAppConfig<T extends keyof APP_CONFIG>(name: T): APP_CONFIG[T]; /** * bindAdapter * @description zh-CN 绑定适配器 * @param Adapter * @param payload */ static bindAdapter(Adapter: UtilityClass, payload?: UtilityObject): void; /** * setAdapter * 新增 * @param adapter * @param instance * @protected */ setterAdapter(adapter: UtilityClass, instance: UtilityObject): void; /** * static getAdapter * 获取适配器 * @param adapter 必须是个类 * @return instance */ static getAdapter(adapter: UtilityClass): any; /** * static getAdapter * 适配器 获取器 * @param adapter */ getterAdapter(adapter: UtilityClass): any; /** * getService * 获取服务实例 * @param serviceName */ static getService<T>(serviceName: string): T; /** * Application instance * 获取应用实例 * @description 应该使用Proxy进行拦截,目前先放行 */ static getInstance(): Application; /** * App run * 框架应用运行 * @param {CallableFunction} callback */ static run(callback?: CallableFunction): void; }