@flow-js/garmin-connect 1.6.6 → 1.6.8

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,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,138 @@
1
+ export declare class WorkoutBuilder {
2
+ private steps;
3
+ addStep(step: Step): void;
4
+ build(): Step[];
5
+ }
6
+ export declare class Step {
7
+ private type;
8
+ private duration?;
9
+ private target?;
10
+ private notes?;
11
+ constructor(type: StepType, duration?: Duration, target?: Target, notes?: string);
12
+ build(stepId: number): {
13
+ category: null;
14
+ childStepId: null;
15
+ description: null;
16
+ endCondition: {
17
+ conditionTypeId: number;
18
+ conditionTypeKey: string;
19
+ displayable: boolean;
20
+ displayOrder: number;
21
+ };
22
+ endConditionCompare: null;
23
+ endConditionValue: null;
24
+ endConditionZone: null;
25
+ equipmentType: {
26
+ displayOrder: null;
27
+ equipmentTypeId: null;
28
+ equipmentTypeKey: null;
29
+ };
30
+ exerciseName: null;
31
+ preferredEndConditionUnit: null;
32
+ providerExerciseSourceId: null;
33
+ secondaryTargetType: null;
34
+ secondaryTargetValueOne: null;
35
+ secondaryTargetValueTwo: null;
36
+ secondaryTargetValueUnit: null;
37
+ secondaryZoneNumber: null;
38
+ stepAudioNote: null;
39
+ stepId: number;
40
+ stepOrder: number;
41
+ stepType: {
42
+ displayOrder: number;
43
+ stepTypeId: number;
44
+ stepTypeKey: string;
45
+ };
46
+ strokeType: {};
47
+ targetType: {
48
+ displayOrder: number;
49
+ workoutTargetTypeId: number;
50
+ workoutTargetTypeKey: string;
51
+ };
52
+ targetValueOne: null;
53
+ targetValueTwo: null;
54
+ targetValueUnit: null;
55
+ type: string;
56
+ weightUnit: null;
57
+ weightValue: null;
58
+ workoutProvider: null;
59
+ zoneNumber: null;
60
+ };
61
+ }
62
+ export declare class StepType {
63
+ private type;
64
+ private constructor();
65
+ static WarmUp: StepType;
66
+ static Run: StepType;
67
+ static Recovery: StepType;
68
+ static Rest: StepType;
69
+ static Cooldown: StepType;
70
+ static Other: StepType;
71
+ }
72
+ export declare abstract class Duration {
73
+ }
74
+ export declare class NoDuration extends Duration {
75
+ }
76
+ export declare class TimeDuration extends Duration {
77
+ private seconds;
78
+ constructor(seconds: number);
79
+ static hhmmss(h: number, m: number, s: number): TimeDuration;
80
+ static fromHours(h: number): TimeDuration;
81
+ static fromMinutes(m: number): TimeDuration;
82
+ static fromSeconds(s: number): TimeDuration;
83
+ }
84
+ export declare class DistanceDuration extends Duration {
85
+ private meters;
86
+ constructor(meters: number);
87
+ static fromKilometers(km: number): DistanceDuration;
88
+ static fromMeters(m: number): DistanceDuration;
89
+ }
90
+ export declare class LapPressDuration extends Duration {
91
+ }
92
+ export declare class CaloriesDuration extends Duration {
93
+ private calories;
94
+ constructor(calories: number);
95
+ }
96
+ export declare class HeartRateDuration extends Duration {
97
+ private bpm;
98
+ private compare;
99
+ constructor(bpm: number, compare: 'gt' | 'lt');
100
+ static greaterThan(bpm: number): HeartRateDuration;
101
+ static lessThan(bpm: number): HeartRateDuration;
102
+ }
103
+ export declare abstract class Target {
104
+ }
105
+ export declare class NoTarget {
106
+ }
107
+ export declare class PaceTarget extends Target {
108
+ private minPace;
109
+ private maxPace;
110
+ constructor(minPace: number, maxPace: number);
111
+ static pace(paceMinutes: number, paceSeconds: number, margin?: number): PaceTarget;
112
+ }
113
+ export declare class CadenceTarget extends Target {
114
+ private minCadence;
115
+ private maxCadence;
116
+ constructor(minCadence: number, maxCadence: number);
117
+ static cadence(cadence: number, margin: number): CadenceTarget;
118
+ }
119
+ export declare class HrmZoneTarget extends Target {
120
+ private hrmZone;
121
+ constructor(hrmZone: number);
122
+ }
123
+ export declare class HrmTarget extends Target {
124
+ private minHrm;
125
+ private maxHrm;
126
+ constructor(minHrm: number, maxHrm: number);
127
+ static hrm(hrm: number, margin: number): HrmTarget;
128
+ }
129
+ export declare class PowerZoneTarget extends Target {
130
+ private powerZone;
131
+ constructor(powerZone: number);
132
+ }
133
+ export declare class PowerZone extends Target {
134
+ private minPower;
135
+ private maxPower;
136
+ constructor(minPower: number, maxPower: number);
137
+ static power(power: number, margin: number): PowerZone;
138
+ }