GithubHelp home page GithubHelp logo

fllaa / cron-time Goto Github PK

View Code? Open in Web Editor NEW

This project forked from trapcodeio/cron-time

0.0 0.0 0.0 109 KB

Javascript Cron Time Expressions

License: MIT License

JavaScript 7.31% TypeScript 92.69%

cron-time's Introduction

Cron-Time

Cron Time Expression Generator/Builder written in Typescript.

Tested on CronTab.Guru

Install

npm install @flla/cron-time-generator

OR

yarn add @flla/cron-time-generator

Setup

// Javascript
const {CronTime} = require('@flla/cron-time-generator');
// OR 
const {default: CronTime} = require('@flla/cron-time-generator');

// Typescript
import {CronTime} from "@flla/cron-time-generator";
// OR
import CronTime from "@flla/cron-time-generator";

The CronTime class is the main class that contains all the methods for generating cron expressions. it is the default export of the package and also has a named export called CronTime

Setup

CronTime.everyMinute();
// * * * * *

CronTime.everyHour();
// 0 * * * *

CronTime.everyDay();
// 0 0 * * *

CronTime.everyDayAt(6);
// 0 6 * * *

CronTime.everyDayAt(6, 15);
// 15 6 * * *

CronTime.everySunday();
// 0 0 * * SUN

CronTime.everySundayAt(4, 30);
// 30 4 * * SUN

CronTime.everyWeekDay();
// 0 0 * * 1-5
// from Monday to Friday

CronTime.everyWeekDayAt(1, 30);
// 30 1 * * 1-5
// 1:30 AM from Monday to Friday

CronTime.everyWeekend();
// 0 0 * * 6,0
// on Saturday and Sunday

CronTime.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:

CronTime.everyWeekDay("sunday", "thursday");
// 0 0 * * 0-4
// from Sunday to Thursday

CronTime.everyWeekDayAt(1, 30, "sunday", "thursday");
// 30 1 * * 0-4
// 1:30 AM from Sunday to Thursday

CronTime.everyWeekend("friday", "saturday");
// 0 0 * * 5,6
// on Friday and Saturday

CronTime.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 CronTime returns exactly what its name says.

onSpecificDays and onSpecificDaysAt

To target specific days

CronTime.onSpecificDays(['sunday', 'tuesday', 'thursday']); // 0 0 * * 0,2,4

// With time 
CronTime.onSpecificDaysAt(['sunday', 'tuesday', 'thursday'], 3, 30); // 0 0 * * 0,2,4

Every Nth Time

const CronTime = require('@flla/cron-time-generator');

CronTime.every(5).minutes();
// Every Five Minutes

CronTime.every(2).hours();
// Every 2 Hours

CronTime.every(7).days();
// Every 7 Days

CronTime.every(7).days(9, 5);
// Every 7 days at 9:05

CronTime.every('even').hours();
// Every Even Hours
// * */2 * * *

CronTime.every('uneven').hours();
// Every Uneven Hours
// * 1-23/2 * * *

Between

const {CronTime} = require('@flla/cron-time-generator');

CronTime.between(1, 4).days();
// Between  1 - 4 th day of the month 

All Functions

every

between

everyMinute

everyHour

everyHourAt(minuteOfTheHour)

everyDay

everyDayAt(hourOfTheDay)

everySunday

everySundayAt(hour, minute?)

everyMonday

everyMondayAt(hour, minute?)

everyTuesday

everyTuesdayAt(hour, minute?)

everyWednesday

everyWednesdayAt(hour, minute?)

everyThursday

everyThursdayAt(hour, minute?)

everyFriday

everyFridayAt(hour, minute?)

everySaturday

everySaturdayAt(hour, minute?)

everyWeek

everyWeekAt(day, hour?, minute?)

everyWeekDay

everyWeekDayAt(hour, $minute, startDay, endDay)

everyWeekend

everyWeekendAt(hour, minute, startDay, endDay)

everyMonth

everyMonthOn(day, hour?, minute?)

everyYear

everyYearIn(month, day?, hour?, minute?)

cron-time's People

Contributors

trapcodeio avatar evilprogrammerng avatar davidamunga avatar localpcguy avatar fllaa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.