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

  import { StateSelector } from 'packages/core/ngrx/store';

  import { MODULE } from '../target.constant';

  import * as TargetModifyStore from './modify';

  export interface State {
    modify: TargetModifyStore.State;
  }

  export const REDUCERS = {
    modify: TargetModifyStore.reducer,
  };

  export const EFFECTS = [
    TargetModifyStore.Effects,
  ];

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

  export const ModifySelector = new StateSelector<TargetModifyStore.State>(createSelector(
    selectTargetState,
    (state: State) => state.modify
  ));
