intervals-fn

Manipulate intervals in a functional way

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
intervals-fn
3.0.35 years ago6 years agoMinified + gzip package size for intervals-fn in KB

Readme

Intervals-fn
Enable manipulation on interval object.

Build Status Maintainability Test Coverage code style: prettier semantic-release Commitizen friendly npm version

What's in the box

All function are curried. Output keeps the input's structure and type. No input mutation.

Unary operation

  • Simplify

Binary operations

  • Intersection
  • Union
  • Subtraction

Manipulations

  • Complement
  • Merge
  • Split

Tests (Allen's interval relations)

  • After
  • Before
  • During
  • Ending
  • Equal
  • Meeting
  • Overlapping
  • Starting

Accepted input

Functions marked with * both accept interval and Array/ReadonlyArray of interval
{ start: number, end: number };

{ from: number, to: number };

[number, number];

Installation

Intervals-fn is distributed on the latest channel:
$ npm install intervals-fn --save

Advenced docs

Visit the homepage for an extensive API documentation:
https://js-republic.github.io/intervals-fn

TypeScript support

Intervals-fn includes typings for TypeScript.

Contributing

Contributions are welcome and appreciated. Feel free to start an issue or create a pull requests. This repo use AngularJS's commit message convention. You can use cz-cli to format your commit.