This commit is contained in:
Julien Valverdé
2024-01-29 03:33:43 +01:00
parent 3aade48a7d
commit f59706d994

View File

@@ -1,5 +1,6 @@
import { Simplify } from "type-fest"
import { TraitImplInstance, expresses, trait } from "."
import { TraitAbstractMembers, TraitImplInstance, expresses, trait } from "."
import { MergeInheritanceTree, TraitsAbstractMembers } from "./util"
const PrintsHelloOnNew = trait()(Super =>
@@ -22,11 +23,16 @@ const Identifiable = <ID>() => (
)
type Test = Simplify<TraitImplInstance<ReturnType<typeof Identifiable<bigint>>>>
// type Test = Simplify<TraitImplInstance<ReturnType<typeof Identifiable<bigint>>>>
type Test1 = [
TraitAbstractMembers<ReturnType<typeof Identifiable<bigint>>>,
TraitAbstractMembers<ReturnType<typeof Identifiable<bigint>>>
]
type Test2 = MergeInheritanceTree<Test1>
const appliedIdentifiable = Identifiable<bigint>().apply({} as any)
const exp = expresses(Identifiable<bigint>())
const exp = expresses(Identifiable<bigint>(), Identifiable<number>())
class User implements ReturnType<typeof exp.implements> {
id: bigint = -1n