@gooin/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.
Files changed (56) hide show
  1. package/README.md +243 -49
  2. package/dist/common/HttpClient.d.ts +1 -0
  3. package/dist/common/HttpClient.js +4 -0
  4. package/dist/common/HttpClient.js.map +1 -1
  5. package/dist/garmin/GarminConnect copy.d.ts +76 -0
  6. package/dist/garmin/GarminConnect copy.js +397 -0
  7. package/dist/garmin/GarminConnect copy.js.map +1 -0
  8. package/dist/garmin/GarminConnect.d.ts +29 -5
  9. package/dist/garmin/GarminConnect.js +253 -26
  10. package/dist/garmin/GarminConnect.js.map +1 -1
  11. package/dist/garmin/GarminConnect_new.d.ts +76 -0
  12. package/dist/garmin/GarminConnect_new.js +397 -0
  13. package/dist/garmin/GarminConnect_new.js.map +1 -0
  14. package/dist/garmin/GarminConnect_old.d.ts +75 -0
  15. package/dist/garmin/GarminConnect_old.js +386 -0
  16. package/dist/garmin/GarminConnect_old.js.map +1 -0
  17. package/dist/garmin/UrlClass.d.ts +14 -1
  18. package/dist/garmin/UrlClass.js +42 -0
  19. package/dist/garmin/UrlClass.js.map +1 -1
  20. package/dist/garmin/common/DateUtils.d.ts +5 -0
  21. package/dist/garmin/common/DateUtils.js +28 -1
  22. package/dist/garmin/common/DateUtils.js.map +1 -1
  23. package/dist/garmin/common/HydrationUtils.d.ts +2 -0
  24. package/dist/garmin/common/HydrationUtils.js +16 -0
  25. package/dist/garmin/common/HydrationUtils.js.map +1 -0
  26. package/dist/garmin/common/WeightUtils.d.ts +1 -0
  27. package/dist/garmin/common/WeightUtils.js +9 -0
  28. package/dist/garmin/common/WeightUtils.js.map +1 -0
  29. package/dist/garmin/types/activity.d.ts +408 -0
  30. package/dist/garmin/types/activity.js +27 -0
  31. package/dist/garmin/types/activity.js.map +1 -0
  32. package/dist/garmin/types/course.d.ts +146 -0
  33. package/dist/garmin/types/course.js +3 -0
  34. package/dist/garmin/types/course.js.map +1 -0
  35. package/dist/garmin/types/golf.d.ts +67 -0
  36. package/dist/garmin/types/golf.js +3 -0
  37. package/dist/garmin/types/golf.js.map +1 -0
  38. package/dist/garmin/types/heartrate.d.ts +22 -0
  39. package/dist/garmin/types/heartrate.js +2 -0
  40. package/dist/garmin/types/heartrate.js.map +1 -0
  41. package/dist/garmin/types/hydration.d.ts +28 -0
  42. package/dist/garmin/types/hydration.js +2 -0
  43. package/dist/garmin/types/hydration.js.map +1 -0
  44. package/dist/garmin/types/index.d.ts +541 -0
  45. package/dist/garmin/types/index.js +17 -0
  46. package/dist/garmin/types/index.js.map +1 -0
  47. package/dist/garmin/types/sleep.d.ts +120 -0
  48. package/dist/garmin/types/sleep.js +3 -0
  49. package/dist/garmin/types/sleep.js.map +1 -0
  50. package/dist/garmin/types/weight.d.ts +42 -0
  51. package/dist/garmin/types/weight.js +3 -0
  52. package/dist/garmin/types/weight.js.map +1 -0
  53. package/dist/utils.d.ts +3 -3
  54. package/dist/utils.js +27 -16
  55. package/dist/utils.js.map +1 -1
  56. package/package.json +1 -1
@@ -4,32 +4,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Event = void 0;
7
- const app_root_path_1 = __importDefault(require("app-root-path"));
8
7
  const form_data_1 = __importDefault(require("form-data"));
9
8
  const lodash_1 = __importDefault(require("lodash"));
10
9
  const luxon_1 = require("luxon");
11
- const node_fs_1 = __importDefault(require("node:fs"));
10
+ const node_fs_1 = require("node:fs");
12
11
  const node_path_1 = __importDefault(require("node:path"));
