err1st
v0.2.7
Published
Custom error object
Readme
Err1st
Custom Error object
We hate errors, but we can not live without them.
Example
Use err1st as an standard error object
Err = require 'err1st'
err = new Err('SOMETHING_WRONG')
throw errCustomize the error message
Err.meta
SOMETHING_WRONG:
status: 400
code: 100
message: (name) -> "something wrong, #{name}"
err = new Err 'SOMETHING_WRONG', 'Alice'
throw err ==> Err1st: "something wrong, Alice" ....
# With i18n locales
Err.localeMeta 'emoji',
SOMETHING_WRONG: (name) -> "🙅, #{name}"
...
Err.localeMeta 'en',
SOMETHING_WRONG: (name) -> "something wrong, #{name}"
err = new Err 'SOMETHING_WRONG', 'Bob'
console.log err.message ==> "🙅, Bob"
console.log err.locale('en').message ==> "something wrong, #{name}"Combine meta and locales together
Err.meta
completed:
status: 400
code: 100
locales:
en: 'English'
zh: '中文'
flatten: [400100, { # Treat keys of object as language, except 'code', 'status', 'locales'
en: 'English',
zh: '中文'
}]
useFunction: [400100, {
en: -> 'English'
zh: -> '中文'
}]ChangeLog
0.2.7
- Support provide customized properties on meta #4
0.2.6
- Support auto detect locale keys when use
metafunction
0.2.0
- Remove handler, parse the messages by the Err object itself.
0.1.3
- keep the status and code of original error object
0.1.2
- use 'DNA' to identify the same error instance
0.1.1
- err.code is equal to err.toCode() now
- handler.validate now support directly set a i18n dict.
Licence
MIT
