mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2025-01-26 12:11:40 +01:00
001dbefbcf
because it becomes hard to remember where you used them and where not
27 lines
792 B
JavaScript
27 lines
792 B
JavaScript
/**
|
|
* @license
|
|
* Based off baseSortedIndex function in Lodash <https://lodash.com/>
|
|
* Copyright JS Foundation and other contributors <https://js.foundation/>
|
|
* Released under MIT license <https://lodash.com/license>
|
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
*/
|
|
export function sortedIndex(array, value, comparator) {
|
|
let low = 0;
|
|
let high = array.length;
|
|
|
|
while (low < high) {
|
|
let mid = (low + high) >>> 1;
|
|
let cmpResult = comparator(value, array[mid]);
|
|
|
|
if (cmpResult > 0) {
|
|
low = mid + 1;
|
|
} else if (cmpResult < 0) {
|
|
high = mid;
|
|
} else {
|
|
low = high = mid;
|
|
}
|
|
}
|
|
return high;
|
|
}
|