Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@ganintegrity/gan-error
Advanced tools
an extendable ES6 Error with support for HTTP errors
npm install --save @ganintegrity/gan-error
const GanError = require('@ganintegrity/gan-error');
const error = new GanError('something bad happened');
console.log(error.message); // => 'something bad happened'
console.log(error.name); // => 'GanError'
class MyError extends GanError {}
const myError = new MyError('some other bad thing happened');
console.log(myError.message); // => 'some other bad thing happened'
console.log(myError.name); // => 'MyError''
When passed an error instance, the message
is "inherited" from the error
instance and the passed error stored as originalError
:
class CustomError extends GanError {}
const error = new CustomError(new Error('foo'));
console.log(error.message); // => 'foo'
console.log(error.originalError); // => new Error('foo')
Also, if the passed error instance has a status
property, it will also be
copied over from the error:
class CustomError extends GanError {}
const error = new CustomError(new GanError.InternalServerError('foo'));
console.log(error.message); // => 'foo'
console.log(error.status); // => 500
console.log(error.originalError); // => new GanError.InternalServerError('foo')
Objects can also be passed to the constructor. They will be stored as data
on
the error:
class CustomError extends GanError {}
const error = new CustomError({ foo: 'bar' } });
console.log(error.message); // => ''
console.log(error.data); // => { message: 'foo', foo: 'bar' }
If the object contains a message
property whose value is a string, then that
is also used as the error's message:
class CustomError extends GanError {}
const error = new CustomError({ message: 'oops!', foo: 'bar' } });
console.log(error.message); // => 'oops!'
console.log(error.data); // => { message: 'oops!', foo: 'bar' }
HTTP errors are exposed as static properties on GanError
by name and by status
code:
// base http error, without `status`
class MyError extends GanError.HttpError {}
// http error with `status` 500
class MySecondError extends GanError.InternalServerError {}
// same, http error with `status` 500
class MyOtherError extends GanError['500'] {}
If you're using this module for the browser and you don't need support for http
errors, you can disable them altogether by setting the DISABLE_GAN_HTTP_ERRORS
environment variable to true
when bundling your frontend code (e.g. with
webpack's DefinePlugin).
This reduces the size of the frontend bundle.
FAQs
an extendable ES6 Error with support for HTTP errors
The npm package @ganintegrity/gan-error receives a total of 21,953 weekly downloads. As such, @ganintegrity/gan-error popularity was classified as popular.
We found that @ganintegrity/gan-error demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 24 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.