24 lines
694 B
TypeScript
24 lines
694 B
TypeScript
|
import { Selector, createSelector } from '@ngrx/store';
|
||
|
import { RESTClientError } from '@loafer/ng-rest';
|
||
|
import { EmailAuth } from '@overflow/commons-typescript/model/email/EmailAuth';
|
||
|
|
||
|
export interface State {
|
||
|
emailAuth: EmailAuth;
|
||
|
pending: boolean;
|
||
|
error: RESTClientError;
|
||
|
}
|
||
|
|
||
|
export const initialState: State = {
|
||
|
emailAuth: null,
|
||
|
pending: false,
|
||
|
error: null,
|
||
|
};
|
||
|
|
||
|
export function getSelectors(selector: Selector<any, State>) {
|
||
|
return {
|
||
|
selectEmailAuth: createSelector(selector, (state: State) => state.emailAuth),
|
||
|
selectPending: createSelector(selector, (state: State) => state.pending),
|
||
|
selectError: createSelector(selector, (state: State) => state.error),
|
||
|
};
|
||
|
}
|