File tree 4 files changed +22
-10
lines changed
4 files changed +22
-10
lines changed Original file line number Diff line number Diff line change @@ -403,7 +403,7 @@ class IntervalTree {
403
403
}
404
404
405
405
/**
406
- * @param {Interval } interval - optional if the iterator is intended to start from the beginning or end
406
+ * @param {Interval } interval - optional if the iterator is intended to start from the beginning
407
407
* @param outputMapperFn(value,key) - optional function that maps (value, key) to custom output
408
408
* @returns {Iterator }
409
409
*/
@@ -657,8 +657,12 @@ class IntervalTree {
657
657
let curr = node ;
658
658
while ( curr && curr != this . nil_node ) {
659
659
if ( curr . less_than ( search_node ) ) {
660
- if ( curr . intersect ( search_node ) && ( ! best || curr . less_than ( best ) ) ) best = curr ;
661
- curr = curr . right ;
660
+ if ( curr . intersect ( search_node ) ) {
661
+ best = curr ;
662
+ curr = curr . left ;
663
+ } else {
664
+ curr = curr . right ;
665
+ }
662
666
} else {
663
667
if ( ! best || curr . less_than ( best ) ) best = curr ;
664
668
curr = curr . left ;
Original file line number Diff line number Diff line change @@ -399,7 +399,7 @@ class IntervalTree {
399
399
}
400
400
401
401
/**
402
- * @param {Interval } interval - optional if the iterator is intended to start from the beginning or end
402
+ * @param {Interval } interval - optional if the iterator is intended to start from the beginning
403
403
* @param outputMapperFn(value,key) - optional function that maps (value, key) to custom output
404
404
* @returns {Iterator }
405
405
*/
@@ -653,8 +653,12 @@ class IntervalTree {
653
653
let curr = node ;
654
654
while ( curr && curr != this . nil_node ) {
655
655
if ( curr . less_than ( search_node ) ) {
656
- if ( curr . intersect ( search_node ) && ( ! best || curr . less_than ( best ) ) ) best = curr ;
657
- curr = curr . right ;
656
+ if ( curr . intersect ( search_node ) ) {
657
+ best = curr ;
658
+ curr = curr . left ;
659
+ } else {
660
+ curr = curr . right ;
661
+ }
658
662
} else {
659
663
if ( ! best || curr . less_than ( best ) ) best = curr ;
660
664
curr = curr . left ;
Original file line number Diff line number Diff line change 405
405
}
406
406
407
407
/**
408
- * @param {Interval } interval - optional if the iterator is intended to start from the beginning or end
408
+ * @param {Interval } interval - optional if the iterator is intended to start from the beginning
409
409
* @param outputMapperFn(value,key) - optional function that maps (value, key) to custom output
410
410
* @returns {Iterator }
411
411
*/
659
659
let curr = node ;
660
660
while ( curr && curr != this . nil_node ) {
661
661
if ( curr . less_than ( search_node ) ) {
662
- if ( curr . intersect ( search_node ) && ( ! best || curr . less_than ( best ) ) ) best = curr ;
663
- curr = curr . right ;
662
+ if ( curr . intersect ( search_node ) ) {
663
+ best = curr ;
664
+ curr = curr . left ;
665
+ } else {
666
+ curr = curr . right ;
667
+ }
664
668
} else {
665
669
if ( ! best || curr . less_than ( best ) ) best = curr ;
666
670
curr = curr . left ;
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " @flatten-js/interval-tree" ,
3
- "version" : " 1.1.0 " ,
3
+ "version" : " 1.1.1 " ,
4
4
"description" : " Interval search tree" ,
5
5
"author" : " Alex Bol" ,
6
6
"license" : " MIT" ,
You can’t perform that action at this time.
0 commit comments