From 5873926dc5d37a08bd062ce18d60dc6255d02c89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Wed, 14 Feb 2024 03:27:03 +0100 Subject: [PATCH] TraitExpression subtrait work --- src/TraitExpression.ts | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/TraitExpression.ts b/src/TraitExpression.ts index 9a005a8..188edc0 100644 --- a/src/TraitExpression.ts +++ b/src/TraitExpression.ts @@ -52,22 +52,11 @@ export class TraitExpression< implementsStatic(target: ImplementsStatic, context: any) {} subtrait< - This extends TraitExpression, - SubtraitAbstract extends Implements, - SubtraitStaticAbstract extends ImplementsStatic, - SubtraitImplClassWithAbstract extends Class & SubtraitStaticAbstract & { _tag: TraitApplierSuperTag }, + This extends TraitExpression >( - this: This, - abstract: (expression: This) => Opaque, - staticAbstract: (expression: This) => Opaque, - apply: (Super: AbstractClass & SubtraitStaticAbstract & { _tag: TraitApplierSuperTag }) => SubtraitImplClassWithAbstract, + this: This ) { return new Trait( - this, - // {} as RemoveSupertraitsAbstractFromAbstract>, - {} as SubtraitAbstract, // TODO: find a way to cleanly substract Implements from this. - {} as SubtraitStaticAbstract, // TODO: find a way to cleanly substract StaticImplements from this. - apply as any as (Super: AbstractClass<{}>) => RemoveAbstractFromImplClass, ) } }