@lezram/math-interval
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

Build npm version Downloads

NPM

@lezram/math-interval

A very simple interval library

Installation

node

npm i @lezram/math-interval --save

Usage

NodeJS

Javascript

const Interval = require("@lezram/math-interval").Interval;
const timeInterval = new Interval(Date.UTC(2020, 0, 1), Date.UTC(2020, 0, 3), false, true);

Typescript

import {Interval} from "@lezram/math-interval";
const timeInterval = new Interval(Date.UTC(2020, 0, 1), Date.UTC(2020, 0, 3), false, true);

Browser

<script src="math-interval.js"></script>
<script>
const Interval = MathInterval.Interval;
const timeInterval = new Interval(Date.UTC(2020, 0, 1), Date.UTC(2020, 0, 3), false, true);
console.log(timeInterval);
</script>

API

  • new Interval(start: number, end: number, includeStart: boolean, includeEnd: boolean)
    Create an interval object
      new Interval(1, 2, true, false);
  • Interval.from(intervalNotation: string): Interval
    Create an interval object from mathematical interval notation
      Interval.from("[1,2]");
  • Interval.sort(interval1, interval2, ...): Interval[]
    Sort intervals with following order: empty, lowest start, lowest end
  • Interval.union(interval1, interval2, ...): Interval[]
    Union elements and sort
    const interval1 = new Interval(1, 2, true, true);
    const interval2 = new Interval(2, 4, false, false);
    
    const union = Interval.union(interval1, interval2);
    // union = new Interval(1, 4, true, false);
  • obj.isOverlapping(interval: Interval): boolean
    Checks if passed interval overlaps/intersect
  • obj.contains(numberOrInterval: number | Interval): boolean
    Contains passed number or interval completely
  • obj.isEmpty(): boolean
    If is an empty interval {}, [2,1], (1,1), (1,1], [1,1)
  • obj.copy(): Interval
    Copy interval
  • obj.isEqual(interval: Interval): boolean
    Check if interval is equal

Similar libraries

Readme

Keywords

Package Sidebar

Install

npm i @lezram/math-interval

Weekly Downloads

100

Version

1.1.1

License

MIT

Unpacked Size

79 kB

Total Files

34

Last publish

Collaborators

  • lezram