ts-garmin 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,17 @@
1
+ export declare interface HydrationData {
2
+ userId: number
3
+ calendarDate: string
4
+ valueInML: number
5
+ goalInML: number
6
+ sweatLossInML?: number
7
+ activityIntakeInML?: number
8
+ timestampLocal?: string
9
+ lastEntryTimestampLocal?: string
10
+ }
11
+ export declare interface WaterIntake {
12
+ id?: number
13
+ userProfileId: number
14
+ calendarDate: string
15
+ valueInML: number
16
+ timestampLocal?: string
17
+ }
@@ -0,0 +1,353 @@
1
+ export declare interface IUserInfo {
2
+ userProfileId: GCUserProfileId
3
+ username: string
4
+ emailAddress: string
5
+ locale: string
6
+ measurementSystemKey: string
7
+ timeFormatKey: string
8
+ dateFormatKey: string
9
+ numberFormatKey: string
10
+ heartRateDisplayFormatKey: string
11
+ powerDisplayFormatKey: string
12
+ timeZoneGroupKey: string
13
+ dayKey: unknown
14
+ isPublicByDefault: boolean
15
+ roles: string[]
16
+ displayName: GCUserHash
17
+ tocAcceptedDate: string
18
+ defaultActivityPrivacy: unknown
19
+ customerId: string
20
+ birthdate: unknown
21
+ socialNetwork: string
22
+ socialIcon: string
23
+ systemUser: boolean
24
+ systemMetricUser: boolean
25
+ underAge: boolean
26
+ }
27
+ export declare interface ISocialProfile {
28
+ id: number
29
+ profileId: GCUserProfileId
30
+ garminGUID: string
31
+ displayName: GCUserHash
32
+ fullName: string
33
+ userName: string
34
+ profileImageUuid: unknown
35
+ profileImageUrlLarge: string
36
+ profileImageUrlMedium: string
37
+ profileImageUrlSmall: string
38
+ location: string
39
+ facebookUrl: unknown
40
+ twitterUrl: unknown
41
+ personalWebsite: unknown
42
+ motivation: unknown
43
+ bio: unknown
44
+ primaryActivity: unknown
45
+ favoriteActivityTypes: unknown[]
46
+ runningTrainingSpeed: number
47
+ cyclingTrainingSpeed: number
48
+ favoriteCyclingActivityTypes: unknown[]
49
+ cyclingClassification: unknown
50
+ cyclingMaxAvgPower: number
51
+ swimmingTrainingSpeed: number
52
+ profileVisibility: string
53
+ activityStartVisibility: string
54
+ activityMapVisibility: string
55
+ courseVisibility: string
56
+ activityHeartRateVisibility: string
57
+ activityPowerVisibility: string
58
+ badgeVisibility: string
59
+ showAge: boolean
60
+ showWeight: boolean
61
+ showHeight: boolean
62
+ showWeightClass: boolean
63
+ showAgeRange: boolean
64
+ showGender: boolean
65
+ showActivityClass: boolean
66
+ showVO2Max: boolean
67
+ showPersonalRecords: boolean
68
+ showLast12Months: boolean
69
+ showLifetimeTotals: boolean
70
+ showUpcomingEvents: boolean
71
+ showRecentFavorites: boolean
72
+ showRecentDevice: boolean
73
+ showRecentGear: boolean
74
+ showBadges: boolean
75
+ otherActivity: null
76
+ otherPrimaryActivity: null
77
+ otherMotivation: null
78
+ userRoles: string[]
79
+ nameApproved: boolean
80
+ userProfileFullName: string
81
+ makeGolfScorecardsPrivate: boolean
82
+ allowGolfLiveScoring: boolean
83
+ allowGolfScoringByConnections: boolean
84
+ userLevel: number
85
+ userPoint: number
86
+ levelUpdateDate: string
87
+ levelIsViewed: boolean
88
+ levelPointThreshold: number
89
+ userPointOffset: number
90
+ userPro: boolean
91
+ }
92
+ export declare interface IOauth1Consumer {
93
+ key: string
94
+ secret: string
95
+ }
96
+ export declare interface IOauth1 {
97
+ token: IOauth1Token
98
+ }
99
+ export declare interface IGarminTokens {
100
+ oauth1: IOauth1Token
101
+ oauth2: IOauth2Token
102
+ }
103
+ export declare interface IOauth1Token {
104
+ oauth_token: string
105
+ oauth_token_secret: string
106
+ }
107
+ export declare interface IOauth2Token {
108
+ scope: string
109
+ jti: string
110
+ access_token: string
111
+ token_type: string
112
+ refresh_token: string
113
+ expires_in: number
114
+ refresh_token_expires_in: number
115
+ expires_at: number
116
+ refresh_token_expires_at: number
117
+ last_update_date: string
118
+ expires_date: string
119
+ }
120
+ export declare interface IUserSettings {
121
+ id: number
122
+ userData: IUserData
123
+ userSleep: {
124
+ sleepTime: number
125
+ defaultSleepTime: boolean
126
+ wakeTime: number
127
+ defaultWakeTime: boolean
128
+ }
129
+ connectDate: unknown
130
+ sourceType: unknown
131
+ userSleepWindows: IUserSleepWindows[]
132
+ }
133
+ export declare interface IUserData {
134
+ gender: unknown
135
+ weight: unknown
136
+ height: unknown
137
+ timeFormat: string
138
+ birthDate: unknown
139
+ measurementSystem: string
140
+ activityLevel: unknown
141
+ handedness: string
142
+ powerFormat: {
143
+ formatId: number
144
+ formatKey: string
145
+ minFraction: number
146
+ maxFraction: number
147
+ groupingUsed: boolean
148
+ displayFormat: unknown
149
+ }
150
+ heartRateFormat: {
151
+ formatId: number
152
+ formatKey: string
153
+ minFraction: number
154
+ maxFraction: number
155
+ groupingUsed: boolean
156
+ displayFormat: unknown
157
+ }
158
+ firstDayOfWeek: {
159
+ dayId: number
160
+ dayName: string
161
+ sortOrder: number
162
+ isPossibleFirstDay: boolean
163
+ }
164
+ vo2MaxRunning: unknown
165
+ vo2MaxCycling: unknown
166
+ lactateThresholdSpeed: unknown
167
+ lactateThresholdHeartRate: unknown
168
+ diveNumber: unknown
169
+ intensityMinutesCalcMethod: string
170
+ moderateIntensityMinutesHrZone: number
171
+ vigorousIntensityMinutesHrZone: number
172
+ hydrationMeasurementUnit: string
173
+ hydrationContainers: unknown[]
174
+ hydrationAutoGoalEnabled: boolean
175
+ firstbeatMaxStressScore: unknown
176
+ firstbeatCyclingLtTimestamp: unknown
177
+ firstbeatRunningLtTimestamp: unknown
178
+ thresholdHeartRateAutoDetected: unknown
179
+ ftpAutoDetected: unknown
180
+ trainingStatusPausedDate: unknown
181
+ weatherLocation: {
182
+ useFixedLocation: unknown
183
+ latitude: unknown
184
+ longitude: unknown
185
+ locationName: unknown
186
+ isoCountryCode: unknown
187
+ postalCode: unknown
188
+ }
189
+ golfDistanceUnit: string
190
+ golfElevationUnit: unknown
191
+ golfSpeedUnit: unknown
192
+ externalBottomTime: unknown
193
+ }
194
+ export declare interface IUserSleepWindows {
195
+ sleepWindowFrequency: string
196
+ startSleepTimeSecondsFromMidnight: number
197
+ endSleepTimeSecondsFromMidnight: number
198
+ }
199
+ export declare interface ICountActivities {
200
+ countOfActivities: number
201
+ date: string
202
+ stats: {
203
+ all: Record<string, unknown>
204
+ }
205
+ }
206
+ export declare interface IDailyStepsType {
207
+ calendarDate: string
208
+ stepGoal: number
209
+ totalDistance: number
210
+ totalSteps: number
211
+ }
212
+ export declare interface IWorkout {
213
+ workoutId?: number
214
+ ownerId?: number
215
+ workoutName: string
216
+ description?: string
217
+ updateDate: Date
218
+ createdDate: Date
219
+ sportType: ISportType
220
+ trainingPlanId: null
221
+ author: IAuthor
222
+ estimatedDurationInSecs: number
223
+ estimatedDistanceInMeters: null
224
+ estimateType: null
225
+ estimatedDistanceUnit: IUnit
226
+ poolLength: number
227
+ poolLengthUnit: IUnit
228
+ workoutProvider: string
229
+ workoutSourceId: string
230
+ consumer: null
231
+ atpPlanId: null
232
+ workoutNameI18nKey: null
233
+ descriptionI18nKey: null
234
+ shared: boolean
235
+ estimated: boolean
236
+ }
237
+ export declare interface IWorkoutDetail extends IWorkout {
238
+ workoutSegments: IWorkoutSegment[]
239
+ subSportType?: null
240
+ avgTrainingSpeed?: null
241
+ isWheelchair?: boolean
242
+ }
243
+ export declare interface IAuthor {
244
+ userProfilePk: null
245
+ displayName: null
246
+ fullName: null
247
+ profileImgNameLarge: null
248
+ profileImgNameMedium: null
249
+ profileImgNameSmall: null
250
+ userPro: boolean
251
+ vivokidUser: boolean
252
+ }
253
+ export declare interface IUnit {
254
+ unitId?: null
255
+ unitKey: string | null
256
+ factor?: null
257
+ }
258
+ export declare interface ISportType {
259
+ sportTypeId: number
260
+ sportTypeKey: string
261
+ displayOrder?: number
262
+ }
263
+ export declare interface IWorkoutSegment {
264
+ segmentOrder: number
265
+ sportType: ISportType
266
+ workoutSteps: IWorkoutStep[]
267
+ }
268
+ export declare interface IWorkoutStep {
269
+ type: string
270
+ stepId: number
271
+ stepOrder: number
272
+ stepType: IStepType
273
+ childStepId: null
274
+ description: null
275
+ endCondition: IEndCondition
276
+ endConditionValue: number | null
277
+ preferredEndConditionUnit: IUnit | null
278
+ endConditionCompare: null
279
+ targetType: ITargetType
280
+ targetValueOne: null
281
+ targetValueTwo: null
282
+ targetValueUnit: null
283
+ zoneNumber: null
284
+ secondaryTargetType: null
285
+ secondaryTargetValueOne: null
286
+ secondaryTargetValueTwo: null
287
+ secondaryTargetValueUnit: null
288
+ secondaryZoneNumber: null
289
+ endConditionZone: null
290
+ strokeType: IStrokeType
291
+ equipmentType: IEquipmentType
292
+ category: null
293
+ exerciseName: null
294
+ workoutProvider: null
295
+ providerExerciseSourceId: null
296
+ weightValue: null
297
+ weightUnit: null
298
+ }
299
+ export declare interface IEndCondition {
300
+ conditionTypeId: number
301
+ conditionTypeKey: string
302
+ displayOrder: number
303
+ displayable: boolean
304
+ }
305
+ export declare interface IEquipmentType {
306
+ equipmentTypeId: number
307
+ equipmentTypeKey: null
308
+ displayOrder: number
309
+ }
310
+ export declare interface IStepType {
311
+ stepTypeId: number
312
+ stepTypeKey: string
313
+ displayOrder: number
314
+ }
315
+ export declare interface IStrokeType {
316
+ strokeTypeId: number
317
+ strokeTypeKey: null
318
+ displayOrder: number
319
+ }
320
+ export declare interface ITargetType {
321
+ workoutTargetTypeId: number
322
+ workoutTargetTypeKey: string
323
+ displayOrder: number
324
+ }
325
+ export type GCUserProfileId = number;
326
+ export type GCUserHash = string;
327
+ export type GCWorkoutId = string;
328
+ export type GCGearId = string;
329
+ export type GCBadgeId = number;
330
+ export type GarminDomain = 'garmin.com' | 'garmin.cn';
331
+ export type ExportFileTypeValue = keyof typeof ExportFileType;
332
+ export type UploadFileTypeValue = keyof typeof UploadFileType;
333
+ export declare enum ExportFileType {
334
+ tcx = 'tcx',
335
+ gpx = 'gpx',
336
+ kml = 'kml',
337
+ zip = 'zip',
338
+ }
339
+ export declare enum UploadFileType {
340
+ tcx = 'tcx',
341
+ gpx = 'gpx',
342
+ fit = 'fit',
343
+ }
344
+ export * from './activity';
345
+ export * from './gear';
346
+ export * from './gpx';
347
+ export * from './sleep';
348
+ export * from './workout';
349
+ export * from './calendar';
350
+ export * from './heartrate';
351
+ export * from './hydration';
352
+ export * from './weight';
353
+ export * from './wellness';
@@ -0,0 +1,120 @@
1
+ export declare interface SleepDTO {
2
+ id: number
3
+ userProfilePK: number
4
+ calendarDate: string
5
+ sleepTimeSeconds: number
6
+ napTimeSeconds: number
7
+ sleepWindowConfirmed: boolean
8
+ sleepWindowConfirmationType: string
9
+ sleepStartTimestampGMT: number
10
+ sleepEndTimestampGMT: number
11
+ sleepStartTimestampLocal: number
12
+ sleepEndTimestampLocal: number
13
+ autoSleepStartTimestampGMT: number | null
14
+ autoSleepEndTimestampGMT: number | null
15
+ sleepQualityTypePK: number | null
16
+ sleepResultTypePK: number | null
17
+ unmeasurableSleepSeconds: number
18
+ deepSleepSeconds: number
19
+ lightSleepSeconds: number
20
+ remSleepSeconds: number
21
+ awakeSleepSeconds: number
22
+ deviceRemCapable: boolean
23
+ retro: boolean
24
+ sleepFromDevice: boolean
25
+ averageRespirationValue: number
26
+ lowestRespirationValue: number
27
+ highestRespirationValue: number
28
+ awakeCount: number
29
+ avgSleepStress: number
30
+ ageGroup: string
31
+ sleepScoreFeedback: string
32
+ sleepScoreInsight: string
33
+ sleepScores: {
34
+ totalDuration: {
35
+ qualifierKey: string
36
+ optimalStart: number
37
+ optimalEnd: number
38
+ }
39
+ stress: {
40
+ qualifierKey: string
41
+ optimalStart: number
42
+ optimalEnd: number
43
+ }
44
+ awakeCount: {
45
+ qualifierKey: string
46
+ optimalStart: number
47
+ optimalEnd: number
48
+ }
49
+ overall: {
50
+ value: number
51
+ qualifierKey: string
52
+ }
53
+ remPercentage: {
54
+ value: number
55
+ qualifierKey: string
56
+ optimalStart: number
57
+ optimalEnd: number
58
+ idealStartInSeconds: number
59
+ idealEndInSeconds: number
60
+ }
61
+ restlessness: {
62
+ qualifierKey: string
63
+ optimalStart: number
64
+ optimalEnd: number
65
+ }
66
+ lightPercentage: {
67
+ value: number
68
+ qualifierKey: string
69
+ optimalStart: number
70
+ optimalEnd: number
71
+ idealStartInSeconds: number
72
+ idealEndInSeconds: number
73
+ }
74
+ deepPercentage: {
75
+ value: number
76
+ qualifierKey: string
77
+ optimalStart: number
78
+ optimalEnd: number
79
+ idealStartInSeconds: number
80
+ idealEndInSeconds: number
81
+ }
82
+ }
83
+ sleepVersion: number
84
+ }
85
+ export declare interface SleepMovement {
86
+ startGMT: string
87
+ endGMT: string
88
+ activityLevel: number
89
+ }
90
+ export declare interface SleepLevels {
91
+ startGMT: string
92
+ endGMT: string
93
+ activityLevel: number
94
+ }
95
+ export declare interface WellnessEpochRespirationDataDTO {
96
+ startTimeGMT: number
97
+ respirationValue: number
98
+ }
99
+ export declare interface SleepHeartRate {
100
+ value: number
101
+ startGMT: number
102
+ }
103
+ export declare interface SleepBodyBattery {
104
+ value: number
105
+ startGMT: number
106
+ }
107
+ export declare interface SleepData {
108
+ dailySleepDTO: SleepDTO
109
+ sleepMovement: SleepMovement[]
110
+ remSleepData: boolean
111
+ sleepLevels: SleepLevels[]
112
+ restlessMomentsCount: number
113
+ wellnessEpochRespirationDataDTOList: WellnessEpochRespirationDataDTO[]
114
+ sleepHeartRate: SleepHeartRate[]
115
+ sleepBodyBattery: SleepBodyBattery[]
116
+ avgOvernightHrv: number
117
+ hrvStatus: string
118
+ bodyBatteryChange: number
119
+ restingHeartRate: number
120
+ }
@@ -0,0 +1,50 @@
1
+ export declare interface WeightData {
2
+ startDate: string
3
+ endDate: string
4
+ dateWeightList: {
5
+ samplePk: number
6
+ date: number
7
+ calendarDate: string
8
+ weight: number
9
+ bmi?: number
10
+ bodyFatPercentage?: number
11
+ bodyWater?: number
12
+ boneMass?: number
13
+ muscleMass?: number
14
+ physiqueRating?: number
15
+ visceralFat?: number
16
+ metabolicAge?: number
17
+ sourceType: string
18
+ timestampGMT: number
19
+ weightDelta?: number
20
+ }[]
21
+ totalAverage: {
22
+ from: number
23
+ until: number
24
+ weight?: number
25
+ bmi?: number
26
+ bodyFatPercentage?: number
27
+ bodyWater?: number
28
+ boneMass?: number
29
+ muscleMass?: number
30
+ physiqueRating?: number
31
+ visceralFat?: number
32
+ metabolicAge?: number
33
+ }
34
+ }
35
+ export declare interface UpdateWeight {
36
+ samplePk: number
37
+ date: number
38
+ calendarDate: string
39
+ weight: number
40
+ bmi?: number
41
+ bodyFatPercentage?: number
42
+ bodyWater?: number
43
+ boneMass?: number
44
+ muscleMass?: number
45
+ physiqueRating?: number
46
+ visceralFat?: number
47
+ metabolicAge?: number
48
+ sourceType: string
49
+ timestampGMT: number
50
+ }
@@ -0,0 +1,108 @@
1
+ export declare interface StressData {
2
+ userProfilePK: number
3
+ calendarDate: string
4
+ startTimestampGMT: string | null
5
+ endTimestampGMT: string | null
6
+ startTimestampLocal: string | null
7
+ endTimestampLocal: string | null
8
+ maxStressLevel: number | null
9
+ avgStressLevel: number | null
10
+ stressChartValueOffset: number | null
11
+ stressChartYAxisOrigin: number | null
12
+ stressValueDescriptorsDTOList: Array<{
13
+ key: string
14
+ index: number
15
+ }>
16
+ stressValuesArray: [number, number][]
17
+ }
18
+ export declare interface HrvSummary {
19
+ calendarDate: string
20
+ weeklyAvg: number
21
+ lastNightAvg: number
22
+ lastNight5MinHigh: number
23
+ baseline: {
24
+ lowUpper: number
25
+ balancedLow: number
26
+ balancedUpper: number
27
+ markerValue: number
28
+ }
29
+ status: 'LOW' | 'BALANCED' | 'HIGH' | 'UNBALANCED'
30
+ feedbackPhrase: string
31
+ createTimeStamp: string
32
+ }
33
+ export declare interface HrvReading {
34
+ hrvValue: number
35
+ readingTimeGMT: string
36
+ readingTimeLocal: string
37
+ }
38
+ export declare interface HrvData {
39
+ userProfilePk: number
40
+ hrvSummary: HrvSummary | null
41
+ hrvReadings: HrvReading[]
42
+ }
43
+ export declare interface TrainingReadiness {
44
+ userProfilePK: number
45
+ calendarDate: string
46
+ timestamp: string
47
+ timestampLocal: string
48
+ deviceId: number
49
+ level: 'LOW' | 'MODERATE' | 'HIGH' | 'PRIME'
50
+ feedbackLong: string
51
+ feedbackShort: string
52
+ score: number
53
+ sleepScore: number
54
+ sleepScoreFactorPercent: number
55
+ sleepScoreFactorFeedback: string
56
+ recoveryTime: number
57
+ recoveryTimeFactorPercent: number
58
+ recoveryTimeFactorFeedback: string
59
+ acwrFactorPercent: number
60
+ acwrFactorFeedback: string
61
+ acuteLoad: number
62
+ stressHistoryFactorPercent: number
63
+ stressHistoryFactorFeedback: string
64
+ hrvFactorPercent: number
65
+ hrvFactorFeedback: string
66
+ hrvWeeklyAverage: number
67
+ sleepHistoryFactorPercent?: number
68
+ sleepHistoryFactorFeedback?: string
69
+ }
70
+ export declare interface BodyBatteryData {
71
+ userProfilePK: number
72
+ calendarDate: string
73
+ startTimestampGMT: string
74
+ endTimestampGMT: string
75
+ startTimestampLocal: string
76
+ endTimestampLocal: string
77
+ charged: number
78
+ drained: number
79
+ bodyBatteryValueDescriptorsDTOList: Array<{
80
+ key: string
81
+ index: number
82
+ }>
83
+ bodyBatteryValuesArray: [number, number][]
84
+ }
85
+ export declare interface DailySummaryStats {
86
+ calendarDate: string
87
+ totalSteps: number
88
+ stepGoal: number
89
+ totalDistance: number
90
+ floorsAscended: number
91
+ floorsDescended: number
92
+ floorsGoal: number
93
+ activeCalories: number
94
+ totalCalories: number
95
+ bmrCalories: number
96
+ moderateIntensityMinutes: number
97
+ vigorousIntensityMinutes: number
98
+ intensityMinutesGoal: number
99
+ restingHeartRate: number
100
+ minHeartRate: number
101
+ maxHeartRate: number
102
+ averageStressLevel: number
103
+ maxStressLevel: number
104
+ bodyBatteryChargedValue: number
105
+ bodyBatteryDrainedValue: number
106
+ bodyBatteryHighestValue: number
107
+ bodyBatteryLowestValue: number
108
+ }
@@ -0,0 +1,56 @@
1
+ export declare interface Workout {
2
+ workoutId: number
3
+ ownerId: number
4
+ workoutName: string
5
+ description: string | null
6
+ updateDate: string
7
+ createdDate: string
8
+ sportType: {
9
+ sportTypeId: number
10
+ sportTypeKey: string
11
+ displayOrder: number
12
+ }
13
+ trainingPlanId: number | null
14
+ author: {
15
+ userProfilePk: number
16
+ displayName: string
17
+ fullName: string
18
+ profileImgNameLarge: string | null
19
+ profileImgNameMedium: string | null
20
+ profileImgNameSmall: string | null
21
+ userPro: boolean
22
+ vivokidUser: boolean
23
+ }
24
+ estimatedDurationInSecs: number
25
+ estimatedDistanceInMeters: number
26
+ estimateType: string
27
+ estimatedDistanceUnit: {
28
+ unitId: number
29
+ unitKey: string
30
+ factor: {
31
+ source: string
32
+ parsedValue: number
33
+ }
34
+ }
35
+ poolLength: {
36
+ source: string
37
+ parsedValue: number
38
+ }
39
+ poolLengthUnit: {
40
+ unitId: number | null
41
+ unitKey: string | null
42
+ factor: {
43
+ source: string
44
+ parsedValue: number
45
+ } | null
46
+ }
47
+ workoutProvider: unknown | null
48
+ workoutSourceId: unknown | null
49
+ consumer: unknown | null
50
+ atpPlanId: unknown | null
51
+ workoutNameI18nKey: string | null
52
+ descriptionI18nKey: string | null
53
+ workoutThumbnailUrl: string | null
54
+ shared: boolean
55
+ estimated: boolean
56
+ }