import { store } from '../_store/store' import { toast } from '../_utils/toast' import { search } from '../_api/search' export async function doSearch() { let instanceName = store.get('currentInstance') let accessToken = store.get('accessToken') let queryInSearch = store.get('queryInSearch') store.set({searchLoading: true}) try { let results = await search(instanceName, accessToken, queryInSearch) let currentQueryInSearch = store.get('queryInSearch') // avoid race conditions if (currentQueryInSearch === queryInSearch) { store.set({ searchResultsForQuery: queryInSearch, searchResults: results }) } } catch (e) { toast.say('Error during search: ' + (e.name || '') + ' ' + (e.message || '')) console.error(e) } finally { store.set({searchLoading: false}) } }