class ErrorFactory { public readonly OKAY = 100; public readonly OKAY_BUILD_STARTED = 101; public readonly STATUS_ERROR_GENERIC = 1000; public readonly STATUS_ERROR_CAPTAIN_NOT_INITIALIZED = 1001; public readonly STATUS_ERROR_USER_NOT_INITIALIZED = 1101; public readonly STATUS_ERROR_NOT_AUTHORIZED = 1102; public readonly STATUS_ERROR_ALREADY_EXIST = 1103; public readonly STATUS_ERROR_BAD_NAME = 1104; public readonly STATUS_WRONG_PASSWORD = 1105; public readonly STATUS_AUTH_TOKEN_INVALID = 1106; public readonly VERIFICATION_FAILED = 1107; public readonly UNKNOWN_ERROR = 1999; constructor() {} createError(status: number, message: string) { let e = new Error(message) as any; e.captainStatus = status; e.captainMessage = message; return e; } eatUpPromiseRejection() { return function(error: any) { // nom nom }; } } export default new ErrorFactory();