|
1 | 1 | import {Str} from 'expensify-common'; |
2 | 2 | import type {ForwardedRef} from 'react'; |
3 | 3 | import React, {forwardRef, useCallback, useEffect, useMemo, useState} from 'react'; |
| 4 | +import type {OnyxCollection} from 'react-native-onyx'; |
4 | 5 | import * as Expensicons from '@components/Icon/Expensicons'; |
5 | 6 | import {usePersonalDetails} from '@components/OnyxProvider'; |
6 | 7 | import {useOptionsList} from '@components/OptionListContextProvider'; |
@@ -39,7 +40,9 @@ import StringUtils from '@libs/StringUtils'; |
39 | 40 | import Timing from '@userActions/Timing'; |
40 | 41 | import CONST from '@src/CONST'; |
41 | 42 | import ONYXKEYS from '@src/ONYXKEYS'; |
| 43 | +import type {Policy, Report} from '@src/types/onyx'; |
42 | 44 | import type PersonalDetails from '@src/types/onyx/PersonalDetails'; |
| 45 | +import {getEmptyObject} from '@src/types/utils/EmptyObject'; |
43 | 46 | import {getSubstitutionMapKey} from './SearchRouter/getQueryWithSubstitutions'; |
44 | 47 | import type {SearchFilterKey, UserFriendlyKey} from './types'; |
45 | 48 |
|
@@ -154,7 +157,7 @@ function SearchAutocompleteList( |
154 | 157 | const [betas] = useOnyx(ONYXKEYS.BETAS, {canBeMissing: true}); |
155 | 158 | const [recentSearches] = useOnyx(ONYXKEYS.RECENT_SEARCHES, {canBeMissing: true}); |
156 | 159 | const personalDetails = usePersonalDetails(); |
157 | | - const [reports = {}] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {canBeMissing: true}); |
| 160 | + const [reports = getEmptyObject<NonNullable<OnyxCollection<Report>>>()] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {canBeMissing: true}); |
158 | 161 | const taxRates = getAllTaxRates(); |
159 | 162 |
|
160 | 163 | const {options, areOptionsInitialized} = useOptionsList(); |
@@ -248,7 +251,7 @@ function SearchAutocompleteList( |
248 | 251 | return getAutocompleteRecentCategories(allRecentCategories); |
249 | 252 | }, [allRecentCategories]); |
250 | 253 |
|
251 | | - const [policies = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {canBeMissing: false}); |
| 254 | + const [policies = getEmptyObject<NonNullable<OnyxCollection<Policy>>>()] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {canBeMissing: false}); |
252 | 255 | const [currentUserLogin] = useOnyx(ONYXKEYS.SESSION, {selector: (session) => session?.email, canBeMissing: false}); |
253 | 256 |
|
254 | 257 | const workspaceList = useMemo( |
|
0 commit comments