Fixed TraitExpressionBuilder
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { AbstractClass, Class, Simplify } from "type-fest"
|
||||
import { Trait, TraitInstance, TraitStaticMembers, TraitTuple } from "./Trait"
|
||||
import { Trait, TraitTuple } from "./Trait"
|
||||
import { TraitBuilder } from "./TraitBuilder"
|
||||
import { Extend, StaticMembers } from "./util"
|
||||
|
||||
@@ -143,17 +143,10 @@ export type TraitExpressionInstance<
|
||||
Simplify<
|
||||
Extend<[
|
||||
InstanceType<TraitExpression.Superclass<Exp>>,
|
||||
...MapTraitsInstance<TraitExpression.Traits<Exp>>,
|
||||
...TraitTuple.MapInstance<TraitExpression.Traits<Exp>>,
|
||||
]>
|
||||
>
|
||||
)
|
||||
type MapTraitsInstance<T> = {
|
||||
[K in keyof T]: K extends keyof []
|
||||
? T[K]
|
||||
: T[K] extends Trait<any, any, any, any>
|
||||
? TraitInstance<T[K]>
|
||||
: never
|
||||
}
|
||||
|
||||
export type TraitExpressionStaticMembers<
|
||||
Exp extends TraitExpression<any, Trait<any, any, any, any>[]>
|
||||
@@ -161,14 +154,7 @@ export type TraitExpressionStaticMembers<
|
||||
Simplify<
|
||||
Extend<[
|
||||
StaticMembers<TraitExpression.Superclass<Exp>>,
|
||||
...MapTraitsStaticMembers<TraitExpression.Traits<Exp>>,
|
||||
...TraitTuple.MapStaticMembers<TraitExpression.Traits<Exp>>,
|
||||
]>
|
||||
>
|
||||
)
|
||||
type MapTraitsStaticMembers<T> = {
|
||||
[K in keyof T]: K extends keyof []
|
||||
? T[K]
|
||||
: T[K] extends Trait<any, any, any, any>
|
||||
? TraitStaticMembers<T[K]>
|
||||
: never
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user