Skip to content

Repository files navigation

Buildnpm versionDownloads

NPM

@lezram/math-interval

A very simple interval library

Installation

node

npm i @lezram/math-interval --save

Usage

NodeJS

Javascript

constInterval=require("@lezram/math-interval").Interval;consttimeInterval=newInterval(Date.UTC(2020,0,1),Date.UTC(2020,0,3),false,true);

Typescript

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

Browser

<scriptsrc="math-interval.js"></script><script>constInterval=MathInterval.Interval;consttimeInterval=newInterval(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
    newInterval(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
    constinterval1=newInterval(1,2,true,true);constinterval2=newInterval(2,4,false,false);constunion=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

About

A very simple math interval library

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages