Skip to content

meos.js


meos.js / DateSpanSet

Class: DateSpanSet

Defined in: core/types/collections/time/DateSpanSet.ts:32

An ordered set of disjoint DateSpan values.

Dates are represented as DateADT integers (days since 2000-01-01).

Example

ts
const ss = DateSpanSet.fromString('{[2020-01-01, 2020-06-01), [2020-09-01, 2020-12-31]}');
console.log(ss.numSpans());  // 2
console.log(ss.numDates());  // total distinct dates across all spans
ss.free();

Extends

Constructors

Constructor

ts
new DateSpanSet(inner): DateSpanSet;

Defined in: core/types/collections/base/SpanSet.ts:63

Parameters

inner

number

Returns

DateSpanSet

Inherited from

SpanSet.constructor

Accessors

inner

Get Signature

ts
get inner(): number;

Defined in: core/types/collections/base/SpanSet.ts:77

Raw WASM heap pointer. Do not free this value directly; use free.

Returns

number

Inherited from

SpanSet.inner

Methods

[dispose]()

ts
dispose: void;

Defined in: core/types/collections/base/SpanSet.ts:87

Implements the using resource-management protocol — calls free automatically.

Returns

void

Inherited from

SpanSet.[dispose]


asHexWKB()

ts
asHexWKB(variant?): string;

Defined in: core/types/collections/base/SpanSet.ts:110

Serialises this span set to a hex-encoded WKB string.

Parameters

variant?

number = 4

WKB encoding variant (default 4 = Extended WKB).

Returns

string

Inherited from

SpanSet.asHexWKB


boundingSpan()

ts
boundingSpan(): DateSpan;

Defined in: core/types/collections/base/SpanSet.ts:154

Returns the smallest span that covers all spans in this set (the bounding span). The caller is responsible for calling Span.free on the result.

Returns

DateSpan

Inherited from

SpanSet.boundingSpan


contains()

