Trait expression uniq
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-02-09 20:06:53 +01:00
parent 2ad7ca0a0d
commit 04f15b5b45
3 changed files with 5 additions and 2 deletions

BIN
bun.lockb

Binary file not shown.

View File

@@ -29,10 +29,12 @@
},
"dependencies": {
"hotscript": "^1.0.13",
"lodash-es": "^4.17.21",
"type-fest": "^4.10.2"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^15.2.3",
"@types/lodash-es": "^4.17.12",
"bun-types": "latest",
"npm-check-updates": "^16.14.14",
"npm-sort": "^0.0.4",

View File

@@ -1,4 +1,5 @@
import { Call, Fn, Pipe, Tuples } from "hotscript"
import { uniq } from "lodash-es"
import { AbstractClass } from "type-fest"
import { Trait } from "./Trait"
import { TraitExpression, emptyTraitExpression } from "./TraitExpression"
@@ -96,8 +97,8 @@ class TraitExpressionBuilder<
return new TraitExpressionBuilder(
new TraitExpression(
this.expression.superclass,
[...this.expression.ownTraits, ...traits],
[...this.expression.allTraits, ...this.spreadSupertraits(traits)],
uniq([...this.expression.ownTraits, ...traits]) as [...OwnTraits, ...Traits],
uniq([...this.expression.allTraits, ...this.spreadSupertraits(traits)]) as [...AllTraits, ...SpreadSupertraits<Traits>],
)
)
}