@flow-js/garmin-connect 1.6.3

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.
Files changed (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +627 -0
  3. package/dist/common/CFClient.d.ts +22 -0
  4. package/dist/common/CFClient.js +137 -0
  5. package/dist/common/CFClient.js.map +1 -0
  6. package/dist/common/DateUtils.d.ts +1 -0
  7. package/dist/common/DateUtils.js +11 -0
  8. package/dist/common/DateUtils.js.map +1 -0
  9. package/dist/common/HttpClient.d.ts +37 -0
  10. package/dist/common/HttpClient.js +496 -0
  11. package/dist/common/HttpClient.js.map +1 -0
  12. package/dist/garmin/GarminConnect.d.ts +112 -0
  13. package/dist/garmin/GarminConnect.js +816 -0
  14. package/dist/garmin/GarminConnect.js.map +1 -0
  15. package/dist/garmin/UrlClass.d.ts +53 -0
  16. package/dist/garmin/UrlClass.js +267 -0
  17. package/dist/garmin/UrlClass.js.map +1 -0
  18. package/dist/garmin/Urls.d.ts +56 -0
  19. package/dist/garmin/Urls.js +88 -0
  20. package/dist/garmin/Urls.js.map +1 -0
  21. package/dist/garmin/common/DateUtils.d.ts +6 -0
  22. package/dist/garmin/common/DateUtils.js +38 -0
  23. package/dist/garmin/common/DateUtils.js.map +1 -0
  24. package/dist/garmin/common/GpxUtils.d.ts +2 -0
  25. package/dist/garmin/common/GpxUtils.js +28 -0
  26. package/dist/garmin/common/GpxUtils.js.map +1 -0
  27. package/dist/garmin/common/HydrationUtils.d.ts +2 -0
  28. package/dist/garmin/common/HydrationUtils.js +16 -0
  29. package/dist/garmin/common/HydrationUtils.js.map +1 -0
  30. package/dist/garmin/common/WeightUtils.d.ts +1 -0
  31. package/dist/garmin/common/WeightUtils.js +9 -0
  32. package/dist/garmin/common/WeightUtils.js.map +1 -0
  33. package/dist/garmin/types/activity.d.ts +408 -0
  34. package/dist/garmin/types/activity.js +27 -0
  35. package/dist/garmin/types/activity.js.map +1 -0
  36. package/dist/garmin/types/gear.d.ts +20 -0
  37. package/dist/garmin/types/gear.js +3 -0
  38. package/dist/garmin/types/gear.js.map +1 -0
  39. package/dist/garmin/types/golf.d.ts +67 -0
  40. package/dist/garmin/types/golf.js +3 -0
  41. package/dist/garmin/types/golf.js.map +1 -0
  42. package/dist/garmin/types/gpx.d.ts +171 -0
  43. package/dist/garmin/types/gpx.js +15 -0
  44. package/dist/garmin/types/gpx.js.map +1 -0
  45. package/dist/garmin/types/heartrate.d.ts +22 -0
  46. package/dist/garmin/types/heartrate.js +2 -0
  47. package/dist/garmin/types/heartrate.js.map +1 -0
  48. package/dist/garmin/types/hydration.d.ts +28 -0
  49. package/dist/garmin/types/hydration.js +2 -0
  50. package/dist/garmin/types/hydration.js.map +1 -0
  51. package/dist/garmin/types/index.d.ts +445 -0
  52. package/dist/garmin/types/index.js +37 -0
  53. package/dist/garmin/types/index.js.map +1 -0
  54. package/dist/garmin/types/sleep.d.ts +120 -0
  55. package/dist/garmin/types/sleep.js +3 -0
  56. package/dist/garmin/types/sleep.js.map +1 -0
  57. package/dist/garmin/types/weight.d.ts +42 -0
  58. package/dist/garmin/types/weight.js +3 -0
  59. package/dist/garmin/types/weight.js.map +1 -0
  60. package/dist/garmin/types/workout-builder.d.ts +138 -0
  61. package/dist/garmin/types/workout-builder.js +286 -0
  62. package/dist/garmin/types/workout-builder.js.map +1 -0
  63. package/dist/garmin/types/workout.d.ts +56 -0
  64. package/dist/garmin/types/workout.js +3 -0
  65. package/dist/garmin/types/workout.js.map +1 -0
  66. package/dist/garmin/types.d.ts +504 -0
  67. package/dist/garmin/types.js +3 -0
  68. package/dist/garmin/types.js.map +1 -0
  69. package/dist/garmin/workout-builder/duration.d.ts +87 -0
  70. package/dist/garmin/workout-builder/duration.js +173 -0
  71. package/dist/garmin/workout-builder/duration.js.map +1 -0
  72. package/dist/garmin/workout-builder/index.d.ts +5 -0
  73. package/dist/garmin/workout-builder/index.js +22 -0
  74. package/dist/garmin/workout-builder/index.js.map +1 -0
  75. package/dist/garmin/workout-builder/step.d.ts +28 -0
  76. package/dist/garmin/workout-builder/step.js +60 -0
  77. package/dist/garmin/workout-builder/step.js.map +1 -0
  78. package/dist/garmin/workout-builder/target.d.ts +49 -0
  79. package/dist/garmin/workout-builder/target.js +193 -0
  80. package/dist/garmin/workout-builder/target.js.map +1 -0
  81. package/dist/garmin/workout-builder/workout-builder.d.ts +12 -0
  82. package/dist/garmin/workout-builder/workout-builder.js +37 -0
  83. package/dist/garmin/workout-builder/workout-builder.js.map +1 -0
  84. package/dist/garmin/workout-builder/workout-type.d.ts +11 -0
  85. package/dist/garmin/workout-builder/workout-type.js +26 -0
  86. package/dist/garmin/workout-builder/workout-type.js.map +1 -0
  87. package/dist/garmin/workouts/Running.d.ts +16 -0
  88. package/dist/garmin/workouts/Running.js +64 -0
  89. package/dist/garmin/workouts/Running.js.map +1 -0
  90. package/dist/garmin/workouts/templates/RunningTemplate.d.ts +68 -0
  91. package/dist/garmin/workouts/templates/RunningTemplate.js +78 -0
  92. package/dist/garmin/workouts/templates/RunningTemplate.js.map +1 -0
  93. package/dist/garmin/workouts/workout-builder.d.ts +138 -0
  94. package/dist/garmin/workouts/workout-builder.js +286 -0
  95. package/dist/garmin/workouts/workout-builder.js.map +1 -0
  96. package/dist/garmin/workouts-builder/workout-builder.d.ts +138 -0
  97. package/dist/garmin/workouts-builder/workout-builder.js +286 -0
  98. package/dist/garmin/workouts-builder/workout-builder.js.map +1 -0
  99. package/dist/index.d.ts +4 -0
  100. package/dist/index.js +26 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/utils.d.ts +3 -0
  103. package/dist/utils.js +46 -0
  104. package/dist/utils.js.map +1 -0
  105. package/examples/assets/paris-marathon.gpx +2037 -0
  106. package/examples/example-gpx-file.js +54 -0
  107. package/examples/example-workout.js +162 -0
  108. package/examples/example.js +34 -0
  109. package/package.json +67 -0
@@ -0,0 +1,56 @@
1
+ export 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
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=workout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workout.js","sourceRoot":"","sources":["../../../src/garmin/types/workout.ts"],"names":[],"mappings":""}
@@ -0,0 +1,504 @@
1
+ export type GCUserProfileId = number;
2
+ export type GCUserHash = string;
3
+ export type GCActivityId = number;
4
+ export type GCWorkoutId = string;
5
+ export interface IUserInfo {
6
+ userProfileId: GCUserProfileId;
7
+ username: string;
8
+ emailAddress: string;
9
+ locale: string;
10
+ measurementSystemKey: string;
11
+ timeFormatKey: string;
12
+ dateFormatKey: string;
13
+ numberFormatKey: string;
14
+ heartRateDisplayFormatKey: string;
15
+ powerDisplayFormatKey: string;
16
+ timeZoneGroupKey: string;
17
+ dayKey: unknown;
18
+ isPublicByDefault: boolean;
19
+ roles: string[];
20
+ displayName: GCUserHash;
21
+ tocAcceptedDate: string;
22
+ defaultActivityPrivacy: unknown;
23
+ customerId: string;
24
+ birthdate: unknown;
25
+ socialNetwork: string;
26
+ socialIcon: string;
27
+ systemUser: boolean;
28
+ systemMetricUser: boolean;
29
+ underAge: boolean;
30
+ }
31
+ export interface ISocialProfile {
32
+ id: number;
33
+ profileId: GCUserProfileId;
34
+ garminGUID: string;
35
+ displayName: GCUserHash;
36
+ fullName: string;
37
+ userName: string;
38
+ profileImageUuid: unknown;
39
+ profileImageUrlLarge: string;
40
+ profileImageUrlMedium: string;
41
+ profileImageUrlSmall: string;
42
+ location: string;
43
+ facebookUrl: unknown;
44
+ twitterUrl: unknown;
45
+ personalWebsite: unknown;
46
+ motivation: unknown;
47
+ bio: unknown;
48
+ primaryActivity: unknown;
49
+ favoriteActivityTypes: unknown[];
50
+ runningTrainingSpeed: number;
51
+ cyclingTrainingSpeed: number;
52
+ favoriteCyclingActivityTypes: unknown[];
53
+ cyclingClassification: unknown;
54
+ cyclingMaxAvgPower: number;
55
+ swimmingTrainingSpeed: number;
56
+ profileVisibility: string;
57
+ activityStartVisibility: string;
58
+ activityMapVisibility: string;
59
+ courseVisibility: string;
60
+ activityHeartRateVisibility: string;
61
+ activityPowerVisibility: string;
62
+ badgeVisibility: string;
63
+ showAge: boolean;
64
+ showWeight: boolean;
65
+ showHeight: boolean;
66
+ showWeightClass: boolean;
67
+ showAgeRange: boolean;
68
+ showGender: boolean;
69
+ showActivityClass: boolean;
70
+ showVO2Max: boolean;
71
+ showPersonalRecords: boolean;
72
+ showLast12Months: boolean;
73
+ showLifetimeTotals: boolean;
74
+ showUpcomingEvents: boolean;
75
+ showRecentFavorites: boolean;
76
+ showRecentDevice: boolean;
77
+ showRecentGear: boolean;
78
+ showBadges: boolean;
79
+ otherActivity: null;
80
+ otherPrimaryActivity: null;
81
+ otherMotivation: null;
82
+ userRoles: string[];
83
+ nameApproved: boolean;
84
+ userProfileFullName: string;
85
+ makeGolfScorecardsPrivate: boolean;
86
+ allowGolfLiveScoring: boolean;
87
+ allowGolfScoringByConnections: boolean;
88
+ userLevel: number;
89
+ userPoint: number;
90
+ levelUpdateDate: string;
91
+ levelIsViewed: boolean;
92
+ levelPointThreshold: number;
93
+ userPointOffset: number;
94
+ userPro: boolean;
95
+ }
96
+ export interface ISocialConnection {
97
+ userId: number;
98
+ displayName: GCUserHash;
99
+ fullName: string;
100
+ location: string;
101
+ profileImageUrlMedium: string;
102
+ profileImageUrlSmall: string;
103
+ userLevel: number;
104
+ connectionRequestId: number;
105
+ connectionRequestorId: number;
106
+ userConnectionStatus: number;
107
+ userRoles: string[];
108
+ profileVisibility: number;
109
+ deviceInvitations: unknown[];
110
+ nameApproved: boolean;
111
+ badgeVisibility: number;
112
+ userPro: boolean;
113
+ }
114
+ export interface ISocialConnections {
115
+ fullName: string;
116
+ userConnections: ISocialConnection[];
117
+ pagination: unknown;
118
+ }
119
+ export interface IActivity {
120
+ activityId: GCActivityId;
121
+ activityName: string;
122
+ description: unknown;
123
+ startTimeLocal: string;
124
+ startTimeGMT: string;
125
+ activityType: {
126
+ typeId: number;
127
+ typeKey: string;
128
+ parentTypeId: number;
129
+ isHidden: boolean;
130
+ sortOrder: unknown;
131
+ trimmable: boolean;
132
+ restricted: boolean;
133
+ };
134
+ eventType: {
135
+ typeId: number;
136
+ typeKey: string;
137
+ sortOrder: number;
138
+ };
139
+ comments: unknown;
140
+ parentId: unknown;
141
+ distance: number;
142
+ duration: number;
143
+ elapsedDuration: number;
144
+ movingDuration: number;
145
+ elevationGain: number;
146
+ elevationLoss: number;
147
+ averageSpeed: number;
148
+ maxSpeed: number;
149
+ startLatitude: number;
150
+ startLongitude: number;
151
+ hasPolyline: boolean;
152
+ ownerId: number;
153
+ ownerDisplayName: string;
154
+ ownerFullName: string;
155
+ ownerProfileImageUrlSmall: string;
156
+ ownerProfileImageUrlMedium: string;
157
+ ownerProfileImageUrlLarge: string;
158
+ calories: number;
159
+ averageHR: number;
160
+ maxHR: number;
161
+ averageRunningCadenceInStepsPerMinute: number;
162
+ maxRunningCadenceInStepsPerMinute: number;
163
+ averageBikingCadenceInRevPerMinute: unknown;
164
+ maxBikingCadenceInRevPerMinute: unknown;
165
+ averageSwimCadenceInStrokesPerMinute: unknown;
166
+ maxSwimCadenceInStrokesPerMinute: unknown;
167
+ averageSwolf: unknown;
168
+ activeLengths: unknown;
169
+ steps: number;
170
+ conversationUuid: unknown;
171
+ conversationPk: unknown;
172
+ numberOfActivityLikes: unknown;
173
+ numberOfActivityComments: unknown;
174
+ likedByUser: unknown;
175
+ commentedByUser: unknown;
176
+ activityLikeDisplayNames: unknown;
177
+ activityLikeFullNames: unknown;
178
+ activityLikeProfileImageUrls: unknown;
179
+ requestorRelationship: unknown;
180
+ userRoles: string[];
181
+ privacy: {
182
+ typeId: number;
183
+ typeKey: string;
184
+ };
185
+ userPro: boolean;
186
+ courseId: unknown;
187
+ poolLength: unknown;
188
+ unitOfPoolLength: unknown;
189
+ hasVideo: boolean;
190
+ videoUrl: unknown;
191
+ timeZoneId: number;
192
+ beginTimestamp: number;
193
+ sportTypeId: number;
194
+ avgPower: unknown;
195
+ maxPower: unknown;
196
+ aerobicTrainingEffect: unknown;
197
+ anaerobicTrainingEffect: unknown;
198
+ strokes: unknown;
199
+ normPower: unknown;
200
+ leftBalance: unknown;
201
+ rightBalance: unknown;
202
+ avgLeftBalance: unknown;
203
+ max20MinPower: unknown;
204
+ avgVerticalOscillation: unknown;
205
+ avgGroundContactTime: unknown;
206
+ avgStrideLength: number;
207
+ avgFractionalCadence: unknown;
208
+ maxFractionalCadence: unknown;
209
+ trainingStressScore: unknown;
210
+ intensityFactor: unknown;
211
+ vO2MaxValue: number;
212
+ avgVerticalRatio: unknown;
213
+ avgGroundContactBalance: unknown;
214
+ lactateThresholdBpm: unknown;
215
+ lactateThresholdSpeed: unknown;
216
+ maxFtp: unknown;
217
+ avgStrokeDistance: unknown;
218
+ avgStrokeCadence: unknown;
219
+ maxStrokeCadence: unknown;
220
+ workoutId: unknown;
221
+ avgStrokes: unknown;
222
+ minStrokes: unknown;
223
+ deviceId: number;
224
+ minTemperature: unknown;
225
+ maxTemperature: unknown;
226
+ minElevation: number;
227
+ maxElevation: number;
228
+ avgDoubleCadence: unknown;
229
+ maxDoubleCadence: number;
230
+ summarizedExerciseSets: unknown;
231
+ maxDepth: unknown;
232
+ avgDepth: unknown;
233
+ surfaceInterval: unknown;
234
+ startN2: unknown;
235
+ endN2: unknown;
236
+ startCns: unknown;
237
+ endCns: unknown;
238
+ summarizedDiveInfo: {
239
+ weight: unknown;
240
+ weightUnit: unknown;
241
+ visibility: unknown;
242
+ visibilityUnit: unknown;
243
+ surfaceCondition: unknown;
244
+ current: unknown;
245
+ waterType: unknown;
246
+ waterDensity: unknown;
247
+ summarizedDiveGases: [];
248
+ totalSurfaceTime: unknown;
249
+ };
250
+ activityLikeAuthors: unknown;
251
+ avgVerticalSpeed: unknown;
252
+ maxVerticalSpeed: number;
253
+ floorsClimbed: unknown;
254
+ floorsDescended: unknown;
255
+ manufacturer: string;
256
+ diveNumber: unknown;
257
+ locationName: string;
258
+ bottomTime: unknown;
259
+ lapCount: number;
260
+ endLatitude: number;
261
+ endLongitude: number;
262
+ minAirSpeed: unknown;
263
+ maxAirSpeed: unknown;
264
+ avgAirSpeed: unknown;
265
+ avgWindYawAngle: unknown;
266
+ minCda: unknown;
267
+ maxCda: unknown;
268
+ avgCda: unknown;
269
+ avgWattsPerCda: unknown;
270
+ flow: unknown;
271
+ grit: unknown;
272
+ jumpCount: unknown;
273
+ caloriesEstimated: unknown;
274
+ caloriesConsumed: unknown;
275
+ waterEstimated: unknown;
276
+ waterConsumed: unknown;
277
+ maxAvgPower_1: unknown;
278
+ maxAvgPower_2: unknown;
279
+ maxAvgPower_5: unknown;
280
+ maxAvgPower_10: unknown;
281
+ maxAvgPower_20: unknown;
282
+ maxAvgPower_30: unknown;
283
+ maxAvgPower_60: unknown;
284
+ maxAvgPower_120: unknown;
285
+ maxAvgPower_300: unknown;
286
+ maxAvgPower_600: unknown;
287
+ maxAvgPower_1200: unknown;
288
+ maxAvgPower_1800: unknown;
289
+ maxAvgPower_3600: unknown;
290
+ maxAvgPower_7200: unknown;
291
+ maxAvgPower_18000: unknown;
292
+ excludeFromPowerCurveReports: unknown;
293
+ totalSets: unknown;
294
+ activeSets: unknown;
295
+ totalReps: unknown;
296
+ minRespirationRate: unknown;
297
+ maxRespirationRate: unknown;
298
+ avgRespirationRate: unknown;
299
+ trainingEffectLabel: unknown;
300
+ activityTrainingLoad: unknown;
301
+ avgFlow: unknown;
302
+ avgGrit: unknown;
303
+ minActivityLapDuration: number;
304
+ avgStress: unknown;
305
+ startStress: unknown;
306
+ endStress: unknown;
307
+ differenceStress: unknown;
308
+ maxStress: unknown;
309
+ aerobicTrainingEffectMessage: unknown;
310
+ anaerobicTrainingEffectMessage: unknown;
311
+ splitSummaries: [];
312
+ hasSplits: boolean;
313
+ maxBottomTime: unknown;
314
+ hasSeedFirstbeatProfile: unknown;
315
+ calendarEventId: unknown;
316
+ calendarEventUuid: unknown;
317
+ avgGradeAdjustedSpeed: unknown;
318
+ avgWheelchairCadence: unknown;
319
+ maxWheelchairCadence: unknown;
320
+ purposeful: boolean;
321
+ manualActivity: boolean;
322
+ autoCalcCalories: boolean;
323
+ elevationCorrected: boolean;
324
+ atpActivity: boolean;
325
+ favorite: boolean;
326
+ decoDive: unknown;
327
+ pr: boolean;
328
+ parent: boolean;
329
+ }
330
+ export interface IActivityDetails {
331
+ activityId: number;
332
+ activityUUID: {
333
+ uuid: string;
334
+ };
335
+ activityName: string;
336
+ userProfileId: number;
337
+ isMultiSportParent: boolean;
338
+ activityTypeDTO: {
339
+ typeId: number;
340
+ typeKey: string;
341
+ parentTypeId: number;
342
+ isHidden: boolean;
343
+ restricted: boolean;
344
+ trimmable: boolean;
345
+ };
346
+ eventTypeDTO: {
347
+ typeId: number;
348
+ typeKey: string;
349
+ sortOrder: number;
350
+ };
351
+ accessControlRuleDTO: {
352
+ typeId: number;
353
+ typeKey: string;
354
+ };
355
+ timeZoneUnitDTO: {
356
+ unitId: number;
357
+ unitKey: string;
358
+ factor: number;
359
+ timeZone: string;
360
+ };
361
+ metadataDTO: {
362
+ isOriginal: boolean;
363
+ deviceApplicationInstallationId: number;
364
+ agentApplicationInstallationId?: null;
365
+ agentString?: null;
366
+ fileFormat: {
367
+ formatId: number;
368
+ formatKey: string;
369
+ };
370
+ associatedCourseId?: null;
371
+ lastUpdateDate: string;
372
+ uploadedDate: string;
373
+ videoUrl?: null;
374
+ hasPolyline: boolean;
375
+ hasChartData: boolean;
376
+ hasHrTimeInZones: boolean;
377
+ hasPowerTimeInZones: boolean;
378
+ userInfoDto: {
379
+ userProfilePk: number;
380
+ displayname: string;
381
+ fullname: string;
382
+ profileImageUrlLarge?: null;
383
+ profileImageUrlMedium: string;
384
+ profileImageUrlSmall: string;
385
+ userPro: boolean;
386
+ };
387
+ childIds?: null[] | null;
388
+ childActivityTypes?: null[] | null;
389
+ sensors?: {
390
+ manufacturer: string;
391
+ serialNumber: number;
392
+ sku: string;
393
+ fitProductNumber: number;
394
+ sourceType: string;
395
+ antplusDeviceType: string;
396
+ softwareVersion: number;
397
+ batteryStatus: string;
398
+ }[] | null;
399
+ activityImages?: {
400
+ imageId: string;
401
+ url: string;
402
+ smallUrl: string;
403
+ mediumUrl: string;
404
+ expirationTimestamp?: null;
405
+ latitude?: null;
406
+ longitude?: null;
407
+ photoDate?: null;
408
+ }[] | null;
409
+ manufacturer: string;
410
+ diveNumber?: null;
411
+ lapCount: number;
412
+ associatedWorkoutId: number;
413
+ isAtpActivity?: null;
414
+ deviceMetaDataDTO: {
415
+ deviceId: string;
416
+ deviceTypePk: number;
417
+ deviceVersionPk: number;
418
+ };
419
+ hasIntensityIntervals: boolean;
420
+ hasSplits: boolean;
421
+ eBikeMaxAssistModes?: null;
422
+ eBikeBatteryUsage?: null;
423
+ eBikeBatteryRemaining?: null;
424
+ eBikeAssistModeInfoDTOList?: null;
425
+ calendarEventInfo?: null;
426
+ personalRecord: boolean;
427
+ gcj02: boolean;
428
+ runPowerWindDataEnabled?: null;
429
+ autoCalcCalories: boolean;
430
+ favorite: boolean;
431
+ manualActivity: boolean;
432
+ trimmed: boolean;
433
+ elevationCorrected: boolean;
434
+ };
435
+ summaryDTO: {
436
+ startTimeLocal: string;
437
+ startTimeGMT: string;
438
+ startLatitude: number;
439
+ startLongitude: number;
440
+ distance: number;
441
+ duration: number;
442
+ movingDuration: number;
443
+ elapsedDuration: number;
444
+ elevationGain: number;
445
+ elevationLoss: number;
446
+ maxElevation: number;
447
+ minElevation: number;
448
+ averageSpeed: number;
449
+ averageMovingSpeed: number;
450
+ maxSpeed: number;
451
+ calories: number;
452
+ averageHR: number;
453
+ maxHR: number;
454
+ averageRunCadence: number;
455
+ maxRunCadence: number;
456
+ averageTemperature: number;
457
+ maxTemperature: number;
458
+ minTemperature: number;
459
+ groundContactTime: number;
460
+ groundContactBalanceLeft: number;
461
+ strideLength: number;
462
+ verticalOscillation: number;
463
+ trainingEffect: number;
464
+ anaerobicTrainingEffect: number;
465
+ aerobicTrainingEffectMessage: string;
466
+ anaerobicTrainingEffectMessage: string;
467
+ verticalRatio: number;
468
+ endLatitude: number;
469
+ endLongitude: number;
470
+ maxVerticalSpeed: number;
471
+ minActivityLapDuration: number;
472
+ };
473
+ locationName: string;
474
+ splitSummaries?: {
475
+ distance: number;
476
+ duration: number;
477
+ movingDuration: number;
478
+ elapsedDuration: number;
479
+ elevationGain: number;
480
+ elevationLoss: number;
481
+ averageSpeed: number;
482
+ averageMovingSpeed: number;
483
+ maxSpeed: number;
484
+ calories: number;
485
+ averageHR: number;
486
+ maxHR: number;
487
+ averageRunCadence: number;
488
+ maxRunCadence: number;
489
+ averageTemperature: number;
490
+ maxTemperature: number;
491
+ minTemperature: number;
492
+ groundContactTime: number;
493
+ groundContactBalanceLeft: number;
494
+ strideLength: number;
495
+ verticalOscillation: number;
496
+ verticalRatio: number;
497
+ totalExerciseReps: number;
498
+ splitType: string;
499
+ noOfSplits: number;
500
+ maxElevationGain: number;
501
+ averageElevationGain: number;
502
+ maxDistance: number;
503
+ }[] | null;
504
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/garmin/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ export declare abstract class Duration {
2
+ abstract build(): any;
3
+ }
4
+ export declare class NoDuration extends Duration {
5
+ build(): void;
6
+ }
7
+ export declare class TimeDuration extends Duration {
8
+ private durationInSeconds;
9
+ constructor(durationInSeconds: number);
10
+ static hhmmss(h: number, m: number, s: number): TimeDuration;
11
+ static fromHours(h: number): TimeDuration;
12
+ static fromMinutes(m: number): TimeDuration;
13
+ static fromSeconds(s: number): TimeDuration;
14
+ build(): {
15
+ endCondition: {
16
+ conditionTypeId: number;
17
+ conditionTypeKey: string;
18
+ displayable: boolean;
19
+ displayOrder: number;
20
+ };
21
+ endConditionCompare: null;
22
+ endConditionValue: number;
23
+ endConditionZone: null;
24
+ };
25
+ }
26
+ export declare class DistanceDuration extends Duration {
27
+ private meters;
28
+ constructor(meters: number);
29
+ static fromKilometers(km: number): DistanceDuration;
30
+ static fromMeters(m: number): DistanceDuration;
31
+ build(): {
32
+ endCondition: {
33
+ conditionTypeId: number;
34
+ conditionTypeKey: string;
35
+ displayOrder: number;
36
+ displayable: boolean;
37
+ };
38
+ endConditionValue: number;
39
+ preferredEndConditionUnit: {
40
+ unitKey: string;
41
+ };
42
+ endConditionCompare: null;
43
+ };
44
+ }
45
+ export declare class LapPressDuration extends Duration {
46
+ build(): {
47
+ endCondition: {
48
+ conditionTypeId: number;
49
+ conditionTypeKey: string;
50
+ displayOrder: number;
51
+ displayable: boolean;
52
+ };
53
+ endConditionValue: null;
54
+ preferredEndConditionUnit: null;
55
+ endConditionCompare: null;
56
+ };
57
+ }
58
+ export declare class CaloriesDuration extends Duration {
59
+ private calories;
60
+ constructor(calories: number);
61
+ build(): {
62
+ endCondition: {
63
+ conditionTypeId: number;
64
+ conditionTypeKey: string;
65
+ displayOrder: number;
66
+ displayable: boolean;
67
+ };
68
+ endConditionValue: number;
69
+ };
70
+ }
71
+ export declare class HeartRateDuration extends Duration {
72
+ private bpm;
73
+ private compare;
74
+ constructor(bpm: number, compare: 'gt' | 'lt');
75
+ static greaterThan(bpm: number): HeartRateDuration;
76
+ static lessThan(bpm: number): HeartRateDuration;
77
+ build(): {
78
+ endCondition: {
79
+ conditionTypeId: number;
80
+ conditionTypeKey: string;
81
+ displayOrder: number;
82
+ displayable: boolean;
83
+ };
84
+ endConditionValue: number;
85
+ endConditionCompare: "gt" | "lt";
86
+ };
87
+ }