-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.d.ts
141 lines (116 loc) · 2.25 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/* eslint-disable @typescript-eslint/no-unused-vars */
namespace RateLimit {
interface obj {
[key: string]: {
limitReachedOnError: boolean,
time: number
}
}
}
namespace Response {
interface Message {
message: string;
data?: string | JSON;
}
interface Error extends Response.Message {
stack?: string,
name?: string,
status?: number
}
}
namespace File {
interface Obj {
path: string,
content?: Models.IEntries | boolean;
}
type method = 'read' | 'write';
}
namespace Models {
interface IEntries {
entries: IEntry[]
}
interface IEntry {
/**
* height above ground in meters, as received by gps
*/
altitude: number,
/**
* Direction in degrees between two coordinate pairs: 0°-360°
*/
angle?: number,
/**
* object containing horizontal vertical and total distance, in meters
*/
distance: Models.IDistance,
/**
* object containing horizontal vertical and total speed, in km/h
*/
speed: Models.ISpeed,
/**
* index, position of the entry point in the chain
*/
index: number,
/**
* Heading or Bearing as recieved from gps
*/
heading: number,
/**
* lat
*/
lat: number,
/**
* lon
*/
lon: number,
/**
* hdop: accuracy as recieved by gps
*/
hdop: number,
/**
* ignore: defined by hdop and time difference; determines whether the view shall display this entry
*/
ignore: boolean,
/**
* time object containing UNIX timestamps with milliseconds, gps creation time (as recieved via gps), server time (when the server recieved and computed it), differce to last entry (time between waypoints), upload time differnce
*/
time: Models.ITime,
/**
* user as recieved
*/
user: string,
/**
* estimated time arrival in unix ms
*/
eta?: number,
/**
* estimated distance in meters
*/
eda?: number
}
interface ITime {
created: number,
recieved: number,
uploadDuration: number,
diff?: number
createdString: string
}
interface ISpeed {
gps: number;
horizontal?: number,
vertical?: number,
total?: number
}
interface IDistance {
horizontal: number,
vertical: number,
total: number
}
}
interface CSRFToken {
token: string;
expiry: number;
}
interface HttpError extends Error {
status?: number;
statusCode?: number;
}