Unify errors
A simple library to normalize typescript standard errors. Feel free to create pull request to define new errors ! Old Owner: @flexper
Usage
import { BadRequest } from 'unify-errors';
function errorExample() {
throw new BadRequest({
context: "Example context"
});
}
API
BadRequest(context?)
Return: CustomError with Bad Request message.
Unauthorized(context?)
Return: CustomError with Unauthorized message.
Forbidden(context?)
Return: CustomError with Forbidden message.
NotFound(context?)
Return: CustomError with Not Found message.
RequestTimeOut(context?)
Return: CustomError with Request TimeOut message.
InternalServerError(context?)
Return: CustomError with Internal Server Error message.
NotImplemented(context?)
Return: CustomError with Not Implemented message.
TooManyRequests(context?)
Return: CustomError with Too Many Requests message.
CustomError(message, context?)
The CustomError class extends the basic typescript Error class. It is used to create all custom errors.
Params
Field Name | Type | Default | Description |
---|
message | string | mandatory | Mandatory error message property |
context | CustomErrorContext | {} | Optional record of string |
How to use
To create a new error type, create a new class extending CustomError inside the errors folder.
Don't forget to export it from index.ts too
import { CustomErrorContext } from '../types/CustomErrorContext';
import { CustomError } from './CustomError';
export class InternalServerError extends CustomError {
constructor(public context?: CustomErrorContext) {
super('Internal Server error', context);
Object.setPrototypeOf(this, InternalServerError.prototype);
}
}
Tests
To execute jest tests (all errors, type integrity test)
pnpm test
Maintain
This package use TSdx. Please check documentation to update this package.