2.0.4 • Published 2 months ago

@knowdev/errors v2.0.4

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
2 months ago

KnowDev Errors 🚒

📋 Usage

Installation

npm install --save @knowdev/errors

Throwing/Catching Errors

// See `Reference` for full list
const { InternalError } = require("@knowdev/errors");

try {
  // Code happens...
  throw InternalError("Oh, I am slain!");
} catch (error) {
  // Is this from @knowdev/errors?
  if(error.isProjectError) {
    {
      name,   // ProjectError
      title,  // "Internal Server Error"
      detail, // "Oh, I am slain"
      status, // 500 (HTTP code)
    } = error;
  } else {
    // Not from @knowdev/errors
    throw error;
  }
}

Format Error

if(error.isProjectError) {
  return error.json();
}

Multi-Error Usage

const errors = [];
errors.push(BadGatewayError());
errors.push(NotFoundError());
throw MultiError(errors);

📖 Reference

ErrorStatus
BadGatewayError502
BadRequestError400
ConfigurationError500
ForbiddenError403
GatewayTimeoutError504
GoneError410
IllogicalError500
InternalError500
MethodNotAllowedError405
MultiErrorVaries
NotFoundError404
NotImplementedError400
RejectedError403
TeapotError418
UnavailableError503
UnhandledError500
UnreachableCodeError500

📝 Changelog

  • v1.0.0 - First release
  • v1.1.0 - Add json() formatting function
  • v1.2.0 - Add IllogicalError, UnhandledError
  • v1.3.0 - Can be constructed with or without new keyword
  • v1.4.0 - Add UnauthorizedError
  • v1.4.1 - Module syntax compatibility
  • v2.0.0 - Module syntax exclusivity

🛣 Roadmap

  • Separate lib/http package
  • Move formatError to http

📜 License

All rights reserved. Safe for use around pets.

2.0.4

2 months ago

2.0.3

2 months ago

2.0.2

3 months ago

2.0.1

3 months ago

1.4.5

4 months ago

1.4.4

4 months ago

1.4.3

4 months ago

1.4.2

4 months ago

2.0.0

4 months ago

1.4.0

11 months ago

1.2.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.1.0

2 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago