Typescript - вывод типа оператора фильтра RxJs с защитой типа - PullRequest
0 голосов
/ 14 декабря 2018

РЕДАКТИРОВАТЬ: Это проблема IntelliJ, VSCode отображает ее правильно.
Ошибка при https://youtrack.jetbrains.com/issue/WEB-36341

У меня есть метод защиты типа:

public isValid<T>(result: Result<T>): result is ValidResult<T> {
    return result.isValid()
}

тип Result:

type Result<T = void> = ValidResult<T> | ErrorResult<T>

Я пытаюсь выяснить, как получить вывод типа для работы с

this.myService
    .getResult(...) // returns Observable<Result<ReadonlyArray<string>>>
    .pipe(filter(Result.isValid))
    .subscribe(result => myFun(result.value)) // here result is "any"

Очевидно, если я укажу универсальные типыработает как положено:

.pipe(filter<Result<ReadonlyArray<string>>, ValidResult<ReadonlyArray<string>>>(Result.isValid))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...