-
Notifications
You must be signed in to change notification settings - Fork 7
/
index.js
50 lines (39 loc) · 1.54 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const { handleDateFormat } = require('./src/app-utils');
const feriados = require('./src/feriados');
const funcs = require('./src/functions')
const getHolidaysByState = (estado, data) => {
const date = data && handleDateFormat(data)
return feriados.regionais.filter((feriadoRegional) => {
return estado === feriadoRegional.estado
}).filter(({data}) => date ? data === date : true)
}
const getHolidaysByDate = (date) => {
const returnedObject = {
nacionais: [],
regionais: [],
};
date = handleDateFormat(date)
returnedObject.data = date
const foundNationalHolidays = feriados.nacionais.filter((feriadoNacional) => {
if (feriadoNacional.move === undefined) return feriadoNacional.data === date
const dateObject = {
day: date.substr(0, 2),
month: date.substr(3, 4)
}
const moveDate = funcs.getMoveDate(feriadoNacional.move)
return moveDate.day === dateObject.day && moveDate.month === dateObject.month
});
const foundRegionalHolidays = feriados.regionais.filter(feriadoRegional => {
return feriadoRegional.data === date
});
if (foundNationalHolidays.length) {
returnedObject.nacionais = foundNationalHolidays.map(({ nome }) => ({ nome }));
}
if (foundRegionalHolidays.length) {
returnedObject.regionais = foundRegionalHolidays.map(({ nome, estado }) => {
return { nome, estado }
})
}
return returnedObject;
}
module.exports = { getHolidaysByDate, getHolidaysByState };