query, }; } function onAddSearchResult(state, action) { const { resource } = action; const results = state.results.slice(); results.push({ resource, results: action.result, }); return { ...state, results, }; } function onClearSearchResults(state) { if (!state.results.length) { return state; } return { ...state, results: [], }; } function onAddOngoingSearch(state, action) { if (state.ongoingSearch == action.ongoingSearch) { return state; } return { ...state, ongoingSearch: action.ongoingSearch, }; } function onToggleCaseSensitiveSearch(state) { return { ...state, caseSensitive: !state.caseSensitive, }; } function onUpdateSearchStatus(state, action) { if (state.status == action.status) { return state; } return { ...state, status: action.status, }; } function onSetTargetSearchResult(state, action) { if (state.targetSearchResult == action.searchResult) { return state; } return { ...state, targetSearchResult: action.searchResult, }; } module.exports = { Search, search, }; PK