-
Notifications
You must be signed in to change notification settings - Fork 124
/
Copy pathColumnBinarySearch.ts
62 lines (50 loc) · 2.33 KB
/
ColumnBinarySearch.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* @license
* Copyright (c) 2025 Handsoncode. All rights reserved.
*/
import {SimpleCellAddress} from '../Cell'
import {CellValueChange} from '../ContentChanges'
import {DependencyGraph} from '../DependencyGraph'
import {RawNoErrorScalarValue, RawScalarValue} from '../interpreter/InterpreterValue'
import {SimpleRangeValue} from '../SimpleRangeValue'
import {ColumnsSpan} from '../Span'
import {AdvancedFind} from './AdvancedFind'
import {ColumnSearchStrategy, SearchOptions} from './SearchStrategy'
export class ColumnBinarySearch extends AdvancedFind implements ColumnSearchStrategy {
constructor(protected dependencyGraph: DependencyGraph) {
super(dependencyGraph)
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public add(value: RawScalarValue, address: SimpleCellAddress): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public remove(value: RawScalarValue | undefined, address: SimpleCellAddress): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public change(oldValue: RawScalarValue | undefined, newValue: RawScalarValue, address: SimpleCellAddress): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public applyChanges(contentChanges: CellValueChange[]): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public addColumns(columnsSpan: ColumnsSpan): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public removeColumns(columnsSpan: ColumnsSpan): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public removeSheet(sheetId: number): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public moveValues(sourceRange: IterableIterator<[RawScalarValue, SimpleCellAddress]>, toRight: number, toBottom: number, toSheet: number): void {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public removeValues(range: IterableIterator<[RawScalarValue, SimpleCellAddress]>): void {
}
/*
* WARNING: Finding lower/upper bounds in unordered ranges is not supported. When ordering === 'none', assumes matchExactly === true
*/
public find(searchKey: RawNoErrorScalarValue, rangeValue: SimpleRangeValue, searchOptions: SearchOptions): number {
return this.basicFind(searchKey, rangeValue, 'row', searchOptions)
}
}