Files
ospab.host/node_modules/effect/dist/dts/ScheduleInterval.d.ts
2025-09-15 18:10:26 +03:00

204 lines
5.0 KiB
TypeScript

/**
* @since 2.0.0
*/
import type * as Duration from "./Duration.js";
import type * as Option from "./Option.js";
/**
* @since 2.0.0
* @category symbols
*/
export declare const IntervalTypeId: unique symbol;
/**
* @since 2.0.0
* @category symbols
*/
export type IntervalTypeId = typeof IntervalTypeId;
/**
* An `Interval` represents an interval of time. Intervals can encompass all
* time, or no time at all.
*
* @since 2.0.0
* @category models
*/
export interface Interval {
readonly [IntervalTypeId]: IntervalTypeId;
readonly startMillis: number;
readonly endMillis: number;
}
/**
* Constructs a new interval from the two specified endpoints. If the start
* endpoint greater than the end endpoint, then a zero size interval will be
* returned.
*
* @since 2.0.0
* @category constructors
*/
export declare const make: (startMillis: number, endMillis: number) => Interval;
/**
* An `Interval` of zero-width.
*
* @since 2.0.0
* @category constructors
*/
export declare const empty: Interval;
/**
* Returns `true` if this `Interval` is less than `that` interval, `false`
* otherwise.
*
* @since 2.0.0
* @category ordering
*/
export declare const lessThan: {
/**
* Returns `true` if this `Interval` is less than `that` interval, `false`
* otherwise.
*
* @since 2.0.0
* @category ordering
*/
(that: Interval): (self: Interval) => boolean;
/**
* Returns `true` if this `Interval` is less than `that` interval, `false`
* otherwise.
*
* @since 2.0.0
* @category ordering
*/
(self: Interval, that: Interval): boolean;
};
/**
* Returns the minimum of two `Interval`s.
*
* @since 2.0.0
* @category ordering
*/
export declare const min: {
/**
* Returns the minimum of two `Interval`s.
*
* @since 2.0.0
* @category ordering
*/
(that: Interval): (self: Interval) => Interval;
/**
* Returns the minimum of two `Interval`s.
*
* @since 2.0.0
* @category ordering
*/
(self: Interval, that: Interval): Interval;
};
/**
* Returns the maximum of two `Interval`s.
*
* @since 2.0.0
* @category ordering
*/
export declare const max: {
/**
* Returns the maximum of two `Interval`s.
*
* @since 2.0.0
* @category ordering
*/
(that: Interval): (self: Interval) => Interval;
/**
* Returns the maximum of two `Interval`s.
*
* @since 2.0.0
* @category ordering
*/
(self: Interval, that: Interval): Interval;
};
/**
* Returns `true` if the specified `Interval` is empty, `false` otherwise.
*
* @since 2.0.0
* @category ordering
*/
export declare const isEmpty: (self: Interval) => boolean;
/**
* Returns `true` if the specified `Interval` is non-empty, `false` otherwise.
*
* @since 2.0.0
* @category ordering
*/
export declare const isNonEmpty: (self: Interval) => boolean;
/**
* Computes a new `Interval` which is the intersection of this `Interval` and
* that `Interval`.
*
* @since 2.0.0
* @category ordering
*/
export declare const intersect: {
/**
* Computes a new `Interval` which is the intersection of this `Interval` and
* that `Interval`.
*
* @since 2.0.0
* @category ordering
*/
(that: Interval): (self: Interval) => Interval;
/**
* Computes a new `Interval` which is the intersection of this `Interval` and
* that `Interval`.
*
* @since 2.0.0
* @category ordering
*/
(self: Interval, that: Interval): Interval;
};
/**
* Calculates the size of the `Interval` as the `Duration` from the start of the
* interval to the end of the interval.
*
* @since 2.0.0
* @category getters
*/
export declare const size: (self: Interval) => Duration.Duration;
/**
* Computes a new `Interval` which is the union of this `Interval` and that
* `Interval` as a `Some`, otherwise returns `None` if the two intervals cannot
* form a union.
*
* @since 2.0.0
* @category utils
*/
export declare const union: {
/**
* Computes a new `Interval` which is the union of this `Interval` and that
* `Interval` as a `Some`, otherwise returns `None` if the two intervals cannot
* form a union.
*
* @since 2.0.0
* @category utils
*/
(that: Interval): (self: Interval) => Option.Option<Interval>;
/**
* Computes a new `Interval` which is the union of this `Interval` and that
* `Interval` as a `Some`, otherwise returns `None` if the two intervals cannot
* form a union.
*
* @since 2.0.0
* @category utils
*/
(self: Interval, that: Interval): Option.Option<Interval>;
};
/**
* Construct an `Interval` that includes all time equal to and after the
* specified start time.
*
* @since 2.0.0
* @category constructors
*/
export declare const after: (startMilliseconds: number) => Interval;
/**
* Construct an `Interval` that includes all time equal to and before the
* specified end time.
*
* @category constructors
* @since 2.0.0
*/
export declare const before: (endMilliseconds: number) => Interval;
//# sourceMappingURL=ScheduleInterval.d.ts.map