@octetstream/invariant
v1.2.0
Published
Declarative errors throwing for Node.js
Downloads
4,335
Readme
@octetstream/invariant
Declarative errors throwing for Node.js
API
invariant(predicate, error) -> {void}
- boolean predicate – a result of some condition. Error will threw if predicate is
true
. - object error – some error object
invatiant(predicate, message[, ...format]) -> {void}
- boolean predicate – a result of some condition. Error will threw if predicate is
true
. - string message – an error message
- any format – see more about the format in a sprintf-js documentation
invariant(predicate, Error, message[, ...format]) -> {void}
- boolean predicate – a result of some condition. Error will threw if predicate is
true
. - Function Error – custom error class that will be used as an error constructor
- string message – an error message
- any format – see more about the format in a sprintf-js documentation
invariant.reject(predicate, message[, ...format]) -> {Promise<void>}
Do the same things as invariant
, but returns Promise that will be rejected when predicate is true.
This function have same API as invariant
.
Example
import invariant from "@octetstream/invariant"
// some of your code...
// Will threw a TypeError if "value" is not a string
invariant(typeof value !== "string", TypeError, "The value should be a string, but given type is: %s", typeof value)
invariant(typeof value !== "string", "The value should be a string, but given type is: %s", typeof value)
invariant(typeof value !== "string", new TypeError(`The value should be a string, but given type is: ${typeof value}`))
// Will return rejected Promise instead of throw error synchronously
invariant.reject(typeof value !== "string", TypeError, "The value should be a string, but given type is: %s", typeof value)
.catch(err => console.error(err))