This commit is contained in:
@@ -105,6 +105,32 @@ export class TraitExpressionBuilder<
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
expressesFirst<
|
||||||
|
const T extends Trait<
|
||||||
|
TraitExpression<
|
||||||
|
typeof TraitExpression.NullSuperclass,
|
||||||
|
Trait<any, any, any, any>[]
|
||||||
|
>,
|
||||||
|
any,
|
||||||
|
any,
|
||||||
|
any
|
||||||
|
>[]
|
||||||
|
>(
|
||||||
|
...traits: T
|
||||||
|
) {
|
||||||
|
return new TraitExpressionBuilder(
|
||||||
|
this.expressionSuperclass,
|
||||||
|
|
||||||
|
uniq([
|
||||||
|
...traits.flatMap(trait => [
|
||||||
|
...trait.superExpression.traits,
|
||||||
|
trait,
|
||||||
|
]),
|
||||||
|
...this.expressionTraits,
|
||||||
|
]) as TraitsUniq<[...SpreadSupertraits<T>, ...Traits]>,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
return new TraitExpression(
|
return new TraitExpression(
|
||||||
this.expressionSuperclass,
|
this.expressionSuperclass,
|
||||||
|
|||||||
Reference in New Issue
Block a user