1- import  {  NgZone ,  inject  }  from  '@angular/core' ; 
1+ import  {  Injector ,   NgZone ,  inject  }  from  '@angular/core' ; 
22import  {  pendingUntilEvent  }  from  '@angular/core/rxjs-interop' ; 
33import  type  {  Observable  }  from  'rxjs' ; 
44import  {  map  }  from  'rxjs/operators' ; 
@@ -10,7 +10,7 @@ import { createRemoveMethod } from './remove';
1010import  {  snapshotChanges  }  from  './snapshot-changes' ; 
1111import  {  stateChanges  }  from  './state-changes' ; 
1212
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 >  { 
1414  const  outsideAngularScheduler  =  afDatabase . schedulers . outsideAngular ; 
1515  const  refInZone  =  inject ( NgZone ) . run ( ( )  =>  query . ref ) ; 
1616  return  { 
@@ -20,13 +20,13 @@ export function createListReference<T= any>(query: DatabaseQuery, afDatabase: An
2020    push : ( data : T )  =>  refInZone . push ( data ) , 
2121    remove : createRemoveMethod ( refInZone ) , 
2222    snapshotChanges ( events ?: ChildEvent [ ] )  { 
23-       return  snapshotChanges < T > ( query ,  events ,  outsideAngularScheduler ) . pipe ( pendingUntilEvent ( ) ) ; 
23+       return  snapshotChanges < T > ( query ,  events ,  outsideAngularScheduler ) . pipe ( pendingUntilEvent ( injector ) ) ; 
2424    } , 
2525    stateChanges ( events ?: ChildEvent [ ] )  { 
26-       return  stateChanges < T > ( query ,  events ,  outsideAngularScheduler ) . pipe ( pendingUntilEvent ( ) ) ; 
26+       return  stateChanges < T > ( query ,  events ,  outsideAngularScheduler ) . pipe ( pendingUntilEvent ( injector ) ) ; 
2727    } , 
2828    auditTrail ( events ?: ChildEvent [ ] )  { 
29-       return  auditTrail < T > ( query ,  events ,  outsideAngularScheduler ) . pipe ( pendingUntilEvent ( ) ) ; 
29+       return  auditTrail < T > ( query ,  events ,  outsideAngularScheduler ) . pipe ( pendingUntilEvent ( injector ) ) ; 
3030    } , 
3131    valueChanges < K  extends  string > ( events ?: ChildEvent [ ] ,  options ?: { idField ?: K } ) : Observable < ( T  &  Record < string ,  string > ) [ ] >  { 
3232      const  snapshotChanges$  =  snapshotChanges < T > ( query ,  events ,  outsideAngularScheduler ) ; 
@@ -43,7 +43,7 @@ export function createListReference<T= any>(query: DatabaseQuery, afDatabase: An
4343            return  a . payload . val ( )  as  T  &  Record < string ,  string > 
4444          } 
4545        } ) ) , 
46-         pendingUntilEvent ( ) 
46+         pendingUntilEvent ( injector ) 
4747      ) ; 
4848    } 
4949  } ; 
0 commit comments