diff --git a/type-plus/ts/predicates/CanAssign.ts b/type-plus/ts/predicates/CanAssign.ts index 250c8e07c8..1073061833 100644 --- a/type-plus/ts/predicates/CanAssign.ts +++ b/type-plus/ts/predicates/CanAssign.ts @@ -24,14 +24,10 @@ import type { IsEmptyObject } from './IsEmptyObject.js' * If you want to make sure all branches are assignable, * use `StrictCanAssign`. */ -export type CanAssign = IsEmptyObject extends true - ? Record extends B - ? Then - : Else - : boolean extends A +export type CanAssign = boolean extends A ? boolean extends B - ? Then - : Else + ? Then + : Else : A extends B ? Then : Else @@ -49,12 +45,12 @@ export type CanAssign = IsEmptyObject extend */ export type StrictCanAssign = IsEmptyObject extends true ? Record extends B - ? Then - : Else + ? Then + : Else : boolean extends A ? boolean extends B - ? Then - : Else + ? Then + : Else : [A] extends [B] ? Then : Else