StatusError name

This commit is contained in:
Stan Wohlwend 2024-04-15 14:10:22 +02:00
parent 075ca1d303
commit 02fe7bee2f
2 changed files with 5 additions and 0 deletions

View File

@ -21,6 +21,8 @@ export type KnownErrorConstructor<Instance extends KnownError, Args extends any[
};
export abstract class KnownError extends StatusError {
public name = "KnownError";
constructor(
public readonly statusCode: number,
public readonly humanReadableMessage: string,
@ -112,6 +114,7 @@ function createKnownErrorConstructor<ErrorCode extends string, Super extends Abs
// @ts-expect-error this is not a mixin, but TS detects it as one
class KnownErrorImpl extends SuperClass {
public static readonly errorCode = errorCode;
public name = `KnownError<${errorCode}>`;
constructor(...args: Args) {
// @ts-expect-error

View File

@ -17,6 +17,7 @@ export function throwErr(...args: any[]): never {
export class StackAssertionError extends Error {
public name = "StackAssertionError";
constructor(message: string, public readonly extraData?: Record<string, any>, options?: ErrorOptions) {
super(`${message}\n\nThis is likely an error in Stack. Please report it.`, options);
}
@ -54,6 +55,7 @@ type StatusErrorConstructorParameters = [
];
export class StatusError extends Error {
public name = "StatusError";
public readonly statusCode: number;
public static BadRequest = { statusCode: 400, message: "Bad Request" };