A collection of opening hours-related utilities.
- Install by executing
npm install @wojtekmaj/opening-hours-utils
oryarn add @wojtekmaj/opening-hours-utils
. - Import by adding
import * as openingHoursUtils from '@wojtekmaj/opening-hours-utils'
. - Do stuff with it!
const openingHours = getOpeningHours('Mo-Fr 08:00-18:00;Sa 08:00-12:00');
encodeOpeningHours()
getDailyOpeningHours()
getIsOpenAt()
getIsOpenNow()
getNextClosedAt()
getNextClosedNow()
getNextOpenAt()
getNextOpenNow()
getOpeningHours()
Returns opening hours string given an array of objects with from
, to
, and hours
properties.
import { encodeOpeningHours } from '@wojtekmaj/opening-hours-utils';
encodeOpeningHours([
{
from: 'Mo',
to: 'Fr',
hours: [{ from: '08:00', to: '17:30' }],
},
]); // 'Mo-Fr 08:00-17:30'
Parses opening hours string and returns an array of objects with day
and hours
properties.
import { getDailyOpeningHours } from '@wojtekmaj/opening-hours-utils';
getDailyOpeningHours('Mo-Fr 08:00-17:30');
/**
* [
* { day: 'Mo', hours: [{ from: '08:00', to: '17:30' }] },
* { day: 'Tu', hours: [{ from: '08:00', to: '17:30' }] },
* { day: 'We', hours: [{ from: '08:00', to: '17:30' }] },
* { day: 'Th', hours: [{ from: '08:00', to: '17:30' }] },
* { day: 'Fr', hours: [{ from: '08:00', to: '17:30' }] },
* ]
*/
Checks if place is open at a given date.
import { getIsOpenAt } from '@wojtekmaj/opening-hours-utils';
getIsOpenAt('Mo-Fr 08:00-17:30', mondayNoon); // true
Checks if place is open.
import { getIsOpenNow } from '@wojtekmaj/opening-hours-utils';
getIsOpenNow('Mo-Fr 08:00-17:30'); // true
Gets the next closing time for a given date. Returns null if for a given date place is closed.
import { getNextClosedAt } from '@wojtekmaj/opening-hours-utils';
getNextClosedAt('Mo-Fr 08:00-17:30', mondayNoon); // 'Mo 17:30'
Gets the next closing time. Returns null if place is currently closed.
import { getNextClosedNow } from '@wojtekmaj/opening-hours-utils';
getNextClosedNow('Mo-Fr 08:00-17:30'); // 'Mo 17:30'
Gets the next opening time for a given date. Returns null if for a given date place is open.
import { getNextOpenAt } from '@wojtekmaj/opening-hours-utils';
getNextOpenAt('Mo-Fr 08:00-17:30', saturdayNoon); // 'Mo 08:00'
Gets the next opening time. Returns null if place is currently open.
import { getNextOpenNow } from '@wojtekmaj/opening-hours-utils';
getNextOpenNow('Mo-Fr 08:00-17:30'); // 'Mo 08:00'
Parses opening hours string and returns an array of objects with from
, to
, and hours
properties.
import { getOpeningHours } from '@wojtekmaj/opening-hours-utils';
getOpeningHours('Mo-Fr 08:00-17:30');
/**
* [
* {
* from: 'Mo',
* to: 'Fr',
* hours: [{ from: '08:00', to: '17:30' }],
* },
* ]
*/
The MIT License.
Wojciech Maj |