Code Error Utility
Contact Me
Donation
You can donate to the development of open source projects
BTC Address
15sjjAUtJdB1ncsxKK7KtyJPtF46UhXWo4
Thanks!:3
Install
npm i --save @darkwolf/code-error
Concept
Custom error class instances must be called a namespace using PascalCase and end with 'Error' (ex. CustomNamespaceError)
Use kebab-case to name namespaces, codes, and error types
Use the following types for error types:
argument-required
invalid-argument-type
invalid-argument-value
property-required
invalid-property-type
invalid-property-value
unknown-property
invalid-return-type
invalid-return-value
Pass state to error instance
Use a directory called 'utils' to store custom error class instances, errors and validators
Following this concept, we can easily handle errors exceptions dynamically
Usage
const CodeError = require('@darkwolf/code-error')
class CustomNamespaceError extends CodeError {
constructor(code, message) {
super({namespace: 'custom-namespace', code, message})
}
}
const INVALID_VALUE = new CustomNamespaceError('invalid-value', 'Invalid value')
try {
throw INVALID_VALUE
} catch (e) {
switch (e.namespace) {
case 'custom-namespace': {
switch (e.code) {
case 'invalid-value': {
doSmth()
break
}
default: throw e
}
break
}
default: throw e
}
}
Init
new CodeError(options[namespace, code, type, message, state] || [code[, type?[, message]]])
Methods
setNamespace(namespace)
setCode(code)
setType(type)
setMessage(message)
setState(state || callback(state => newState))
Error Codes
invalid-options
invalid-namespace
invalid-code
invalid-type
invalid-message
invalid-state
invalid-new-state