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>> = (
|
||||
AbstractClass<
|
||||
> &
|
||||
|
||||
|
||||
)
|
||||
|
||||
export type TraitExpressionConcreteClass<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