UNPKG

@zerooneit/expressive-tea

Version:
50 lines (49 loc) 1.97 kB
import { Express } from 'express'; import Settings from '../classes/Settings'; import { ExpressiveTeaApplication } from '../libs/interfaces'; /** * Expressive Tea Application interface is the response from an started application, contains the express application * and a node http server instance. * @typedef {Object} ExpressiveTeaApplication * @property {Express} application - Express Application Instance * @property {HTTPServer} server - HTTP Server Object * @summary Application Interface */ /** * <b>Bootstrap Server Engine Class</b> is an abstract class to provide the Expressive Tea engine and bootstraps tools. * This is containing the logic and full functionality of Expressive Tea and only can be extended. * * @abstract * @class Boot * @summary Bootstrap Engine Class */ declare abstract class Boot { /** * Maintain a reference to Singleton instance of Settings, if settings still does not initialized it will created * automatically when extended class create a new instance. * * @type {Settings} * @public * @summary Server Settings instance reference */ settings: Settings; /** * Automatically create an Express application instance which will be user to configure over all the boot stages. * @type {Express} * @private * @readonly * @summary Express Application instance internal property. */ private readonly server; constructor(); /** * Bootstrap and verify that all the required plugins are correctly configured and proceed to attach all the * registered modules. <b>Remember</b> this is the unique method that must be decorated for the Register Module * decorator. * @summary Initialize and Bootstrap Server. * @returns {Promise<ExpressiveTeaApplication>} */ start(): Promise<ExpressiveTeaApplication>; } export declare function resolveProxy(ProxyContainer: any, server: Express): Promise<void>; export default Boot;