From af8884cdee826965a9b1cad81f435caf88f2e187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Thu, 15 Feb 2024 22:29:14 +0100 Subject: [PATCH] TraitExpression work --- src/TraitExpression.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 + ]> +)