@zerooneit/expressive-tea
Version:
A REST API over Express and Typescript
127 lines (126 loc) • 5.74 kB
JavaScript
// tslint:disable:max-line-length
/**
* As Expressive Tea have some stages when is boot the application, this enum helps to attach plugin when use the Pour
* or Plug decorations and this is the definition.
*
* <b>BOOT_DEPENDENCIES</b>: Used for some application dependencies, example, databases configuration or websocket settings.
*
* <b>INITIALIZE_MIDDLEWARES</b>: Used for application middlewares, example body-parser, cors, sessions express plugins.
*
* <b>APPLICATION</b>: Used internally to register all modules registered by Module decorator.
*
* <b>AFTER_APPLICATION_MIDDLEWARES</b>: Used to add middlewares after routers, commonly used for Error handling.
*
* <b>START</b>: This Stage is used to execute some code or attach middlewares before application starts and might be used to
* settings something after plugins/middlewares registered.
*
* @inner
* @export
* @enum {number}
* @summary Available Boot Stages
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.PROXY_PROPERTIES = exports.PROXY_METHODS = exports.ARGUMENT_TYPES = exports.PROXY_SETTING_KEY = exports.ROUTER_PROXIES_KEY = exports.ROUTER_ANNOTATIONS_KEY = exports.ARGUMENTS_KEY = exports.REGISTERED_DIRECTIVES_KEY = exports.REGISTERED_STATIC_KEY = exports.PLUGINS_KEY = exports.REGISTERED_MODULE_KEY = exports.REGISTERED_MODEL_KEY = exports.ROUTER_MIDDLEWARES_KEY = exports.ROUTER_HANDLERS_KEY = exports.BOOT_STAGES_KEY = exports.EXPRESS_DIRECTIVES = exports.STAGES_INIT = exports.BOOT_STAGES_LIST = exports.BOOT_ORDER = exports.BOOT_STAGES = void 0;
// tslint:enable:max-line-length
var BOOT_STAGES;
(function (BOOT_STAGES) {
BOOT_STAGES[BOOT_STAGES["BOOT_DEPENDENCIES"] = 0] = "BOOT_DEPENDENCIES";
BOOT_STAGES[BOOT_STAGES["INITIALIZE_MIDDLEWARES"] = 1] = "INITIALIZE_MIDDLEWARES";
BOOT_STAGES[BOOT_STAGES["APPLICATION"] = 2] = "APPLICATION";
BOOT_STAGES[BOOT_STAGES["AFTER_APPLICATION_MIDDLEWARES"] = 3] = "AFTER_APPLICATION_MIDDLEWARES";
BOOT_STAGES[BOOT_STAGES["START"] = 4] = "START";
BOOT_STAGES[BOOT_STAGES["ON_HTTP_CREATION"] = 5] = "ON_HTTP_CREATION";
})(BOOT_STAGES = exports.BOOT_STAGES || (exports.BOOT_STAGES = {}));
/**
* This Determinate how the application is booting internally, this should not be modified unless you know what are you
* doing, however, even that is the case should not be modified. The Order is the next one:
*
* <b><i>BOOT_DEPENDENCIES</i></b> --> <b><i>INITIALIZE_MIDDLEWARES</i></b> --> <b><i>APPLICATION</i></b> -->
* <b><i>AFTER_APPLICATION_MIDDLEWARES</i></b> --> <b><i>START</i></b>
* @inner
* @type Array<BOOT_STAGES>
* @constant
* @summary Current Aplication Boot Order
*/
exports.BOOT_ORDER = [
BOOT_STAGES.BOOT_DEPENDENCIES,
BOOT_STAGES.INITIALIZE_MIDDLEWARES,
// BOOT_STAGES.APPLICATION,
// BOOT_STAGES.AFTER_APPLICATION_MIDDLEWARES,
// BOOT_STAGES.START
];
exports.BOOT_STAGES_LIST = [
BOOT_STAGES.BOOT_DEPENDENCIES,
BOOT_STAGES.INITIALIZE_MIDDLEWARES,
BOOT_STAGES.APPLICATION,
BOOT_STAGES.AFTER_APPLICATION_MIDDLEWARES,
BOOT_STAGES.START
];
exports.STAGES_INIT = {
[BOOT_STAGES.BOOT_DEPENDENCIES]: [],
[BOOT_STAGES.INITIALIZE_MIDDLEWARES]: [],
[BOOT_STAGES.APPLICATION]: [],
[BOOT_STAGES.AFTER_APPLICATION_MIDDLEWARES]: [],
[BOOT_STAGES.START]: []
};
exports.EXPRESS_DIRECTIVES = [
'case sensitive routing',
'env',
'etag',
'jsonp callback name',
'json escape',
'json replacer',
'json spaces',
'query parser',
'strict routing',
'subdomain offset',
'trust proxy',
'views',
'view cache',
'view engine',
'x-powered-by'
];
exports.BOOT_STAGES_KEY = 'boot:stage-settings';
exports.ROUTER_HANDLERS_KEY = 'app:routes:handlers';
exports.ROUTER_MIDDLEWARES_KEY = 'app:routes:middlewares';
exports.REGISTERED_MODEL_KEY = 'app:models:registered';
exports.REGISTERED_MODULE_KEY = 'app:modules:registered';
exports.PLUGINS_KEY = 'boot:app-plugins';
exports.REGISTERED_STATIC_KEY = 'app:statics';
exports.REGISTERED_DIRECTIVES_KEY = 'app:directives';
exports.ARGUMENTS_KEY = 'app:routes:arguments';
exports.ROUTER_ANNOTATIONS_KEY = 'app:routes:annotations';
exports.ROUTER_PROXIES_KEY = 'app:routes:proxies';
exports.PROXY_SETTING_KEY = 'app:proxy:settings';
exports.ARGUMENT_TYPES = {
BODY: Symbol('BODY'),
GET_PARAM: Symbol('GET_PARAM'),
NEXT: Symbol('NEXT'),
QUERY: Symbol('QUERY'),
REQUEST: Symbol('REQUEST'),
RESPONSE: Symbol('RESPONSE')
};
var PROXY_METHODS;
(function (PROXY_METHODS) {
PROXY_METHODS["HOST"] = "host";
PROXY_METHODS["PROXY_REQ_PATH_RESOLVER"] = "proxyReqPathResolver";
PROXY_METHODS["FILTER"] = "filter";
PROXY_METHODS["USER_RES_DECORATOR"] = "userResDecorator";
PROXY_METHODS["USER_RES_HEADER_DECORATOR"] = "userResHeaderDecorator";
PROXY_METHODS["SKIP_TO_NEXT_HANDLER_FILTER"] = "skipToNextHandlerFilter";
PROXY_METHODS["PROXY_ERROR_HANDLER"] = "proxyErrorHandler";
PROXY_METHODS["PROXY_REQ_OPT_DECORATOR"] = "proxyReqOptDecorator";
PROXY_METHODS["PROXY_REQ_BODY_DECORATOR"] = "proxyReqBodyDecorator";
})(PROXY_METHODS = exports.PROXY_METHODS || (exports.PROXY_METHODS = {}));
var PROXY_PROPERTIES;
(function (PROXY_PROPERTIES) {
PROXY_PROPERTIES["LIMIT"] = "limit";
PROXY_PROPERTIES["MEMOIZE_HOST"] = "memoizeHost";
PROXY_PROPERTIES["HTTPS"] = "https";
PROXY_PROPERTIES["PRESERVE_HOST_HDR"] = "preserveHostHdr";
PROXY_PROPERTIES["PARSE_REQ_BODY"] = "parseReqBody";
PROXY_PROPERTIES["REQ_AS_BUFFER"] = "reqAsBuffer";
PROXY_PROPERTIES["REQ_BODY_ENCODING"] = "reqBodyEncoding";
PROXY_PROPERTIES["TIMEOUT"] = "timeout";
})(PROXY_PROPERTIES = exports.PROXY_PROPERTIES || (exports.PROXY_PROPERTIES = {}));
;