@octetstream/invariant

    1.2.0 • Public • Published

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

    Install

    npm i @octetstream/invariant

    DownloadsWeekly Downloads

    4,028

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    184 kB

    Total Files

    5

    Last publish

    Collaborators

    • octetstream