UNPKG

angular-nevera-generator

Version:

Yeoman AngularJS scaffold a webapp with Angular 1 written in ES6 (Babel), TypeScript through Webpack or SystemJS including tools Gulp 4, ESLint, Browsersync and Karma

66 lines (55 loc) 1.31 kB
require('es6-shim'); var initialTodo = { text: 'Use AngularJS', completed: false, id: 0 }; function TodoService() { } TodoService.prototype = { addTodo: function (text, todos) { return [ { id: (todos.length === 0) ? 0 : todos[0].id + 1, completed: false, text: text } ].concat(todos); }, completeTodo: function (id, todos) { return todos.map(function (todo) { return todo.id === id ? Object.assign({}, todo, {completed: !todo.completed}) : todo; }); }, deleteTodo: function (id, todos) { return todos.filter(function (todo) { return todo.id !== id; }); }, editTodo: function (id, text, todos) { return todos.map(function (todo) { return todo.id === id ? Object.assign({}, todo, {text: text}) : todo; }); }, completeAll: function (todos) { var areAllMarked = todos.every(function (todo) { return todo.completed; }); return todos.map(function (todo) { return Object.assign({}, todo, {completed: !areAllMarked}); }); }, clearCompleted: function (todos) { return todos.filter(function (todo) { return todo.completed === false; }); } }; module.exports = { TodoService: TodoService, initialTodo: initialTodo };