First version: 20231229.0.0 #2

Merged
Thilawyn merged 21 commits from next into master 2023-12-29 01:07:07 +01:00
Showing only changes of commit 5a706149ea - Show all commits

View File

@@ -10,8 +10,12 @@ import { AbstractClass, Opaque, UnionToIntersection } from "type-fest"
export type StaticMembers<C> = Pick<C, keyof C>
export type Trait<C extends AbstractClass<any, any>> =
Opaque<(Parent: AbstractClass<any, any[]>) => C, "Trait">
export type Trait<
C extends AbstractClass<any, any>
> = Opaque<
(Parent: AbstractClass<any, any[]>) => C,
"Trait"
>
export type GetTraitC<T> =
T extends Trait<infer C>
@@ -54,7 +58,6 @@ export function extendsAndExpresses<
> &
StaticMembers<C> &
StaticMembers<
UnionToIntersection<
GetTraitC<