//#region src/types/IsEqual.d.ts /** * Resolves to `true` when `A` and `B` are exactly the same type, `false` otherwise. * * Unlike a plain conditional type, this tells `any` apart from every other type, * which makes it useful for catching an accidental `any` in type-level tests. * * @template A - The first type to compare. * @template B - The second type to compare. * * @example * type A = IsEqual<{ a: string }, { a: string }>; // true * type B = IsEqual; // false * type C = IsEqual; // false */ type IsEqual = (() => G extends A ? 1 : 2) extends (() => G extends B ? 1 : 2) ? true : false; //#endregion export { IsEqual };