member_webapp/@overflow/member/store/index.ts
crusader d59d9379f9 ing
2018-05-24 15:44:13 +09:00

67 lines
1.7 KiB
TypeScript

import {
createSelector,
createFeatureSelector,
} from '@ngrx/store';
import { StateSelector } from '@overflow/core/ngrx/store';
import { MODULE } from '../member.constant';
import * as AuthStore from './auth';
import * as SignupStore from './signup';
import * as TotpStore from './totp';
import * as ModifyStore from './modify';
import * as ResetPasswordStore from './reset-password';
export interface State {
auth: AuthStore.State;
signup: SignupStore.State;
totp: TotpStore.State;
modify: ModifyStore.State;
resetPassword: ResetPasswordStore.State;
}
export const REDUCERS = {
auth: AuthStore.reducer,
signup: SignupStore.reducer,
totp: TotpStore.reducer,
modify: ModifyStore.reducer,
resetPassword: ResetPasswordStore.reducer,
};
export const EFFECTS = [
AuthStore.Effects,
SignupStore.Effects,
TotpStore.Effects,
ModifyStore.Effects,
ResetPasswordStore.Effects,
];
export const selectMemberState = createFeatureSelector<State>(MODULE.name);
export const AuthSelector = new StateSelector<AuthStore.State>(createSelector(
selectMemberState,
(state: State) => state.auth
));
export const SignupSelector = new StateSelector<SignupStore.State>(createSelector(
selectMemberState,
(state: State) => state.signup
));
export const TotpSelector = new StateSelector<TotpStore.State>(createSelector(
selectMemberState,
(state: State) => state.totp
));
export const ModifySelector = new StateSelector<ModifyStore.State>(createSelector(
selectMemberState,
(state: State) => state.modify
));
export const ResetPasswordSelector = new StateSelector<ResetPasswordStore.State>(createSelector(
selectMemberState,
(state: State) => state.resetPassword
));