import { createSelector, createFeatureSelector, ActionReducerMap, } from '@ngrx/store'; import { StateSelector } from 'packages/core/ngrx/store'; import { MODULE } from '../probe.constant'; import * as ProbeListStore from './list'; import * as ProbeDetailStore from './detail'; import * as ProbeHostStore from './probe-host'; import * as ProbeHostListStore from './probe-host-list'; import * as ProbeModifyStore from './modify'; export interface State { list: ProbeListStore.State; detail: ProbeDetailStore.State; probeHost: ProbeHostStore.State; probeHosts: ProbeHostListStore.State; modify: ProbeModifyStore.State; } export const REDUCERS = { list: ProbeListStore.reducer, detail: ProbeDetailStore.reducer, probeHost: ProbeHostStore.reducer, probeHosts: ProbeHostListStore.reducer, modify: ProbeModifyStore.reducer }; export const EFFECTS = [ ProbeListStore.Effects, ProbeDetailStore.Effects, ProbeHostStore.Effects, ProbeHostListStore.Effects, ProbeModifyStore.Effects ]; export const selectProbeState = createFeatureSelector(MODULE.name); export const ListSelector = new StateSelector(createSelector( selectProbeState, (state: State) => state.list )); export const DetailSelector = new StateSelector(createSelector( selectProbeState, (state: State) => state.detail )); export const ModifySelector = new StateSelector(createSelector( selectProbeState, (state: State) => state.modify )); export const ProbeHostSelector = new StateSelector(createSelector( selectProbeState, (state: State) => state.probeHost )); export const ProbeHostListSelector = new StateSelector(createSelector( selectProbeState, (state: State) => state.probeHosts ));