@domisoft/todo-clean-architecture
Version:
todo project following uncle bob clean architecture patterns
57 lines • 2.68 kB
JavaScript
;
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