crontimex
v0.0.7
Published
None-dependencies Cron Time Expression Generator/Builder written in Typescript
Downloads
14
Maintainers
Readme
CronTimex
Cron Time Expression Generator/Builder written in Typescript. It is a non-class-based port of Cron-Time. Every functionality remains the same as in Cron-Time
; it is just not class-based.
Tested on CronTab.Guru
Install
npm install crontimex
OR
yarn add crontimex
Setup
// Javascript
const { CronTimex } = require('crontimex');
// OR
const { default: CronTimex } = require('crontimex');
// Typescript
import { CronTimex } from 'crontimex';
// OR
import CronTimex from 'crontimex';
The CronTimex
contains all the methods for generating cron expressions.
it is the default export of the package and also has a named export called CronTimex
CronTimex.everyMinute();
// * * * * *
CronTimex.everyHour();
// 0 * * * *
CronTimex.everyDay();
// 0 0 * * *
CronTimex.everyDayAt(6);
// 0 6 * * *
CronTimex.everyDayAt(6, 15);
// 15 6 * * *
CronTimex.everySunday();
// 0 0 * * SUN
CronTimex.everySundayAt(4, 30);
// 30 4 * * SUN
CronTimex.everyWeekDay();
// 0 0 * * 1-5
// from Monday to Friday
CronTimex.everyWeekDayAt(1, 30);
// 30 1 * * 1-5
// 1:30 AM from Monday to Friday
CronTimex.everyWeekend();
// 0 0 * * 6,0
// on Saturday and Sunday
CronTimex.everyWeekendAt(1, 30);
// 30 1 * * 6,0
// 1:30 AM on Saturday and Sunday
// E.T.C
For everyWeekDay
and everyWeekend
there is also an option to change the starting day.
By default, week days is from Monday to Friday while weekend days are Saturdays and Sundays
This can be changed like so:
CronTimex.everyWeekDay('sunday', 'thursday');
// 0 0 * * 0-4
// from Sunday to Thursday
CronTimex.everyWeekDayAt(1, 30, 'sunday', 'thursday');
// 30 1 * * 0-4
// 1:30 AM from Sunday to Thursday
CronTimex.everyWeekend('friday', 'saturday');
// 0 0 * * 5,6
// on Friday and Saturday
CronTimex.everyWeekendAt(1, 30, 'friday', 'saturday');
// 30 1 * * 5,6
// 1:30 AM on Friday and Saturday
Note: if a startDay
is specified then an endDay
must be specified also, else it will use the default values which
may not tally with your new $startDay
Every method of CronTimex
returns exactly what its name says.
onSpecificDays and onSpecificDaysAt
To target specific days
CronTimex.onSpecificDays(['sunday', 'tuesday', 'thursday']); // 0 0 * * 0,2,4
// With time
CronTimex.onSpecificDaysAt(['sunday', 'tuesday', 'thursday'], 3, 30); // 0 0 * * 0,2,4
Every Nth Time
const CronTimex = require('crontimex');
CronTimex.every(5).minutes();
// Every Five Minutes
CronTimex.every(2).hours();
// Every 2 Hours
CronTimex.every(7).days();
// Every 7 Days
CronTimex.every(7).days(9, 5);
// Every 7 days at 9:05
CronTimex.every('even').hours();
// Every Even Hours
// * */2 * * *
CronTimex.every('uneven').hours();
// Every Uneven Hours
// * 1-23/2 * * *
Between
const { CronTimex } = require('crontimex');
CronTimex.between(1, 4).days();
// Between 1 - 4 th day of the month
All Functions
every
between
everyMinute
everyHour
everyHourAt(minuteOfTheHour)
everyDay
everyDayAt(hoursOfTheDay)
everySunday
everySundayAt(hours, minutes?)
everyMonday
everyMondayAt(hours, minutes?)
everyTuesday
everyTuesdayAt(hours, minutes?)
everyWednesday
everyWednesdayAt(hours, minutes?)
everyThursday
everyThursdayAt(hours, minutes?)
everyFriday
everyFridayAt(hours, minutes?)
everySaturday
everySaturdayAt(hours, minutes?)
everyWeek
everyWeekAt(days, hours?, minutes?)
everyWeekDay
everyWeekDayAt(hours, minutes?, startDay?, endDay?)
everyWeekend
everyWeekendAt(hours, minutes?, startDay?, endDay?)
everyMonth
everyMonthOn(days, hours?, minutes?)
everyYear
everyYearIn(months, days?, hours?, minutes?)
onSpecificDays(days)
onSpecificDaysAt(days, hour, minutes?)