Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

eror

meoguru1MIT1.0.0

Error utilities which provide error classes for HTTP response (4xx, 5xx) and more.

error, errors, util, utility, utilities, http, response

readme

eror

NPM version Build status Coveralls status Support us

Error utilities which provide error classes for HTTP response (4xx, 5xx) and more.

Installation

$ npm install eror

Example

// Formatted message
new eror.InvalidTypeError('"%s" must be a string!', 'name');

// Custom status code
new eror.MissingValueError(400, '"%s" is required!', 'age');

// Pre-defined HTTP errors
new eror.NotFoundError('User "%s" not found!', 'paul');

// Custom errors
eror(503, 'The Earth is %s!', 'exploding');

API reference

eror([statusCode], [message || format], [...values])

Create a custom error.

eror(401, 'You are not logged in!');
eror('Welcome, %s %s.', 'John', 'Lennon');
  • statusCode: Status code as a number, defaults to 500.
  • message: Error message.
  • format: Placeholder string, please refer to util.format for more details.
  • ...values: Values to be placed in placeholder string.

new eror[name]([statusCode], [message || format], [...values])

Instantiate a new common error.

new eror.MissingValueError(400, '"%s" field is required!', 'name');
  • name: Class name of the error, as specified in common error list.
  • statusCode: Status code, if is not specified, default status code, 500, will be used.
  • message, format and ...values: as in eror().

new eror[name || statusCode]([message || format], [...values])

Instantiate a new HTTP error.

new eror.NotFoundError('Requested resource not found!');
new eror[500]('Server exploded at %s!', new Date());
  • name: Class name of the error, as specified in HTTP error list.
  • statusCode: Status code of HTTP error.
  • message, format and ...values: as in eror().

HTTP error's status code cannot be overridden.

Error properties

var err = eror(404, 'Nothing!');

err.message; // Nothing!
err.statusCode; // 404
err.status; // also 404
  • message
  • statusCode and status: Status code of the error.

Error class properties

eror.InternalServerError.MESSAGE; // Internal Server Error
eror.InternalServerError.STATUS_CODE; // 500
eror.InternalServerError.STATUS; // also 500
  • MESSAGE: Default error message of errors which are instantiate from this class.
  • STATUS_CODE and STATUS: Default status code.

Error list

Common errors

Class name Status code
UnsupportedOperationError 500
ReversedNameError 500
NameAlreadyDefinedError 500
InvalidOperationError 500
InvalidTypeError 500
MissingValueError 500
InvalidValueError 500

HTTP errors

Class name Status code
BadRequestError 400
UnauthorizedError 401
PaymentRequiredError 402
ForbiddenError 403
NotFoundError 404
MethodNotAllowedError 405
NotAcceptableError 406
ProxyAuthenticationRequiredError 407
RequestTimeoutError 408
ConflictError 409
GoneError 410
LengthRequiredError 411
PreconditionFailedError 412
PayloadTooLargeError 413
UriTooLongError 414
UnsupportedMediaTypeError 415
RangeNotSatisfiableError 416
ExpectationFailedError 417
ImATeapotError 418
UnprocessableEntityError 422
LockedError 423
FailedDependencyError 424
UnorderedCollectionError 425
UpgradeRequiredError 426
PreconditionRequiredError 428
TooManyRequestsError 429
RequestHeaderFieldsTooLargeError 431
UnableForLegalReasonsError 451
InternalServerError 500
NotImplementedError 501
BadGatewayError 502
ServiceUnavailableError 503
GatewayTimeoutError 504
HttpVersionNotSupportedError 505
VariantAlsoNegotiatesError 506
InsufficientStorageError 507
LoopDetectedError 508
BandwidthLimitExceededError 509
NotExtendedError 510
NetworkAuthenticationRequiredError 511

Contributing

  • Submit new issue if there is any common error, which is useful for you or others, unavailable.

  • In lieu of a formal styleguide, take care to maintain the existing coding style. .editorconfig and .jshintrc files can give you more details.

  • Add tests for any new or changed functionality/element.

  • Lint and test your code using npm test.

Author

License

Released under MIT license.

changelog

1.0.0 (2014-11-26)

Features:

  • Allow error message formatting.
  • Suport 7 common errors and 40 HTTP errors.
  • Suport custom errors.