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() {
|
||||
return new TraitExpression(
|
||||
this.expressionSuperclass,
|
||||
|
||||
Reference in New Issue
Block a user