1- import { database , FirebaseError } from 'firebase' ;
1+ import firebase from 'firebase/app ' ;
22import { useEffect , useMemo } from 'react' ;
33import { snapshotToData } from './helpers' ;
44import useListReducer from './helpers/useListReducer' ;
55import { LoadingHook , useIsEqualRef } from '../util' ;
66
7- export type ListHook = LoadingHook < database . DataSnapshot [ ] , FirebaseError > ;
8- export type ListKeysHook = LoadingHook < string [ ] , FirebaseError > ;
9- export type ListValsHook < T > = LoadingHook < T [ ] , FirebaseError > ;
7+ export type ListHook = LoadingHook <
8+ firebase . database . DataSnapshot [ ] ,
9+ firebase . FirebaseError
10+ > ;
11+ export type ListKeysHook = LoadingHook < string [ ] , firebase . FirebaseError > ;
12+ export type ListValsHook < T > = LoadingHook < T [ ] , firebase . FirebaseError > ;
1013
11- export const useList = ( query ?: database . Query | null ) : ListHook => {
14+ export const useList = ( query ?: firebase . database . Query | null ) : ListHook => {
1215 const [ state , dispatch ] = useListReducer ( ) ;
1316
1417 const ref = useIsEqualRef ( query , ( ) => dispatch ( { type : 'reset' } ) ) ;
1518
1619 const onChildAdded = (
17- snapshot : database . DataSnapshot | null ,
20+ snapshot : firebase . database . DataSnapshot | null ,
1821 previousKey ?: string | null
1922 ) => {
2023 dispatch ( { type : 'add' , previousKey, snapshot } ) ;
2124 } ;
2225
23- const onChildChanged = ( snapshot : database . DataSnapshot | null ) => {
26+ const onChildChanged = ( snapshot : firebase . database . DataSnapshot | null ) => {
2427 dispatch ( { type : 'change' , snapshot } ) ;
2528 } ;
2629
2730 const onChildMoved = (
28- snapshot : database . DataSnapshot | null ,
31+ snapshot : firebase . database . DataSnapshot | null ,
2932 previousKey ?: string | null
3033 ) => {
3134 dispatch ( { type : 'move' , previousKey, snapshot } ) ;
3235 } ;
3336
34- const onChildRemoved = ( snapshot : database . DataSnapshot | null ) => {
37+ const onChildRemoved = ( snapshot : firebase . database . DataSnapshot | null ) => {
3538 dispatch ( { type : 'remove' , snapshot } ) ;
3639 } ;
3740
38- const onError = ( error : FirebaseError ) => {
41+ const onError = ( error : firebase . FirebaseError ) => {
3942 dispatch ( { type : 'error' , error } ) ;
4043 } ;
4144
@@ -44,7 +47,7 @@ export const useList = (query?: database.Query | null): ListHook => {
4447 } ;
4548
4649 useEffect ( ( ) => {
47- const query : database . Query | null | undefined = ref . current ;
50+ const query : firebase . database . Query | null | undefined = ref . current ;
4851 if ( ! query ) {
4952 dispatch ( { type : 'empty' } ) ;
5053 return ;
@@ -71,7 +74,9 @@ export const useList = (query?: database.Query | null): ListHook => {
7174 ) ;
7275} ;
7376
74- export const useListKeys = ( query ?: database . Query | null ) : ListKeysHook => {
77+ export const useListKeys = (
78+ query ?: database . Query | null
79+ ) : ListKeysHook => {
7580 const [ snapshots , loading , error ] = useList ( query ) ;
7681 const values = useMemo (
7782 ( ) => ( snapshots ? snapshots . map ( snapshot => snapshot . key as string ) : undefined ) ,
@@ -90,7 +95,7 @@ export const useListKeys = (query?: database.Query | null): ListKeysHook => {
9095} ;
9196
9297export const useListVals = < T > (
93- query ?: database . Query | null ,
98+ query ?: firebase . database . Query | null ,
9499 options ?: {
95100 keyField ?: string ;
96101 }
@@ -99,7 +104,7 @@ export const useListVals = <T>(
99104 const values = useMemo (
100105 ( ) =>
101106 snapshots
102- ? snapshots . map ( snapshot =>
107+ ? snapshots . map ( ( snapshot ) =>
103108 snapshotToData ( snapshot , options ? options . keyField : undefined )
104109 )
105110 : undefined ,
0 commit comments