UNPKG

error3

Version:

Error3 is proper JS error implementation. It supports error codes, message formatting (e.g. i18n) and nested errors.

25 lines (19 loc) 495 B
import Error3 from 'error3' const formatters = { 404: ({url}) => `Url "${url} not found`, 500: (_, [error]) => `Internal server error: ${error.message}` } class HttpError extends Error3 { format(details: object, errors: Error[]) { return formatters[this.code](details, errors) } } type HttpDetails = { url: string } export class NotFound extends HttpError<HttpDetails, void> { code = 404 } export class InternalError extends HttpError<HttpDetails, [error]> { code = 500 }