Create errors with dynamic parameters and i18n in mind.
# Using npm
npm install --save error-creator
# Using yarn
yarn add error-creator
const ErrorCreator = require("error-creator")
const Errors = new ErrorCreator({
NOT_AN_EVEN_NUMBER: {
message: {
en: "You did not enter an even number. You provided: {1}"
, fr: "Vous n'avez pas saisi de numéro pair. Vous avez fourni: {1}"
}
// These static properties will be appended to the error object
// (e.g. http status code etc)
, status: 400
, and: "any"
, other: "fields"
, you: "want"
, to: "provide"
}
})
const number = 41
if (number % 2 !== 0) {
// If a language is not provided, it will automatically pick one
console.log(Errors.NOT_AN_EVEN_NUMBER(number))
// =>
// { Error: You did not enter an even number. You provided: 41
// at ...
// status: 400,
// and: 'any',
// other: 'fields',
// you: 'want',
// to: 'provide' }
// Set the language to French
Errors.setLang("fr")
console.log(Errors.NOT_AN_EVEN_NUMBER(number))
// =>
// { Error: Vous n'avez pas saisi de numéro pair. Vous avez fourni: 41
// at ...
// status: 400,
// and: 'any',
// other: 'fields',
// you: 'want',
// to: 'provide' }
}
// Add a new error
Errors.add({
// Single language
USER_PASS_NOT_MATCH: "Invalid credentials for username: {1}"
})
console.log(Errors.USER_PASS_NOT_MATCH("Alice"))
// Error: Invalid credentials for username: Alice
// at ...
There are few ways to get help:
- Please post questions on Stack Overflow. You can open issues with questions, as long you add a link to your Stack Overflow question.
- For bug reports and feature requests, open issues. 🐛
Creates a new instance of ErrorCreator
.
- Object
errors
: = {} An object containing the errors' information. This is passed to theadd
method.
Sets the preffered error language.
- String
lang
: A preffered language for erro messages.
- ErrorCreator The
ErrorCreator
instance.
Adds one or more error objects.
- String|Object
name
: The error name. If an object, it should look like this:{ USER_NOT_FOUND: { message: "The user was not found.", status: 404 }, ARTICLE_NOT_FOUND: { message: "The article was not found.", status: 404 } }
- Object
err
: The error message or object containing th message.
- ErrorCreator The
ErrorCreator
instance.
Have an idea? Found a bug? See how to contribute.
If you are using this library in one of your projects, add it in this list. ✨
bloggify
bloggify-cli