Working inheritance traits
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2023-12-28 05:21:00 +01:00
parent 3a155d5ef9
commit f619f47fc3
2 changed files with 8 additions and 4 deletions

View File

@@ -20,8 +20,8 @@ const Permissible = trait(Parent => {
static readonly defaultPermissions: string[] = []
permissions: string[] = []
constructor() {
super()
constructor(...args: any[]) {
super(...args)
console.log("Permissible constructor")
}
}
@@ -42,4 +42,5 @@ class User extends UserProto {
}
const user1 = new User(1n)
user1.equals(user1)
console.log(user1)
console.log(user1.equals(user1))

View File

@@ -36,7 +36,10 @@ export function extendsAndExpresses<
traits: Traits,
) {
return extend as unknown as (
return traits.reduce(
(previous, trait) => trait(previous),
extend,
) as (
AbstractClass<
InstanceType<C> &
UnionToIntersection<