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