Package Exports
- @magic/error
- @magic/error/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@magic/error) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@magic/error
throw errors with custom code/name.
installation:
npm install @magic/errorusage:
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
// 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
- add typescript types
- update dependencies
0.0.19
- export types from types dir...
0.0.20
- pkg: add types dir to files array
0.0.21
- update dependencies
0.0.22 - unreleased
...