62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
var pop = require("../utils/populate").pop;
|
|
|
|
const WEEK = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
|
|
|
|
module.exports = {
|
|
populate: populateSchedule
|
|
};
|
|
|
|
function populateSchedule(s, pops) {
|
|
var days = function (group) {
|
|
var result = [];
|
|
|
|
WEEK.forEach(function (i) {
|
|
var lesson = group[i];
|
|
if (lesson) {
|
|
result.push(
|
|
pop(lesson)
|
|
.populate(time())
|
|
.populate(pops)
|
|
.result()
|
|
)
|
|
} else {
|
|
result.push(null);
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
|
|
var time = function () {
|
|
return function (lesson) {
|
|
for (var i = 0; i < lesson.time.length; i++) {
|
|
lesson.time[i] = lesson.time[i].replace(" ", "—");
|
|
}
|
|
return lesson;
|
|
}
|
|
};
|
|
|
|
var mondayTime = function (group) {
|
|
var day;
|
|
for (var i = 0; i < WEEK.length; i++) {
|
|
if (group[WEEK[i]]) {
|
|
day = WEEK[i];
|
|
break;
|
|
}
|
|
}
|
|
if (day) {
|
|
return group[day].time[0].substr(0, 5);
|
|
} else {
|
|
return "00:00"
|
|
}
|
|
};
|
|
|
|
var result = [];
|
|
s.forEach(function (group) {
|
|
result.push({
|
|
name: group.name,
|
|
days: days(group),
|
|
time: mondayTime(group)
|
|
});
|
|
});
|
|
return result;
|
|
} |