rSchedule — библиотека на TypeScript/JavaScript для работы с повторяющимися датами, календарными расписаниями и правилами рекурсии событий. Она предназначена для программной генерации и обработки последовательностей дат на основе правил повторения, фильтрации и модификации, включая поддержку импорта и экспорта в формате iCalendar (RFC 5545). Проект ориентирован на интеграцию с приложениями, где требуется гибкая логика повторяющихся событий: планировщики, системы бронирования, календари и автоматизация задач.
Разработка библиотеки делает упор на адаптируемую архитектуру: rSchedule предоставляет абстракции для определения правил повторения (повторения по дням, неделям, месяцам и годам, исключения и добавления отдельных дат), адаптеры для разных реализаций работы с датами (например, встроенный Date, библиотеки moment, Luxon и т. п.) и механизмы учёта часовых поясов. Исторические сведения о происхождении проекта и его развитии ограничены открытой документацией; при недостатке публичных данных об истории, библиотека обычно описывается через её функциональные возможности и сценарии применения.
- Генерация последовательностей: создание дат по правилу рекурсии с возможностью ограничения по интервалу и количеству.
 - Поддержка iCalendar: импорт и экспорт правил RRULE/EXDATE/ RDATE в соответствии с общепринятыми форматами календарей.
 - Адаптеры дат: абстракции для использования различных реализаций дат (встроенный Date, сторонние библиотеки) без изменения логики расписаний.
 - Часовые пояса: корректный расчёт и представление дат с учётом временных зон и переходов на летнее/зимнее время.
 - Композиция правил: возможность объединять, пересекать и исключать наборы повторений для гибкого описания сложных расписаний.
 - Фильтрация и модификация: функции для фильтрации дат по пользовательским предикатам и для добавления/удаления отдельных дат.
 - Производительность: оптимизации для генерации больших объёмов дат с ленивой итерацией и ограничением по диапазону.
 - Типизация: полные определения типов для TypeScript, облегчающие интеграцию в типизированные проекты.
 - Интеграция: совместимость с серверными и клиентскими окружениями, поддержка сериализации правил для хранения и передачи.
 - Документация и примеры: примеры типичных сценариев использования и API для быстрого внедрения (если документация отсутствует в публичных источниках, функциональность может быть восстановлена по описанию API и тестам).