@nahkies/typescript-koa-runtime
Version:
Runtime package for code generated by @nahkies/openapi-code-generator using the typescript-koa template
48 lines (41 loc) • 1.06 kB
text/typescript
import {
AbstractRuntimeError,
RequestInputType,
} from "@nahkies/typescript-common-runtime/errors"
export {RequestInputType}
export class KoaRuntimeError extends AbstractRuntimeError {
private constructor(
message: string,
cause: unknown,
phase: "request_validation" | "request_handler" | "response_validation",
) {
super(message, cause, phase)
}
static RequestError(
cause: unknown,
inputType: RequestInputType,
): KoaRuntimeError {
return new KoaRuntimeError(
`Request validation failed parsing ${inputType}`,
cause,
"request_validation",
)
}
static HandlerError(cause: unknown) {
return new KoaRuntimeError(
"Request handler threw unhandled exception",
cause,
"request_handler",
)
}
static ResponseError(cause: unknown) {
return new KoaRuntimeError(
"Response body failed validation",
cause,
"response_validation",
)
}
static isKoaError(err: unknown): err is KoaRuntimeError {
return err instanceof KoaRuntimeError
}
}