You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1017 B
TypeScript

/**
* 错误响应
*/
interface ExpressResponseError extends Record<string,unknown>{
error:string
}
/**
* 成功响应
*/
interface ExpressResponseSuccess extends Record<string,unknown>{
message:string
}
/**
* 响应列表
*/
interface ExpressResponseList<T=Record<string,unknown>> extends Record<string,unknown>{
list:T[]
}
interface ExpressResponseDetail<T=Record<string,unknown>> extends Record<string,unknown>{
detail:T
}
type SSEPayload = Record<string|number,SSEPayload>|string|number
declare namespace Express {
export interface Response {
error(error:string,statusCode:number,errObj?:Record<string,unknown>):ExpressResponseError
list<T=Record<string,unknown>>(list:T,resObj?:Record<string,unknown>):ExpressResponseList<T>
detail<T=Record<string,unknown>>(detail:T,resObj?:Record<string,unknown>):ExpressResponseDetail<T>
success(message:string,resObj?:Record<string,unknown>):ExpressResponseSuccess
enable_sse():this
sse(data:SSEPayload,event:string):this
}
}