0.1.4 #4

Merged
Thilawyn merged 68 commits from next into master 2024-02-20 01:39:38 +01:00
Showing only changes of commit 45ec2dd0e3 - Show all commits

View File

@@ -1,8 +1,9 @@
import { AbstractClass } from "type-fest"
import { Trait, TraitClass } from "./Trait"
import { trait } from "./TraitBuilder"
import { Implements, ImplementsStatic, TraitExpression } from "./TraitExpression"
import { expression } from "./TraitExpressionBuilder"
import { ExtendPlain } from "./util"
import { ExtendPlain, StaticMembers } from "./util"
const PrintsHelloOnNew = trait
@@ -85,14 +86,17 @@ console.log(new User())
type ExpectsObjectArray<T extends readonly object[]> = T
type Maps<T extends readonly any[]> = {
[K in keyof T]: T[K]
type MapStaticMembers<T extends readonly any[]> = {
[K in keyof T]: StaticMembers<T[K]>
}
type MapTraits<Exp extends TraitExpression<any, any>> = (
type MapClasses<Classes extends AbstractClass<any>[]> = (
ExpectsObjectArray<
Maps<
MapStaticMembers<
Classes
>
>
)
type Output = MapClasses<[typeof User]>