|
|
|
|
|
by kdkeyser
2051 days ago
|
|
In your example, there is no relation between anything in Module1Interface and Module2Interface. Probably closer would be (not sure if this is possible in Typescript): class CustomModule<S, T1 extends Module1Interface<S>, T2 extends Module2Interface<S> > {
constructor(t1: T1, t2: T2) { ... }
}
Meaning that, for example, within Module1Inteface, there is some function f1 that returns an S, and within Module2Interface, there is some function f2 that takes an S as argument.This does become a bit tedious notation-wise, if possible at all. In Ocaml, this would look like: module CustomModule(M1: Module1)(M2: Module2 with type s = M1.s)
|
|