From e6d8a10f9853a4499b431a66c6c31d5926925cdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 9 Feb 2024 14:38:23 +0100 Subject: [PATCH] StaticImplements -> ImplementsStatic --- src/TraitExpression.ts | 8 ++++++-- src/tests.ts | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/TraitExpression.ts b/src/TraitExpression.ts index 20ddbc5..da6244d 100644 --- a/src/TraitExpression.ts +++ b/src/TraitExpression.ts @@ -49,10 +49,14 @@ export class TraitExpression< ) as any } + implementsStatic(target: ImplementsStatic, context: any) { + return {} + } + subtrait< This extends TraitExpression, SubtraitAbstract extends Implements, - SubtraitStaticAbstract extends StaticImplements, + SubtraitStaticAbstract extends ImplementsStatic, SubtraitImplClassWithAbstract extends Class & { _tag: TraitApplierSuperTag }, >( this: This, @@ -115,7 +119,7 @@ export type Implements> = ( ]> ) -export type StaticImplements> = ( +export type ImplementsStatic> = ( Pipe, diff --git a/src/tests.ts b/src/tests.ts index c3194b2..3426d4d 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -1,5 +1,5 @@ import { Trait, trait } from "./Trait" -import { Implements, StaticImplements } from "./TraitExpression" +import { Implements, ImplementsStatic, StaticImplements } from "./TraitExpression" import { expression } from "./TraitExpressionBuilder" import { abstract } from "./abstract" @@ -80,7 +80,9 @@ const exp = expression .build() type Abs = Implements +type AbsStatic = ImplementsStatic +@exp.implementsStatic class User extends exp.extends implements Implements { readonly isStatefulSubscription: true = true readonly isActiveStatefulSubscription: true = true