Closed
Description
Version info
Angular: 4.4.4
Firebase: 4.5.0
AngularFire: 5.0.0-rc.0-next
The problem
AngularFireList
and AngularFireObject
has a generic T
that is not inherited to all of it's members, such as valueChanges
or snapshotChanges
.
Is it possible to have a generic for snapshotChanges
? It returns a SnapshotAction
, which in turn contains a firebase.database.DataSnapshot
, which is not generic.
Links to related Interfaces
AngularFireList
AngularFireObject
The fix
(if I'm correct)
--- a/src/database/interfaces.ts
+++ b/src/database/interfaces.ts
@@ -5,7 +5,7 @@ export type FirebaseOperation = string | firebase.database.Reference | firebase.
export interface AngularFireList<T> {
query: DatabaseQuery;
- valueChanges<T>(events?: ChildEvent[]): Observable<T[]>;
+ valueChanges(events?: ChildEvent[]): Observable<T[]>;
snapshotChanges(events?: ChildEvent[]): Observable<SnapshotAction[]>;
stateChanges(events?: ChildEvent[]): Observable<SnapshotAction>;
auditTrail(events?: ChildEvent[]): Observable<SnapshotAction[]>;
@@ -17,8 +17,8 @@ export interface AngularFireList<T> {
export interface AngularFireObject<T> {
query: DatabaseQuery;
- valueChanges<T>(): Observable<T | null>;
- snapshotChanges<T>(): Observable<SnapshotAction>;
+ valueChanges(): Observable<T | null>;
+ snapshotChanges(): Observable<SnapshotAction>;
update(data: T): Promise<any>;
set(data: T): Promise<void>;
remove(): Promise<any>;
Should I open a PR?
Metadata
Metadata
Assignees
Labels
No labels