All files / src/app/core/store/shopping/search search.reducer.ts

100% Statements 8/8
100% Branches 0/0
100% Functions 2/2
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25120x 120x       120x             120x 4x         120x   120x   2x    
import { EntityState, createEntityAdapter } from '@ngrx/entity';
import { createReducer, on } from '@ngrx/store';
 
import { SuggestTerm } from 'ish-core/models/suggest-term/suggest-term.model';
 
import { suggestSearchSuccess } from './search.actions';
 
interface SuggestSearch {
  searchTerm: string;
  suggests: SuggestTerm[];
}
 
export const searchAdapter = createEntityAdapter<SuggestSearch>({
  selectId: search => search.searchTerm,
});
 
export type SearchState = EntityState<SuggestSearch>;
 
const initialState: SearchState = searchAdapter.getInitialState({});
 
export const searchReducer = createReducer(
  initialState,
  on(suggestSearchSuccess, (state, action) => searchAdapter.upsertOne(action.payload, state))
);