diff --git a/src/TraitExpression.ts b/src/TraitExpression.ts index 0d0147e..73c467b 100644 --- a/src/TraitExpression.ts +++ b/src/TraitExpression.ts @@ -99,10 +99,28 @@ export type ImplementsStatic> = ( ]> ) + export type TraitExpressionClass> = ( + AbstractClass< + > & + + +) + +export type TraitExpressionConcreteClass> = ( ) export type TraitExpressionInstance> = ( ) + +export type TraitExpressionStaticMembers> = ( + Pipe, // Map all the traits to their implementation class + Tuples.Prepend, // Add the superclass at the top of the list + Tuples.Map, // 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 + ]> +)