StaticImplements -> ImplementsStatic
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Julien Valverdé
2024-02-09 14:38:23 +01:00
parent e31ddeaa6e
commit e6d8a10f98
2 changed files with 9 additions and 3 deletions

View File

@@ -49,10 +49,14 @@ export class TraitExpression<
) as any ) as any
} }
implementsStatic(target: ImplementsStatic<typeof this>, context: any) {
return {}
}
subtrait< subtrait<
This extends TraitExpression<typeof TraitExpression.NullSuperclass, any, any>, This extends TraitExpression<typeof TraitExpression.NullSuperclass, any, any>,
SubtraitAbstract extends Implements<This>, SubtraitAbstract extends Implements<This>,
SubtraitStaticAbstract extends StaticImplements<This>, SubtraitStaticAbstract extends ImplementsStatic<This>,
SubtraitImplClassWithAbstract extends Class<SubtraitAbstract, []> & { _tag: TraitApplierSuperTag }, SubtraitImplClassWithAbstract extends Class<SubtraitAbstract, []> & { _tag: TraitApplierSuperTag },
>( >(
this: This, this: This,
@@ -115,7 +119,7 @@ export type Implements<Exp extends TraitExpression<any, any, any>> = (
]> ]>
) )
export type StaticImplements<Exp extends TraitExpression<any, any, any>> = ( export type ImplementsStatic<Exp extends TraitExpression<any, any, any>> = (
Pipe<Exp, [ Pipe<Exp, [
TraitExpression.AllTraitsFn, TraitExpression.AllTraitsFn,
Tuples.Map<Trait.OwnStaticAbstractFn>, Tuples.Map<Trait.OwnStaticAbstractFn>,

View File

@@ -1,5 +1,5 @@
import { Trait, trait } from "./Trait" import { Trait, trait } from "./Trait"
import { Implements, StaticImplements } from "./TraitExpression" import { Implements, ImplementsStatic, StaticImplements } from "./TraitExpression"
import { expression } from "./TraitExpressionBuilder" import { expression } from "./TraitExpressionBuilder"
import { abstract } from "./abstract" import { abstract } from "./abstract"
@@ -80,7 +80,9 @@ const exp = expression
.build() .build()
type Abs = Implements<typeof exp> type Abs = Implements<typeof exp>
type AbsStatic = ImplementsStatic<typeof exp>
@exp.implementsStatic
class User extends exp.extends implements Implements<typeof exp> { class User extends exp.extends implements Implements<typeof exp> {
readonly isStatefulSubscription: true = true readonly isStatefulSubscription: true = true
readonly isActiveStatefulSubscription: true = true readonly isActiveStatefulSubscription: true = true