Files
orionprotocol-sdk/src/utils/invariant.ts
2023-08-23 17:46:43 +04:00

19 lines
388 B
TypeScript

export function invariant<T = unknown>(
condition: T,
errorMessage?: ((condition: T) => string) | string,
): asserts condition {
if (condition) {
return;
}
if (typeof errorMessage === 'undefined') {
throw new Error('Invariant failed');
}
if (typeof errorMessage === 'string') {
throw new Error(errorMessage);
}
throw new Error(errorMessage(condition));
}