UNPKG

ok-tools

Version:

My personal JS tools and utilities

48 lines (47 loc) 1.72 kB
export declare type OpeningHour = number; export interface OpeningHoursInterval { open: OpeningHour; close: OpeningHour; } export declare type OpeningHoursDay = OpeningHoursInterval[]; export interface OpeningHoursWeek { 1: OpeningHoursDay; 2: OpeningHoursDay; 3: OpeningHoursDay; 4: OpeningHoursDay; 5: OpeningHoursDay; 6: OpeningHoursDay; 7: OpeningHoursDay; } export declare enum OpeningHoursStatus { CLOSED = 0, OPEN = 1 } export interface OpeningHoursResult { currentStatus: OpeningHoursStatus; nextStatus: OpeningHoursStatus; nextChangeDay: number | null; nextChangeTime: OpeningHour; nextChangeIsToday: boolean; nextChangeIsTomorrow: boolean; } export interface OpeningHoursFormattedRow { dayFrom: number; dayTo: number; hours: string; isSingleDay: boolean; isCurrent: boolean; isOpen: boolean; } export declare type OpeningHoursFormatted = OpeningHoursFormattedRow[]; export declare function parseWeek(input: { [key: number]: string; }, returnNullIfEmpty?: boolean): OpeningHoursWeek | null; export declare function parseDay(input: string): OpeningHoursDay; export declare function parseInterval(input: string): OpeningHoursInterval | null; export declare function parseHour(input: string): OpeningHour; export declare function formatHour(input: OpeningHour): string; export declare function formatInterval(input: OpeningHoursInterval): string; export declare function formatDay(input: OpeningHoursDay): string; export declare function formatWeek(input: OpeningHoursWeek, now?: Date | null): OpeningHoursFormatted; export declare function processHours(hours: OpeningHoursWeek, now?: Date | null): OpeningHoursResult;