@vasiliicuhar/invariant.macro

Babel macros for invariants

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@vasiliicuhar/invariant.macro
020.1.63 years ago3 years agoMinified + gzip package size for @vasiliicuhar/invariant.macro in KB

Readme

invariant.macro

Invariant assertions implemented as babel-plugin-macros macro.


!buildbuild-badgebuild !versionversion-badgepackage !downloadsdownloads-badgenpmtrends !MIT Licenselicense-badgelicense

Install

# npm
npm install @vasiliicuhar/invariant.macro

# yarn
yarn add @vasiliicuhar/invariant.macro

Usage

import invariant from "@vasiliicuhar/invariant.macro"

let sum = 2 + 3
invariant(sum === 4, `expected 4, got ${sum}`)
// throws new InvariantError('Invariant failed: expected 4, got 5')

In production error messages are stripped from resulting bundle
invariant(condition, `error message ${prettyPrint(obj)}`)
// is transpiled to
invariant(condition)

Development only invariants

invariant(condition, "invariant failed", { env: "development" })