13
12
  const HttpClient_1 = require("../common/HttpClient");
14
13
  const utils_1 = require("../utils");
15
14
  const UrlClass_1 = require("./UrlClass");
15
+ const DateUtils_1 = require("./common/DateUtils");
16
+ const HydrationUtils_1 = require("./common/HydrationUtils");
17
+ const WeightUtils_1 = require("./common/WeightUtils");
16
18
  const types_1 = require("./types");
17
19
  const Running_1 = __importDefault(require("./workouts/Running"));
18
- const DateUtils_1 = require("./common/DateUtils");
19
- let config = undefined;
20
- try {
21
- config = app_root_path_1.default.require('/garmin.config.json');
22
- }
23
- catch (e) {
24
- // Do nothing
25
- }
26
20
  var Event;
27
21
  (function (Event) {
28
22
  Event["sessionChange"] = "sessionChange";
29
23
  })(Event = exports.Event || (exports.Event = {}));
30
24
  class GarminConnect {
31
25
  // private oauth1: OAuth;
32
- constructor(credentials = config, domain = 'garmin.com') {
26
+ constructor(credentials, domain = 'garmin.com') {
33
27
  if (!credentials) {
34
28
  throw new Error('Missing credentials');
35
29
  }
@@ -47,28 +41,36 @@ class GarminConnect {
47
41
  await this.client.login(this.credentials.username, this.credentials.password);
48
42
  return this;
49
43
  }
50
- exportTokenToFile(dirPath) {
51
- if (!(0, utils_1.checkIsDirectory)(dirPath)) {
52
- (0, utils_1.createDirectory)(dirPath);
44
+ async exportTokenToFile(dirPath) {
45
+ const isDir = await (0, utils_1.checkIsDirectory)(dirPath);
46
+ if (!isDir) {
47
+ await (0, utils_1.createDirectory)(dirPath);
53
48
  }
54
49
  // save oauth1 to json
55
50
  if (this.client.oauth1Token) {
56
- (0, utils_1.writeToFile)(node_path_1.default.join(dirPath, 'oauth1_token.json'), JSON.stringify(this.client.oauth1Token));
51
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dirPath, 'oauth1_token.json'), JSON.stringify(this.client.oauth1Token));
57
52
  }
58
53
  if (this.client.oauth2Token) {
59
- (0, utils_1.writeToFile)(node_path_1.default.join(dirPath, 'oauth2_token.json'), JSON.stringify(this.client.oauth2Token));
54
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dirPath, 'oauth2_token.json'), JSON.stringify(this.client.oauth2Token));
60
55
  }
61
56
  }
62
- loadTokenByFile(dirPath) {
63
- if (!(0, utils_1.checkIsDirectory)(dirPath)) {
57
+ async loadTokenByFile(dirPath) {
58
+ const isDir = await (0, utils_1.checkIsDirectory)(dirPath);
59
+ if (!isDir) {
64
60
  throw new Error('loadTokenByFile: Directory not found: ' + dirPath);
65
61
  }
66
- let oauth1Data = node_fs_1.default.readFileSync(node_path_1.default.join(dirPath, 'oauth1_token.json'));
62
+ let oauth1Data = await node_fs_1.promises.readFile(node_path_1.default.join(dirPath, 'oauth1_token.json'), 'utf-8');
63
+ // console.log('loadTokenByFile - oauth1Data:', oauth1Data);
67
64
  const oauth1 = JSON.parse(oauth1Data);
65
+ // console.log('loadTokenByFile - oauth1:', oauth1);
68
66
  this.client.oauth1Token = oauth1;
69
- let oauth2Data = node_fs_1.default.readFileSync(node_path_1.default.join(dirPath, 'oauth2_token.json'));
67
+ let oauth2Data = await node_fs_1.promises.readFile(node_path_1.default.join(dirPath, 'oauth2_token.json'), 'utf-8');
68
+ // console.log('loadTokenByFile - oauth2Data:', oauth2Data);
70
69
  const oauth2 = JSON.parse(oauth2Data);
70
+ // console.log('loadTokenByFile - oauth2:', oauth2);
71
71
  this.client.oauth2Token = oauth2;
72
+ // console.log('loadTokenByFile - oauth2Token:', this);
73
+ // console.log('loadTokenByFile - oauth2Token:', this.client.oauth2Token);
72
74
  }
73
75
  exportToken() {
74
76
  if (!this.client.oauth1Token || !this.client.oauth2Token) {
@@ -90,9 +92,9 @@ class GarminConnect {
90
92
  async getUserProfile() {
91
93
  return this.client.get(this.url.USER_PROFILE);
92
94
  }
93
- async getActivities(start, limit) {
95
+ async getActivities(start, limit, activityType, subActivityType) {
94
96
  return this.client.get(this.url.ACTIVITIES, {
95
- params: { start, limit }
97
+ params: { start, limit, activityType, subActivityType }
96
98
  });
97
99
  }
98
100
  async getActivity(activity) {
@@ -110,11 +112,23 @@ class GarminConnect {
110
112
  }
111
113
  });
112
114
  }
115
+ async downloadWellnessData(date, dir) {
116
+ const dateStr = (0, DateUtils_1.toDateString)(date);
117
+ const isDir = await (0, utils_1.checkIsDirectory)(dir);
118
+ if (!isDir) {
119
+ await (0, utils_1.createDirectory)(dir);
120
+ }
121
+ let fileBuffer = await this.client.get(this.url.DOWNLOAD_WELLNESS + dateStr, {
122
+ responseType: 'arraybuffer'
123
+ });
124
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dir, `${dateStr}.zip`), fileBuffer);
125
+ }
113
126
  async downloadOriginalActivityData(activity, dir, type = 'zip') {
114
127
  if (!activity.activityId)
115
128
  throw new Error('Missing activityId');
116
- if (!(0, utils_1.checkIsDirectory)(dir)) {
117
- (0, utils_1.createDirectory)(dir);
129
+ const isDir = await (0, utils_1.checkIsDirectory)(dir);
130
+ if (!isDir) {
131
+ await (0, utils_1.createDirectory)(dir);
118
132
  }
119
133
  let fileBuffer;
120
134
  if (type === 'tcx') {
@@ -134,7 +148,7 @@ class GarminConnect {
134
148
  else {
135
149
  throw new Error('downloadOriginalActivityData - Invalid type: ' + type);
136
150
  }
137
- (0, utils_1.writeToFile)(node_path_1.default.join(dir, `${activity.activityId}.${type}`), fileBuffer);
151
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dir, `${activity.activityId}.${type}`), fileBuffer);
138
152
  }
139
153
  async uploadActivity(file, format = 'fit') {
140
154
  var _a;
@@ -142,7 +156,9 @@ class GarminConnect {
142
156
  if (!lodash_1.default.includes(types_1.UploadFileType, detectedFormat)) {
143
157
  throw new Error('uploadActivity - Invalid format: ' + format);
144
158
  }
145
- const fileBuffer = node_fs_1.default.createReadStream(file);
159
+ // const fh = await fs.open(file);
160
+ const fileBuffer = (0, node_fs_1.createReadStream)(file);
161
+ // console.log('fileBuffer:', fileBuffer);
146
162
  const form = new form_data_1.default();
147
163
  form.append('userfile', fileBuffer);
148
164
  const response = await this.client.post(this.url.UPLOAD + '.' + format, form, {
@@ -230,6 +246,213 @@ class GarminConnect {
230
246
  }
231
247
  return dayStats.totalSteps;
232
248
  }
249
+ async getSleepData(date = new Date()) {
250
+ try {
251
+ const dateString = (0, DateUtils_1.toDateString)(date);
252
+ const sleepData = await this.client.get(`${this.url.DAILY_SLEEP}`, { params: { date: dateString } });
253
+ if (!sleepData) {
254
+ throw new Error('Invalid or empty sleep data response.');
255
+ }
256
+ return sleepData;
257
+ }
258
+ catch (error) {
259
+ throw new Error(`Error in getSleepData: ${error.message}`);
260
+ }
261
+ }
262
+ async getSleepDuration(date = new Date()) {
263
+ try {
264
+ const sleepData = await this.getSleepData(date);
265
+ if (!sleepData ||
266
+ !sleepData.dailySleepDTO ||
267
+ sleepData.dailySleepDTO.sleepStartTimestampGMT === undefined ||
268
+ sleepData.dailySleepDTO.sleepEndTimestampGMT === undefined) {
269
+ throw new Error('Invalid or missing sleep data for the specified date.');
270
+ }
271
+ const sleepStartTimestampGMT = sleepData.dailySleepDTO.sleepStartTimestampGMT;
272
+ const sleepEndTimestampGMT = sleepData.dailySleepDTO.sleepEndTimestampGMT;
273
+ const { hours, minutes } = (0, DateUtils_1.calculateTimeDifference)(sleepStartTimestampGMT, sleepEndTimestampGMT);
274
+ return {
275
+ hours,
276
+ minutes
277
+ };
278
+ }
279
+ catch (error) {
280
+ throw new Error(`Error in getSleepDuration: ${error.message}`);
281
+ }
282
+ }
283
+ async getDailyWeightData(date = new Date()) {
284
+ try {
285
+ const dateString = (0, DateUtils_1.toDateString)(date);
286
+ const weightData = await this.client.get(`${this.url.DAILY_WEIGHT}/${dateString}`);
287
+ if (!weightData) {
288
+ throw new Error('Invalid or empty weight data response.');
289
+ }
290
+ return weightData;
291
+ }
292
+ catch (error) {
293
+ throw new Error(`Error in getDailyWeightData: ${error.message}`);
294
+ }
295
+ }
296
+ async getDailyWeightInPounds(date = new Date()) {
297
+ const weightData = await this.getDailyWeightData(date);
298
+ if (weightData.totalAverage &&
299
+ typeof weightData.totalAverage.weight === 'number') {
300
+ return (0, WeightUtils_1.gramsToPounds)(weightData.totalAverage.weight);
301
+ }
302
+ else {
303
+ throw new Error("Can't find valid daily weight for this date.");
304
+ }
305
+ }
306
+ async getDailyHydration(date = new Date()) {
307
+ try {
308
+ const dateString = (0, DateUtils_1.toDateString)(date);
309
+ const hydrationData = await this.client.get(`${this.url.DAILY_HYDRATION}/${dateString}`);
310
+ if (!hydrationData || !hydrationData.valueInML) {
311
+ throw new Error('Invalid or empty hydration data response.');
312
+ }
313
+ return (0, HydrationUtils_1.convertMLToOunces)(hydrationData.valueInML);
314
+ }
315
+ catch (error) {
316
+ throw new Error(`Error in getDailyHydration: ${error.message}`);
317
+ }
318
+ }
319
+ async updateWeight(date = new Date(), lbs, timezone) {
320
+ try {
321
+ const weightData = await this.client.post(`${this.url.UPDATE_WEIGHT}`, {
322
+ dateTimestamp: (0, DateUtils_1.getLocalTimestamp)(date, timezone),
323
+ gmtTimestamp: date.toISOString().substring(0, 23),
324
+ unitKey: 'lbs',
325
+ value: lbs
326
+ });
327
+ return weightData;
328
+ }
329
+ catch (error) {
330
+ throw new Error(`Error in updateWeight: ${error.message}`);
331
+ }
332
+ }
333
+ async updateHydrationLogOunces(date = new Date(), valueInOz) {
334
+ try {
335
+ const dateString = (0, DateUtils_1.toDateString)(date);
336
+ const hydrationData = await this.client.put(`${this.url.HYDRATION_LOG}`, {
337
+ calendarDate: dateString,
338
+ valueInML: (0, HydrationUtils_1.convertOuncesToML)(valueInOz),
339
+ userProfileId: (await this.getUserProfile()).profileId,
340
+ timestampLocal: date.toISOString().substring(0, 23)
341
+ });
342
+ return hydrationData;
343
+ }
344
+ catch (error) {
345
+ throw new Error(`Error in updateHydrationLogOunces: ${error.message}`);
346
+ }
347
+ }
348
+ async getGolfSummary() {
349
+ try {
350
+ const golfSummary = await this.client.get(`${this.url.GOLF_SCORECARD_SUMMARY}`);
351
+ if (!golfSummary) {
352
+ throw new Error('Invalid or empty golf summary data response.');
353
+ }
354
+ return golfSummary;
355
+ }
356
+ catch (error) {
357
+ throw new Error(`Error in getGolfSummary: ${error.message}`);
358
+ }
359
+ }
360
+ async getGolfScorecard(scorecardId) {
361
+ try {
362
+ const golfScorecard = await this.client.get(`${this.url.GOLF_SCORECARD_DETAIL}`, { params: { 'scorecard-ids': scorecardId } });
363
+ if (!golfScorecard) {
364
+ throw new Error('Invalid or empty golf scorecard data response.');
365
+ }
366
+ return golfScorecard;
367
+ }
368
+ catch (error) {
369
+ throw new Error(`Error in getGolfScorecard: ${error.message}`);
370
+ }
371
+ }
372
+ async getHeartRate(date = new Date()) {
373
+ try {
374
+ const dateString = (0, DateUtils_1.toDateString)(date);
375
+ const heartRate = await this.client.get(`${this.url.DAILY_HEART_RATE}`, { params: { date: dateString } });
376
+ return heartRate;
377
+ }
378
+ catch (error) {
379
+ throw new Error(`Error in getHeartRate: ${error.message}`);
380
+ }
381
+ }
382
+ async getCourses() {
383
+ try {
384
+ const coursesForUser = await this.client.get(`${this.url.COURSE_OWNER}`);
385
+ const courses_favorite = await this.client.get(`${this.url.COURSE_FAVORITE}`);
386
+ const course = [
387
+ ...coursesForUser.coursesForUser,
388
+ ...courses_favorite
389
+ ];
390
+ const uniqCourse = lodash_1.default.uniqBy(course, 'courseId');
391
+ return uniqCourse;
392
+ }
393
+ catch (error) {
394
+ throw new Error(`Error in getHeartRate: ${error.message}`);
395
+ }
396
+ }
397
+ async getCourse(course) {
398
+ try {
399
+ if (!course.courseId) {
400
+ throw new Error('Missing courseId');
401
+ }
402
+ const courseDetail = await this.client.get(`${this.url.COURSE(course.courseId)}`);
403
+ return courseDetail;
404
+ }
405
+ catch (error) {
406
+ throw new Error(`Error in getHeartRate: ${error.message}`);
407
+ }
408
+ }
409
+ async createCourse(course) {
410
+ try {
411
+ const createdCourse = await this.client.post(`${this.url.COURSE()}`, lodash_1.default.omit(course, [
412
+ 'courseId',
413
+ // 'description',
414
+ 'matchedToSegments',
415
+ 'userProfilePk',
416
+ 'userGroupPk',
417
+ 'firstName',
418
+ 'lastName',
419
+ 'displayName',
420
+ 'geoRoutePk',
421
+ 'sourcePk',
422
+ 'hasShareableEvent',
423
+ 'virtualPartnerId',
424
+ 'includeLaps',
425
+ 'speedMeterPerSecond',
426
+ 'createDate',
427
+ 'updateDate',
428
+ 'targetCoordinateSystem',
429
+ 'originalCoordinateSystem',
430
+ 'consumer',
431
+ 'elevationSource',
432
+ 'hasPaceBand',
433
+ 'hasPowerGuide',
434
+ 'favorite',
435
+ 'curatedCoursePk'
436
+ ]));
437
+ return createdCourse;
438
+ }
439
+ catch (error) {
440
+ throw new Error(`Error in getHeartRate: ${error.message}`);
441
+ }
442
+ }
443
+ async consenGrant() {
444
+ try {
445
+ const result = await this.client.post(`${this.url.CONSENT_GRANT}`, {
446
+ consentTypeId: 'DI_CONNECT_UPLOAD',
447
+ consentLocale: 'en-US',
448
+ consentVersion: '59'
449
+ });
450
+ return result;
451
+ }
452
+ catch (error) {
453
+ throw new Error(`Error in consenGrant: ${error.message}`);
454
+ }
455
+ }
233
456
  async get(url, data) {
234
457
  const response = await this.client.get(url, data);
235
458
  return response;
@@ -238,6 +461,10 @@ class GarminConnect {
238
461
  const response = await this.client.post(url, data, {});
239
462
  return response;
240
463
  }
464
+ async put(url, data) {
465
+ const response = await this.client.put(url, data, {});
466
+ return response;
467
+ }
241
468
  }
242
469
  exports.default = GarminConnect;
243
470
  //# sourceMappingURL=GarminConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GarminConnect.js","sourceRoot":"","sources":["../../src/garmin/GarminConnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GarminConnect.js","sourceRoot":"","sources":["../../src/garmin/GarminConnect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { HttpClient } from '../common/HttpClient';
2
+ import { ExportFileTypeValue, GarminDomain, ICalendar, ICountActivities, IGarminTokens, IOauth1Token, IOauth2Token, IScheduleWorkout, ISocialProfile, IUserSettings, IWorkout, IWorkoutDetail, UploadFileTypeTypeValue } from './types';
3
+ import Running from './workouts/Running';
4
+ import { SleepData } from './types/sleep';
5
+ import { ActivitySubType, ActivityType, GCActivityId, IActivity } from './types/activity';
6
+ export type EventCallback<T> = (data: T) => void;
7
+ export interface GCCredentials {
8
+ username: string;
9
+ password: string;
10
+ }
11
+ export interface Listeners {
12
+ [event: string]: EventCallback<any>[];
13
+ }
14
+ export declare enum Event {
15
+ sessionChange = "sessionChange"
16
+ }
17
+ export interface Session {
18
+ }
19
+ export default class GarminConnect {
20
+ client: HttpClient;
21
+ private _userHash;
22
+ private credentials;
23
+ private listeners;
24
+ private url;
25
+ constructor(credentials: GCCredentials, domain?: GarminDomain);
26
+ login(username?: string, password?: string): Promise<GarminConnect>;
27
+ exportTokenToFile(dirPath: string): Promise<void>;
28
+ loadTokenByFile(dirPath: string): Promise<void>;
29
+ exportToken(): IGarminTokens;
30
+ loadToken(oauth1: IOauth1Token, oauth2: IOauth2Token): void;
31
+ getUserSettings(): Promise<IUserSettings>;
32
+ getUserProfile(): Promise<ISocialProfile>;
33
+ getActivities(start?: number, limit?: number, activityType?: ActivityType, subActivityType?: ActivitySubType): Promise<IActivity[]>;
34
+ getActivity(activity: {
35
+ activityId: GCActivityId;
36
+ }): Promise<IActivity>;
37
+ countActivities(): Promise<ICountActivities>;
38
+ downloadWellnessData(date: Date, dir: string): Promise<void>;
39
+ downloadOriginalActivityData(activity: {
40
+ activityId: GCActivityId;
41
+ }, dir: string, type?: ExportFileTypeValue): Promise<void>;
42
+ uploadActivity(file: string, format?: UploadFileTypeTypeValue): Promise<unknown>;
43
+ deleteActivity(activity: {
44
+ activityId: GCActivityId;
45
+ }): Promise<void>;
46
+ getWorkouts(start: number, limit: number): Promise<IWorkout[]>;
47
+ getWorkoutDetail(workout: {
48
+ workoutId: string;
49
+ }): Promise<IWorkoutDetail>;
50
+ addWorkout(workout: IWorkoutDetail | Running): Promise<IWorkoutDetail>;
51
+ addRunningWorkout(name: string, meters: number, description: string): Promise<IWorkoutDetail>;
52
+ deleteWorkout(workout: {
53
+ workoutId: string;
54
+ }): Promise<unknown>;
55
+ scheduleWorkout(workout: {
56
+ workoutId: string;
57
+ }, date?: Date): Promise<IScheduleWorkout>;
58
+ getCalendar(year?: number, month?: number): Promise<ICalendar>;
59
+ getSteps(date?: Date): Promise<number>;
60
+ getSleepData(date?: Date): Promise<SleepData>;
61
+ getSleepDuration(date?: Date): Promise<{
62
+ hours: number;
63
+ minutes: number;
64
+ }>;
65
+ getDailyWeightData(date?: Date): Promise<WeightData>;
66
+ getDailyWeightInPounds(date?: Date): Promise<number>;
67
+ getDailyHydration(date?: Date): Promise<number>;
68
+ updateWeight(date: Date | undefined, lbs: number, timezone: string): Promise<UpdateWeight>;
69
+ updateHydrationLogOunces(date: Date | undefined, valueInOz: number): Promise<WaterIntake>;
70
+ getGolfSummary(): Promise<GolfSummary>;
71
+ getGolfScorecard(scorecardId: number): Promise<GolfScorecard>;
72
+ getHeartRate(date?: Date): Promise<HeartRate>;
73
+ get<T>(url: string, data?: any): Promise<T>;
74
+ post<T>(url: string, data: any): Promise<T>;
75
+ put<T>(url: string, data: any): Promise<T>;
76
+ }