@zerooneit/expressive-tea
Version:
A REST API over Express and Typescript
50 lines (49 loc) • 1.97 kB
TypeScript
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;