Attempt at trait constructor invocation
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2023-12-28 02:09:03 +01:00
parent 55013a1110
commit 018ece30f0
3 changed files with 29 additions and 9 deletions

BIN
bun.lockb

Binary file not shown.

View File

@@ -29,6 +29,7 @@
"rollup": "^4.7.0",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-ts": "^3.4.5",
"tsx": "^4.7.0",
"typescript": "^5.3.3"
}
}

View File

@@ -40,8 +40,12 @@ class ImplementsIdentifiable<ID> extends Identified<ID> {
abstract class Permissible {
static readonly defaultPermissions: string[] = []
// permissions: string[] = []
permissions!: string[]
permissions: string[] = []
// permissions!: string[]
constructor() {
console.log("Permissible constructor")
}
initializer() {
console.log("Permissible initializer")
@@ -63,13 +67,28 @@ class User extends expresses(
}
}
console.log(new User(BigInt(1)))
// const user1 = new User(BigInt(1))
// const user2 = new User(BigInt(2))
console.log(Permissible.constructor())
console.log(Object.getOwnPropertyNames(User.prototype))
// console.log(user1)
// console.log(user1.equals(user2))
const user1 = new User(BigInt(1))
const user2 = new User(BigInt(2))
console.log(user1.equals(user2))
console.log(user1.permissions)
class ConstructorTests1 {
value: string
constructor() {
console.log("ConstructorTests1")
this.value = "ConstructorTests1"
}
}
function ConstructorTests2(this: ConstructorTests1) {
console.log("ConstructorTests2")
this.value = "ConstructorTests2"
}
const targetObj = {}
console.log(Reflect.construct(ConstructorTests1, [], ConstructorTests2))