Skip to content

Commit 777db1f

Browse files
committed
[database] Add useObjectVal hook
1 parent f9f1253 commit 777db1f

File tree

5 files changed

+22
-4
lines changed

5 files changed

+22
-4
lines changed

database/index.js.flow

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export type ListHook = {
77
value: DataSnapshot[];
88
};
99
export type ObjectHook = {
10-
error?: object;
10+
error?: Object;
1111
loading: boolean;
1212
value?: DataSnapshot;
1313
};

database/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export { default as useList, ListHook } from './useList';
22
export { default as useObject, ObjectHook } from './useObject';
3+
export { default as useObjectVal, ObjectValHook } from './useObjectVal';

database/useObjectVal.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { database } from 'firebase';
2+
import useObject from './useObject';
3+
4+
export type ObjectValHook<T> = {
5+
error?: object;
6+
loading: boolean;
7+
value?: T;
8+
};
9+
10+
export default <T>(query: database.Query): ObjectValHook<T> => {
11+
const { error, loading, value } = useObject(query);
12+
return {
13+
error,
14+
loading,
15+
value: value ? value.val() : undefined,
16+
};
17+
};

firestore/index.js.flow

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import type {
88
} from 'firebase/firestore';
99

1010
export type CollectionHook = {
11-
error?: object;
11+
error?: Object;
1212
loading: boolean;
1313
value?: firestore.QuerySnapshot;
1414
};
1515
export type DocumentHook = {
16-
error?: object;
16+
error?: Object;
1717
loading: boolean;
1818
value?: firestore.DocumentSnapshot;
1919
};

storage/index.js.flow

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import type { Reference } from 'firebase/storage';
33

44
export type DownloadURLHook = {
5-
error?: object;
5+
error?: Object;
66
loading: boolean;
77
value?: string;
88
};

0 commit comments

Comments
 (0)