get() -> build()
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-02-05 01:04:19 +01:00
parent 99662ecc31
commit a123da55fe
2 changed files with 11 additions and 9 deletions

View File

@@ -12,8 +12,10 @@ class TraitExpressionBuilder<
constructor(private expression: TraitExpression<Super, OwnTraits, AllTraits>) {} constructor(private expression: TraitExpression<Super, OwnTraits, AllTraits>) {}
extends< extends<
NewSuper extends AbstractClass<any> Super extends AbstractClass<any>
>(superclass: NewSuper) { >(
superclass: Super
) {
return new TraitExpressionBuilder( return new TraitExpressionBuilder(
new TraitExpression( new TraitExpression(
superclass, superclass,
@@ -56,12 +58,12 @@ class TraitExpressionBuilder<
]) as SpreadSupertraits<Traits> ]) as SpreadSupertraits<Traits>
} }
get() { build() {
return this.expression as GetTraitExpression<Super, OwnTraits, AllTraits> return this.expression as BuildTraitExpression<Super, OwnTraits, AllTraits>
} }
then<V>(fn: (expression: ReturnType<typeof this.get>) => V): V { then<V>(fn: (expression: ReturnType<typeof this.build>) => V): V {
return fn(this.get()) return fn(this.build())
} }
} }
@@ -110,7 +112,7 @@ type ImplStaticMembersExtendable<
]> ]>
) )
type GetTraitExpression< type BuildTraitExpression<
Superclass extends AbstractClass<{}>, Superclass extends AbstractClass<{}>,
OwnTraits extends Trait<any, any, any>[], OwnTraits extends Trait<any, any, any>[],
AllTraits extends Trait<any, any, any>[], AllTraits extends Trait<any, any, any>[],

View File

@@ -48,7 +48,7 @@ class TestSuperclass {
} }
const builder = expression const exp = expression
.extends(TestSuperclass) .extends(TestSuperclass)
.expresses( .expresses(
PrintsHelloOnNew, PrintsHelloOnNew,
@@ -56,8 +56,8 @@ const builder = expression
// Identifiable<number>(), // Identifiable<number>(),
StatefulSubscription, StatefulSubscription,
) )
.build()
const exp = builder.get()
type Abs = Implements<typeof exp> type Abs = Implements<typeof exp>
// exp.subtrait( // exp.subtrait(