-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.d.ts
102 lines (98 loc) · 1.81 KB
/
types.d.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
type Reference = {
book: string
chapter: number
verse: number | false
}
type SearchTerm = {
uid: string
inverted: boolean
data: {
[key: string]: string
}
}
// The problem with this is that not everything is an array...
// type Response<T> = {
// data: T[]
// }
type ModuleResponse = {
data: {
abbreviation: string
moduleId: number
}[]
}
type WordResponse = {
data: {
key: string
value: string
}[]
}
type TermSearchResponse = {
count: number
matchingText: TermSearchTextResponse
}
type HighlightResponse = {
data: {
uid: string
moduleId: number
wid: number
}[]
}
type DisambiguatedTextResult = {
parallelId: number
moduleId: number
rid: number
type: "wordArray" | "html"
wordArray: WordArray
html: string
}
type TextResponse = (DisambiguatedTextResult | null)[][]
type TermSearchTextResponse = (DisambiguatedTextResult | null)[][][]
type WordArray = {
wid: number
leader?: string
text: string
trailer?: string
temp?: "warm" | "hot" | ""
}[]
type ClickhouseResponse<T> = {
data: T
meta: [{ name: string, type: string }]
rows: number
rows_before_limit_at_least?: number
statistics: {
"bytes_read": number,
"elapsed": number,
"rows_read": number
}
}
type ModuleQueryResult = {
abbreviation: string
moduleId: number
}[]
type WordQueryResult = {
wid: number
moduleId: number
}[]
type ParallelOrderingResult = {
parallelId: number
}[]
type ParallelTextQueryResultRow = {
parallelId: number
moduleId: number
rid: number
text: string
}
type ParallelTextQueryResult = ParallelTextQueryResultRow[]
type TermSearchQueryResult = {
moduleId?: number
lowestParallelId: number
parallelIdSet: number[]
treeNode: number
warmWids?: number[]
[word: `w${number}`]: number[]
}[]
type ModuleHighlights = {
moduleId: number
[word: `w${number}`]: number[]
}
type HighlightQueryResult = ModuleHighlights[]