UNPKG

2.18 kBTypeScriptView Raw
1import { Container } from './container';
2import { GabliamConfig, GabliamPluginConstructor } from './interfaces';
3import { LoaderConfig, LoaderModule } from './loaders';
4import { PluginList } from './plugin-list';
5import { Registry } from './registry';
6/**
7 * Gabliam
8 */
9export declare class Gabliam {
10 container: Container;
11 config: object;
12 /**
13 * Registry
14 */
15 registry: Registry;
16 /**
17 * Module loader
18 */
19 loaderModule: LoaderModule;
20 /**
21 * Config loader
22 */
23 loaderConfig: LoaderConfig;
24 /**
25 * Plugin list
26 */
27 pluginList: PluginList;
28 options: GabliamConfig;
29 /**
30 * Constructor
31 * @param {GabliamConfig|string} options?
32 */
33 constructor(options?: Partial<GabliamConfig> | string);
34 /**
35 * Add a plugin
36 * @param {GabliamPluginConstructor} plugin
37 * @returns Gabliam
38 */
39 addPlugin(plugin: GabliamPluginConstructor): Gabliam;
40 /**
41 * Add any plugins
42 * @param {GabliamPluginConstructor[]} ...plugins
43 * @returns Gabliam
44 */
45 addPlugins(...plugins: GabliamPluginConstructor[]): Gabliam;
46 /**
47 * Build gabliam
48 * @returns Promise
49 */
50 build(): Promise<Gabliam>;
51 /**
52 * Build and start gabliam application
53 * @returns Promise
54 */
55 buildAndStart(): Promise<Gabliam>;
56 /**
57 * Stop and destroy gabliam application
58 * @returns Promise
59 */
60 stopAndDestroy(): Promise<Gabliam>;
61 /**
62 * Start gabliam application
63 *
64 * call all plugin.start
65 * @returns Promise
66 */
67 start(): Promise<Gabliam>;
68 /**
69 * Stop gabliam application
70 * call all plugin.stop
71 *
72 * @returns Promise
73 */
74 stop(): Promise<Gabliam>;
75 /**
76 * Destroy gabliam application
77 * call all plugin.destroy
78 *
79 * @returns Promise
80 */
81 destroy(): Promise<Gabliam>;
82 /**
83 * Load config file and bind result in APP_CONFIG
84 */
85 private _initializeConfig;
86 /**
87 * Binding phase
88 * Binding of config and service classes.
89 * call all plugin.bind
90 */
91 private _bind;
92 /**
93 * Config phase
94 */
95 private _loadConfig;
96}