Projekt

Obecné

Profil

Stáhnout (731 Bajtů) Statistiky
| Větev: | Revize:
1
// @flow
2
const isProduction: boolean = process.env.NODE_ENV === 'production';
3
const prefix: string = 'Invariant failed';
4

    
5
// Throw an error if the condition fails
6
// Strip out error messages for production
7
// > Not providing an inline default argument for message as the result is smaller
8
export default function invariant(
9
  condition: any,
10
  message?: string,
11
): asserts condition {
12
  if (condition) {
13
    return;
14
  }
15
  // Condition not passed
16

    
17
  // In production we strip the message but still throw
18
  if (isProduction) {
19
    throw new Error(prefix);
20
  }
21

    
22
  // When not in production we allow the message to pass through
23
  // *This block will be removed in production builds*
24
  throw new Error(`${prefix}: ${message || ''}`);
25
}
(2-2/2)