UNPKG

@altostra/core

Version:

Core library for shared types and logic

27 lines (26 loc) 1.34 kB
import type { CronString } from "../../aws/CustomTypes/CronString"; import type { NaturalNumber } from "../../common/CustomTypes/Numerics"; import type { ResourceBase } from "./Common"; export declare type SchedulerType = 'resource.scheduler'; export interface SchedulerBase extends ResourceBase { type: SchedulerType; } export declare type Scheduler = Schedule & SchedulerBase; export interface RateSchedule { rate: RatedScheduling; } export interface CronSchedule { cron: CronString; } export declare type Schedule = CronSchedule | RateSchedule; export interface RatedScheduling { unit: TimeUnit; amount: NaturalNumber; } export declare type TimeUnit = 'days' | 'hours' | 'minutes'; export declare const isTimeUnit: import("@altostra/type-validations").TypeValidation<TimeUnit>; export declare const isRatedScheduling: import("@altostra/type-validations").ObjectOfTypeValidation<RatedScheduling>; export declare const isRateSchedule: import("@altostra/type-validations").ObjectOfTypeValidation<RateSchedule>; export declare const isCronSchedule: import("@altostra/type-validations").ObjectOfTypeValidation<CronSchedule>; export declare const isSchedule: import("@altostra/type-validations").TypeValidation<Schedule>; export declare const isScheduler: import("@altostra/type-validations").TypeValidation<Scheduler>;