Skip to content

This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.

TemporalCalendarOptions

Defined in: packages/engine/src/temporal/TemporalCalendar.ts:122

What createTemporalCalendar takes beside the implementation.

optional now?: () => number;

Defined in: packages/engine/src/temporal/TemporalCalendar.ts:142

The clock now() reads, in epoch milliseconds. Defaults to Temporal.Now.instant(). A test pins a date with this: a fake-timer library replaces Date.now, which the Date backend reads, but not Temporal.Now, so this backend needs telling separately.

Checked as the Date backend’s clock is (dateCalendarInZone(zone, { now })): a clock that is not a function is refused at construction, and a reading that is not a moment in time (NaN, an infinity, past the range Date holds) or a clock that throws is refused on the line that read it, both with DATE_CLOCK_INVALID.

number


optional timeZone?: string;

Defined in: packages/engine/src/temporal/TemporalCalendar.ts:129

The IANA time zone the engine computes dates in ("Asia/Tokyo", "UTC"). Defaults to the runtime’s own zone, Temporal.Now.timeZoneId(), which is what the Date backend reads. A zone the implementation does not know is refused at construction with TEMPORAL_TIME_ZONE_UNKNOWN.