Tests
This commit is contained in:
12
src/tests.ts
12
src/tests.ts
@@ -1,5 +1,6 @@
|
|||||||
import { Simplify } from "type-fest"
|
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 =>
|
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 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> {
|
class User implements ReturnType<typeof exp.implements> {
|
||||||
id: bigint = -1n
|
id: bigint = -1n
|
||||||
|
|||||||
Reference in New Issue
Block a user