Skip to content
himura467Public

About

An implementation of RRule as defined in iCalendar (RFC 5545) using Temporal API written in Rust

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

chronical

A high-performance implementation of RRule (RFC 5545) using the Temporal API, written in Rust with Node.js bindings.

The name chronical comes from chrono (a Rust crate for handling date and time) and iCalendar (RFC 5545).

Installation

npm install chronical

Quick Start

import { RRuleSet } from "chronical";

const rruleSet = RRuleSet.fromString(
  "DTSTART;TZID=Asia/Tokyo:20250101T000000\nRRULE:FREQ=DAILY;COUNT=3",
);

// Get all occurrences
const dates = rruleSet.all();
console.log(dates.map((d) => d.toString()));
// [
//   "2025-01-01T00:00:00+09:00[Asia/Tokyo]",
//   "2025-01-02T00:00:00+09:00[Asia/Tokyo]",
//   "2025-01-03T00:00:00+09:00[Asia/Tokyo]",
// ]

License

MIT

About

An implementation of RRule as defined in iCalendar (RFC 5545) using Temporal API written in Rust

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages