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 StaticMembers<C> = Pick<C, keyof C>
export type Trait<C extends AbstractClass<any, any>> = export type Trait<
Opaque<(Parent: AbstractClass<any, any[]>) => C, "Trait"> C extends AbstractClass<any, any>
> = Opaque<
(Parent: AbstractClass<any, any[]>) => C,
"Trait"
>
export type GetTraitC<T> = export type GetTraitC<T> =
T extends Trait<infer C> T extends Trait<infer C>
@@ -54,7 +58,6 @@ export function extendsAndExpresses<
> & > &
StaticMembers<C> & StaticMembers<C> &
StaticMembers< StaticMembers<
UnionToIntersection< UnionToIntersection<
GetTraitC< GetTraitC<