Current collected state Current
Observed since 20 Oct, 22:07 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
custom typescript and javascript errors with codes and causes for node and browsers
custom typescript and javascript errors with codes and causes for node and browsers (without any dependencies)
npm i @0devs/error
@0devs/error// typescript - see javascript examples below
import Zerror from "@0devs/error";
class MyError extends Zerror {
// this required for typescript types and autocomplete
public static CODES = {
BAD_REQUEST: "bad request: %status%"
};
}
// this required for correctly set codes in error class
MyError.setCodes(MyError.CODES);
// pass only error code
new MyError(MyError.CODES.BAD_REQUEST);
/* output:
MyError: BAD_REQUEST
bad request: %status%
*/
// pass error code and message
new MyError(MyError.CODES.BAD_REQUEST, "really bad request");
/* output:
MyError: BAD_REQUEST
really bad request
*/
// pass error code and cause error
new MyError(MyError.CODES.BAD_REQUEST, new Error("shit happens"));
/* output:
MyError: BAD_REQUEST
bad request: %status%
<error stack trace>
Error: shit happens
<cause error stack trace>
*/
// pass any of options as object
new MyError({
code: MyError.CODES.BAD_REQUEST,
message: "really bad request",
cause: new Error("shit happens"),
});
/* output:
MyError: BAD_REQUEST
really bad request
...
Error: shit happens
*/
// pass data if you need replace placeholder in error message
//
// MyError.CODES.BAD_REQUEST below has placeholder in message
// BAD_REQUEST: "bad request: %status%"
new MyError({
code: MyError.CODES.BAD_REQUEST,
data: {
status: 500,
}
});
/* output:
MyError: BAD_REQUEST
bad request: 500
*/
// you can use placeholders in custom error message
new MyError({
code: MyError.CODES.BAD_REQUEST,
message: "shit happens on %method% with status: %status%",
data: {
method: "GET",
status: 500,
},
}
/* output:
MyError: BAD_REQUEST
shit happens on GET with status: 500
*/
const Zerror = require('@0devs/error');
class MyError extends Zerror {}
MyError.CODES = {
BAD_REQUEST: 'bad request',
};
const causeErr = new Error('shit happens');
const err = new MyError(MyError.CODES.BAD_REQUEST, causeErr);
console.log(err.toString());
got rich output:
MyError: BAD_REQUEST
at Object.<anonymous> (/private/tmp/test/test.js:10:13)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
Error: shit happens
at Object.<anonymous> (/private/tmp/test/test.js:9:18)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
import Zerror from "@0devs/error";
class MyError extends Zerror {
// this required for typescript types and autocomplete
public static CODES = {
BAD_REQUEST: "bad request"
};
}
// this required for correctly set codes in error object
MyError.setCodes(MyError.CODES);
// autocomplete works for codes
// MyError.CODES.BAD_
ready for bunyan stdSerializer.err
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.7.0Registry latest | 6 May 2021 | 14 | |
| 1.6.1-0 | 9 Oct 2020 | 14 | |
| 1.6.0-0 | 9 Oct 2020 | 14 | |
| 1.3.0 | 17 Apr 2020 | 14 | |
| 1.2.1 | 10 Jan 2020 | 14 | |
| 1.2.0 | 15 Dec 2018 | 1 | |
| 1.1.0 | 14 Dec 2018 | 1 | |
| 1.0.0 | 14 Dec 2018 | 1 | |
| 0.5.2 | 6 Dec 2018 | 1 | |
| 0.5.0 | 6 Dec 2018 | 1 | |
| 0.4.1 | 5 Dec 2018 | 3 | |
| 0.4.0 | 26 Jul 2018 | 3 | |
| 0.3.0 | 26 Jul 2018 | 3 | |
| 0.2.0 | 2 Jun 2018 | 5 | |
| 0.1.0 | 2 Jun 2018 | 5 | |
| 0.0.0 | 2 Jun 2018 | 5 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:07 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:45bc0ee44e0ae3c9168570f531a1ddb08745a498e7d724eb4072a0ed5cef98c1