33 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2026-05-31 13:21:13 +02:00
//#region src/util/invariant.ts
/**
* Asserts that a given condition is true. If the condition is false, an error is thrown with the provided message.
*
* @param {unknown} condition - The condition to evaluate.
* @param {string | Error} [message] - The error message to throw if the condition is false.
* @returns {void} Returns void if the condition is true.
* @throws {Error} Throws an error if the condition is false.
*
* @example
* // This call will succeed without any errors
* invariant(true, 'This should not throw');
*
* // This call will fail and throw an error with the message 'This should throw'
* invariant(false, 'This should throw');
*
* // Example of using invariant with a condition
* invariant(condition, 'Expected condition is false');
*
* // Ensure that the value is neither null nor undefined
* invariant(value !== null && value !== undefined, 'Value should not be null or undefined');
*
* // Example of using invariant to check if a number is positive
* invariant(number > 0, 'Number must be positive');
*/
function invariant(condition, message) {
if (condition) return;
if (typeof message === "string") throw new Error(message);
throw message;
}
//#endregion
exports.invariant = invariant;