import {
  createSelector,
  createFeatureSelector,
} from '@ngrx/store';

import { MODULE } from '../noauth-probe.constant';

import * as NoAuthProbeEntityStore from './entity/noauth-probe';

import * as NoAuthProbeListContainerStore from './container/noauth-probe-list';

export interface State {
  noauth_probe_list: NoAuthProbeListContainerStore.State;
}

export const REDUCERS = {
  noauth_probe_list: NoAuthProbeListContainerStore.reducer,
};

export const EFFECTS = [
  NoAuthProbeEntityStore.Effects,
];

export const selectState = createFeatureSelector<State>(MODULE.name);

export const NoAuthProbeListContainerSelector = NoAuthProbeListContainerStore.getSelectors(createSelector(
  selectState,
  (state: State) => state.noauth_probe_list
));
