@andrewscwei/super-error v3.2.0
node-super-error

A serializable and extendable Node.js Error with optional code, info and cause properties.
import { SuperError } from "@andrewscwei/super-error";
const cause = new Error("I am the cause");
const error = new SuperError(
"I am the error",
"error-code",
{ some: "info" },
cause
);
console.log(error.name); // 'SuperError'
console.log(error.code); // 'error-code'
console.log(error.info); // { some: 'info' }
console.log(error.cause); // cause
const serialized = SuperError.serialize(error); // { 'name': 'SuperError', 'code': 'error-code', 'info': { 'some': 'info' }, 'cause': { 'name': 'Error', 'message': 'I am the cause' }, 'stack': <error_stack> }
const deserialized = SuperError.deserialize(serialized); // A `SuperError` instance equivalent to the initially created `error`.API
Class: SuperError
A serializable and extendable Error with optional code, info and cause properties.
Property: {unknown} cause
An arbitrary cause of this error.
Property: {string} code
An arbitrary error code.
Property: {object} info
A plain object containing arbitrary info.
Method: SuperError.serialize(error)
Serializes any error into a plain object representing a SuperError.
@param value: unknown— Any error.@returns SuperErrorObject— A plain object representing aSuperError.
Method: SuperError.deserialize(value)
Deserializes any value to a SuperError instance. SuperErrors are passed through, and Errors are converted to SuperErrors. Plain objects are deserialized to match their keys to respective SuperError properties. Strings are wrapped as the message of a SuperError and numbers are wrapped as the code of a SuperError. Everything else are wrapped as the cause of a SuperError.
@param value: unknown— Any value.@returns SuperError— The deserializedSuperError.
Method: SuperError.from(value)
This method is an alias of SuperError.deserialize(value).
Usage
# Install dependencies
$ npm install
# Build module
$ npm run build
# Run tests against src
$ npm run unit
# Run tests against src for specific file patterns (relative to /src)
$ npm run unit --files="foo.ts"
# Run tests again built files
$ npm test
# Run tests again built files for specific file patterns (relative to /build)
$ npm test --files="foo.js"1 year ago
1 year ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago