UNPKG

loop-modules

Version:

Shared modules for the Loop product suite.

58 lines (48 loc) 1.21 kB
// libs import { Observable } from 'rxjs/Observable'; // app import { LoopUser } from '../interfaces/loop-user.interface'; import { AppState } from './app.state'; /** * The AppState slice for persisting LoopUser records * * @export * @interface LoopUserState */ export interface LoopUserState { /** * The authorized user object * * @type {LoopUser} * @memberOf LoopUserState */ authUser?: LoopUser; /** * The list of all users * * @type {LoopUser[]} * @memberOf LoopUserState */ entries?: LoopUser[]; /** * The list of all selected users * * @type {LoopUser[]} * @memberOf LoopUserState */ selectedEntries?: LoopUser[]; } export const initialState: LoopUserState = { authUser: undefined, entries: [], selectedEntries: [] }; export function getAuthUser(state$: Observable<AppState>) { return state$.select(state => state.users.authUser); } export function getUsers(state$: Observable<AppState>) { return state$.select(state => state.users.entries); } export function getSelectedUsers(state$: Observable<AppState>) { return state$.select(state => state.users.selectedEntries); }