Calendars
calendarKey
Section titled “calendarKey”export function calendarKey(calendarId: CalendarId): string;normalizeIsoWorkingDays
Section titled “normalizeIsoWorkingDays”export function normalizeIsoWorkingDays( days: readonly number[] | undefined, fallback: readonly number[] = DEFAULT_CALENDAR.workingDays,): readonly number[];jsWeekdayFromIsoWeekday
Section titled “jsWeekdayFromIsoWeekday”export function jsWeekdayFromIsoWeekday(day: number): number;jsWeekdaysFromIsoWeekdays
Section titled “jsWeekdaysFromIsoWeekdays”export function jsWeekdaysFromIsoWeekdays(days: readonly number[]): readonly number[];normalizeCalendarHolidaySet
Section titled “normalizeCalendarHolidaySet”export function normalizeCalendarHolidaySet(holidays: readonly ISODateString[] | undefined): ReadonlySet<string>;normalizeCalendarWorkingHours
Section titled “normalizeCalendarWorkingHours”export function normalizeCalendarWorkingHours( workingHours: CalendarWorkingTimeRange | readonly CalendarWorkingTimeRange[] | undefined, options:;normalizeCalendar
Section titled “normalizeCalendar”export function normalizeCalendar( calendar: CalendarEntity, options:;createResolvedCalendarMap
Section titled “createResolvedCalendarMap”export function createResolvedCalendarMap( calendars: readonly CalendarEntity[] | undefined, options:;createCalendarMap
Section titled “createCalendarMap”export function createCalendarMap(calendars: readonly CalendarEntity[] | undefined): Map<CalendarId, CalendarEntity>;resolveCalendarFromMap
Section titled “resolveCalendarFromMap”export function resolveCalendarFromMap( target: CalendarLookupTarget, calendarsById: ReadonlyMap<CalendarId, CalendarEntity>, primaryCalendar: CalendarEntity | null,): CalendarEntity | null;resolveCalendarFromList
Section titled “resolveCalendarFromList”export function resolveCalendarFromList( context: CalendarListLookupContext, target?: CalendarLookupTarget,): CalendarEntity | null;resolveCalendarItemFromMap
Section titled “resolveCalendarItemFromMap”export function resolveCalendarItemFromMap<T>( target: CalendarLookupTarget, items: ReadonlyMap<string, T>,): T | null;isCalendarHoliday
Section titled “isCalendarHoliday”export function isCalendarHoliday( date: ISODateString | string, calendar: Pick<CalendarEntity, 'holidays'> | Pick<ResolvedCalendarEntity, 'holidays'> | null | undefined,): boolean;isCalendarWorkingWeekday
Section titled “isCalendarWorkingWeekday”export function isCalendarWorkingWeekday( weekday: number, calendar: Pick<CalendarEntity, 'workingDays'> | Pick<ResolvedCalendarEntity, 'workingDays'> | null | undefined,): boolean;isWorkingCalendarDate
Section titled “isWorkingCalendarDate”export function isWorkingCalendarDate( date: ISODateString | string, weekday: number, calendar: ( Pick<CalendarEntity, 'workingDays' | 'holidays'> | Pick<ResolvedCalendarEntity, 'workingDays' | 'holidays'> | null | undefined ),): boolean;isCalendarWorkingHour
Section titled “isCalendarWorkingHour”export function isCalendarWorkingHour( date: ISODateString | string, calendar: CalendarEntity | ResolvedCalendarEntity | null | undefined,): boolean;CalendarId
Section titled “CalendarId”Unique identifier for a working calendar.
/** Unique identifier for a working calendar. */export type CalendarId = string | number;CalendarWorkingTimeRange
Section titled “CalendarWorkingTimeRange”Time-of-day working window for calendar-aware schedulers.
interface CalendarWorkingTimeRange { /** Start time in `HH:mm` or AM/PM format. */ readonly start: string; /** End time in `HH:mm` or AM/PM format. */ readonly end: string}CalendarResolvedWorkingTimeRange
Section titled “CalendarResolvedWorkingTimeRange”Parsed working time window expressed as minutes from midnight.
interface CalendarResolvedWorkingTimeRange { readonly startMinutes: number; readonly endMinutes: number}CalendarEntity
Section titled “CalendarEntity”Defines the working schedule for tasks, events, and resources. Working days use ISO weekday numbers: 1 = Monday … 7 = Sunday.
interface CalendarEntity { /** Unique calendar identifier. */ readonly id: CalendarId; /** Display name, for example `"Standard"` or `"Night Shift"`. */ readonly name: string; /** IANA time zone, for example `"America/New_York"`. */ readonly timeZone: string; /** ISO weekday numbers that are working days. */ readonly workingDays: readonly number[]; /** Specific dates that are non-working regardless of weekday. */ readonly holidays: readonly ISODateString[]; /** Optional working time windows inside a working day. */ readonly workingHours?: CalendarWorkingTimeRange | readonly CalendarWorkingTimeRange[]; /** Number of working hours per day, used for effort/capacity calculations. */ readonly hoursPerDay: number}DEFAULT_CALENDAR
Section titled “DEFAULT_CALENDAR”Default Monday-Friday calendar shared by Gantt and Event Scheduler.
DEFAULT_CALENDAR: { id: string; name: string; timeZone: string; workingDays: number[]; holidays: never[]; workingHours: { start: string; end: string; }; hoursPerDay: number;};ResolvedCalendarEntity
Section titled “ResolvedCalendarEntity”Calendar with derived lookup-friendly fields used by schedulers.
interface ResolvedCalendarEntity { readonly calendar: CalendarEntity; readonly workingDays: readonly number[]; readonly workingHours: readonly CalendarResolvedWorkingTimeRange[]; readonly holidays: ReadonlySet<string>}CalendarListLookupContext
Section titled “CalendarListLookupContext”interface CalendarListLookupContext { readonly calendars: readonly CalendarEntity[]; readonly primaryCalendarId?: CalendarId}CalendarLookupTarget
Section titled “CalendarLookupTarget”export type CalendarLookupTarget = CalendarId | { readonly calendarId?: CalendarId } | undefined;