check-if-is-open-cron
v1.1.5
Published
Small script to know if a business/service is open or closed from a date using cron definition
Downloads
37
Maintainers
Readme
Check If Is Open Cron
General information
Small script to know if a business/service is open or closed from a date.
Get started
npm i check-if-is-open-cron
Define an object with opening hours like this:
const opening = {
timeZone: "Europe/Paris",
weekDay: {
default: "* 10-12,14-18 * * 1-5"
},
holidays: {
isOpen: false,
country: "FR",
region: null,
state: null,
checkHolidaysTypes: ['public']
}
};
Here is open from Monday to Friday from 1O to 11:59 & 14 to 17:59
To override Monday open hours to 16:00 to 17:59 add this 1: "* 16-18 * * *"
const checkIsOpenCron = require("check-if-is-open-cron");
const opening = {
timeZone: "Europe/Paris",
weekDay: {
default: "* 10-12,14-18 * * 1-5",
3: "* 16-18 * * *"
},
holidays: {
isOpen: false,
country: "FR",
region: null,
state: null,
checkHolidaysTypes: ["public"]
}
};
if (!checkIsOpenCron(opening)) {
console.log("🛑 Closed 🛑");
} else {
console.log("🟢 Open 🟢");
}
| Parameter | Sub-Parameter | Type | Description | Sample |
| :---: | :--- | :--- | :--- | :--- |
| timeZone
| | string | TimeZone definition | Europe/Paris
| weekDay
| |object | Cron open/close definition
| | default
| string | Cron to apply by default | * 10-12,14-18 * * 1-5
|
| | 0
- 6
| string | Specific Cron for Sunday to Saturday | * 16-18 * * *
|
| holidays
| | objet | Based on date-holidays plugin
| | isOpen
| boolean | true if holidays does not influence open / close
| | country
| string | Supported Countries list are on date-holidays plugin
| | region
| string | Supported Regions list are on date-holidays plugin
| | state
| string | Supported State list are on date-holidays plugin
| | checkHolidaysTypes
| string | Supported Types list are on date-holidays plugin
Types of checkHolidaysTypes
Currently the following type with their meaning are supported. Based on date-holidays plugin
| Type | Meaning | | :---: | :--- | | public| public holiday| | bank| bank holiday, banks and offices are closed| | school| school holiday, schools are closed| | optional| majority of people take a day off| | observance| optional festivity, no paid day off|
Cron notation
Dependencies:
dayjs / lodash / cron-parser / date-holidays
Run test
npm run test