Skip to content

Commit

Permalink
feat(firestore): export and test types for the modular API
Browse files Browse the repository at this point in the history
  • Loading branch information
dhenneke authored and mikehardy committed May 8, 2024
1 parent 5d62408 commit ad40ea2
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 1 deletion.
2 changes: 2 additions & 0 deletions packages/firestore/lib/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2340,6 +2340,8 @@ export const firebase: ReactNativeFirebase.Module & {
): ReactNativeFirebase.FirebaseApp & { firestore(): FirebaseFirestoreTypes.Module };
};

export * from './modular';

export const Filter: FilterFunction;

export default defaultExport;
Expand Down
8 changes: 8 additions & 0 deletions packages/firestore/lib/modular/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -532,3 +532,11 @@ export function namedQuery(firestore: Firestore, name: string): Query<DocumentDa
* writes.
*/
export function writeBatch(firestore: Firestore): FirebaseFirestoreTypes.WriteBatch;

export * from './query';
export * from './snapshot';
export * from './Bytes';
export * from './FieldPath';
export * from './FieldValue';
export * from './GeoPoint';
export * from './Timestamp';
86 changes: 85 additions & 1 deletion packages/firestore/type-test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
import firebase, { FirebaseFirestoreTypes } from '.';
import firebase, {
FirebaseFirestoreTypes,
addDoc,
collection,
collectionGroup,
doc,
endAt,
getDoc,
getDocFromCache,
getDocFromServer,
getDocs,
getDocsFromCache,
getDocsFromServer,
onSnapshot,
query,
startAfter,
updateDoc,
} from '.';

console.log(firebase().collection);

Expand Down Expand Up @@ -107,3 +124,70 @@ firebase
complete() {},
},
);

collection(firebase.firestore(), 'foo');
collection(firebase.firestore(), 'foo', 'foo', 'foo');
collection(doc(collection(firebase.firestore(), 'foo'), 'foo'), 'foo');
doc(firebase.firestore(), 'foo', 'foo');
doc(collection(firebase.firestore(), 'foo'), 'foo');
addDoc(collection(firebase.firestore(), 'foo'), { foo: 'bar' }).then();
updateDoc(doc(firebase.firestore(), 'foo', 'foo'), { foo: 'bar' }).then();
getDoc(doc(firebase.firestore(), 'foo', 'foo')).then();
getDocFromCache(doc(firebase.firestore(), 'foo', 'foo')).then();
getDocFromServer(doc(firebase.firestore(), 'foo', 'foo')).then();
getDocs(query(collectionGroup(firebase.firestore(), 'foo'), endAt(123), startAfter(123))).then();
getDocsFromCache(
query(collectionGroup(firebase.firestore(), 'foo'), endAt(123), startAfter(123)),
).then();
getDocsFromServer(
query(collectionGroup(firebase.firestore(), 'foo'), endAt(123), startAfter(123)),
).then();
onSnapshot(doc(firebase.firestore(), 'foo', 'foo'), () => {});
onSnapshot(doc(firebase.firestore(), 'foo', 'foo'), {
next: (snapshot: FirebaseFirestoreTypes.DocumentSnapshot) => {
console.log(snapshot.get('foo'));
},
error: (error: { message: any }) => {
console.log(error.message);
},
});
onSnapshot(
doc(firebase.firestore(), 'foo', 'foo'),
{
includeMetadataChanges: true,
},
{
next: (snapshot: FirebaseFirestoreTypes.DocumentSnapshot) => {
console.log(snapshot.get('foo'));
},
error: (error: { message: any }) => {
console.log(error.message);
},
complete() {},
},
);
onSnapshot(
collection(firebase.firestore(), 'foo'),
(snapshot: FirebaseFirestoreTypes.QuerySnapshot) => {
console.log(snapshot.docs);
},
(error: { message: any }) => {
console.log(error.message);
},
() => {},
);
onSnapshot(
collection(firebase.firestore(), 'foo'),
{
includeMetadataChanges: true,
},
{
next: (snapshot: FirebaseFirestoreTypes.QuerySnapshot) => {
console.log(snapshot.docs);
},
error: (error: { message: any }) => {
console.log(error.message);
},
complete() {},
},
);

0 comments on commit ad40ea2

Please sign in to comment.