| 191 | collection<T>(path: string, queryFn?: QueryFn): AngularFirestoreCollection<T>; |
| 192 | collection<T>(ref: CollectionReference, queryFn?: QueryFn): AngularFirestoreCollection<T>; |
| 193 | collection<T>(pathOrRef: string | CollectionReference<T>, queryFn?: QueryFn): AngularFirestoreCollection<T> { |
| 194 | let collectionRef: CollectionReference<T>; |
| 195 | if (typeof pathOrRef === 'string') { |
| 196 | collectionRef = this.firestore.collection(pathOrRef) as firebase.firestore.CollectionReference<T>; |
| 197 | } else { |
| 198 | collectionRef = pathOrRef; |
| 199 | } |
| 200 | const { ref, query } = associateQuery<T>(collectionRef, queryFn); |
| 201 | const refInZone = this.ngZone.run(() => ref); |
| 202 | return new AngularFirestoreCollection<T>(refInZone, query, this); |
| 203 | } |
| 204 | |
| 205 | /** |
| 206 | * Create a reference to a Firestore Collection Group based on a collectionId |