ts
contains(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:209

true if this entirely contains other. Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.contains


copy()

ts
copy(): this;

Defined in: core/types/collections/base/SpanSet.ts:95

Returns a deep copy of this span set. The caller is responsible for calling free on the returned copy.

Returns

this

Inherited from

SpanSet.copy


dateN()

ts
dateN(n): number;

Defined in: core/types/collections/time/DateSpanSet.ts:111

Returns the n-th date (0-based index) as days since 2000-01-01.

Parameters

n

number

0-based index (MEOS internally uses 1-based indexing).

Returns

number


distance()

ts
distance(other): number;

Defined in: core/types/collections/time/DateSpanSet.ts:123

Returns the distance (gap) between this and other in days. Returns 0 if they overlap. Accepts either a DateSpan or a DateSpanSet.

Parameters

other

DateSpan | DateSpanSet

Returns

number

Overrides

SpanSet.distance


endDate()

ts
endDate(): number;

Defined in: core/types/collections/time/DateSpanSet.ts:103

Returns the end date of the last span as days since 2000-01-01.

Returns

number


endSpan()

ts
endSpan(): DateSpan;

Defined in: core/types/collections/base/SpanSet.ts:170

Returns the last (rightmost) span in this set. The caller is responsible for calling Span.free on the result.

Returns

DateSpan

Inherited from

SpanSet.endSpan


eq()

ts
eq(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:324

true if this and other are identical (same spans, bounds, and inclusivity).

Parameters

other

this

Returns

boolean

Inherited from

SpanSet.eq


free()

ts
free(): void;

Defined in: core/types/collections/base/SpanSet.ts:82

Releases the WASM-allocated memory. Must be called when the object is no longer needed.

Returns

void

Inherited from

SpanSet.free


ge()

ts
ge(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:349

true if this is greater than or equal to other in MEOS total ordering.

Parameters

other

this

Returns

boolean

Inherited from

SpanSet.ge


gt()

ts
gt(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:344

true if this is strictly greater than other in MEOS total ordering.

Parameters

other

this

Returns

boolean

Inherited from

SpanSet.gt


hash()

ts
hash(): number;

Defined in: core/types/collections/base/SpanSet.ts:146

32-bit integer hash of this span set.

Returns

number

Inherited from

SpanSet.hash


intersection()

ts
intersection(other): DateSpanSet | null;

Defined in: core/types/collections/base/SpanSet.ts:285

Returns the intersection of this and other, or null if they are disjoint. Accepts either a companion span or another span set of the same type. The caller is responsible for calling free on the result.

Parameters

other

DateSpan | DateSpanSet

Returns

DateSpanSet | null

Inherited from

SpanSet.intersection


isAdjacent()

ts
isAdjacent(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:191

true if this and other share exactly one boundary point without overlapping. Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.isAdjacent


isAfter()

ts
isAfter(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:250

true if every point in this is strictly greater than every point in other. Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.isAfter


isBefore()

ts
isBefore(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:231

true if every point in this is strictly less than every point in other. Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.isBefore


isContainedIn()

ts
isContainedIn(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:200

true if this is entirely contained within other. Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.isContainedIn


isOverOrAfter()

ts
isOverOrAfter(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:260

true if this does not extend to the left of other (i.e. min(this) ≥ min(other)). Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.isOverOrAfter


isOverOrBefore()

ts
isOverOrBefore(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:241

true if this does not extend to the right of other (i.e. max(this) ≤ max(other)). Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.isOverOrBefore


le()

ts
le(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:339

true if this is less than or equal to other in MEOS total ordering.

Parameters

other

this

Returns

boolean

Inherited from

SpanSet.le


lower()

ts
lower(): number;

Defined in: core/types/collections/time/DateSpanSet.ts:83

Returns the lower bound of the first span as days since 2000-01-01.

Returns

number

Overrides

SpanSet.lower


lowerInc()

ts
lowerInc(): boolean;

Defined in: core/types/collections/base/SpanSet.ts:131

true if the lower bound of the first span is inclusive ([).

Returns

boolean

Inherited from

SpanSet.lowerInc


lt()

ts
lt(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:334

true if this is strictly less than other in MEOS total ordering.

Parameters

other

this

Returns

boolean

Inherited from

SpanSet.lt


minus()

ts
minus(other): DateSpanSet | null;

Defined in: core/types/collections/base/SpanSet.ts:298

Returns the part of this that is not in other, or null if the result is empty. Accepts either a companion span or another span set of the same type. The caller is responsible for calling free on the result.

Parameters

other

DateSpan | DateSpanSet

Returns

DateSpanSet | null

Inherited from

SpanSet.minus


ne()

ts
ne(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:329

true if this and other differ in at least one span.

Parameters

other

this

Returns

boolean

Inherited from

SpanSet.ne


numDates()

ts
numDates(): number;

Defined in: core/types/collections/time/DateSpanSet.ts:93

Returns the total number of distinct dates across all spans.

Returns

number


numSpans()

ts
numSpans(): number;

Defined in: core/types/collections/base/SpanSet.ts:141

Number of spans in this set.

Returns

number

Inherited from

SpanSet.numSpans


overlaps()

ts
overlaps(other): boolean;

Defined in: core/types/collections/base/SpanSet.ts:218

true if this and other share at least one point. Accepts either a companion span or another span set of the same type.

Parameters

other

DateSpan | DateSpanSet

Returns

boolean

Inherited from

SpanSet.overlaps


shiftScale()

ts
shiftScale(
   shift, 
   width, 
   hasShift?, 
   hasWidth?): DateSpanSet;

Defined in: core/types/collections/time/DateSpanSet.ts:148

Returns a new span set shifted and/or scaled along the date axis.

Parameters

shift

number

Number of days to shift (ignored when hasShift is false).

width

number

New total width in days (ignored when hasWidth is false).

hasShift?

boolean = true

Set to false to skip shifting (default true).

hasWidth?

boolean = true

Set to false to skip scaling (default true).

Returns

DateSpanSet


spanN()

ts
spanN(n): DateSpan;

Defined in: core/types/collections/base/SpanSet.ts:179

Returns the n-th span (0-based index). The caller is responsible for calling Span.free on the result.

Parameters

n

number

0-based index (MEOS internally uses 1-based indexing).

Returns

DateSpan

Inherited from

SpanSet.spanN


startDate()

ts
startDate(): number;

Defined in: core/types/collections/time/DateSpanSet.ts:98

Returns the start date of the first span as days since 2000-01-01.

Returns

number


startSpan()

ts
startSpan(): DateSpan;

Defined in: core/types/collections/base/SpanSet.ts:162

Returns the first (leftmost) span in this set. The caller is responsible for calling Span.free on the result.

Returns

DateSpan

Inherited from

SpanSet.startSpan


toString()

ts
toString(): string;

Defined in: core/types/collections/time/DateSpanSet.ts:74

Returns the WKT string representation.

Returns

string

Overrides

SpanSet.toString


toTsTzSpanSet()

ts
toTsTzSpanSet(): number;

Defined in: core/types/collections/time/DateSpanSet.ts:137

Converts this set to a TsTzSpanSet (date bounds become midnight UTC) and returns the raw WASM pointer. Use new TsTzSpanSet(ptr) to obtain a typed object.

Returns

number


union()

ts
union(other): this;

Defined in: core/types/collections/base/SpanSet.ts:311

Returns the union of this and other. Accepts either a companion span or another span set of the same type. The caller is responsible for calling free on the result.

Parameters

other

DateSpan | DateSpanSet

Returns

this

Inherited from

SpanSet.union


upper()

ts
upper(): number;

Defined in: core/types/collections/time/DateSpanSet.ts:88

Returns the upper bound of the last span as days since 2000-01-01.

Returns

number

Overrides

SpanSet.upper


upperInc()

ts
upperInc(): boolean;

Defined in: core/types/collections/base/SpanSet.ts:136

true if the upper bound of the last span is inclusive (]).

Returns

boolean

Inherited from

SpanSet.upperInc


fromHexWKB()

ts
static fromHexWKB(hexwkb): DateSpanSet;

Defined in: core/types/collections/time/DateSpanSet.ts:57

Deserialises a DateSpanSet from a hex-encoded WKB string produced by asHexWKB.

Parameters

hexwkb

string

Hex-encoded WKB string.

Returns

DateSpanSet


fromSpan()

ts
static fromSpan(span): DateSpanSet;

Defined in: core/types/collections/time/DateSpanSet.ts:65

Wraps a single DateSpan into a one-element DateSpanSet.

Parameters

span

DateSpan

The span to wrap.

Returns

DateSpanSet


fromString()

ts
static fromString(str): DateSpanSet;

Defined in: core/types/collections/time/DateSpanSet.ts:49

Parses a DateSpanSet from its WKT string representation.

Parameters

str

string

WKT string, e.g. "{[2020-01-01, 2020-06-01), [2020-09-01, 2020-12-31]}".

Returns

DateSpanSet