diff --git a/src/TraitExpressionBuilder.ts b/src/TraitExpressionBuilder.ts index 47fd088..5aa95e0 100644 --- a/src/TraitExpressionBuilder.ts +++ b/src/TraitExpressionBuilder.ts @@ -12,8 +12,10 @@ class TraitExpressionBuilder< constructor(private expression: TraitExpression) {} extends< - NewSuper extends AbstractClass - >(superclass: NewSuper) { + Super extends AbstractClass + >( + superclass: Super + ) { return new TraitExpressionBuilder( new TraitExpression( superclass, @@ -56,12 +58,12 @@ class TraitExpressionBuilder< ]) as SpreadSupertraits } - get() { - return this.expression as GetTraitExpression + build() { + return this.expression as BuildTraitExpression } - then(fn: (expression: ReturnType) => V): V { - return fn(this.get()) + then(fn: (expression: ReturnType) => V): V { + return fn(this.build()) } } @@ -110,7 +112,7 @@ type ImplStaticMembersExtendable< ]> ) -type GetTraitExpression< +type BuildTraitExpression< Superclass extends AbstractClass<{}>, OwnTraits extends Trait[], AllTraits extends Trait[], diff --git a/src/tests.ts b/src/tests.ts index 6a03f21..c80b6a2 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -48,7 +48,7 @@ class TestSuperclass { } -const builder = expression +const exp = expression .extends(TestSuperclass) .expresses( PrintsHelloOnNew, @@ -56,8 +56,8 @@ const builder = expression // Identifiable(), StatefulSubscription, ) + .build() -const exp = builder.get() type Abs = Implements // exp.subtrait(