Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export const checkIsOpenRestaurant = (hours: Array<IHoursRestaurant> | undefined): boolean => {
- if (!hours) return false;
- // force example
- hours = [{
- from: '19:00',
- to: '21:00',
- days: [2, 3, 4, 5, 6]
- }];
- // force example
- const today = new Date(2019, 6, 11, 21, 30);
- const day = today.getDay() + 1;
- const searchInDays = hours.filter(d => d.days && d.days.includes(day));
- if (!searchInDays) {
- return false;
- }
- const searchInHours = searchInDays.filter(h => {
- let open = new Date();
- let close = new Date();
- const dividerHoursOpen = h.from.split(':');
- const hoursOpen = Number(dividerHoursOpen[0]) || 0;
- const minutesOpen = Number(dividerHoursOpen[1]) || 0;
- open.setHours(hoursOpen);
- open.setMinutes(minutesOpen);
- const dividerClose = h.to.split(':');
- const hoursClose = Number(dividerClose[0]) || 0;
- const minutesClose = Number(dividerClose[1]) || 0;
- close.setHours(hoursClose);
- close.setMinutes(minutesClose);
- if (open > close) {
- close.setDate(close.getDate() + 1);
- }
- if (today >= open && today <= close) {
- return h;
- }
- return null;
- });
- if (searchInHours.length) {
- return true;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement