-
François Agneray authoredFrançois Agneray authored
instance.reducer.ts 1.37 KiB
/**
* This file is part of Anis Client.
*
* @copyright Laboratoire d'Astrophysique de Marseille / CNRS
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
import { combineReducers, createFeatureSelector } from '@ngrx/store';
import { RouterReducerState } from 'src/app/custom-route-serializer';
import * as search from './store/reducers/search.reducer';
import * as searchMultiple from './store/reducers/search-multiple.reducer';
import * as coneSearch from './store/reducers/cone-search.reducer';
import * as detail from './store/reducers/detail.reducer';
import * as archive from './store/reducers/archive.reducer';
/**
* Interface for instance state.
*
* @interface State
*/
export interface State {
search: search.State,
searchMultiple: searchMultiple.State,
coneSearch: coneSearch.State
detail: detail.State,
archive: archive.State
}
const reducers = {
search: search.searchReducer,
searchMultiple: searchMultiple.searchMultipleReducer,
coneSearch: coneSearch.coneSearchReducer,
detail: detail.detailReducer,
archive: archive.archiveReducer
};
export const instanceReducer = combineReducers(reducers);
export const getInstanceState = createFeatureSelector<State>('instance');
export const selectRouterState = createFeatureSelector<RouterReducerState>('router');