@rickosborne/rebound
Version:
Rick Osborne's utilities for working with bounded numbers
29 lines • 1.25 kB
TypeScript
import type { Comparator } from "@rickosborne/typical";
import { Bound } from "./bound.js";
import type { RangeLike, Unbounded } from "./range-like.js";
export declare abstract class RangeBase<T> implements RangeLike<T> {
readonly comparator: Comparator<T>;
readonly isBounded: boolean;
readonly isBoundedAbove: boolean;
readonly isBoundedBelow: boolean;
readonly isEmpty: boolean;
readonly isLowerInc: boolean;
readonly isSingleton: boolean;
readonly isUpperInc: boolean;
abstract readonly label: string;
readonly lowerBound: Bound<T> | Unbounded;
readonly lowerEndpoint: T | undefined;
readonly upperBound: Bound<T> | Unbounded;
readonly upperEndpoint: T | undefined;
protected constructor(isLowerInc: boolean, lowerBound: T | Unbounded, upperBound: T | Unbounded, isUpperInc: boolean, comparator: Comparator<T>);
assertIsA(obj: unknown): asserts obj is T;
castAs(obj: unknown): T;
compareTo(other: RangeLike<T>): number;
contains(value: T): boolean;
encloses(other: RangeLike<T>): boolean;
isA(obj: unknown): obj is T;
abstract isType(obj: unknown): obj is T;
toString(): string;
[Symbol.toStringTag](): string;
}
//# sourceMappingURL=range-base.d.ts.map