From 37929dedfb6033988dda368e6f27f4af41b28326 Mon Sep 17 00:00:00 2001 From: "Michael J. Bennett" Date: Sun, 17 Jan 2016 18:10:50 -0500 Subject: [PATCH] Adds support for invariant 2.2.0 --- invariant/invariant-tests.ts | 22 ++++++++++++++++++++++ invariant/invariant.d.ts | 17 +++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 invariant/invariant-tests.ts create mode 100644 invariant/invariant.d.ts diff --git a/invariant/invariant-tests.ts b/invariant/invariant-tests.ts new file mode 100644 index 000000000..06a4e9b4e --- /dev/null +++ b/invariant/invariant-tests.ts @@ -0,0 +1,22 @@ +/// + +// will throw in dev mode (process.env.NODE_ENV !== 'production') +invariant(true); + +// will pass in production (process.env.NODE_ENV === 'production') +invariant(true); + +// will pass in dev mode and production mode +invariant(true, 'Error, error, read all about it'); + +// will throw in dev mode, and production mode +invariant(false, 'Some other error'); + +// will throw in dev mode, and production mode +invariant(0, 'Some other error'); + +// will throw in dev mode, and production mode +invariant('', 'Some other error'); + +// handles extra variables +invariant(true, 'Error, error, read all about it', 37, {}, 'hello'); diff --git a/invariant/invariant.d.ts b/invariant/invariant.d.ts new file mode 100644 index 000000000..6ca967c68 --- /dev/null +++ b/invariant/invariant.d.ts @@ -0,0 +1,17 @@ +// Type definitions for invariant 2.2.0 +// Project: https://github.com/zertosh/invariant +// Definitions by: MichaelBennett +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare let invariant:invariant.InvariantStatic; + +declare module "invariant" { + export = invariant; +} + +declare module invariant { + interface InvariantStatic { + (testValue:any, format?:string, ...extra:any[]):void; + } +} +