Skip to content

Commit 3f818d9

Browse files
committed
Refactored & replaced Object.entries method (#20)
1 parent bc40ae8 commit 3f818d9

File tree

2 files changed

+41
-38
lines changed

2 files changed

+41
-38
lines changed

lib/render.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,12 @@ class Render {
134134
}
135135

136136
displayByBoard(data) {
137-
Object.entries(data).forEach(([board, items]) => {
138-
if (this._isBoardComplete(items) && !this._configuration.displayCompleteTasks) {
137+
Object.keys(data).forEach(board => {
138+
if (this._isBoardComplete(data[board]) && !this._configuration.displayCompleteTasks) {
139139
return;
140140
}
141-
this._displayTitle(board, items);
142-
items.forEach(item => {
141+
this._displayTitle(board, data[board]);
142+
data[board].forEach(item => {
143143
if (item._isTask && item.isComplete && !this._configuration.displayCompleteTasks) {
144144
return;
145145
}
@@ -149,12 +149,12 @@ class Render {
149149
}
150150

151151
displayByDate(data) {
152-
Object.entries(data).forEach(([date, items]) => {
153-
if (this._isBoardComplete(items) && !this._configuration.displayCompleteTasks) {
152+
Object.keys(data).forEach(date => {
153+
if (this._isBoardComplete(data[date]) && !this._configuration.displayCompleteTasks) {
154154
return;
155155
}
156-
this._displayTitle(date, items);
157-
items.forEach(item => {
156+
this._displayTitle(date, data[date]);
157+
data[date].forEach(item => {
158158
if (item._isTask && item.isComplete && !this._configuration.displayCompleteTasks) {
159159
return;
160160
}

lib/taskbook.js

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,11 @@ class Taskbook {
6363
}
6464

6565
_getBoards() {
66+
const {_data} = this;
6667
const boards = ['My Board'];
6768

68-
Object.entries(this._data).forEach(([_, item]) => {
69-
boards.push(...item.boards.filter(x => boards.indexOf(x) === -1));
69+
Object.keys(_data).forEach(id => {
70+
boards.push(..._data[id].boards.filter(x => boards.indexOf(x) === -1));
7071
});
7172

7273
return boards;
@@ -75,9 +76,9 @@ class Taskbook {
7576
_getDates(data = this._data) {
7677
const dates = [];
7778

78-
Object.entries(data).forEach(([_, item]) => {
79-
if (dates.indexOf(item._date) === -1) {
80-
dates.push(item._date);
79+
Object.keys(data).forEach(id => {
80+
if (dates.indexOf(data[id]._date) === -1) {
81+
dates.push(data[id]._date);
8182
}
8283
});
8384

@@ -120,11 +121,12 @@ class Taskbook {
120121
}
121122

122123
_getStats() {
124+
const {_data} = this;
123125
let [complete, pending, notes] = [0, 0, 0];
124126

125-
Object.entries(this._data).forEach(([_, item]) => {
126-
if (item._isTask) {
127-
return item.isComplete ? complete++ : pending++;
127+
Object.keys(_data).forEach(id => {
128+
if (_data[id]._isTask) {
129+
return _data[id].isComplete ? complete++ : pending++;
128130
}
129131
return notes++;
130132
});
@@ -148,44 +150,44 @@ class Taskbook {
148150
}
149151

150152
_filterTask(data) {
151-
Object.entries(data).forEach(([id, item]) => {
152-
if (!item._isTask) {
153+
Object.keys(data).forEach(id => {
154+
if (!data[id]._isTask) {
153155
delete data[id];
154156
}
155157
});
156158
return data;
157159
}
158160

159161
_filterStarred(data) {
160-
Object.entries(data).forEach(([id, item]) => {
161-
if (!item.isStarred) {
162+
Object.keys(data).forEach(id => {
163+
if (!data[id].isStarred) {
162164
delete data[id];
163165
}
164166
});
165167
return data;
166168
}
167169

168170
_filterComplete(data) {
169-
Object.entries(data).forEach(([id, item]) => {
170-
if (!item._isTask || !item.isComplete) {
171+
Object.keys(data).forEach(id => {
172+
if (!data[id]._isTask || !data[id].isComplete) {
171173
delete data[id];
172174
}
173175
});
174176
return data;
175177
}
176178

177179
_filterPending(data) {
178-
Object.entries(data).forEach(([id, item]) => {
179-
if (!item._isTask || item.isComplete) {
180+
Object.keys(data).forEach(id => {
181+
if (!data[id]._isTask || data[id].isComplete) {
180182
delete data[id];
181183
}
182184
});
183185
return data;
184186
}
185187

186188
_filterNote(data) {
187-
Object.entries(data).forEach(([id, item]) => {
188-
if (item._isTask) {
189+
Object.keys(data).forEach(id => {
190+
if (data[id]._isTask) {
189191
delete data[id];
190192
}
191193
});
@@ -242,13 +244,13 @@ class Taskbook {
242244
boards = this._getBoards();
243245
}
244246

245-
Object.entries(data).forEach(([_, item]) => {
247+
Object.keys(data).forEach(id => {
246248
boards.forEach(board => {
247-
if (item.boards.includes(board)) {
249+
if (data[id].boards.includes(board)) {
248250
if (Array.isArray(grouped[board])) {
249-
return grouped[board].push(item);
251+
return grouped[board].push(data[id]);
250252
}
251-
grouped[board] = [item];
253+
grouped[board] = [data[id]];
252254
return grouped[board];
253255
}
254256
});
@@ -260,14 +262,14 @@ class Taskbook {
260262
_groupByDate(data = this._data, dates = this._getDates()) {
261263
const grouped = {};
262264

263-
Object.entries(data).forEach(([_, item]) => {
265+
Object.keys(data).forEach(id => {
264266
dates.forEach(date => {
265-
if (item._date === date) {
267+
if (data[id]._date === date) {
266268
if (Array.isArray(grouped[date])) {
267-
return grouped[date].push(item);
269+
return grouped[date].push(data[id]);
268270
}
269-
grouped[date] = [item];
270-
return grouped[item];
271+
grouped[date] = [data[id]];
272+
return grouped[date];
271273
}
272274
});
273275
});
@@ -384,12 +386,13 @@ class Taskbook {
384386

385387
findItems(terms) {
386388
const result = {};
389+
const {_data} = this;
387390

388-
Object.entries(this._data).forEach(([id, item]) => {
389-
if (!this._hasTerms(item.description, terms)) {
391+
Object.keys(_data).forEach(id => {
392+
if (!this._hasTerms(_data[id].description, terms)) {
390393
return;
391394
}
392-
result[id] = item;
395+
result[id] = _data[id];
393396
});
394397

395398
render.displayByBoard(this._groupByBoard(result));

0 commit comments

Comments
 (0)