67 lines
1.7 KiB
TypeScript
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
|
|
));
|
|
|