Skip to content

Commit 7c6bbf3

Browse files
committed
Bring back factory
1 parent df44160 commit 7c6bbf3

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/zones.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,23 @@ export function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {
9292
}
9393

9494
export function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {
95-
return obs$.pipe(pendingUntilEvent(getSchedulers().injector));
95+
return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);
96+
}
97+
98+
/**
99+
* Operator to block the zone until the first value has been emitted or the observable
100+
* has completed/errored. This is used to make sure that universal waits until the first
101+
* value from firebase but doesn't block the zone forever since the firebase subscription
102+
* is still alive.
103+
*/
104+
export function ɵkeepUnstableUntilFirstFactory(
105+
_schedulers: ɵAngularFireSchedulers
106+
) {
107+
return function keepUnstableUntilFirst<T>(
108+
obs$: Observable<T>
109+
): Observable<T> {
110+
return obs$.pipe(pendingUntilEvent(getSchedulers().injector));
111+
}
96112
}
97113

98114
const zoneWrapFn = (

0 commit comments

Comments
 (0)