@kermank/slots
Version:
A TypeScript library for handling time slots, scheduling, and timezone operations
25 lines (24 loc) • 1.35 kB
TypeScript
import { SlotRule } from '../types';
interface TimeOfDay {
hour: number;
minute?: number;
}
/**
* Creates a rule that blocks slots that fall within specified hours of the day
* @param start - Start time of day (e.g., { hour: 9, minute: 30 } for 9:30 AM)
* @param end - End time of day (e.g., { hour: 17 } for 5:00 PM)
* @returns A rule that returns slots that fall within the specified time range
*/
export declare const createTimeOfDayRule: (start: TimeOfDay, end: TimeOfDay) => SlotRule;
/**
* Creates a rule that allows slots within the specified hours of the day
* @param start - Start time of day (e.g., { hour: 9, minute: 30 } for 9:30 AM)
* @param end - End time of day (e.g., { hour: 17 } for 5:00 PM)
* @returns A rule that returns slots that fall outside the specified time range
*/
export declare const allowTimeOfDayRule: (start: TimeOfDay, end: TimeOfDay) => SlotRule;
export declare const noMeetingsBeforeRule: (hour: number, minute?: number) => SlotRule;
export declare const noMeetingsAfterRule: (hour: number, minute?: number) => SlotRule;
export declare const blockTimeRangeRule: (startHour: number, endHour: number, startMinute?: number, endMinute?: number) => SlotRule;
export declare const allowTimeRangeRule: (startHour: number, endHour: number, startMinute?: number, endMinute?: number) => SlotRule;
export {};