UNPKG

@domisoft/todo-clean-architecture

Version:

todo project following uncle bob clean architecture patterns

57 lines 2.68 kB
"use strict"; var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var todo_entity_1 = require("../../../domain/entity/todo.entity"); var TodoLocalStorageRepository = /** @class */ (function () { function TodoLocalStorageRepository(localStorageService) { this.localStorageService = localStorageService; } TodoLocalStorageRepository.prototype.getAllTodos = function () { return rxjs_1.of(this.localStorageService.getItem('todos')); }; TodoLocalStorageRepository.prototype.getCompletedTodos = function () { throw Error('not implemented'); }; TodoLocalStorageRepository.prototype.getActiveTodos = function () { throw Error('not implemented'); }; TodoLocalStorageRepository.prototype.getActiveTodosCount = function () { return this.getActiveTodos().pipe(operators_1.map(function (todos) { return todos.length; })); }; TodoLocalStorageRepository.prototype.addTodo = function (name) { var todos = this.localStorageService.getItem('todos') || []; var todo = new todo_entity_1.TodoEntity({ id: Math.random().toString(), name: name }); this.localStorageService.setItem('todos', __spreadArrays(todos, [todo])); return rxjs_1.of(todo); }; TodoLocalStorageRepository.prototype.getTodoById = function (id) { var todos = this.localStorageService.getItem('todos'); return rxjs_1.of(todos.find(function (todo) { return todo.id === id; })); }; TodoLocalStorageRepository.prototype.removeTodo = function (id) { throw Error('not implemented'); }; TodoLocalStorageRepository.prototype.removeCompletedTodos = function () { throw Error('not implemented'); }; TodoLocalStorageRepository.prototype.markTodoAsCompleted = function (id, isCompleted) { throw Error('not implemented'); }; TodoLocalStorageRepository.prototype.markAllTodosAsCompleted = function () { throw Error('not implemented'); }; TodoLocalStorageRepository.prototype.markAllTodosAsActive = function () { throw Error('not implemented'); }; return TodoLocalStorageRepository; }()); exports.TodoLocalStorageRepository = TodoLocalStorageRepository; //# sourceMappingURL=todo.localstorage.repository.js.map