самоссылочные универсальные типы в flowtype - PullRequest
1 голос
/ 18 марта 2019

Я пытаюсь создать лучшее определение Flowtype для библиотеки Koa, и я немного застрял.

Моя идея состояла в том, чтобы использовать универсальные типы, чтобы иметь возможность задавать настраиваемый класс Context для Koa, поэтому мы можем фактически проверять дополнительные поля (заполненные промежуточным программным обеспечением) вместо обработки их как any.

итак, у меня есть:

declare type Context {…}

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

прекрасный ...

но Context имеет обратную ссылку на Application, которая является общей зависимой от Context. Как мне это пишется в typelib?

Это не выглядит правильно, так как я на самом деле хочу использовать не оригинальный Context, а тип, который фактически использовался пользователем

declare type Context {
    app: Application<Context>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...