From b563b0da59650d50e24a2b907f020a4b883352ba Mon Sep 17 00:00:00 2001 From: Turadg Aleahmad Date: Thu, 23 Apr 2020 09:19:01 -0700 Subject: [PATCH] require format/message string for invariant (#44098) * require format/message string for invariant * works on 2.2.4 (latest) --- types/invariant/index.d.ts | 6 +++--- types/invariant/invariant-tests.ts | 4 +++- types/invariant/ts3.7/index.d.ts | 4 ++-- types/invariant/ts3.7/invariant-tests.ts | 2 ++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/types/invariant/index.d.ts b/types/invariant/index.d.ts index c08cee2c83..4069d6d617 100644 --- a/types/invariant/index.d.ts +++ b/types/invariant/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for invariant 2.2.0 +// Type definitions for invariant 2.2.4 // Project: https://github.com/zertosh/invariant // Definitions by: MichaelBennett // dtinth @@ -12,8 +12,8 @@ export as namespace invariant; declare namespace invariant { interface InvariantStatic { - (testValue:false, format?:string, ...extra:any[]):never; - (testValue:any, format?:string, ...extra:any[]):void; + (testValue:false, format:string, ...extra:any[]):never; + (testValue:any, format:string, ...extra:any[]):void; } } diff --git a/types/invariant/invariant-tests.ts b/types/invariant/invariant-tests.ts index ae070ac6ae..df271e3586 100644 --- a/types/invariant/invariant-tests.ts +++ b/types/invariant/invariant-tests.ts @@ -1,9 +1,11 @@ import invariant = require("invariant"); // will throw in dev mode (process.env.NODE_ENV !== 'production') +// $ExpectError invariant(true); // will pass in production (process.env.NODE_ENV === 'production') +// $ExpectError invariant(true); // will pass in dev mode and production mode @@ -22,4 +24,4 @@ invariant('', 'Some other error'); invariant(true, 'Error, error, read all about it', 37, {}, 'hello'); // $ExpectType {} -({} as {} | undefined) || invariant(false, 'a is undefined'); \ No newline at end of file +({} as {} | undefined) || invariant(false, 'a is undefined'); diff --git a/types/invariant/ts3.7/index.d.ts b/types/invariant/ts3.7/index.d.ts index 463bf8120b..03385032ae 100644 --- a/types/invariant/ts3.7/index.d.ts +++ b/types/invariant/ts3.7/index.d.ts @@ -5,7 +5,7 @@ export as namespace invariant; declare namespace invariant { interface InvariantStatic { - (testValue: false, format?: string, ...extra: any[]): never; - (testValue: any, format?: string, ...extra: any[]): asserts testValue; + (testValue: false, format: string, ...extra: any[]): never; + (testValue: any, format: string, ...extra: any[]): asserts testValue; } } diff --git a/types/invariant/ts3.7/invariant-tests.ts b/types/invariant/ts3.7/invariant-tests.ts index 1a60a7d8df..177a9935fa 100644 --- a/types/invariant/ts3.7/invariant-tests.ts +++ b/types/invariant/ts3.7/invariant-tests.ts @@ -8,9 +8,11 @@ invariant(val, 'val must be truthy'); val.a === 1; // will throw in dev mode (process.env.NODE_ENV !== 'production') +// $ExpectError invariant(true); // will pass in production (process.env.NODE_ENV === 'production') +// $ExpectError invariant(true); // will pass in dev mode and production mode