fix(core): AsyncPipe now compatible with RxJS 7 (#41590)
Adds a fix to make sure that RxJS v7 Observable is compatible with AsyncPipe. This is a typings-only change. For more information see: https://github.com/microsoft/TypeScript/issues/43643 PR Close #41590
This commit is contained in:
parent
b3cd1280da
commit
e387d22f83
4
goldens/public-api/common/common.d.ts
vendored
4
goldens/public-api/common/common.d.ts
vendored
@ -3,9 +3,9 @@ export declare const APP_BASE_HREF: InjectionToken<string>;
|
|||||||
export declare class AsyncPipe implements OnDestroy, PipeTransform {
|
export declare class AsyncPipe implements OnDestroy, PipeTransform {
|
||||||
constructor(_ref: ChangeDetectorRef);
|
constructor(_ref: ChangeDetectorRef);
|
||||||
ngOnDestroy(): void;
|
ngOnDestroy(): void;
|
||||||
transform<T>(obj: Subscribable<T> | Promise<T>): T | null;
|
transform<T>(obj: Observable<T> | Subscribable<T> | Promise<T>): T | null;
|
||||||
transform<T>(obj: null | undefined): null;
|
transform<T>(obj: null | undefined): null;
|
||||||
transform<T>(obj: Subscribable<T> | Promise<T> | null | undefined): T | null;
|
transform<T>(obj: Observable<T> | Subscribable<T> | Promise<T> | null | undefined): T | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export declare class CommonModule {
|
export declare class CommonModule {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import {ChangeDetectorRef, EventEmitter, OnDestroy, Pipe, PipeTransform, ɵisPromise, ɵisSubscribable} from '@angular/core';
|
import {ChangeDetectorRef, EventEmitter, OnDestroy, Pipe, PipeTransform, ɵisPromise, ɵisSubscribable} from '@angular/core';
|
||||||
import {Subscribable, Unsubscribable} from 'rxjs';
|
import {Observable, Subscribable, Unsubscribable} from 'rxjs';
|
||||||
|
|
||||||
import {invalidPipeArgumentError} from './invalid_pipe_argument_error';
|
import {invalidPipeArgumentError} from './invalid_pipe_argument_error';
|
||||||
|
|
||||||
@ -95,10 +95,14 @@ export class AsyncPipe implements OnDestroy, PipeTransform {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
transform<T>(obj: Subscribable<T>|Promise<T>): T|null;
|
// NOTE(@benlesh): Because Observable has deprecated a few call patterns for `subscribe`,
|
||||||
|
// TypeScript has a hard time matching Observable to Subscribable, for more information
|
||||||
|
// see https://github.com/microsoft/TypeScript/issues/43643
|
||||||
|
|
||||||
|
transform<T>(obj: Observable<T>|Subscribable<T>|Promise<T>): T|null;
|
||||||
transform<T>(obj: null|undefined): null;
|
transform<T>(obj: null|undefined): null;
|
||||||
transform<T>(obj: Subscribable<T>|Promise<T>|null|undefined): T|null;
|
transform<T>(obj: Observable<T>|Subscribable<T>|Promise<T>|null|undefined): T|null;
|
||||||
transform<T>(obj: Subscribable<T>|Promise<T>|null|undefined): T|null {
|
transform<T>(obj: Observable<T>|Subscribable<T>|Promise<T>|null|undefined): T|null {
|
||||||
if (!this._obj) {
|
if (!this._obj) {
|
||||||
if (obj) {
|
if (obj) {
|
||||||
this._subscribe(obj);
|
this._subscribe(obj);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user