Amazon Vinyl
    Preparing search index...

    Interface ReadonlyRanges

    Query utilities for a list of ranges. Ranges are expected to be start, end pairs where no two ranges overlap or touch. All ranges are in incremental order.

    interface ReadonlyRanges {
        empty: boolean;
        ranges: ArrayLike<Range>;
        "[iterator]"(): IterableIterator<Range>;
        getRangeAt(value: number, tolerance?: number): Range | null;
        getRangeContaining(
            from: number,
            to: number,
            tolerance?: number,
        ): Range | null;
        getRangesWithin(from: number, to: number, tolerance?: number): Range[];
    }

    Hierarchy

    • Iterable<Range>
      • ReadonlyRanges

    Implemented by

    Index
    empty: boolean

    Returns true if there are zero ranges.

    ranges: ArrayLike<Range>

    The ranges array like this reader encapsulates. Ranges are [start, end] tuples, they will always be ordered, never touch, and never overlap.

    • Returns the range at the given value, or null if all ranges are outside the given tolerance. Range values are considered inclusive. That is, a ReadonlyRanges with [0, 1] will return [0, 1] for value 1.

      Parameters

      • value: number

        The value to compare to current ranges.

      • Optionaltolerance: number

        The tolerance the value may be outside a range and still considered to be within. Default: 0

      Returns Range | null

    • Returns the range that includes the entire from-to span, within a given tolerance.

      Range values are considered inclusive. That is, a ReadonlyRanges with [0, 2] will return [0, 2] for getRangeContaining(2, 2) or getRangeContaining(0, 0).

      from does not need to be lesser than to.

      Parameters

      • from: number
      • to: number
      • Optionaltolerance: number

      Returns Range | null

    • Returns all ranges where at least part of the range is within the given from-to span.

      from does not need to be lesser than to.

      Parameters

      • from: number
      • to: number
      • Optionaltolerance: number

      Returns Range[]