Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
cron-converter
Advanced tools
Cron string parser for node and the browser
Try the online demo and check the source code for the integration.
yarn add cron-converter
or
npm install cron-converter --save
Version 2.1.0
introduces support for the non standard L
character which represents the last day of the month. This feature is on by default and can be turned off by setting the enableLastDayOfMonth
option to false
.
Versions 2.x.x
are not backwards compatible with versions 1.x.x
.
2.x.x | 1.x.x | |
---|---|---|
API | Functional | Object-oriented |
Loader | ESM and CommonJS | CommonJS only |
Type definitions | Bundled | Install @types/cron-converter |
Date/time | Luxon | Moment.js |
Tree-shaking | ✅ | ❌ |
import { stringToArray, arrayToString, getSchedule, getUnits } from "cron-converter";
// Every 10 mins between 9am and 5pm on the 1st of every month
const arr = stringToArray("*/10 9-17 1 * *");
// Prints:
// [
// [ 0, 10, 20, 30, 40, 50 ],
// [ 9, 10, 11, 12, 13, 14, 15, 16, 17 ],
// [ 1 ],
// [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],
// [ 0, 1, 2, 3, 4, 5, 6 ]
// ]
console.log(arr);
const str = arrayToString([[0], [1], [1], [5], [0, 2, 4, 6]]);
// Prints: '0 1 1 5 */2'
console.log(str);
Default: false
const arr = [[1], [1], [1], [1, 2, 3], [1, 2, 3]];
const str = arrayToString(arr, { outputMonthNames: true });
// Prints: '1 1 1 JAN-MAR 1-3'
console.log(str);
Default: false
const arr = [[1], [1], [1], [1, 2, 3], [1, 2, 3]];
const str = arrayToString(arr, { outputWeekdayNames: true });
// Prints: '1 1 1 1-3 MON-WED'
console.log(str);
Default: false
const arr = [[1], [1], [1], [1, 6, 11], [0, 1, 2, 3, 4, 5, 6]];
// Prints: '1 1 1 H/5 H'
console.log(arrayToString(arr, { outputHashes: true }));
Default: true
const arr = [[1], [1], [1], [-1], [1]];
// Prints: '1 1 1 L 1'
console.log(arrayToString(arr, { enableLastDayOfMonth: true }));
const str = '1 1 1 L 1';
// Prints: [[1], [1], [1], [-1], [1]]
console.log(stringToArray(str, { enableLastDayOfMonth: true }));
// Convert a string to an array
const arr = stringToArray("*/5 * * * *");
// Get the iterator, initialised to now
let schedule = getSchedule(arr);
// Optionally pass a reference `Date` and a `timezone`
let reference = new Date(2013, 2, 8, 9, 32);
schedule = getSchedule(arr, reference, "Europe/London");
// Calls to `.next()` and `.prev()` return a Luxon `DateTime` object
// Prints: '2013-03-08T09:35:00+00:00''
console.log(schedule.next().format());
// Prints: '2013-03-08T09:40:00+00:00''
console.log(schedule.next().format());
// Reset
schedule.reset();
// Prints: '2013-03-08T09:30:00+00:00''
console.log(schedule.prev().format());
// Prints: '2013-03-08T09:25:00+00:00''
console.log(schedule.prev().format());
This is useful if you are creating a user interface. See units.ts.
const units = getUnits();
git clone https://github.com/roccivic/cron-converter
cd cron-converter
yarn
yarn build
yarn test
yarn coverage
FAQs
Cron string converter
The npm package cron-converter receives a total of 21,652 weekly downloads. As such, cron-converter popularity was classified as popular.
We found that cron-converter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.