@kwiz/common
Version:
KWIZ common utilities and helpers for M365 platform
40 lines (39 loc) • 1.53 kB
TypeScript
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;