Skip to content

himura467/chronical

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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors