diff options
Diffstat (limited to 'packages/shared/src/util/binary.ts')
| -rw-r--r-- | packages/shared/src/util/binary.ts | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/packages/shared/src/util/binary.ts b/packages/shared/src/util/binary.ts deleted file mode 100644 index 3d8f61851..000000000 --- a/packages/shared/src/util/binary.ts +++ /dev/null @@ -1,41 +0,0 @@ -export namespace Binary { - export function search<T>(array: T[], id: string, compare: (item: T) => string): { found: boolean; index: number } { - let left = 0 - let right = array.length - 1 - - while (left <= right) { - const mid = Math.floor((left + right) / 2) - const midId = compare(array[mid]) - - if (midId === id) { - return { found: true, index: mid } - } else if (midId < id) { - left = mid + 1 - } else { - right = mid - 1 - } - } - - return { found: false, index: left } - } - - export function insert<T>(array: T[], item: T, compare: (item: T) => string): T[] { - const id = compare(item) - let left = 0 - let right = array.length - - while (left < right) { - const mid = Math.floor((left + right) / 2) - const midId = compare(array[mid]) - - if (midId < id) { - left = mid + 1 - } else { - right = mid - } - } - - array.splice(left, 0, item) - return array - } -} |
