Extendable
This commit is contained in:
10
src/tests.ts
10
src/tests.ts
@@ -1,4 +1,6 @@
|
||||
import { Implements, TraitAbstractMembers, expresses, extendsAndExpresses, trait } from "."
|
||||
import { Booleans, Call, Compose, ComposeLeft, Match, Pipe, Tuples } from "hotscript"
|
||||
import { Implements, TraitAbstractMembers, TraitAbstractMembersFn, expresses, extendsAndExpresses, trait } from "."
|
||||
import { CheckExtendableFn, ExtendFn, Extendable, ExtendableFn, SimplifyFn } from "./util"
|
||||
|
||||
|
||||
const PrintsHelloOnNew = trait()(Super =>
|
||||
@@ -52,7 +54,11 @@ const exp = extendsAndExpresses(
|
||||
Identifiable<bigint>(),
|
||||
// Identifiable<number>()
|
||||
)
|
||||
type Impl = Implements<typeof exp>
|
||||
type ExpImpl = Implements<typeof exp>
|
||||
type ExpAbstractMembers = Pipe<typeof exp.traits, [
|
||||
Tuples.Map<TraitAbstractMembersFn>,
|
||||
]>
|
||||
type ExpExtendable = Extendable<ExpAbstractMembers>
|
||||
|
||||
class User extends exp.extends() implements Implements<typeof exp> {
|
||||
id: bigint = -1n
|
||||
|
||||
Reference in New Issue
Block a user