Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(publishReplay): improved type inference for arguments (#2992)
* operator/publishReplay.ts:give type args to higherOrder call operator/publishReplay delegates to operators/publishReplay. The call is correct — *one* of the three overloads will be called, and it doesn't matter which — but the compiler has to choose one overload. This change provides the type arguments explicitly so that the most general overload gets called. This results in the the correct return type, `OperatorFunction<T, R>`. * fix: give type args to higherOrder call in src/operator/publishReplay.ts operator/publishReplay delegates to operators/publishReplay. The call is correct — *one* of the three overloads will be called, and it doesn't matter which — but the compiler has to choose one overload. Previously, the call didn't include type arguments, and the type of the one argument that would be used for inference, selectorOrScheduler, was of type `any`. So the compiler chose the first overload with four parameters. However, the return type of this overload is incorrect, whereas the return type of the third overload is correct. Provide the type arguments explicitly so that the last, most general overload gets called. This results in the the correct return type, `OperatorFunction<T, R>`. Closes #2991
- Loading branch information