@octetstream/invariant

Declarative errors throwing for Node.js

Stats

StarsIssuesVersionUpdatedCreatedSize
@octetstream/invariant
041.2.03 years ago4 years agoMinified + gzip package size for @octetstream/invariant in KB

Readme

@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))

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.