@gooin/garmin-connect 1.6.8 → 1.6.10

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 (63) hide show
  1. package/dist/common/HttpClient.d.ts +37 -37
  2. package/dist/common/HttpClient.js +345 -332
  3. package/dist/common/HttpClient.js.map +1 -1
  4. package/dist/garmin/GarminConnect.d.ts +84 -83
  5. package/dist/garmin/GarminConnect.js +470 -469
  6. package/dist/garmin/GarminConnect.js.map +1 -1
  7. package/dist/garmin/UrlClass.d.ts +43 -43
  8. package/dist/garmin/UrlClass.js +124 -124
  9. package/dist/garmin/common/DateUtils.d.ts +6 -6
  10. package/dist/garmin/common/DateUtils.js +37 -37
  11. package/dist/garmin/common/HydrationUtils.d.ts +2 -2
  12. package/dist/garmin/common/HydrationUtils.js +15 -15
  13. package/dist/garmin/common/WeightUtils.d.ts +1 -1
  14. package/dist/garmin/common/WeightUtils.js +8 -8
  15. package/dist/garmin/types/activity.d.ts +408 -408
  16. package/dist/garmin/types/activity.js +26 -26
  17. package/dist/garmin/types/course.d.ts +146 -146
  18. package/dist/garmin/types/course.js +2 -2
  19. package/dist/garmin/types/golf.d.ts +67 -67
  20. package/dist/garmin/types/golf.js +2 -2
  21. package/dist/garmin/types/heartrate.d.ts +22 -22
  22. package/dist/garmin/types/heartrate.js +1 -1
  23. package/dist/garmin/types/hydration.d.ts +28 -28
  24. package/dist/garmin/types/hydration.js +1 -1
  25. package/dist/garmin/types/index.d.ts +541 -541
  26. package/dist/garmin/types/index.js +16 -16
  27. package/dist/garmin/types/sleep.d.ts +120 -120
  28. package/dist/garmin/types/sleep.js +2 -2
  29. package/dist/garmin/types/weight.d.ts +42 -42
  30. package/dist/garmin/types/weight.js +2 -2
  31. package/dist/garmin/workouts/Running.d.ts +16 -16
  32. package/dist/garmin/workouts/Running.js +46 -46
  33. package/dist/garmin/workouts/templates/RunningTemplate.d.ts +68 -68
  34. package/dist/garmin/workouts/templates/RunningTemplate.js +77 -77
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.js +8 -8
  37. package/dist/utils.d.ts +3 -3
  38. package/dist/utils.js +36 -36
  39. package/package.json +1 -1
  40. package/dist/common/CFClient.d.ts +0 -22
  41. package/dist/common/CFClient.js +0 -137
  42. package/dist/common/CFClient.js.map +0 -1
  43. package/dist/common/DateUtils.d.ts +0 -1
  44. package/dist/common/DateUtils.js +0 -11
  45. package/dist/common/DateUtils.js.map +0 -1
  46. package/dist/garmin/GarminConnect copy.d.ts +0 -76
  47. package/dist/garmin/GarminConnect copy.js +0 -397
  48. package/dist/garmin/GarminConnect copy.js.map +0 -1
  49. package/dist/garmin/GarminConnect_new.d.ts +0 -76
  50. package/dist/garmin/GarminConnect_new.js +0 -397
  51. package/dist/garmin/GarminConnect_new.js.map +0 -1
  52. package/dist/garmin/GarminConnect_old.d.ts +0 -75
  53. package/dist/garmin/GarminConnect_old.js +0 -386
  54. package/dist/garmin/GarminConnect_old.js.map +0 -1
  55. package/dist/garmin/Urls copy.d.ts +0 -66
  56. package/dist/garmin/Urls copy.js +0 -109
  57. package/dist/garmin/Urls copy.js.map +0 -1
  58. package/dist/garmin/Urls.d.ts +0 -64
  59. package/dist/garmin/Urls.js +0 -104
  60. package/dist/garmin/Urls.js.map +0 -1
  61. package/dist/garmin/types.d.ts +0 -927
  62. package/dist/garmin/types.js +0 -17
  63. package/dist/garmin/types.js.map +0 -1
