Skip to content
Snippets Groups Projects
core.reducers.ts 1.13 KiB
Newer Older
lotte's avatar
lotte committed
import {
  ActionReducerMap,
  createFeatureSelector,
} from '@ngrx/store';
William Welling's avatar
William Welling committed

import { objectCacheReducer, ObjectCacheState } from './cache/object-cache.reducer';
import { indexReducer, IndexState } from './index/index.reducer';
import { requestReducer, RequestState } from './data/request.reducer';
import { authReducer, AuthState } from './auth/auth.reducer';
import { serverSyncBufferReducer, ServerSyncBufferState } from './cache/server-sync-buffer.reducer';
lotte's avatar
lotte committed
import {
  objectUpdatesReducer,
  ObjectUpdatesState
} from './data/object-updates/object-updates.reducer';

export interface CoreState {
  'cache/object': ObjectCacheState,
  'cache/syncbuffer': ServerSyncBufferState,
lotte's avatar
lotte committed
  'cache/object-updates': ObjectUpdatesState
  'index': IndexState,
  'auth': AuthState,
export const coreReducers: ActionReducerMap<CoreState> = {
  'cache/object': objectCacheReducer,
  'cache/syncbuffer': serverSyncBufferReducer,
lotte's avatar
lotte committed
  'cache/object-updates': objectUpdatesReducer,
  'index': indexReducer,
lotte's avatar
lotte committed
  'auth': authReducer,
lotte's avatar
lotte committed
export const coreSelector = createFeatureSelector<CoreState>('core');