UNPKG

@kwiz/common

Version:

KWIZ common utilities and helpers for M365 platform

40 lines (39 loc) 1.53 kB
export type hourlyInterval = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12; export type hours = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23; export type days = 0 | 1 | 2 | 3 | 4 | 5 | 6; export declare enum ScheduleTypes { hourly = "hourly", daily = "daily", weekly = "weekly" } export declare const ScheduleTypesDefinitions: { [Name: string]: { title: string; value: ScheduleTypes; }; }; export interface IScheduleHourly { ScheduleType: ScheduleTypes.hourly; /** run every x number of hours */ interval: hourlyInterval; } export interface IScheduleDaily { ScheduleType: ScheduleTypes.daily; /** run every day, at these hours */ hours: hours[]; } export interface IScheduleWeekly { ScheduleType: ScheduleTypes.weekly; /** run in the following days */ days: days[]; /** run at these hours */ hours: hours[]; } export type TypeSchedule = IScheduleHourly | IScheduleDaily | IScheduleWeekly; export declare const defaultWeeklySchedule: IScheduleWeekly; export declare const defaultDailySchedule: IScheduleDaily; export declare const defaultHourlySchedule: IScheduleHourly; export declare function isValidSchedule(schedule: TypeSchedule): boolean; /** returns a yyyyMMddHH for the next time this schedule needs to run after the currentDate */ export declare function getNextUTC(currentDate: Date, schedule: TypeSchedule): string; export declare function getUTCDateMarker(date: Date): string;