@@ -1,78 +1,78 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var SportTypeKey;
4
- (function (SportTypeKey) {
5
- SportTypeKey["running"] = "running";
6
- })(SportTypeKey || (SportTypeKey = {}));
7
- var WorkoutStepType;
8
- (function (WorkoutStepType) {
9
- WorkoutStepType["executableStepDTO"] = "ExecutableStepDTO";
10
- })(WorkoutStepType || (WorkoutStepType = {}));
11
- var StepTypeKey;
12
- (function (StepTypeKey) {
13
- StepTypeKey["interval"] = "interval";
14
- })(StepTypeKey || (StepTypeKey = {}));
15
- var ConditionTypeKey;
16
- (function (ConditionTypeKey) {
17
- ConditionTypeKey["distance"] = "distance";
18
- })(ConditionTypeKey || (ConditionTypeKey = {}));
19
- var UnitKey;
20
- (function (UnitKey) {
21
- UnitKey["kilometer"] = "kilometer";
22
- })(UnitKey || (UnitKey = {}));
23
- var WorkoutTargetTypeKey;
24
- (function (WorkoutTargetTypeKey) {
25
- WorkoutTargetTypeKey["noTarget"] = "no.target";
26
- })(WorkoutTargetTypeKey || (WorkoutTargetTypeKey = {}));
27
- function default_1() {
28
- return {
29
- description: undefined,
30
- workoutId: undefined,
31
- sportType: {
32
- sportTypeId: 1,
33
- sportTypeKey: SportTypeKey.running
34
- },
35
- workoutName: '',
36
- workoutSegments: [
37
- {
38
- segmentOrder: 1,
39
- sportType: {
40
- sportTypeId: 1,
41
- sportTypeKey: SportTypeKey.running
42
- },
43
- workoutSteps: [
44
- {
45
- type: WorkoutStepType.executableStepDTO,
46
- stepId: null,
47
- stepOrder: 1,
48
- childStepId: null,
49
- description: null,
50
- stepType: {
51
- stepTypeId: 3,
52
- stepTypeKey: StepTypeKey.interval
53
- },
54
- endCondition: {
55
- conditionTypeKey: ConditionTypeKey.distance,
56
- conditionTypeId: 3
57
- },
58
- preferredEndConditionUnit: {
59
- unitKey: UnitKey.kilometer
60
- },
61
- endConditionValue: null,
62
- endConditionCompare: null,
63
- endConditionZone: null,
64
- targetType: {
65
- workoutTargetTypeId: 1,
66
- workoutTargetTypeKey: WorkoutTargetTypeKey.noTarget
67
- },
68
- targetValueOne: null,
69
- targetValueTwo: null,
70
- zoneNumber: null
71
- }
72
- ]
73
- }
74
- ]
75
- };
76
- }
77
- exports.default = default_1;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SportTypeKey;
4
+ (function (SportTypeKey) {
5
+ SportTypeKey["running"] = "running";
6
+ })(SportTypeKey || (SportTypeKey = {}));
7
+ var WorkoutStepType;
8
+ (function (WorkoutStepType) {
9
+ WorkoutStepType["executableStepDTO"] = "ExecutableStepDTO";
10
+ })(WorkoutStepType || (WorkoutStepType = {}));
11
+ var StepTypeKey;
12
+ (function (StepTypeKey) {
13
+ StepTypeKey["interval"] = "interval";
14
+ })(StepTypeKey || (StepTypeKey = {}));
15
+ var ConditionTypeKey;
16
+ (function (ConditionTypeKey) {
17
+ ConditionTypeKey["distance"] = "distance";
18
+ })(ConditionTypeKey || (ConditionTypeKey = {}));
19
+ var UnitKey;
20
+ (function (UnitKey) {
21
+ UnitKey["kilometer"] = "kilometer";
22
+ })(UnitKey || (UnitKey = {}));
23
+ var WorkoutTargetTypeKey;
24
+ (function (WorkoutTargetTypeKey) {
25
+ WorkoutTargetTypeKey["noTarget"] = "no.target";
26
+ })(WorkoutTargetTypeKey || (WorkoutTargetTypeKey = {}));
27
+ function default_1() {
28
+ return {
29
+ description: undefined,
30
+ workoutId: undefined,
31
+ sportType: {
32
+ sportTypeId: 1,
33
+ sportTypeKey: SportTypeKey.running
34
+ },
35
+ workoutName: '',
36
+ workoutSegments: [
37
+ {
38
+ segmentOrder: 1,
39
+ sportType: {
40
+ sportTypeId: 1,
41
+ sportTypeKey: SportTypeKey.running
42
+ },
43
+ workoutSteps: [
44
+ {
45
+ type: WorkoutStepType.executableStepDTO,
46
+ stepId: null,
47
+ stepOrder: 1,
48
+ childStepId: null,
49
+ description: null,
50
+ stepType: {
51
+ stepTypeId: 3,
52
+ stepTypeKey: StepTypeKey.interval
53
+ },
54
+ endCondition: {
55
+ conditionTypeKey: ConditionTypeKey.distance,
56
+ conditionTypeId: 3
57
+ },
58
+ preferredEndConditionUnit: {
59
+ unitKey: UnitKey.kilometer
60
+ },
61
+ endConditionValue: null,
62
+ endConditionCompare: null,
63
+ endConditionZone: null,
64
+ targetType: {
65
+ workoutTargetTypeId: 1,
66
+ workoutTargetTypeKey: WorkoutTargetTypeKey.noTarget
67
+ },
68
+ targetValueOne: null,
69
+ targetValueTwo: null,
70
+ zoneNumber: null
71
+ }
72
+ ]
73
+ }
74
+ ]
75
+ };
76
+ }
77
+ exports.default = default_1;
78
78
  //# sourceMappingURL=RunningTemplate.js.map
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { default as GarminConnect } from './garmin/GarminConnect';
1
+ export { default as GarminConnect } from './garmin/GarminConnect';
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GarminConnect = void 0;
7
- var GarminConnect_1 = require("./garmin/GarminConnect");
8
- Object.defineProperty(exports, "GarminConnect", { enumerable: true, get: function () { return __importDefault(GarminConnect_1).default; } });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GarminConnect = void 0;
7
+ var GarminConnect_1 = require("./garmin/GarminConnect");
8
+ Object.defineProperty(exports, "GarminConnect", { enumerable: true, get: function () { return __importDefault(GarminConnect_1).default; } });
9
9
  //# sourceMappingURL=index.js.map
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export declare const checkIsDirectory: (filePath: string) => Promise<boolean>;
2
- export declare const createDirectory: (directoryPath: string) => Promise<void>;
3
- export declare const writeToFile: (filePath: string, data: any) => Promise<void>;
1
+ export declare const checkIsDirectory: (filePath: string) => Promise<boolean>;
2
+ export declare const createDirectory: (directoryPath: string) => Promise<void>;
3
+ export declare const writeToFile: (filePath: string, data: any) => Promise<void>;
package/dist/utils.js CHANGED
@@ -1,37 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeToFile = exports.createDirectory = exports.checkIsDirectory = void 0;
4
- const node_fs_1 = require("node:fs");
5
- const checkIsDirectory = async (filePath) => {
6
- try {
7
- const stats = await node_fs_1.promises.lstat(filePath);
8
- return stats.isDirectory();
9
- }
10
- catch (error) {
11
- if (error.code === 'ENOENT') {
12
- // 文件或目录不存在
13
- return false;
14
- }
15
- throw error;
16
- }
17
- };
18
- exports.checkIsDirectory = checkIsDirectory;
19
- const createDirectory = async (directoryPath) => {
20
- try {
21
- await node_fs_1.promises.mkdir(directoryPath, { recursive: true });
22
- }
23
- catch (error) {
24
- throw error;
25
- }
26
- };
27
- exports.createDirectory = createDirectory;
28
- const writeToFile = async (filePath, data) => {
29
- try {
30
- await node_fs_1.promises.writeFile(filePath, data);
31
- }
32
- catch (error) {
33
- throw error;
34
- }
35
- };
36
- exports.writeToFile = writeToFile;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeToFile = exports.createDirectory = exports.checkIsDirectory = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const checkIsDirectory = async (filePath) => {
6
+ try {
7
+ const stats = await node_fs_1.promises.lstat(filePath);
8
+ return stats.isDirectory();
9
+ }
10
+ catch (error) {
11
+ if (error.code === 'ENOENT') {
12
+ // 文件或目录不存在
13
+ return false;
14
+ }
15
+ throw error;
16
+ }
17
+ };
18
+ exports.checkIsDirectory = checkIsDirectory;
19
+ const createDirectory = async (directoryPath) => {
20
+ try {
21
+ await node_fs_1.promises.mkdir(directoryPath, { recursive: true });
22
+ }
23
+ catch (error) {
24
+ throw error;
25
+ }
26
+ };
27
+ exports.createDirectory = createDirectory;
28
+ const writeToFile = async (filePath, data) => {
29
+ try {
30
+ await node_fs_1.promises.writeFile(filePath, data);
31
+ }
32
+ catch (error) {
33
+ throw error;
34
+ }
35
+ };
36
+ exports.writeToFile = writeToFile;
37
37
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooin/garmin-connect",
3
- "version": "1.6.8",
3
+ "version": "1.6.10",
4
4
  "description": "Makes it simple to interface with Garmin Connect to get or set any data point",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,22 +0,0 @@
