v1.0 with SW PWA enabled
This commit is contained in:
12
frontend/node_modules/tiny-invariant/src/tiny-invariant.flow.js
generated
vendored
Normal file
12
frontend/node_modules/tiny-invariant/src/tiny-invariant.flow.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
// @flow
|
||||
// This file is not actually executed
|
||||
// It is just used by flow for typing
|
||||
|
||||
const prefix: string = 'Invariant failed';
|
||||
|
||||
export default function invariant(condition: mixed, message?: string | (() => string)) {
|
||||
if (condition) {
|
||||
return;
|
||||
}
|
||||
throw new Error(`${prefix}: ${message || ''}`);
|
||||
}
|
||||
48
frontend/node_modules/tiny-invariant/src/tiny-invariant.ts
generated
vendored
Normal file
48
frontend/node_modules/tiny-invariant/src/tiny-invariant.ts
generated
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
const isProduction: boolean = process.env.NODE_ENV === 'production';
|
||||
const prefix: string = 'Invariant failed';
|
||||
|
||||
/**
|
||||
* `invariant` is used to [assert](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions) that the `condition` is [truthy](https://github.com/getify/You-Dont-Know-JS/blob/bdbe570600d4e1107d0b131787903ca1c9ec8140/up%20%26%20going/ch2.md#truthy--falsy).
|
||||
*
|
||||
* 💥 `invariant` will `throw` an `Error` if the `condition` is [falsey](https://github.com/getify/You-Dont-Know-JS/blob/bdbe570600d4e1107d0b131787903ca1c9ec8140/up%20%26%20going/ch2.md#truthy--falsy)
|
||||
*
|
||||
* 🤏 `message`s are not displayed in production environments to help keep bundles small
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* const value: Person | null = { name: 'Alex' };
|
||||
* invariant(value, 'Expected value to be a person');
|
||||
* // type of `value`` has been narrowed to `Person`
|
||||
* ```
|
||||
*/
|
||||
export default function invariant(
|
||||
condition: any,
|
||||
// Not providing an inline default argument for message as the result is smaller
|
||||
/**
|
||||
* Can provide a string, or a function that returns a string for cases where
|
||||
* the message takes a fair amount of effort to compute
|
||||
*/
|
||||
message?: string | (() => string),
|
||||
): asserts condition {
|
||||
if (condition) {
|
||||
return;
|
||||
}
|
||||
// Condition not passed
|
||||
|
||||
// In production we strip the message but still throw
|
||||
if (isProduction) {
|
||||
throw new Error(prefix);
|
||||
}
|
||||
|
||||
// When not in production we allow the message to pass through
|
||||
// *This block will be removed in production builds*
|
||||
|
||||
const provided: string | undefined = typeof message === 'function' ? message() : message;
|
||||
|
||||
// Options:
|
||||
// 1. message provided: `${prefix}: ${provided}`
|
||||
// 2. message not provided: prefix
|
||||
const value: string = provided ? `${prefix}: ${provided}` : prefix;
|
||||
throw new Error(value);
|
||||
}
|
||||
Reference in New Issue
Block a user