Skip to content
Declarative errors throwing for Node.js
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.eslintrc.json
.gitignore
.huskyrc.json
.npmignore
.travis.yml
invariant.js
license
package.json
readme.md
test.js
yarn.lock

readme.md

@octetstream/invariant

Declarative errors throwing for Node.js

dependencies Status devDependencies Status Build Status Code Coverage

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))
You can’t perform that action at this time.