1.1.1 • Published 3 years ago

@lezram/math-interval v1.1.1

Weekly downloads
6
License
MIT
Repository
github
Last release
3 years ago

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

1.1.1

3 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago