РЕДАКТИРОВАТЬ: Это проблема 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))