invariant
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/invariant package

2.2.4 • Public • Published

invariant

Build Status

A mirror of Facebook's invariant (e.g. React, flux).

A way to provide descriptive errors in development but generic errors in production.

Install

With npm do:

npm install invariant

invariant(condition, message)

var invariant = require('invariant');
 
invariant(someTruthyVal, 'This will not throw');
// No errors
 
invariant(someFalseyVal, 'This will throw an error with this message');
// Error: Invariant Violation: This will throw an error with this message

Note: When process.env.NODE_ENV is not production, the message is required. If omitted, invariant will throw regardless of the truthiness of the condition. When process.env.NODE_ENV is production, the message is optional – so they can be minified away.

Browser

When used with browserify, it'll use browser.js (instead of invariant.js) and the envify transform will inline the value of process.env.NODE_ENV.

Node

The node version is optimized around the performance implications of accessing process.env. The value of process.env.NODE_ENV is cached, and repeatedly used instead of reading process.env. See Server rendering is slower with npm react #812

Readme

Keywords

Package Sidebar

Install

npm i invariant

Weekly Downloads

14,354,899

Version

2.2.4

License

MIT

Unpacked Size

7.64 kB

Total Files

7

Last publish

Collaborators

  • zertosh
  • cpojer
  • yungsters