forceCalendar/Docs
API Reference

RecurrenceEngineV2

Extended recurrence engine with modified instances and complex DST handling

Instance-based engine used by EventStore for expansion that must honor per-occurrence overrides. For plain RFC 5545 expansion, the static RecurrenceEngine is the faster path (numeric iteration for daily/weekly series).

import { RecurrenceEngineV2 } from '@forcecalendar/core';

const engine = new RecurrenceEngineV2();
const occurrences = engine.expandEvent(event, rangeStart, rangeEnd, {
  timezone: 'America/New_York'
});

Methods

MethodDescription
expandEvent(event, rangeStart, rangeEnd, options?)Expand a recurring event; honors exceptions and modified instances
addModifiedInstance(eventId, occurrenceDate, modifications)Override a single occurrence (reschedule, retitle) without breaking the series
findDSTTransitions(start, end, timezone)DST transitions within a range
adjustForDST(start, end, timezone, transitions)Wall-clock correction across transitions

Lazy series queries and release boundary

iterateOccurrences(event, options?), nextOccurrence(event, after?, options?) and takeOccurrences(event, count, options?) are instance methods. See bounds and semantics.

Core 2.5.7 corrects V2 named-zone stepping. Legacy UTC metadata, moved-instance query bounds and ancient-date limits remain. Modified instances and timezone support do not imply universal recurrence conformance.