UNPKG

redux-app-examples

Version:

Examples of redux-app with Angular and React.

30 lines (26 loc) 1.02 kB
import { action, sequence } from 'redux-app'; import { TodoListState } from './todoList'; import { VisibilityFilterValue, VisibilityFilter } from './visibilityFilter'; import { TodoState } from './todo'; export class VisibleTodoListState { public get visibleTodos(): TodoState[] { switch (this.filter.value) { case VisibilityFilter.ShowAll: return this.todoList.todos; case VisibilityFilter.ShowCompleted: return this.todoList.todos.filter(t => t.completed); case VisibilityFilter.ShowActive: return this.todoList.todos.filter(t => !t.completed); default: throw new Error('Unknown filter: ' + this.filter.value); } } constructor( private readonly todoList: TodoListState, private readonly filter: VisibilityFilterValue) { } @sequence public toggleTodo(id: number): void { this.todoList.toggleTodo(id); } }