Working inheritance traits
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -20,8 +20,8 @@ const Permissible = trait(Parent => {
|
|||||||
static readonly defaultPermissions: string[] = []
|
static readonly defaultPermissions: string[] = []
|
||||||
permissions: string[] = []
|
permissions: string[] = []
|
||||||
|
|
||||||
constructor() {
|
constructor(...args: any[]) {
|
||||||
super()
|
super(...args)
|
||||||
console.log("Permissible constructor")
|
console.log("Permissible constructor")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,4 +42,5 @@ class User extends UserProto {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const user1 = new User(1n)
|
const user1 = new User(1n)
|
||||||
user1.equals(user1)
|
console.log(user1)
|
||||||
|
console.log(user1.equals(user1))
|
||||||
|
|||||||
@@ -36,7 +36,10 @@ export function extendsAndExpresses<
|
|||||||
traits: Traits,
|
traits: Traits,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
return extend as unknown as (
|
return traits.reduce(
|
||||||
|
(previous, trait) => trait(previous),
|
||||||
|
extend,
|
||||||
|
) as (
|
||||||
AbstractClass<
|
AbstractClass<
|
||||||
InstanceType<C> &
|
InstanceType<C> &
|
||||||
UnionToIntersection<
|
UnionToIntersection<
|
||||||
|
|||||||
Reference in New Issue
Block a user