Skip to content
Effect Days 2026 Get your ticket

ScheduleIntervals

13 exports Added in v2.0.0 Source

Constructors

empty

Added in v2.0.0 Source

Constructs an empty list of Intervals.

Signature

declare const empty: Intervals

fromIterable

Added in v2.0.0 Source

Creates Intervals from the specified Iterable<Interval>.

Signature

declare const fromIterable: (intervals: Iterable<Interval.Interval>) => Intervals

make

Added in v2.0.0 Source

Creates a new Intervals from a List of Intervals.

Signature

declare const make: (intervals: Check.Chunk<Interval.Interval>) => Intervals

Getters

end

Added in v2.0.0 Source

The end of the latest interval in the specified Intervals.

Signature

declare const end: (self: Intervals) => number

isNonEmpty

Added in v2.0.0 Source

Returns true if this Intervals is non-empty, false otherwise.

Signature

declare const isNonEmpty: (self: Intervals) => boolean

start

Added in v2.0.0 Source

The start of the earliest interval in the specified Intervals.

Signature

declare const start: (self: Intervals) => number

Models

Intervals interface

Added in v2.0.0 Source

An Intervals represents a list of several Intervals.

Signature

interface Intervals {
readonly [IntervalsTypeId]: typeof IntervalsTypeId;
readonly intervals: Chunk<Interval>;
}

Ordering

lessThan

Added in v2.0.0 Source

Returns true if the start of this Intervals is before the start of that Intervals, false otherwise.

Signature

declare const lessThan: {
(that: Intervals): (self: Intervals) => boolean;
(self: Intervals, that: Intervals): boolean;
}

max

Added in v2.0.0 Source

Returns the maximum of the two Intervals (i.e. which has the latest start).

Signature

declare const max: {
(that: Intervals): (self: Intervals) => Intervals;
(self: Intervals, that: Intervals): Intervals;
}

Symbols

Signature

declare const IntervalsTypeId: unique symbol

IntervalsTypeId type

Added in v2.0.0 Source

Signature

type IntervalsTypeId = typeof IntervalsTypeId

Utils

intersect

Added in v2.0.0 Source

Produces the intersection of this Intervals and that Intervals.

Signature

declare const intersect: {
(that: Intervals): (self: Intervals) => Intervals;
(self: Intervals, that: Intervals): Intervals;
}

union

Added in v2.0.0 Source

Computes the union of this Intervals and that Intervals

Signature

declare const union: {
(that: Intervals): (self: Intervals) => Intervals;
(self: Intervals, that: Intervals): Intervals;
}