/
ai_sampletext
/
DiplomWork
Обзор
Документация
Войти
/
ai_sampletext
/
DiplomWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/tiny-invariant/src/tiny-invariant.ts
48 строк
2 KB
boolyshareyo
Initial commit
08 июн 2026, 16:00
08 июн 2026, 16:00
6216a29
Код
Авторство
О чём код?
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); }