1
- import { NgZone , inject } from '@angular/core' ;
1
+ import { Injector , NgZone , inject } from '@angular/core' ;
2
2
import { pendingUntilEvent } from '@angular/core/rxjs-interop' ;
3
3
import type { Observable } from 'rxjs' ;
4
4
import { map } from 'rxjs/operators' ;
@@ -10,7 +10,7 @@ import { createRemoveMethod } from './remove';
10
10
import { snapshotChanges } from './snapshot-changes' ;
11
11
import { stateChanges } from './state-changes' ;
12
12
13
- export function createListReference < T = any > ( query : DatabaseQuery , afDatabase : AngularFireDatabase ) : AngularFireList < T > {
13
+ export function createListReference < T = any > ( query : DatabaseQuery , afDatabase : AngularFireDatabase , injector ?: Injector ) : AngularFireList < T > {
14
14
const outsideAngularScheduler = afDatabase . schedulers . outsideAngular ;
15
15
const refInZone = inject ( NgZone ) . run ( ( ) => query . ref ) ;
16
16
return {
@@ -20,13 +20,13 @@ export function createListReference<T= any>(query: DatabaseQuery, afDatabase: An
20
20
push : ( data : T ) => refInZone . push ( data ) ,
21
21
remove : createRemoveMethod ( refInZone ) ,
22
22
snapshotChanges ( events ?: ChildEvent [ ] ) {
23
- return snapshotChanges < T > ( query , events , outsideAngularScheduler ) . pipe ( pendingUntilEvent ( ) ) ;
23
+ return snapshotChanges < T > ( query , events , outsideAngularScheduler ) . pipe ( pendingUntilEvent ( injector ) ) ;
24
24
} ,
25
25
stateChanges ( events ?: ChildEvent [ ] ) {
26
- return stateChanges < T > ( query , events , outsideAngularScheduler ) . pipe ( pendingUntilEvent ( ) ) ;
26
+ return stateChanges < T > ( query , events , outsideAngularScheduler ) . pipe ( pendingUntilEvent ( injector ) ) ;
27
27
} ,
28
28
auditTrail ( events ?: ChildEvent [ ] ) {
29
- return auditTrail < T > ( query , events , outsideAngularScheduler ) . pipe ( pendingUntilEvent ( ) ) ;
29
+ return auditTrail < T > ( query , events , outsideAngularScheduler ) . pipe ( pendingUntilEvent ( injector ) ) ;
30
30
} ,
31
31
valueChanges < K extends string > ( events ?: ChildEvent [ ] , options ?: { idField ?: K } ) : Observable < ( T & Record < string , string > ) [ ] > {
32
32
const snapshotChanges$ = snapshotChanges < T > ( query , events , outsideAngularScheduler ) ;
@@ -43,7 +43,7 @@ export function createListReference<T= any>(query: DatabaseQuery, afDatabase: An
43
43
return a . payload . val ( ) as T & Record < string , string >
44
44
}
45
45
} ) ) ,
46
- pendingUntilEvent ( )
46
+ pendingUntilEvent ( injector )
47
47
) ;
48
48
}
49
49
} ;
0 commit comments