stateChanges(events) {
        if (!events || events.length === 0) {
            return docChanges(this.query, this.afs.schedulers.outsideAngular).pipe(this.afs.keepUnstableUntilFirst);
        }
        return docChanges(this.query, this.afs.schedulers.outsideAngular)
            .pipe(map(actions => actions.filter(change => events.indexOf(change.type) > -1)), filter(changes => changes.length > 0), this.afs.keepUnstableUntilFirst);
    }
/**
     * Listen to the latest change in the stream. This method returns changes
     * as they occur and they are not sorted by query order. This allows you to construct
     * your own data structure.
     */
Listen to the latest change in the stream. This method returns changes
as they occur and they are not sorted by query order. This allows you to construct
your own data structure.
Listen to the latest change in the stream . This method returns changes as they occur and they are not sorted by query order . This allows you to construct your own data structure .
stateChanges(events) {
        if (!events || events.length === 0) {
            return docChanges(this.query, this.afs.schedulers.outsideAngular).pipe(this.afs.keepUnstableUntilFirst);
        }
        return docChanges(this.query, this.afs.schedulers.outsideAngular)
            .pipe(map(actions => actions.filter(change => events.indexOf(change.type) > -1)), filter(changes => changes.length > 0), this.afs.keepUnstableUntilFirst);
    }
stateChanges ( events ) { if ( ! events || events . length === 0 ) { return docChanges ( this . query , this . afs . schedulers . outsideAngular ) . pipe ( this . afs . keepUnstableUntilFirst ) ; } return docChanges ( this . query , this . afs . schedulers . outsideAngular ) . pipe ( map ( actions => actions . filter ( change => events . indexOf ( change . type ) > - 1 ) ) , filter ( changes => changes . length > 0 ) , this . afs . keepUnstableUntilFirst ) ; }
Listen to the latest change in the stream.
Listen to the latest change in the stream .