![Circle CI](https://circleci.com/gh/shinout/interval-tree2.svg?style=svg)
interval-tree2
interval tree in JavaScript (source is written in CoffeeScript)
improves previous interval-tree
more maintenanceability with CoffeeScript OOP.
more robustness with mocha, CircleCI
API Documentation
latest API documentation Page (YUIDoc)
installation
$ npm install interval-tree2
usage
require
var IntervalTree = require('interval-tree2');
when using in web, use dist/interval-tree.js
in this module.
<script src="dist/interval-tree.js"></scirpt>
create
var itree = new IntervalTree(300);
add interval data
itree.add(22, 56, 'foo');
itree.add(44, 199, 'bar');
itree.add(1, 38);
search by point: get overlapped intervals from one point
var intervals = itree.search(103);
or
var intervals = itree.pointSearch(103);
intervals.forEach(function(interval) {
console.log(interval.start);
console.log(interval.end);
console.log(interval.id);
});
search by range: get overlapped intervals from a range
var intervals2 = itree.search(103, 400);
or
var intervals2 = itree.rangeSearch(103, 400);
intervals2.forEach(function(interval) {
console.log(interval.start);
console.log(interval.end);
console.log(interval.id);
});
remove an interval by id
itree.remove('foo');