react-query-firebase 2.0.0-rc4 → 2.0.0-rc6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/firestore/useCollectionReference.d.ts +1 -1
- package/dist/src/firestore/useCountQuery.d.ts +2 -2
- package/dist/src/firestore/useCountQuery.js +3 -3
- package/dist/src/firestore/useDocReference.d.ts +1 -1
- package/dist/src/firestore/useDocReference.js +4 -9
- package/dist/src/firestore/useInfiniteQuery.d.ts +2 -2
- package/dist/src/firestore/useInfiniteQuery.js +3 -3
- package/dist/src/firestore/useQuery.d.ts +3 -3
- package/dist/src/firestore/useQuery.js +4 -4
- package/package.json +1 -1
- package/src/firestore/useCollectionReference.ts +1 -1
- package/src/firestore/useCountQuery.ts +4 -4
- package/src/firestore/useDocReference.ts +5 -14
- package/src/firestore/useInfiniteQuery.ts +4 -4
- package/src/firestore/useQuery.ts +5 -5
|
@@ -15,4 +15,4 @@ export type UseCollectionReferenceOptions<AppModelType extends FirebaseFirestore
|
|
|
15
15
|
* @param {string[]} options.pathSegments - Additional path segments to append to the base path.
|
|
16
16
|
* @returns {CollectionReference} A Firestore collection reference constructed using the specified path, reference, and path segments.
|
|
17
17
|
*/
|
|
18
|
-
export declare const useCollectionReference: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ path, reference, pathSegments }: UseCollectionReferenceOptions<AppModelType>) => FirebaseFirestoreTypes.CollectionReference<AppModelType
|
|
18
|
+
export declare const useCollectionReference: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ path, reference, pathSegments }: UseCollectionReferenceOptions<AppModelType>) => FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
@@ -2,7 +2,7 @@ import { FirebaseFirestoreTypes, QueryConstraint, QueryNonFilterConstraint } fro
|
|
|
2
2
|
import { UseQueryResult, UseQueryOptions as UseReactQueryOptions } from "@tanstack/react-query";
|
|
3
3
|
type UseCountQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData> = {
|
|
4
4
|
options: Omit<UseReactQueryOptions<number, Error, number>, "queryFn"> & Required<Pick<UseReactQueryOptions<number, Error, number>, "queryKey">>;
|
|
5
|
-
|
|
5
|
+
collectionReference: FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
6
6
|
queryConstraints?: QueryConstraint[] | QueryNonFilterConstraint[];
|
|
7
7
|
compositeFilter?: FirebaseFirestoreTypes.QueryCompositeFilterConstraint;
|
|
8
8
|
};
|
|
@@ -19,5 +19,5 @@ type UseCountQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentDa
|
|
|
19
19
|
* @param {unknown} [options.compositeFilter] - An optional composite filter to apply to the query.
|
|
20
20
|
* @returns {UseQueryResult<number>} An object containing the number of documents that match the query.
|
|
21
21
|
*/
|
|
22
|
-
export declare const useCountQuery: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ options,
|
|
22
|
+
export declare const useCountQuery: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ options, collectionReference, queryConstraints, compositeFilter }: UseCountQueryOptions<AppModelType>) => UseQueryResult<number>;
|
|
23
23
|
export {};
|
|
@@ -13,13 +13,13 @@ import { useQuery as useReactQuery } from "@tanstack/react-query";
|
|
|
13
13
|
* @param {unknown} [options.compositeFilter] - An optional composite filter to apply to the query.
|
|
14
14
|
* @returns {UseQueryResult<number>} An object containing the number of documents that match the query.
|
|
15
15
|
*/
|
|
16
|
-
export const useCountQuery = ({ options,
|
|
16
|
+
export const useCountQuery = ({ options, collectionReference, queryConstraints = [], compositeFilter }) => {
|
|
17
17
|
return useReactQuery({
|
|
18
18
|
...options,
|
|
19
19
|
queryFn: async () => {
|
|
20
20
|
const queryToExecute = compositeFilter
|
|
21
|
-
? query(
|
|
22
|
-
: query(
|
|
21
|
+
? query(collectionReference, compositeFilter, ...queryConstraints)
|
|
22
|
+
: query(collectionReference, ...queryConstraints);
|
|
23
23
|
const querySnapshot = await getCountFromServer(queryToExecute);
|
|
24
24
|
if (querySnapshot) {
|
|
25
25
|
return querySnapshot.data().count;
|
|
@@ -16,4 +16,4 @@ export type UseDocReferenceOptions<AppModelType extends FirebaseFirestoreTypes.D
|
|
|
16
16
|
*
|
|
17
17
|
* @returns {FirebaseFirestoreTypes.DocumentReference<AppModelType> | null} The Firestore document reference corresponding to the provided path and options, or null if not initialized.
|
|
18
18
|
*/
|
|
19
|
-
export declare const useDocReference: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ path, reference, pathSegments }: UseDocReferenceOptions<AppModelType>) => FirebaseFirestoreTypes.DocumentReference<AppModelType
|
|
19
|
+
export declare const useDocReference: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ path, reference, pathSegments }: UseDocReferenceOptions<AppModelType>) => FirebaseFirestoreTypes.DocumentReference<AppModelType>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { doc } from "@react-native-firebase/firestore";
|
|
2
|
-
import {
|
|
2
|
+
import { useMemo } from "react";
|
|
3
3
|
import { useFirestore } from "./useFirestore";
|
|
4
4
|
/**
|
|
5
5
|
* Generates a document reference for a specified path or reference in Firestore.
|
|
@@ -14,9 +14,6 @@ import { useFirestore } from "./useFirestore";
|
|
|
14
14
|
* @returns {DocumentReference<AppModelType> | null} A Firestore document reference if the path is specified; otherwise, returns null if path is not provided.
|
|
15
15
|
*/
|
|
16
16
|
const getDocReference = (db, { path, pathSegments, reference }) => {
|
|
17
|
-
if (!path) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
17
|
return (!reference ? doc(db, path || "", ...(pathSegments || [])) : doc(reference, path, ...(pathSegments || [])));
|
|
21
18
|
};
|
|
22
19
|
/**
|
|
@@ -33,9 +30,7 @@ const getDocReference = (db, { path, pathSegments, reference }) => {
|
|
|
33
30
|
*/
|
|
34
31
|
export const useDocReference = ({ path, reference, pathSegments }) => {
|
|
35
32
|
const db = useFirestore();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}, [db, path, reference, pathSegments]);
|
|
40
|
-
return ref.current;
|
|
33
|
+
return useMemo(() => {
|
|
34
|
+
return getDocReference(db, { path, pathSegments, reference });
|
|
35
|
+
}, [db, reference, path, pathSegments]);
|
|
41
36
|
};
|
|
@@ -2,7 +2,7 @@ import { FirebaseFirestoreTypes, QueryConstraint, QueryNonFilterConstraint } fro
|
|
|
2
2
|
import { UseInfiniteQueryOptions as UseReactInfiniteQueryOptions, QueryKey, UseInfiniteQueryResult, InfiniteData } from "@tanstack/react-query";
|
|
3
3
|
type UseInfiniteQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = {
|
|
4
4
|
options: Omit<UseReactInfiniteQueryOptions<AppModelType[], Error, InfiniteData<AppModelType[]>, AppModelType[], TQueryKey, TPageParam>, "queryFn"> & Required<Pick<UseReactInfiniteQueryOptions<AppModelType[], Error, InfiniteData<AppModelType[]>, AppModelType[], TQueryKey, TPageParam>, "queryKey">>;
|
|
5
|
-
|
|
5
|
+
collectionReference: FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
6
6
|
queryConstraints?: QueryConstraint[] | QueryNonFilterConstraint[];
|
|
7
7
|
compositeFilter?: FirebaseFirestoreTypes.QueryCompositeFilterConstraint;
|
|
8
8
|
};
|
|
@@ -13,5 +13,5 @@ type UseInfiniteQueryOptions<AppModelType extends FirebaseFirestoreTypes.Documen
|
|
|
13
13
|
* @param {UseInfiniteQueryOptions<AppModelType, DbModelType>} options - Configuration options for the infinite query, including Firestore query reference, query constraints, composite filter, and data converter.
|
|
14
14
|
* @returns {UseInfiniteQueryResult<InfiniteData<AppModelType[]>>} Result object containing the infinite data and methods for fetching more pages.
|
|
15
15
|
*/
|
|
16
|
-
export declare const useInfiniteQuery: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ options,
|
|
16
|
+
export declare const useInfiniteQuery: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ options, collectionReference, queryConstraints, compositeFilter }: UseInfiniteQueryOptions<AppModelType>) => UseInfiniteQueryResult<InfiniteData<AppModelType[]>>;
|
|
17
17
|
export {};
|
|
@@ -7,14 +7,14 @@ import { useInfiniteQuery as useInfiniteReactQuery } from "@tanstack/react-query
|
|
|
7
7
|
* @param {UseInfiniteQueryOptions<AppModelType, DbModelType>} options - Configuration options for the infinite query, including Firestore query reference, query constraints, composite filter, and data converter.
|
|
8
8
|
* @returns {UseInfiniteQueryResult<InfiniteData<AppModelType[]>>} Result object containing the infinite data and methods for fetching more pages.
|
|
9
9
|
*/
|
|
10
|
-
export const useInfiniteQuery = ({ options,
|
|
10
|
+
export const useInfiniteQuery = ({ options, collectionReference, queryConstraints = [], compositeFilter }) => {
|
|
11
11
|
return useInfiniteReactQuery({
|
|
12
12
|
...options,
|
|
13
13
|
queryFn: async ({ pageParam }) => {
|
|
14
14
|
const allQueryConstraints = [...queryConstraints, ...(pageParam ? [pageParam] : [])];
|
|
15
15
|
const queryToExecute = compositeFilter
|
|
16
|
-
? query(
|
|
17
|
-
: query(
|
|
16
|
+
? query(collectionReference, compositeFilter, ...allQueryConstraints)
|
|
17
|
+
: query(collectionReference, ...allQueryConstraints);
|
|
18
18
|
const querySnapshot = await getDocs(queryToExecute);
|
|
19
19
|
const docs = [];
|
|
20
20
|
if (querySnapshot) {
|
|
@@ -2,7 +2,7 @@ import { FirebaseFirestoreTypes, QueryConstraint, QueryNonFilterConstraint } fro
|
|
|
2
2
|
import { UseQueryResult, UseQueryOptions as UseReactQueryOptions } from "@tanstack/react-query";
|
|
3
3
|
type UseQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentData> = {
|
|
4
4
|
options: Omit<UseReactQueryOptions<AppModelType[], Error, AppModelType[]>, "queryFn"> & Required<Pick<UseReactQueryOptions<AppModelType[], Error, AppModelType[]>, "queryKey">>;
|
|
5
|
-
|
|
5
|
+
collectionReference: FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
6
6
|
queryConstraints?: QueryConstraint[] | QueryNonFilterConstraint[];
|
|
7
7
|
compositeFilter?: FirebaseFirestoreTypes.QueryCompositeFilterConstraint;
|
|
8
8
|
};
|
|
@@ -13,12 +13,12 @@ type UseQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentData> =
|
|
|
13
13
|
* reference and constraints. It supports optional filtering, conversion, and additional query constraints.
|
|
14
14
|
*
|
|
15
15
|
* @param {UseQueryOptions<AppModelType>} options - Configuration options for the query.
|
|
16
|
-
* @param {FirebaseFirestoreTypes.DocumentReference<AppModelType>}
|
|
16
|
+
* @param {FirebaseFirestoreTypes.DocumentReference<AppModelType>} collectionReference - The reference to the query to be executed.
|
|
17
17
|
* @param {QueryConstraint[]} queryConstraints - Additional constraints to fine-tune the query.
|
|
18
18
|
* @param {QueryConstraint} compositeFilter - Optional composite filter to apply to the query.
|
|
19
19
|
* @param {FirestoreDataConverter<AppModelType>} converter - Optional data converter for transforming snapshots.
|
|
20
20
|
*
|
|
21
21
|
* @returns {UseQueryResult<AppModelType[]>} Result containing an array of documents that match the query criteria.
|
|
22
22
|
*/
|
|
23
|
-
export declare const useQuery: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ options,
|
|
23
|
+
export declare const useQuery: <AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData>({ options, collectionReference, queryConstraints, compositeFilter }: UseQueryOptions<AppModelType>) => UseQueryResult<AppModelType[]>;
|
|
24
24
|
export {};
|
|
@@ -7,20 +7,20 @@ import { useQuery as useReactQuery } from "@tanstack/react-query";
|
|
|
7
7
|
* reference and constraints. It supports optional filtering, conversion, and additional query constraints.
|
|
8
8
|
*
|
|
9
9
|
* @param {UseQueryOptions<AppModelType>} options - Configuration options for the query.
|
|
10
|
-
* @param {FirebaseFirestoreTypes.DocumentReference<AppModelType>}
|
|
10
|
+
* @param {FirebaseFirestoreTypes.DocumentReference<AppModelType>} collectionReference - The reference to the query to be executed.
|
|
11
11
|
* @param {QueryConstraint[]} queryConstraints - Additional constraints to fine-tune the query.
|
|
12
12
|
* @param {QueryConstraint} compositeFilter - Optional composite filter to apply to the query.
|
|
13
13
|
* @param {FirestoreDataConverter<AppModelType>} converter - Optional data converter for transforming snapshots.
|
|
14
14
|
*
|
|
15
15
|
* @returns {UseQueryResult<AppModelType[]>} Result containing an array of documents that match the query criteria.
|
|
16
16
|
*/
|
|
17
|
-
export const useQuery = ({ options,
|
|
17
|
+
export const useQuery = ({ options, collectionReference, queryConstraints = [], compositeFilter }) => {
|
|
18
18
|
return useReactQuery({
|
|
19
19
|
...options,
|
|
20
20
|
queryFn: async () => {
|
|
21
21
|
const queryToExecute = compositeFilter
|
|
22
|
-
? query(
|
|
23
|
-
: query(
|
|
22
|
+
? query(collectionReference, compositeFilter, ...queryConstraints)
|
|
23
|
+
: query(collectionReference, ...queryConstraints);
|
|
24
24
|
const querySnapshot = await getDocs(queryToExecute);
|
|
25
25
|
const docs = [];
|
|
26
26
|
if (querySnapshot) {
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@ export const useCollectionReference = <
|
|
|
30
30
|
path,
|
|
31
31
|
reference,
|
|
32
32
|
pathSegments
|
|
33
|
-
}: UseCollectionReferenceOptions<AppModelType>): FirebaseFirestoreTypes.CollectionReference<AppModelType>
|
|
33
|
+
}: UseCollectionReferenceOptions<AppModelType>): FirebaseFirestoreTypes.CollectionReference<AppModelType> => {
|
|
34
34
|
const db = useFirestore();
|
|
35
35
|
|
|
36
36
|
return useMemo(() => {
|
|
@@ -17,7 +17,7 @@ type UseCountQueryOptions<
|
|
|
17
17
|
> = {
|
|
18
18
|
options: Omit<UseReactQueryOptions<number, Error, number>, "queryFn"> &
|
|
19
19
|
Required<Pick<UseReactQueryOptions<number, Error, number>, "queryKey">>;
|
|
20
|
-
|
|
20
|
+
collectionReference: FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
21
21
|
queryConstraints?: QueryConstraint[] | QueryNonFilterConstraint[];
|
|
22
22
|
compositeFilter?: FirebaseFirestoreTypes.QueryCompositeFilterConstraint;
|
|
23
23
|
};
|
|
@@ -40,7 +40,7 @@ export const useCountQuery = <
|
|
|
40
40
|
AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData
|
|
41
41
|
>({
|
|
42
42
|
options,
|
|
43
|
-
|
|
43
|
+
collectionReference,
|
|
44
44
|
queryConstraints = [],
|
|
45
45
|
compositeFilter
|
|
46
46
|
}: UseCountQueryOptions<AppModelType>): UseQueryResult<number> => {
|
|
@@ -48,8 +48,8 @@ export const useCountQuery = <
|
|
|
48
48
|
...options,
|
|
49
49
|
queryFn: async () => {
|
|
50
50
|
const queryToExecute = compositeFilter
|
|
51
|
-
? query(
|
|
52
|
-
: query(
|
|
51
|
+
? query(collectionReference, compositeFilter, ...(queryConstraints as QueryNonFilterConstraint[]))
|
|
52
|
+
: query(collectionReference, ...queryConstraints);
|
|
53
53
|
|
|
54
54
|
const querySnapshot = await getCountFromServer(queryToExecute);
|
|
55
55
|
if (querySnapshot) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { doc, FirebaseFirestoreTypes } from "@react-native-firebase/firestore";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo } from "react";
|
|
4
4
|
import { useFirestore } from "./useFirestore";
|
|
5
5
|
|
|
6
6
|
export type UseDocReferenceOptions<
|
|
@@ -31,10 +31,6 @@ const getDocReference = <
|
|
|
31
31
|
db: FirebaseFirestoreTypes.Module,
|
|
32
32
|
{ path, pathSegments, reference }: UseDocReferenceOptions<AppModelType>
|
|
33
33
|
) => {
|
|
34
|
-
if (!path) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
34
|
return (
|
|
39
35
|
!reference ? doc(db, path || "", ...(pathSegments || [])) : doc(reference, path, ...(pathSegments || []))
|
|
40
36
|
) as FirebaseFirestoreTypes.DocumentReference<AppModelType>;
|
|
@@ -58,15 +54,10 @@ export const useDocReference = <
|
|
|
58
54
|
path,
|
|
59
55
|
reference,
|
|
60
56
|
pathSegments
|
|
61
|
-
}: UseDocReferenceOptions<AppModelType>): FirebaseFirestoreTypes.DocumentReference<AppModelType>
|
|
57
|
+
}: UseDocReferenceOptions<AppModelType>): FirebaseFirestoreTypes.DocumentReference<AppModelType> => {
|
|
62
58
|
const db = useFirestore();
|
|
63
|
-
const ref = useRef<FirebaseFirestoreTypes.DocumentReference<AppModelType> | null>(
|
|
64
|
-
getDocReference(db, { path, pathSegments, reference })
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
useEffect(() => {
|
|
68
|
-
ref.current = getDocReference(db, { path, pathSegments, reference });
|
|
69
|
-
}, [db, path, reference, pathSegments]);
|
|
70
59
|
|
|
71
|
-
return
|
|
60
|
+
return useMemo(() => {
|
|
61
|
+
return getDocReference(db, { path, pathSegments, reference });
|
|
62
|
+
}, [db, reference, path, pathSegments]);
|
|
72
63
|
};
|
|
@@ -43,7 +43,7 @@ type UseInfiniteQueryOptions<
|
|
|
43
43
|
"queryKey"
|
|
44
44
|
>
|
|
45
45
|
>;
|
|
46
|
-
|
|
46
|
+
collectionReference: FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
47
47
|
queryConstraints?: QueryConstraint[] | QueryNonFilterConstraint[];
|
|
48
48
|
compositeFilter?: FirebaseFirestoreTypes.QueryCompositeFilterConstraint;
|
|
49
49
|
};
|
|
@@ -59,7 +59,7 @@ export const useInfiniteQuery = <
|
|
|
59
59
|
AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData
|
|
60
60
|
>({
|
|
61
61
|
options,
|
|
62
|
-
|
|
62
|
+
collectionReference,
|
|
63
63
|
queryConstraints = [],
|
|
64
64
|
compositeFilter
|
|
65
65
|
}: UseInfiniteQueryOptions<AppModelType>): UseInfiniteQueryResult<InfiniteData<AppModelType[]>> => {
|
|
@@ -68,8 +68,8 @@ export const useInfiniteQuery = <
|
|
|
68
68
|
queryFn: async ({ pageParam }) => {
|
|
69
69
|
const allQueryConstraints = [...queryConstraints, ...(pageParam ? [pageParam] : [])];
|
|
70
70
|
const queryToExecute = compositeFilter
|
|
71
|
-
? query(
|
|
72
|
-
: query(
|
|
71
|
+
? query(collectionReference, compositeFilter, ...(allQueryConstraints as QueryNonFilterConstraint[]))
|
|
72
|
+
: query(collectionReference, ...allQueryConstraints);
|
|
73
73
|
|
|
74
74
|
const querySnapshot = await getDocs(queryToExecute);
|
|
75
75
|
const docs: AppModelType[] = [];
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
type UseQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentData> = {
|
|
16
16
|
options: Omit<UseReactQueryOptions<AppModelType[], Error, AppModelType[]>, "queryFn"> &
|
|
17
17
|
Required<Pick<UseReactQueryOptions<AppModelType[], Error, AppModelType[]>, "queryKey">>;
|
|
18
|
-
|
|
18
|
+
collectionReference: FirebaseFirestoreTypes.CollectionReference<AppModelType>;
|
|
19
19
|
queryConstraints?: QueryConstraint[] | QueryNonFilterConstraint[];
|
|
20
20
|
compositeFilter?: FirebaseFirestoreTypes.QueryCompositeFilterConstraint;
|
|
21
21
|
};
|
|
@@ -27,7 +27,7 @@ type UseQueryOptions<AppModelType extends FirebaseFirestoreTypes.DocumentData> =
|
|
|
27
27
|
* reference and constraints. It supports optional filtering, conversion, and additional query constraints.
|
|
28
28
|
*
|
|
29
29
|
* @param {UseQueryOptions<AppModelType>} options - Configuration options for the query.
|
|
30
|
-
* @param {FirebaseFirestoreTypes.DocumentReference<AppModelType>}
|
|
30
|
+
* @param {FirebaseFirestoreTypes.DocumentReference<AppModelType>} collectionReference - The reference to the query to be executed.
|
|
31
31
|
* @param {QueryConstraint[]} queryConstraints - Additional constraints to fine-tune the query.
|
|
32
32
|
* @param {QueryConstraint} compositeFilter - Optional composite filter to apply to the query.
|
|
33
33
|
* @param {FirestoreDataConverter<AppModelType>} converter - Optional data converter for transforming snapshots.
|
|
@@ -38,7 +38,7 @@ export const useQuery = <
|
|
|
38
38
|
AppModelType extends FirebaseFirestoreTypes.DocumentData = FirebaseFirestoreTypes.DocumentData
|
|
39
39
|
>({
|
|
40
40
|
options,
|
|
41
|
-
|
|
41
|
+
collectionReference,
|
|
42
42
|
queryConstraints = [],
|
|
43
43
|
compositeFilter
|
|
44
44
|
}: UseQueryOptions<AppModelType>): UseQueryResult<AppModelType[]> => {
|
|
@@ -46,8 +46,8 @@ export const useQuery = <
|
|
|
46
46
|
...options,
|
|
47
47
|
queryFn: async () => {
|
|
48
48
|
const queryToExecute = compositeFilter
|
|
49
|
-
? query(
|
|
50
|
-
: query(
|
|
49
|
+
? query(collectionReference, compositeFilter, ...(queryConstraints as QueryNonFilterConstraint[]))
|
|
50
|
+
: query(collectionReference, ...queryConstraints);
|
|
51
51
|
|
|
52
52
|
const querySnapshot = await getDocs(queryToExecute);
|
|
53
53
|
const docs: AppModelType[] = [];
|