DefinitelyTyped/types/yog2-kernel/index.d.ts

94 lines
2.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Type definitions for yog2-kernel 1.9
// Project: https://github.com/fex-team/yog2-kernel
// Definitions by: ssddi456 <https://github.com/ssddi456>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.6
import * as express from "express";
import * as _ from "lodash";
import * as ral from "node-ral";
import * as log from "yog-log";
import * as yogBigpipe from "yog-bigpipe";
declare global {
const yog: yog.Yog;
}
export interface YogBootstrapOption {
// 设置yog根目录默认使用启动文件的目录
rootPath?: string;
// 设置plugins目录
pluginsPath?: string;
// 设置conf目录
confPath?: string;
// 设置app未设置则直接使用express
app?: express.Express;
}
export interface Request extends express.Request {
CURRENT_APP: string;
ral: typeof ral.RAL;
ralP: typeof ral.RALPromise;
}
export interface Response extends express.Response {
bigpipe: yogBigpipe.BigPipe;
}
export interface ActionObject {
get?: express.RequestHandler;
post?: express.RequestHandler;
put?: express.RequestHandler;
delete?: express.RequestHandler;
del?: express.RequestHandler;
copy?: express.RequestHandler;
head?: express.RequestHandler;
options?: express.RequestHandler;
purge?: express.RequestHandler;
lock?: express.RequestHandler;
unlock?: express.RequestHandler;
propfind?: express.RequestHandler;
view?: express.RequestHandler;
link?: express.RequestHandler;
unlick?: express.RequestHandler;
patch?: express.RequestHandler;
[key: string]: any;
}
export interface Router extends express.Router {
action(actionName: string): express.RequestHandler | ActionObject;
wrapAsync(fn: (req: Request, resp: Response, next: express.NextFunction) => any): express.RequestHandler;
}
export namespace yog {
class Yog {
express: typeof express;
app: express.Express;
_: typeof _;
log: log.Logger;
// 当 yog.conf.promise.overrideRAL 为true时可以当作promise使用
ral: typeof ral.RAL | typeof ral.RALPromise;
RAL: typeof ral.RAL;
ralP: typeof ral.RALPromise;
view: {
// 清除viewcache
cleanCache(): void;
};
// debug模式时存在
reloadApp?(appName: string): void;
// debug模式时存在
reloadView?(): void;
// debug模式时存在
reloadIsomorphic?(): void;
ROOT_PATH: string;
bootstrap(option: YogBootstrapOption, callback?: () => void): void;
}
}
export default yog;