流类型中的自引用泛型类型

时间:2019-03-18 17:08:34

标签: flowtype flow-typed

我正在尝试为Koa库构建更好的Flowtype定义,并且有点卡住了。

我的想法是使用泛型类型来为Koa指定自定义的Context类,因此我们实际上可以对其他字段(由中间件填充)进行类型检查,而不是将它们视为any

所以,我有:

declare type Context {…}

declare class Application<T: Context<T>> extends events$EventEmitter {
    context: T,
    …
}

很好...

但是Context有对Application的反向引用,Application是依赖于Context的泛型。我该如何在typelib中拼写?

这看起来不太正确,因为我实际上不想使用原始的Context而是用户实际使用的类型

declare type Context {
    app: Application<Context>
}

0 个答案:

没有答案