All Projects β†’ waratuman β†’ rfc5545-rrule

waratuman / rfc5545-rrule

Licence: ISC License
RFC5545 RRule library for JavaScript

Programming Languages

typescript
32286 projects
Nearley
35 projects
shell
77523 projects

Projects that are alternatives of or similar to rfc5545-rrule

rrule
πŸ” Recurrence rule parsing & calculation as defined in the iCalendar RFC
Stars: ✭ 31 (+40.91%)
Mutual labels:  ical, rrule
every2cal
πŸ™Œμ—λΈŒλ¦¬νƒ€μž„ μΊ˜λ¦°λ”λ₯Ό ics파일둜 λ°”κΏ”μ€λ‹ˆλ‹€
Stars: ✭ 33 (+50%)
Mutual labels:  ical
remarkable-calendar-creator
Create calendars to display on a reMarkable device as the suspend screen or to write notes on, including events from your own online iCal calendar
Stars: ✭ 28 (+27.27%)
Mutual labels:  ical
node-red-contrib-ical-events
Node-RED module to get events from a iCal Calender (Google e.g.), icloud or Caldav Server via kalender-events
Stars: ✭ 38 (+72.73%)
Mutual labels:  ical
ioBroker.trashschedule
Calculates trash pickup dates by using an ical calendar
Stars: ✭ 20 (-9.09%)
Mutual labels:  ical
django-ical
iCal feeds for Django based on Django's syndication feed framework.
Stars: ✭ 74 (+236.36%)
Mutual labels:  ical
ical-sensor-homeassistant
an iCal Sensor for Home Assistant
Stars: ✭ 42 (+90.91%)
Mutual labels:  ical
Daylight-Calendar-ICS
Daylight Calendar is a dynamically generated .ics calendar that you can host and subscribe to in Google Calendar, iCal, or other calendar software.
Stars: ✭ 22 (+0%)
Mutual labels:  ical
icalparser
Simple ical parser for PHP
Stars: ✭ 56 (+154.55%)
Mutual labels:  ical
THCalendar
Calendar like iOS
Stars: ✭ 21 (-4.55%)
Mutual labels:  ical
ChinaPublicCalendar
ζœι›†ε„η§ε…¬ε…±δΊ‹δ»ΆοΌŒεŒ…ζ‹¬ε‡ζ—₯γ€ε›½ι™…θŠ‚ζ—₯γ€δΌ η»ŸθŠ‚ζ—₯γ€θŠ‚ζ°”ε’Œη”΅ε½±δΈŠζ˜ ζ—Άι—΄η­‰ε…¬ε…±ζ—₯εŽ†δ»₯ Calendar(RFC5545) 文仢格式提供。
Stars: ✭ 58 (+163.64%)
Mutual labels:  ical
ADE-Scheduler
A webapp for UCLouvain's ADE scheduling tool.
Stars: ✭ 22 (+0%)
Mutual labels:  ical
rrule-go
Go library for working with recurrence rules for calendar dates.
Stars: ✭ 23 (+4.55%)
Mutual labels:  rrule
calendar
R interface to iCal (.ics files)
Stars: ✭ 30 (+36.36%)
Mutual labels:  ical
ical2gcal
sync ics(es) to google calendar
Stars: ✭ 13 (-40.91%)
Mutual labels:  ical
tsdav
WebDAV, CALDAV, and CARDDAV client for Nodejs and the Browser
Stars: ✭ 33 (+50%)
Mutual labels:  ical
node-ical
NodeJS class for parsing iCalendar/ICS files
Stars: ✭ 53 (+140.91%)
Mutual labels:  ical
add2calendar
πŸ“† Allow you to add event to calendar easier
Stars: ✭ 51 (+131.82%)
Mutual labels:  ical
ics2gcal
Import .ics files into Google Calendar with only two clicks.
Stars: ✭ 21 (-4.55%)
Mutual labels:  ical
ical
πŸ“… Golang iCalendar lexer/parser implementing RFC 5545
Stars: ✭ 28 (+27.27%)
Mutual labels:  ical

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].