UNPKG

@augment-vir/assert

Version:

A collection of assertions for test and production code alike.

20 lines (19 loc) 910 B
import { type IsEqual } from 'type-fest'; /** * A helper type that resolves to the given `Yes` type parameter if `Actual` === `Expected`. * Otherwise it resolves to the given `No` type parameter. * * @category Assert : Util * @category Package : @augment-vir/assert * @package [`@augment-vir/assert`](https://www.npmjs.com/package/@augment-vir/assert) */ export type IfEquals<Actual, Expected, Yes = unknown, No = never> = IsEqual<Actual, Expected> extends true ? Yes : No; /** * A helper type that resolves to the given `Yes` type parameter if `Actual` extends `Expected`. * Otherwise it resolves to the given `No` type parameter. * * @category Assert : Util * @category Package : @augment-vir/assert * @package [`@augment-vir/assert`](https://www.npmjs.com/package/@augment-vir/assert) */ export type IfExtends<Actual, Expected, Yes = unknown, No = never> = Actual extends Expected ? Yes : No;