Skip to content

Commit c3e7071

Browse files
committed
Add additional type information to firestore hooks. Closes #67
1 parent efe6e65 commit c3e7071

File tree

5 files changed

+21
-21
lines changed

5 files changed

+21
-21
lines changed

firestore/types.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@ export type OnceOptions = {
1414
};
1515
export type OnceDataOptions = OnceOptions & IDOptions;
1616
export type Data<
17-
T,
17+
T = firebase.firestore.DocumentData,
1818
IDField extends string = '',
1919
RefField extends string = ''
2020
> = T & Record<IDField, string> & Record<RefField, string>;
2121

22-
export type CollectionHook<T> = LoadingHook<
22+
export type CollectionHook<T = firebase.firestore.DocumentData> = LoadingHook<
2323
firebase.firestore.QuerySnapshot<T>,
2424
Error
2525
>;
2626
export type CollectionDataHook<
27-
T,
27+
T = firebase.firestore.DocumentData,
2828
IDField extends string = '',
2929
RefField extends string = ''
3030
> = LoadingHook<Data<T, IDField, RefField>[], Error>;
3131

32-
export type DocumentHook<T> = LoadingHook<
32+
export type DocumentHook<T = firebase.firestore.DocumentData> = LoadingHook<
3333
firebase.firestore.DocumentSnapshot<T>,
3434
Error
3535
>;
3636
export type DocumentDataHook<
37-
T,
37+
T = firebase.firestore.DocumentData,
3838
IDField extends string = '',
3939
RefField extends string = ''
4040
> = LoadingHook<Data<T, IDField, RefField>, Error>;

firestore/useCollection.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
} from './types';
1111
import { useIsEqualRef, useLoadingValue } from '../util';
1212

13-
export const useCollection = <T>(
14-
query?: firebase.firestore.Query | null,
13+
export const useCollection = <T = firebase.firestore.DocumentData>(
14+
query?: firebase.firestore.Query<T> | null,
1515
options?: Options
1616
): CollectionHook<T> => {
1717
const { error, loading, reset, setError, setValue, value } = useLoadingValue<
@@ -48,11 +48,11 @@ export const useCollection = <T>(
4848
};
4949

5050
export const useCollectionData = <
51-
T,
51+
T = firebase.firestore.DocumentData,
5252
IDField extends string = '',
5353
RefField extends string = ''
5454
>(
55-
query?: firebase.firestore.Query | null,
55+
query?: firebase.firestore.Query<T> | null,
5656
options?: DataOptions
5757
): CollectionDataHook<T, IDField, RefField> => {
5858
const idField = options ? options.idField : undefined;

firestore/useCollectionOnce.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
} from './types';
1111
import { useIsEqualRef, useLoadingValue } from '../util';
1212

13-
export const useCollectionOnce = <T>(
14-
query?: firebase.firestore.Query | null,
13+
export const useCollectionOnce = <T = firebase.firestore.DocumentData>(
14+
query?: firebase.firestore.Query<T> | null,
1515
options?: OnceOptions
1616
): CollectionHook<T> => {
1717
const { error, loading, reset, setError, setValue, value } = useLoadingValue<
@@ -40,11 +40,11 @@ export const useCollectionOnce = <T>(
4040
};
4141

4242
export const useCollectionDataOnce = <
43-
T,
43+
T = firebase.firestore.DocumentData,
4444
IDField extends string = '',
4545
RefField extends string = ''
4646
>(
47-
query?: firebase.firestore.Query | null,
47+
query?: firebase.firestore.Query<T> | null,
4848
options?: OnceDataOptions
4949
): CollectionDataHook<T, IDField, RefField> => {
5050
const idField = options ? options.idField : undefined;

firestore/useDocument.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
} from './types';
1111
import { useIsEqualRef, useLoadingValue } from '../util';
1212

13-
export const useDocument = <T>(
14-
docRef?: firebase.firestore.DocumentReference | null,
13+
export const useDocument = <T = firebase.firestore.DocumentData>(
14+
docRef?: firebase.firestore.DocumentReference<T> | null,
1515
options?: Options
1616
): DocumentHook<T> => {
1717
const { error, loading, reset, setError, setValue, value } = useLoadingValue<
@@ -48,11 +48,11 @@ export const useDocument = <T>(
4848
};
4949

5050
export const useDocumentData = <
51-
T,
51+
T = firebase.firestore.DocumentData,
5252
IDField extends string = '',
5353
RefField extends string = ''
5454
>(
55-
docRef?: firebase.firestore.DocumentReference | null,
55+
docRef?: firebase.firestore.DocumentReference<T> | null,
5656
options?: DataOptions
5757
): DocumentDataHook<T, IDField, RefField> => {
5858
const idField = options ? options.idField : undefined;

firestore/useDocumentOnce.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import { LoadingHook, useIsEqualRef, useLoadingValue } from '../util';
1212

1313
export type DocumentDataOnceHook<T> = LoadingHook<T, Error>;
1414

15-
export const useDocumentOnce = <T>(
16-
docRef?: firebase.firestore.DocumentReference | null,
15+
export const useDocumentOnce = <T = firebase.firestore.DocumentData>(
16+
docRef?: firebase.firestore.DocumentReference<T> | null,
1717
options?: OnceOptions
1818
): DocumentHook<T> => {
1919
const { error, loading, reset, setError, setValue, value } = useLoadingValue<
@@ -42,11 +42,11 @@ export const useDocumentOnce = <T>(
4242
};
4343

4444
export const useDocumentDataOnce = <
45-
T,
45+
T = firebase.firestore.DocumentData,
4646
IDField extends string = '',
4747
RefField extends string = ''
4848
>(
49-
docRef?: firebase.firestore.DocumentReference | null,
49+
docRef?: firebase.firestore.DocumentReference<T> | null,
5050
options?: OnceDataOptions
5151
): DocumentDataHook<T, IDField, RefField> => {
5252
const idField = options ? options.idField : undefined;

0 commit comments

Comments
 (0)