1
+ // Type definitions for doublearray
2
+ // Project: https://github.com/takuyaa/doublearray
3
+ // Definitions by: MIZUSHIMA Junki <https://github.com/mzsm>
4
+ // Definitions: https://github.com/borisyankov/DefinitelyTyped
5
+
6
+ declare module doublearray {
7
+ interface KeyValue {
8
+ k : string ;
9
+ v : number ;
10
+ }
11
+
12
+ interface BaseAndCheck {
13
+ getBaseBuffer ( ) : any ; // Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array
14
+ getCheckBuffer ( ) : any ; // Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array
15
+ loadBaseBuffer ( base_buffer : Int8Array ) : BaseAndCheck ;
16
+ loadBaseBuffer ( base_buffer : Int16Array ) : BaseAndCheck ;
17
+ loadBaseBuffer ( base_buffer : Int32Array ) : BaseAndCheck ;
18
+ loadBaseBuffer ( base_buffer : Uint8Array ) : BaseAndCheck ;
19
+ loadBaseBuffer ( base_buffer : Uint16Array ) : BaseAndCheck ;
20
+ loadBaseBuffer ( base_buffer : Uint32Array ) : BaseAndCheck ;
21
+ loadCheckBuffer ( check_buffer : Int8Array ) : BaseAndCheck ;
22
+ loadCheckBuffer ( check_buffer : Int16Array ) : BaseAndCheck ;
23
+ loadCheckBuffer ( check_buffer : Int32Array ) : BaseAndCheck ;
24
+ loadCheckBuffer ( check_buffer : Uint8Array ) : BaseAndCheck ;
25
+ loadCheckBuffer ( check_buffer : Uint16Array ) : BaseAndCheck ;
26
+ loadCheckBuffer ( check_buffer : Uint32Array ) : BaseAndCheck ;
27
+ size ( ) : number ;
28
+ getBase ( ) : number ;
29
+ getCheck ( ) : number ;
30
+ setBase ( index : number , base_value : number ) : void ;
31
+ setCheck ( index : number , check_value : number ) : void ;
32
+ setFirstUnusedNode ( index : number ) : void ;
33
+ getFirstUnusedNode ( ) : number ;
34
+ shrink ( ) : void ;
35
+ calc ( ) : { all : number ; unused : number ; efficiency : number } ;
36
+ dump ( ) : string ;
37
+ }
38
+
39
+ interface DoubleArrayBuilder {
40
+ bc : BaseAndCheck ;
41
+ keys : KeyValue [ ] ;
42
+ append ( key : string , record : number ) : DoubleArrayBuilder ;
43
+ build ( keys ?: KeyValue [ ] , sorted ?: boolean ) : DoubleArray ;
44
+ getChildrenInfo ( position : number , start : number , length : number ) : Int32Array ;
45
+ setBC ( parent_id : number , children_info : Int32Array , _base : number ) : void ;
46
+ findAllocatableBase ( children_info : Int32Array ) : number ;
47
+ isUnusedNode ( index : number ) : boolean ;
48
+ }
49
+
50
+ interface DoubleArray {
51
+ bc : BaseAndCheck ;
52
+ contain ( key : string ) : boolean ;
53
+ lookup ( key : string ) : number ;
54
+ commonPrefixSearch ( key : string ) : KeyValue ;
55
+ traverse ( parent : number , code : number ) : number ;
56
+ size ( ) : number ;
57
+ calc ( ) : { all : number ; unused : number ; efficiency : number } ;
58
+ dump ( ) : string ;
59
+ }
60
+
61
+ export function builder ( initial_size ?: number ) : DoubleArrayBuilder ;
62
+ // TODO: Replace to union types in the future.
63
+ export function load ( base_buffer : Int8Array , check_buffer : Int8Array ) : DoubleArray ;
64
+ export function load ( base_buffer : Int8Array , check_buffer : Int16Array ) : DoubleArray ;
65
+ export function load ( base_buffer : Int8Array , check_buffer : Int32Array ) : DoubleArray ;
66
+ export function load ( base_buffer : Int8Array , check_buffer : Uint8Array ) : DoubleArray ;
67
+ export function load ( base_buffer : Int8Array , check_buffer : Uint16Array ) : DoubleArray ;
68
+ export function load ( base_buffer : Int8Array , check_buffer : Uint32Array ) : DoubleArray ;
69
+ export function load ( base_buffer : Int16Array , check_buffer : Int8Array ) : DoubleArray ;
70
+ export function load ( base_buffer : Int16Array , check_buffer : Int16Array ) : DoubleArray ;
71
+ export function load ( base_buffer : Int16Array , check_buffer : Int32Array ) : DoubleArray ;
72
+ export function load ( base_buffer : Int16Array , check_buffer : Uint8Array ) : DoubleArray ;
73
+ export function load ( base_buffer : Int16Array , check_buffer : Uint16Array ) : DoubleArray ;
74
+ export function load ( base_buffer : Int16Array , check_buffer : Uint32Array ) : DoubleArray ;
75
+ export function load ( base_buffer : Int32Array , check_buffer : Int8Array ) : DoubleArray ;
76
+ export function load ( base_buffer : Int32Array , check_buffer : Int16Array ) : DoubleArray ;
77
+ export function load ( base_buffer : Int32Array , check_buffer : Int32Array ) : DoubleArray ;
78
+ export function load ( base_buffer : Int32Array , check_buffer : Uint8Array ) : DoubleArray ;
79
+ export function load ( base_buffer : Int32Array , check_buffer : Uint16Array ) : DoubleArray ;
80
+ export function load ( base_buffer : Int32Array , check_buffer : Uint32Array ) : DoubleArray ;
81
+ export function load ( base_buffer : Uint8Array , check_buffer : Int8Array ) : DoubleArray ;
82
+ export function load ( base_buffer : Uint8Array , check_buffer : Int16Array ) : DoubleArray ;
83
+ export function load ( base_buffer : Uint8Array , check_buffer : Int32Array ) : DoubleArray ;
84
+ export function load ( base_buffer : Uint8Array , check_buffer : Uint8Array ) : DoubleArray ;
85
+ export function load ( base_buffer : Uint8Array , check_buffer : Uint16Array ) : DoubleArray ;
86
+ export function load ( base_buffer : Uint8Array , check_buffer : Uint32Array ) : DoubleArray ;
87
+ export function load ( base_buffer : Uint16Array , check_buffer : Int8Array ) : DoubleArray ;
88
+ export function load ( base_buffer : Uint16Array , check_buffer : Int16Array ) : DoubleArray ;
89
+ export function load ( base_buffer : Uint16Array , check_buffer : Int32Array ) : DoubleArray ;
90
+ export function load ( base_buffer : Uint16Array , check_buffer : Uint8Array ) : DoubleArray ;
91
+ export function load ( base_buffer : Uint16Array , check_buffer : Uint16Array ) : DoubleArray ;
92
+ export function load ( base_buffer : Uint16Array , check_buffer : Uint32Array ) : DoubleArray ;
93
+ export function load ( base_buffer : Uint32Array , check_buffer : Int8Array ) : DoubleArray ;
94
+ export function load ( base_buffer : Uint32Array , check_buffer : Int16Array ) : DoubleArray ;
95
+ export function load ( base_buffer : Uint32Array , check_buffer : Int32Array ) : DoubleArray ;
96
+ export function load ( base_buffer : Uint32Array , check_buffer : Uint8Array ) : DoubleArray ;
97
+ export function load ( base_buffer : Uint32Array , check_buffer : Uint16Array ) : DoubleArray ;
98
+ export function load ( base_buffer : Uint32Array , check_buffer : Uint32Array ) : DoubleArray ;
99
+ }
0 commit comments