Skip to content

waratuman/rfc5545-rrule

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

RFC5545 RRule

RFC5545 RRule library for JavaScript.

Installation

Using NPM:

npm install rfc5545-rrule

Using Yarn:

yarn add rfc5545-rrule

Usage

Node.js

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

TypeScript

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");

License

ICS

Development

Compiling the grammar

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