This commit is contained in:
@@ -99,10 +99,28 @@ export type ImplementsStatic<Exp extends TraitExpression<any, any>> = (
|
|||||||
]>
|
]>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
export type TraitExpressionClass<Exp extends TraitExpression<any, any>> = (
|
export type TraitExpressionClass<Exp extends TraitExpression<any, any>> = (
|
||||||
|
AbstractClass<
|
||||||
|
> &
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
export type TraitExpressionConcreteClass<Exp extends TraitExpression<any, any>> = (
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
export type TraitExpressionInstance<Exp extends TraitExpression<any, any>> = (
|
export type TraitExpressionInstance<Exp extends TraitExpression<any, any>> = (
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
export type TraitExpressionStaticMembers<Exp extends TraitExpression<any, any>> = (
|
||||||
|
Pipe<Traits, [
|
||||||
|
Tuples.Map<Trait.OwnClassFn>, // Map all the traits to their implementation class
|
||||||
|
Tuples.Prepend<Superclass>, // Add the superclass at the top of the list
|
||||||
|
Tuples.Map<StaticMembersFn>, // Map all the classes to an object containing their static members
|
||||||
|
ExtendFn, // Reduce to a single object that extends all the objects in the list
|
||||||
|
SimplifyFn, // Make readable for IDEs
|
||||||
|
]>
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user