astroboy
Version:
Astroboy(阿童木)is a Nodejs SFB(Separation of Front and Back ends) framework, built on koa2.
100 lines (99 loc) • 3.34 kB
TypeScript
import { PureObject, IBaseContext } from './core';
import { IAstroboyPluginMiddlewareMixins, IAstroboyPluginConfigMixins, IAstroboyPluginRegisterMixins, IAstroboyPluginAppMixins, IAstroboyPluginCtxMixins } from './plugins';
import { IBaseMiddlewareConfig, IBaseProjectConfig, IBasePluginConfig } from './config';
import { IPureAstroboyContext, IBaseFrameworkDefine } from './extends/context';
import { IPureAstroboyApplication } from './extends/app';
import { IAstroboyOptions as BootstrapOptions } from './core';
export { IBaseApplication, IBaseContext, PureObject, MiddlewareFactory, NormalizedMiddleware, PriorityDefine, IPathMatchOptions, IPathIgnoreOptions, PathIgnoreOptions, } from './core';
export { IBaseLoaderConfig, IBasePluginConfig, IBaseMiddlewareConfig, IPluginOptions, IPriorityOptions, } from './config';
export * from './base';
/**
* astroboy 框架的配置参数
*
* @author Big Mogician
* @export
* @interface IAstroboyBootstrapOptions
* @extends {BootstrapOptions}
*/
export interface IAstroboyBootstrapOptions extends BootstrapOptions {
}
/** @deprecated use `IAstroboyBootstrapOptions` instead */
export interface IAstroboyBootsrrapOptions extends IAstroboyBootstrapOptions {
}
/**
* ## astroboy 基础上下文扩展结构
*
* @author Big Mogician
* @export
* @interface IAstroboyFrameworkDefine
* @extends {IBaseFrameworkDefine}
*/
export interface IAstroboyFrameworkDefine extends IBaseFrameworkDefine {
ctx: IBaseContext;
app: IAstroboyApplication;
config: PureObject;
services: {};
controllers: {};
libs: {};
}
/** @deprecated use `IAstroboyFrameworkDefine` instead */
export interface IAstroboyContextDefine extends IAstroboyFrameworkDefine {
}
/**
* ## astroboy 基础app结构
*
* @author Big Mogician
* @export
* @interface IAstroboyApplication
* @extends {IAstroboyPluginAppMixins}
* @extends {IAstroboyAppExtends<CONFIG>}
* @template CONFIG
*/
export interface IAstroboyApplication<CONFIG extends PureObject = PureObject> extends IAstroboyPluginAppMixins, IPureAstroboyApplication<CONFIG> {
}
/**
* astroboy 基础Ctx结构
*
* @author Big Mogician
* @export
* @interface IAstroboyContext
* @extends {IAstroboyPluginCtxMixins}
* @extends {IAstroboyCtxExtends<CONFIG, A>}
* @template CONFIG
* @template APP
*/
export interface IAstroboyContext<DEFINE extends Partial<IBaseFrameworkDefine> = IAstroboyFrameworkDefine> extends IAstroboyPluginCtxMixins, IPureAstroboyContext<DEFINE> {
}
/**
* astroboy 基础configs结构
*
* @author Big Mogician
* @export
* @interface IAstroboyConfigs
* @extends {IAstroboyPluginConfigMixins}
* @extends {IBaseProjectConfig}
*/
export interface IAstroboyConfigs extends IAstroboyPluginConfigMixins, IBaseProjectConfig {
}
/**
* astroboy 基础plugins结构
*
* @author Big Mogician
* @export
* @interface IAstroboyPlugins
* @extends {IAstroboyPluginRegisterMixins}
* @extends {IBasePluginConfig}
*/
export interface IAstroboyPlugins extends IAstroboyPluginRegisterMixins, IBasePluginConfig {
}
/**
* astroboy 基础middlewares结构
*
* @author Big Mogician
* @export
* @interface IAstroboyMiddlewares
* @extends {IAstroboyPluginMiddlewareMixins}
* @extends {IBaseMiddlewareConfig}
*/
export interface IAstroboyMiddlewares extends IAstroboyPluginMiddlewareMixins, IBaseMiddlewareConfig {
}