1
- import { Options, Response } from 'cloudscraper';
2
- import { Headers } from 'request';
3
- import { CookieJar as ToughCookieJar } from 'tough-cookie';
4
- export default class CFClient {
5
- private cookies;
6
- private headers;
7
- constructor(headers: Headers);
8
- serializeCookies(): ToughCookieJar.Serialized | undefined;
9
- importCookies(cookies: ToughCookieJar.Serialized): void;
10
- scraper(options: Options): Promise<Response>;
11
- /**
12
- * @param {string} downloadDir
13
- * @param {string} url
14
- * @param {*} data
15
- */
16
- downloadBlob(downloadDir: string | undefined, url: string, data?: any): Promise<unknown>;
17
- get<T>(url: string, data?: any): Promise<T>;
18
- post<T>(url: string, data: any): Promise<T>;
19
- delete<T>(url: string): Promise<T>;
20
- postJson<T>(url: string, data: any, headers: Headers): Promise<T>;
21
- putJson<T>(url: string, data: any): Promise<T>;
22
- }
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const cloudscraper_1 = __importDefault(require("cloudscraper"));
7
- const request_1 = __importDefault(require("request"));
8
- const tough_cookie_1 = require("tough-cookie");
9
- const qs_1 = __importDefault(require("qs"));
10
- const fs_1 = __importDefault(require("fs"));
11
- const path_1 = __importDefault(require("path"));
12
- const asJson = (body) => {
13
- try {
14
- const jsonBody = JSON.parse(body);
15
- return jsonBody;
16
- }
17
- catch (e) {
18
- // Do nothing
19
- }
20
- return body;
21
- };
22
- class CFClient {
23
- constructor(headers) {
24
- this.cookies = request_1.default.jar();
25
- this.headers = headers || {};
26
- }
27
- serializeCookies() {
28
- var _a;
29
- return (_a = this.cookies._jar) === null || _a === void 0 ? void 0 : _a.serializeSync();
30
- }
31
- importCookies(cookies) {
32
- const deserialized = tough_cookie_1.CookieJar.deserializeSync(cookies);
33
- this.cookies = request_1.default.jar();
34
- this.cookies._jar = deserialized;
35
- }
36
- async scraper(options) {
37
- return new Promise((resolve) => {
38
- (0, cloudscraper_1.default)(options, (err, res) => {
39
- resolve(res);
40
- });
41
- });
42
- }
43
- /**
44
- * @param {string} downloadDir
45
- * @param {string} url
46
- * @param {*} data
47
- */
48
- async downloadBlob(downloadDir = '', url, data) {
49
- const queryData = qs_1.default.stringify(data);
50
- const queryDataString = queryData ? `?${queryData}` : '';
51
- const options = {
52
- method: 'GET',
53
- jar: this.cookies,
54
- uri: `${url}${queryDataString}`,
55
- headers: this.headers,
56
- encoding: null
57
- };
58
- return new Promise((resolve) => {
59
- (0, cloudscraper_1.default)(options, async (err, response, body) => {
60
- const { headers } = response || {};
61
- const { 'content-disposition': contentDisposition } = headers || {};
62
- const downloadDirNormalized = path_1.default.normalize(downloadDir);
63
- if (contentDisposition) {
64
- const defaultName = `garmin_connect_download_${Date.now()}`;
65
- const [, fileName = defaultName] = contentDisposition.match(/filename="?([^"]+)"?/) || [];
66
- const filePath = path_1.default.resolve(downloadDirNormalized, fileName);
67
- fs_1.default.writeFileSync(filePath, body);
68
- resolve(filePath);
69
- }
70
- });
71
- });
72
- }
73
- async get(url, data) {
74
- const queryData = qs_1.default.stringify(data);
75
- const queryDataString = queryData ? `?${queryData}` : '';
76
- const options = {
77
- method: 'GET',
78
- jar: this.cookies,
79
- uri: `${url}${queryDataString}`,
80
- headers: this.headers
81
- };
82
- const { body } = await this.scraper(options);
83
- return asJson(body);
84
- }
85
- async post(url, data) {
86
- const options = {
87
- method: 'POST',
88
- uri: url,
89
- jar: this.cookies,
90
- formData: data,
91
- headers: this.headers
92
- };
93
- const { body } = await this.scraper(options);
94
- return asJson(body);
95
- }
96
- async delete(url) {
97
- const options = {
98
- method: 'DELETE',
99
- uri: url,
100
- jar: this.cookies,
101
- headers: this.headers
102
- };
103
- const { body } = await this.scraper(options);
104
- return asJson(body);
105
- }
106
- async postJson(url, data, headers) {
107
- const options = {
108
- method: 'POST',
109
- uri: url,
110
- jar: this.cookies,
111
- json: data,
112
- headers: {
113
- ...this.headers,
114
- ...headers,
115
- 'Content-Type': 'application/json'
116
- }
117
- };
118
- const { body } = await this.scraper(options);
119
- return asJson(body);
120
- }
121
- async putJson(url, data) {
122
- const options = {
123
- method: 'PUT',
124
- uri: url,
125
- jar: this.cookies,
126
- json: data,
127
- headers: {
128
- ...this.headers,
129
- 'Content-Type': 'application/json'
130
- }
131
- };
132
- const { body } = await this.scraper(options);
133
- return asJson(body);
134
- }
135
- }
136
- exports.default = CFClient;
137
- //# sourceMappingURL=CFClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CFClient.js","sourceRoot":"","sources":["../../src/common/CFClient.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function toDateString(date: Date): string;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDateString = void 0;
4
- function toDateString(date) {
5
- const offset = date.getTimezoneOffset();
6
- const offsetDate = new Date(date.getTime() - offset * 60 * 1000);
7
- const [dateString] = offsetDate.toISOString().split('T');
8
- return dateString;
9
- }
10
- exports.toDateString = toDateString;
11
- //# sourceMappingURL=DateUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../src/common/DateUtils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,IAAU;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC;AACtB,CAAC;AALD,oCAKC"}
@@ -1,76 +0,0 @@
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
- }