UNPKG

@magic/error

Version:
162 lines (104 loc) 3.79 kB
# @magic/error throw errors with custom code/name. [html-docs](https://magic.github.io/error) [![NPM version][npm-image]][npm-url] [![Linux Build Status][travis-image]][travis-url] [![Windows Build Status][appveyor-image]][appveyor-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Known Vulnerabilities][snyk-image]][snyk-url] [npm-image]: https://img.shields.io/npm/v/@magic/error.svg [npm-url]: https://www.npmjs.com/package/@magic/error [travis-image]: https://img.shields.io/travis/com/magic/error/master [travis-url]: https://travis-ci.com/magic/error [appveyor-image]: https://img.shields.io/appveyor/ci/magic/error/master.svg [appveyor-url]: https://ci.appveyor.com/project/magic/error/branch/master [coveralls-image]: https://coveralls.io/repos/github/magic/error/badge.svg [coveralls-url]: https://coveralls.io/github/magic/error [snyk-image]: https://snyk.io/test/github/magic/error/badge.svg [snyk-url]: https://snyk.io/test/github/magic/error ### installation: ```javascript npm install @magic/error ``` ### usage: ```javascript import error from '@magic/error' err = error('message', 'name') // Error { message: 'message', name: 'name', code: 'E_NAME', type: 'E', msg: 'message' } err = error('message') // Error { message: 'message', name: 'Unknown', code: 'E_UNKNOWN', type: 'E', msg: 'message' } err = error(new Error('message')) // Error { message: 'message', name: 'Error', code: 'E_UNKNOWN', type: 'E', msg: 'message' } err = error('message', 'name with spaces') // Error { // message: 'message', // name: 'name with spaces', // code: 'E_NAME_WITH_SPACES', // type: 'E', // msg: 'message', // } err = error(['message', 'name', 'T']) // Error { message: 'message', name: 'name', code: 'T_NAME', type: T, msg: 'message' } err = error(['message'], 'name', 'T') // Error { message: 'message', name: 'name', code: 'T_NAME', type: T, msg: 'message' } err = error(['message', 'name1'], 'name2', 'T') // Error { message: 'message', name: 'name1', code: 'T_NAME1', type: T, msg: 'message' } ``` #### error types errors can have types ```javascript // E is the default type err = error('message', 'name') // Error { message: 'message', name: 'name', code: 'E_NAME', type: 'E', msg: 'message' } // warnings: err = error('message', 'name', 'W') // Error { message: 'message', name: 'name', code: 'W_NAME', type: 'W', msg: 'message' } // debug: err = error('message', 'name', 'D') // Error { message: 'message', name: 'name', code: 'D_NAME', type: 'D', msg: 'message' } ``` ##### changelog ##### 0.0.1 first commit #### 0.0.2 - errors can be passed as first argument - error.name is unchanged, error.code gets transformed to start with E\_ and be uppercased. - error.code for passed in errors is E_UNKNOWN. #### 0.0.3 - error type (third fn argument) can now be set, default is E to keep output the same. - error name (second fn argument) can now be a string with spaces. e.code is e.type + e.name, but UPPER_SNAKE_CASED. - error stack cleanup improved. #### 0.0.4 - err.msg is no === err.message - first argument can be an array of [message, name, type] #### 0.0.5 - fix replacement of : in error name and error message to only replace the ones we want to replace #### 0.0.6 bump required node version to 14.2.0 #### 0.0.7 update depdendencies #### 0.0.8 - bump required node version to 14.15.4 - update dependencies ##### 0.0.9 update dependencies ##### 0.0.10 update @magic/types to avoid circular dependency ##### 0.0.11 - use @magic/types internally - update dependencies ##### 0.0.12 update dependencies ##### 0.0.13 update dependencies ##### 0.0.14 update dependencies ##### 0.0.15 update dependencies ##### 0.0.16 update dependencies ##### 0.0.17 update dependencies ##### 0.0.18 - unreleased ...