astroboy
Version:
Astroboy(阿童木)is a Nodejs SFB(Separation of Front and Back ends) framework, built on koa2.
93 lines (92 loc) • 2.2 kB
TypeScript
import { PathIgnoreOptions } from './core';
/**
* ## 优先级配置项
*
* @author Big Mogician
* @export
* @interface IPriority
*/
export interface IPriority {
priority: number;
}
/**
* ## 配置Pattern参数组
*
* @author Big Mogician
* @export
* @interface IOptions
*/
export interface IOptions {
pattern: string | string[];
configPattern: string | string[];
applicationPattern: string | string[];
contextPattern: string | string[];
requestPattern: string | string[];
responsePattern: string | string[];
controllerPattern: string | string[];
}
/**
* ## 中间件默认配置
*
* @author Big Mogician
* @export
* @interface IPriorityOptions
* @extends {IPriority}
*/
export interface IPriorityOptions extends IPriority {
options?: Partial<IOptions>;
}
/**
* ## Base Framework Loaders Config
*
* @author Big Mogician
* @export
* @interface IBaseLoaderConfig
*/
export interface IBaseLoaderConfig {
AstroboyPkgLoader: IPriorityOptions;
AstroboyExtendLoader: IPriorityOptions;
AstroboyConfigLoader: IPriorityOptions;
AstroboyMiddlewareLoader: IPriorityOptions;
AstroboyLibLoader: IPriorityOptions;
AstroboyBootLoader: IPriorityOptions;
AstroboyControllerLoader: IPriorityOptions;
AstroboyServiceLoader: IPriorityOptions;
AstroboyRouterLoader: IPriorityOptions;
AstroboyVersionFileLoader: IPriorityOptions;
AstroboyFnLoader: IPriorityOptions;
}
/**
* ## 插件配置
*
* @author Big Mogician
* @export
* @interface IPluginOptions
*/
export interface IPluginOptions {
enable: boolean;
path?: string;
package?: string;
}
/**
* ## Base Framework Plugins Config
*
* @author Big Mogician
* @export
* @interface IBasePluginConfig
*/
export interface IBasePluginConfig {
'astroboy-body': IPluginOptions;
'astroboy-router': IPluginOptions;
'astroboy-security': IPluginOptions;
'astroboy-static': IPluginOptions;
'astroboy-view': IPluginOptions;
}
export declare type IMiddlewareOptions<OPT = any> = PathIgnoreOptions<OPT> & {
enable?: boolean;
priority?: number;
};
export interface IBaseMiddlewareConfig {
}
export interface IBaseProjectConfig {
}