@itavy/ierror

1.2.0 • Public • Published

IError

This is a module provides support for some missing features of native errors, working as a drop in replacement for native errors:

  • chain of causes
  • custom information for the error
  • timestamp of the error occurrence
  • serialization and composing back the object from serialization

Instalation

npm install @itavy/ierror

Quick Example

const IError = require('@itavy/ierror').IError;

const err = new IError('test error');
console.log(err);

this will produce:

{ ERROR: test error
    at Object.<anonymous> (/**********/test.js:3:13)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3
  name: 'ERROR',
  ts: 1492430124565,
  severity: 'ERROR',
  source: null,
  code: null,
  extra: null }

API

itavy/ierror : object

Kind: global namespace

itavy/ierror.IError

Error struture

Kind: static class of itavy/ierror

new IError(options)

Param Type Description
options IErrorLiteral error info

iError.message : String

Error message

Kind: instance property of IError

iError.name : String

Error name

Kind: instance property of IError
Default: 'ERROR'

iError.ts : Number

Error UNIX timestamp

Kind: instance property of IError
Default: Date.now()

iError.severity : String

Error severity

Kind: instance property of IError
Default: 'ERROR'

iError.source : String

Error source

Kind: instance property of IError
Default: null

iError.code : String

Error code

Kind: instance property of IError
Default: null

iError.extra : *

Error extra information

Kind: instance property of IError
Default: null

iError.origStack : String

Error stack trace

Kind: instance property of IError
Default: null
Read only: true

iError.cause : IError

Error cause

Kind: instance property of IError
Default: null
Read only: true

iError.toJSON() ⇒ IErrorLiteral

get IError literal representation

Kind: instance method of IError
Returns: IErrorLiteral - IError literal representation
Access: public

iError.toString() ⇒ String

get IError json stringify

Kind: instance method of IError
Returns: String - JSON representation of IError
Access: public

iError.hasErrorWithName(name) ⇒ Boolean

Check all cause chain to see if an error with requested name exists

Kind: instance method of IError
Returns: Boolean - true if an error with a name exists
Access: public

Param Type Description
name String name of the error to look after

iError.hasErrorWithCode(code) ⇒ Boolean

Check all cause chain to see if an error with requested code exists

Kind: instance method of IError
Returns: Boolean - true if an error with a code exists
Access: public

Param Type Description
code String code of the error to look after

iError.getErrorWithName(name) ⇒ IError | null

Traverse all chain to get error with requested name

Kind: instance method of IError
Returns: IError | null - IError found or null otherwise
Access: public

Param Type Description
name String name of the error to look after

iError.getErrorWithCode(code) ⇒ IError | null

Traverse all chain to get error with requested code

Kind: instance method of IError
Returns: IError | null - IError found or null otherwise
Access: public

Param Type Description
code String code of the error to look after

itavy/ierror.rejectIError(request) ⇒ Promise

Rejects with IError

Kind: static method of itavy/ierror
Returns: Promise - rejects with an IError

Param Type Description
request IErrorLiteral | Error | IError error to reject with

itavy/ierror.resolveIError(request) ⇒ Promise

Resolves with IError

Kind: static method of itavy/ierror
Returns: Promise - resolves with an IError
Access: public

Param Type Description
request Object error to resolve with

itavy/ierror.IErrorLiteral : Object

Kind: static typedef of itavy/ierror
Properties

Name Type Default Description
message String Error message
[name] String 'ERROR' Error name
[ts] Number Date.now() Error UNIX timestamp
[severity] String 'ERROR' Error severity
[source] String Error source
[code] String Error code
[extra] * Extra information needed to be held with the error
[cause] IError | Error | null original cause which triggered
[origStack] String stack of the error this error on chain

Usage

see Example

LICENSE

MIT

Package Sidebar

Install

npm i @itavy/ierror

Weekly Downloads

4

Version

1.2.0

License

MIT

Unpacked Size

59.4 kB

Total Files

24

Last publish

Collaborators

  • crgi
  • itavyg