62 lines
1.2 KiB
TypeScript
62 lines
1.2 KiB
TypeScript
/**
|
|
* @since 2.0.0
|
|
*/
|
|
import * as internal from "./internal/schedule/decision.js"
|
|
import type * as Interval from "./ScheduleInterval.js"
|
|
import type * as Intervals from "./ScheduleIntervals.js"
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category models
|
|
*/
|
|
export type ScheduleDecision = Continue | Done
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category models
|
|
*/
|
|
export interface Continue {
|
|
readonly _tag: "Continue"
|
|
readonly intervals: Intervals.Intervals
|
|
}
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category models
|
|
*/
|
|
export interface Done {
|
|
readonly _tag: "Done"
|
|
}
|
|
|
|
const _continue = internal._continue
|
|
export {
|
|
/**
|
|
* @since 2.0.0
|
|
* @category constructors
|
|
*/
|
|
_continue as continue
|
|
}
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category constructors
|
|
*/
|
|
export const continueWith: (interval: Interval.Interval) => ScheduleDecision = internal.continueWith
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category constructors
|
|
*/
|
|
export const done: ScheduleDecision = internal.done
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category refinements
|
|
*/
|
|
export const isContinue: (self: ScheduleDecision) => self is Continue = internal.isContinue
|
|
|
|
/**
|
|
* @since 2.0.0
|
|
* @category refinements
|
|
*/
|
|
export const isDone: (self: ScheduleDecision) => self is Done = internal.isDone
|