{"_id":"interval-tree-1d","_rev":"234751","name":"interval-tree-1d","description":"1D interval tree data structure","dist-tags":{"latest":"1.0.4"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"time":{"modified":"2021-06-03T15:49:22.000Z","created":"2013-10-16T03:40:58.673Z","1.0.4":"2021-06-03T03:09:49.193Z","1.0.3":"2015-03-29T20:39:17.703Z","1.0.2":"2015-03-28T19:53:44.454Z","1.0.1":"2014-11-17T21:00:34.001Z","1.0.0":"2014-04-29T00:54:21.417Z","0.0.1":"2014-01-28T19:05:22.189Z","0.0.0":"2013-10-16T03:40:58.673Z"},"users":{"babbiblossom":true},"author":{"name":"Mikola Lysenko"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"versions":{"1.0.4":{"name":"interval-tree-1d","version":"1.0.4","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"^2.0.0"},"devDependencies":{"covert":"^1.0.1","tape":"^3.5.0"},"scripts":{"test":"tape test/test.js","coverage":"covert test/test.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"gitHead":"adc7a60a8af9e0376f66ab7c00fcb4954f0e70b1","homepage":"https://github.com/mikolalysenko/interval-tree-1d#readme","_id":"interval-tree-1d@1.0.4","_nodeVersion":"14.15.3","_npmVersion":"6.14.10","dist":{"shasum":"b44f657de7ddae69ea3f98e0a9ad4bb046b07d11","size":4834,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-1.0.4.tgz"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interval-tree-1d_1.0.4_1622689789055_0.026935767216085704"},"_hasShrinkwrap":false,"publish_time":1622689789193,"_cnpm_publish_time":1622689789193},"1.0.3":{"name":"interval-tree-1d","version":"1.0.3","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"^1.0.0"},"devDependencies":{"covert":"^1.0.1","tape":"^3.5.0"},"scripts":{"test":"tape test/test.js","coverage":"covert test/test.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"gitHead":"e8f12910b388c87c14c26248f60fcf25f37b09ef","homepage":"https://github.com/mikolalysenko/interval-tree-1d","_id":"interval-tree-1d@1.0.3","_shasum":"8fdbde02b6b2c7dbdead636bcbed8e08710d85c1","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.26","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"dist":{"shasum":"8fdbde02b6b2c7dbdead636bcbed8e08710d85c1","size":4992,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-1.0.3.tgz"},"publish_time":1427661557703,"_cnpm_publish_time":1427661557703,"_hasShrinkwrap":false},"1.0.2":{"name":"interval-tree-1d","version":"1.0.2","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"^1.0.0"},"devDependencies":{"covert":"^1.0.1","tape":"^3.5.0"},"scripts":{"test":"tape test/test.js","coverage":"covert test/test.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"gitHead":"fee48607c7604194bfda79b303f41ecd8285d732","homepage":"https://github.com/mikolalysenko/interval-tree-1d","_id":"interval-tree-1d@1.0.2","_shasum":"ec2e4489246f5cf910a0133d264f04d582aaaff6","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.26","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"dist":{"shasum":"ec2e4489246f5cf910a0133d264f04d582aaaff6","size":5047,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-1.0.2.tgz"},"publish_time":1427572424454,"_cnpm_publish_time":1427572424454,"_hasShrinkwrap":false},"1.0.1":{"name":"interval-tree-1d","version":"1.0.1","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"^1.0.0"},"devDependencies":{"tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"gitHead":"3ef48a6726a2e6acff0a645fcc35db4b2b5d9929","homepage":"https://github.com/mikolalysenko/interval-tree-1d","_id":"interval-tree-1d@1.0.1","_shasum":"e7a909106349fe7a54c9d92a16933498f5bc6011","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.26","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"dist":{"shasum":"e7a909106349fe7a54c9d92a16933498f5bc6011","size":4042,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-1.0.1.tgz"},"publish_time":1416258034001,"_cnpm_publish_time":1416258034001,"_hasShrinkwrap":false},"1.0.0":{"name":"interval-tree-1d","version":"1.0.0","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"^1.0.0"},"devDependencies":{"tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"homepage":"https://github.com/mikolalysenko/interval-tree-1d","_id":"interval-tree-1d@1.0.0","dist":{"shasum":"a7d40459950d2ca1929e56daedf58a354ede67fe","size":3938,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-1.0.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"publish_time":1398732861417,"_cnpm_publish_time":1398732861417,"_hasShrinkwrap":false},"0.0.1":{"name":"interval-tree-1d","version":"0.0.1","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"~0.1.0"},"devDependencies":{"tape":"~2.0.0","tap":"~0.4.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"homepage":"https://github.com/mikolalysenko/interval-tree-1d","_id":"interval-tree-1d@0.0.1","dist":{"shasum":"512dfecadccf24ac79a18f125dd6ab030b0a4262","size":3939,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-0.0.1.tgz"},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"publish_time":1390935922189,"_cnpm_publish_time":1390935922189,"_hasShrinkwrap":false},"0.0.0":{"name":"interval-tree-1d","version":"0.0.0","description":"1D interval tree data structure","main":"interval-tree.js","directories":{"test":"test"},"dependencies":{"binary-search-bounds":"~0.1.0"},"devDependencies":{"tape":"~2.0.0","tap":"~0.4.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/interval-tree-1d.git"},"keywords":["point","location","interval","range","query","search","overlap"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"readmeFilename":"README.md","_id":"interval-tree-1d@0.0.0","dist":{"shasum":"cd51d128525699b0ab149a683a22e2aa62a49307","size":3894,"noattachment":false,"key":"/interval-tree-1d/-/interval-tree-1d-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interval-tree-1d/download/interval-tree-1d-0.0.0.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"publish_time":1381894858673,"_cnpm_publish_time":1381894858673,"_hasShrinkwrap":false}},"readme":"interval-tree-1d\n================\nA simple 1D interval tree.  Supports O(log(n)) amortized updates and O(log(n)) queries.\n\n[![build status](https://secure.travis-ci.org/mikolalysenko/interval-tree-1d.png)](http://travis-ci.org/mikolalysenko/interval-tree-1d)\n\n# Example\n\n```javascript\nvar createIntervalTree = require(\"interval-tree-1d\")\n\n//Create some random list of intervals\nvar intervals = [ [1, 2], [-1, 0], [0.5, 1], [-10, 10] ]\n\n//Build tree\nvar tree = createIntervalTree(intervals)\n\n//Find all intervals containing query point 0.7\nconsole.log(\"querying point:\", 0.7)\ntree.queryPoint(0.7, function(interval) {\n  console.log(interval)\n})\n```\n\n# API\n\n```javascript\nvar createIntervalTree = require(\"interval-tree-1d\")\n```\n\n## Constructor\n\n### `var tree = createIntervalTree(intervals)`\nConstructs an interval tree given a list of intervals\n\n## Properties\n\n### `tree.count`\nReturns the number of items in the tree\n\n### `tree.intervals`\nReturns a list of all the intervals in the tree\n\n### `tree.insert(interval)`\nAdds an interval to the tree\n\n### `tree.remove(interval)`\nRemoves an interval from the tree\n\n### `tree.queryPoint(p, visit(interval))`\nVisits all intervals containing the point p\n\n### `tree.queryInterval(lo, hi, visit(interval))`\nReturns all intervals which intersect the interval `[lo, hi]`\n\n# Credits\n(c) 2013-2015 Mikola Lysenko. MIT License","_attachments":{},"homepage":"https://github.com/mikolalysenko/interval-tree-1d#readme","bugs":{"url":"https://github.com/mikolalysenko/interval-tree-1d/issues"},"license":"MIT"}