RFC5545 RRule library for JavaScript.
Using NPM:
npm install rfc5545-rrule
Using Yarn:
yarn add rfc5545-rrule
let { RRule, Day } = require("rfc5545-rrule");
let rrule = RRule.fromString("RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8");
console.log(rrule);
// RRule {
// interval: 4,
// weekStart: 1,
// frequency: 'yearly',
// byMonth: [ 10 ],
// byDay: [ Day { value: 2, nth: undefined } ],
// byMonthDay: [ 2, 3, 4, 5, 6, 7, 8 ]
// }
// A recurrence that repeats every Sunday of the week.
rrule = new RRule({ frequency: "weekly", byDay: [ new Day(0) ] });
rrule.toString(); // RRULE:FREQ=WEEKLY;BYDAY=SU
import { RRule } = from "rfc5545-rrule";
let rrule = RRule.fromString("RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8");
npx nearleyc ./src/grammar.ne -o ./src/grammar.ts
Update ./src/grammar.ts
to export ParserRules
and ParserStart
. Also, remove
the wrapping function and export at the bottom of the file.
npm run compile