suunto-api-wrapper 1.1.2 → 1.2.2

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.
package/dist/index.mjs CHANGED
@@ -248,7 +248,143 @@ function sessionTokenFrom(response) {
248
248
  return response.sessionkey;
249
249
  }
250
250
 
251
+ // src/workouts/types.ts
252
+ var SuuntoActivityType = /* @__PURE__ */ ((SuuntoActivityType2) => {
253
+ SuuntoActivityType2[SuuntoActivityType2["WALKING"] = 0] = "WALKING";
254
+ SuuntoActivityType2[SuuntoActivityType2["RUNNING"] = 1] = "RUNNING";
255
+ SuuntoActivityType2[SuuntoActivityType2["CYCLING"] = 2] = "CYCLING";
256
+ SuuntoActivityType2[SuuntoActivityType2["CROSS_COUNTRY_SKIING"] = 3] = "CROSS_COUNTRY_SKIING";
257
+ SuuntoActivityType2[SuuntoActivityType2["OTHER_1"] = 4] = "OTHER_1";
258
+ SuuntoActivityType2[SuuntoActivityType2["OTHER_2"] = 5] = "OTHER_2";
259
+ SuuntoActivityType2[SuuntoActivityType2["OTHER_3"] = 6] = "OTHER_3";
260
+ SuuntoActivityType2[SuuntoActivityType2["OTHER_4"] = 7] = "OTHER_4";
261
+ SuuntoActivityType2[SuuntoActivityType2["OTHER_5"] = 8] = "OTHER_5";
262
+ SuuntoActivityType2[SuuntoActivityType2["OTHER_6"] = 9] = "OTHER_6";
263
+ SuuntoActivityType2[SuuntoActivityType2["MOUNTAIN_BIKING"] = 10] = "MOUNTAIN_BIKING";
264
+ SuuntoActivityType2[SuuntoActivityType2["HIKING"] = 11] = "HIKING";
265
+ SuuntoActivityType2[SuuntoActivityType2["ROLLER_SKATING"] = 12] = "ROLLER_SKATING";
266
+ SuuntoActivityType2[SuuntoActivityType2["DOWNHILL_SKIING"] = 13] = "DOWNHILL_SKIING";
267
+ SuuntoActivityType2[SuuntoActivityType2["PADDLING"] = 14] = "PADDLING";
268
+ SuuntoActivityType2[SuuntoActivityType2["ROWING"] = 15] = "ROWING";
269
+ SuuntoActivityType2[SuuntoActivityType2["GOLF"] = 16] = "GOLF";
270
+ SuuntoActivityType2[SuuntoActivityType2["INDOOR"] = 17] = "INDOOR";
271
+ SuuntoActivityType2[SuuntoActivityType2["PARKOUR"] = 18] = "PARKOUR";
272
+ SuuntoActivityType2[SuuntoActivityType2["BALLGAMES"] = 19] = "BALLGAMES";
273
+ SuuntoActivityType2[SuuntoActivityType2["OUTDOOR_GYM"] = 20] = "OUTDOOR_GYM";
274
+ SuuntoActivityType2[SuuntoActivityType2["SWIMMING"] = 21] = "SWIMMING";
275
+ SuuntoActivityType2[SuuntoActivityType2["TRAIL_RUNNING"] = 22] = "TRAIL_RUNNING";
276
+ SuuntoActivityType2[SuuntoActivityType2["GYM"] = 23] = "GYM";
277
+ SuuntoActivityType2[SuuntoActivityType2["NORDIC_WALKING"] = 24] = "NORDIC_WALKING";
278
+ SuuntoActivityType2[SuuntoActivityType2["HORSEBACK_RIDING"] = 25] = "HORSEBACK_RIDING";
279
+ SuuntoActivityType2[SuuntoActivityType2["MOTOR_SPORTS"] = 26] = "MOTOR_SPORTS";
280
+ SuuntoActivityType2[SuuntoActivityType2["SKATEBOARDING"] = 27] = "SKATEBOARDING";
281
+ SuuntoActivityType2[SuuntoActivityType2["WATER_SPORTS"] = 28] = "WATER_SPORTS";
282
+ SuuntoActivityType2[SuuntoActivityType2["CLIMBING"] = 29] = "CLIMBING";
283
+ SuuntoActivityType2[SuuntoActivityType2["SNOWBOARDING"] = 30] = "SNOWBOARDING";
284
+ SuuntoActivityType2[SuuntoActivityType2["SKI_TOURING"] = 31] = "SKI_TOURING";
285
+ SuuntoActivityType2[SuuntoActivityType2["FITNESS_CLASS"] = 32] = "FITNESS_CLASS";
286
+ SuuntoActivityType2[SuuntoActivityType2["SOCCER"] = 33] = "SOCCER";
287
+ SuuntoActivityType2[SuuntoActivityType2["TENNIS"] = 34] = "TENNIS";
288
+ SuuntoActivityType2[SuuntoActivityType2["BASKETBALL"] = 35] = "BASKETBALL";
289
+ SuuntoActivityType2[SuuntoActivityType2["BADMINTON"] = 36] = "BADMINTON";
290
+ SuuntoActivityType2[SuuntoActivityType2["BASEBALL"] = 37] = "BASEBALL";
291
+ SuuntoActivityType2[SuuntoActivityType2["VOLLEYBALL"] = 38] = "VOLLEYBALL";
292
+ SuuntoActivityType2[SuuntoActivityType2["AMERICAN_FOOTBALL"] = 39] = "AMERICAN_FOOTBALL";
293
+ SuuntoActivityType2[SuuntoActivityType2["TABLE_TENNIS"] = 40] = "TABLE_TENNIS";
294
+ SuuntoActivityType2[SuuntoActivityType2["RACQUETBALL"] = 41] = "RACQUETBALL";
295
+ SuuntoActivityType2[SuuntoActivityType2["SQUASH"] = 42] = "SQUASH";
296
+ SuuntoActivityType2[SuuntoActivityType2["FLOORBALL"] = 43] = "FLOORBALL";
297
+ SuuntoActivityType2[SuuntoActivityType2["HANDBALL"] = 44] = "HANDBALL";
298
+ SuuntoActivityType2[SuuntoActivityType2["SOFTBALL"] = 45] = "SOFTBALL";
299
+ SuuntoActivityType2[SuuntoActivityType2["BOWLING"] = 46] = "BOWLING";
300
+ SuuntoActivityType2[SuuntoActivityType2["CRICKET"] = 47] = "CRICKET";
301
+ SuuntoActivityType2[SuuntoActivityType2["RUGBY"] = 48] = "RUGBY";
302
+ SuuntoActivityType2[SuuntoActivityType2["ICE_SKATING"] = 49] = "ICE_SKATING";
303
+ SuuntoActivityType2[SuuntoActivityType2["ICE_HOCKEY"] = 50] = "ICE_HOCKEY";
304
+ SuuntoActivityType2[SuuntoActivityType2["YOGA"] = 51] = "YOGA";
305
+ SuuntoActivityType2[SuuntoActivityType2["INDOOR_CYCLING"] = 52] = "INDOOR_CYCLING";
306
+ SuuntoActivityType2[SuuntoActivityType2["TREADMILL"] = 53] = "TREADMILL";
307
+ SuuntoActivityType2[SuuntoActivityType2["CROSSFIT"] = 54] = "CROSSFIT";
308
+ SuuntoActivityType2[SuuntoActivityType2["CROSSTRAINER"] = 55] = "CROSSTRAINER";
309
+ SuuntoActivityType2[SuuntoActivityType2["ROLLER_SKIING"] = 56] = "ROLLER_SKIING";
310
+ SuuntoActivityType2[SuuntoActivityType2["INDOOR_ROWING"] = 57] = "INDOOR_ROWING";
311
+ SuuntoActivityType2[SuuntoActivityType2["STRETCHING"] = 58] = "STRETCHING";
312
+ SuuntoActivityType2[SuuntoActivityType2["TRACK_AND_FIELD"] = 59] = "TRACK_AND_FIELD";
313
+ SuuntoActivityType2[SuuntoActivityType2["ORIENTEERING"] = 60] = "ORIENTEERING";
314
+ SuuntoActivityType2[SuuntoActivityType2["SUP"] = 61] = "SUP";
315
+ SuuntoActivityType2[SuuntoActivityType2["COMBAT_SPORTS"] = 62] = "COMBAT_SPORTS";
316
+ SuuntoActivityType2[SuuntoActivityType2["KETTLEBELL"] = 63] = "KETTLEBELL";
317
+ SuuntoActivityType2[SuuntoActivityType2["DANCING"] = 64] = "DANCING";
318
+ SuuntoActivityType2[SuuntoActivityType2["SNOWSHOEING"] = 65] = "SNOWSHOEING";
319
+ SuuntoActivityType2[SuuntoActivityType2["FRISBEE_GOLF"] = 66] = "FRISBEE_GOLF";
320
+ SuuntoActivityType2[SuuntoActivityType2["FUTSAL"] = 67] = "FUTSAL";
321
+ SuuntoActivityType2[SuuntoActivityType2["MULTISPORT"] = 68] = "MULTISPORT";
322
+ SuuntoActivityType2[SuuntoActivityType2["AEROBICS"] = 69] = "AEROBICS";
323
+ SuuntoActivityType2[SuuntoActivityType2["TREKKING"] = 70] = "TREKKING";
324
+ SuuntoActivityType2[SuuntoActivityType2["SAILING"] = 71] = "SAILING";
325
+ SuuntoActivityType2[SuuntoActivityType2["KAYAKING"] = 72] = "KAYAKING";
326
+ SuuntoActivityType2[SuuntoActivityType2["CIRCUIT_TRAINING"] = 73] = "CIRCUIT_TRAINING";
327
+ SuuntoActivityType2[SuuntoActivityType2["TRIATHLON"] = 74] = "TRIATHLON";
328
+ SuuntoActivityType2[SuuntoActivityType2["PADEL"] = 75] = "PADEL";
329
+ SuuntoActivityType2[SuuntoActivityType2["CHEERLEADING"] = 76] = "CHEERLEADING";
330
+ SuuntoActivityType2[SuuntoActivityType2["BOXING"] = 77] = "BOXING";
331
+ SuuntoActivityType2[SuuntoActivityType2["SCUBADIVING"] = 78] = "SCUBADIVING";
332
+ SuuntoActivityType2[SuuntoActivityType2["FREEDIVING"] = 79] = "FREEDIVING";
333
+ SuuntoActivityType2[SuuntoActivityType2["ADVENTURE_RACING"] = 80] = "ADVENTURE_RACING";
334
+ SuuntoActivityType2[SuuntoActivityType2["GYMNASTICS"] = 81] = "GYMNASTICS";
335
+ SuuntoActivityType2[SuuntoActivityType2["CANOEING"] = 82] = "CANOEING";
336
+ SuuntoActivityType2[SuuntoActivityType2["MOUNTAINEERING"] = 83] = "MOUNTAINEERING";
337
+ SuuntoActivityType2[SuuntoActivityType2["TELEMARKSKIING"] = 84] = "TELEMARKSKIING";
338
+ SuuntoActivityType2[SuuntoActivityType2["OPENWATER_SWIMMING"] = 85] = "OPENWATER_SWIMMING";
339
+ SuuntoActivityType2[SuuntoActivityType2["WINDSURFING"] = 86] = "WINDSURFING";
340
+ SuuntoActivityType2[SuuntoActivityType2["KITESURFING_KITING"] = 87] = "KITESURFING_KITING";
341
+ SuuntoActivityType2[SuuntoActivityType2["PARAGLIDING"] = 88] = "PARAGLIDING";
342
+ SuuntoActivityType2[SuuntoActivityType2["SNORKELING"] = 90] = "SNORKELING";
343
+ SuuntoActivityType2[SuuntoActivityType2["SURFING"] = 91] = "SURFING";
344
+ SuuntoActivityType2[SuuntoActivityType2["SWIMRUN"] = 92] = "SWIMRUN";
345
+ SuuntoActivityType2[SuuntoActivityType2["DUATHLON"] = 93] = "DUATHLON";
346
+ SuuntoActivityType2[SuuntoActivityType2["AQUATHLON"] = 94] = "AQUATHLON";
347
+ SuuntoActivityType2[SuuntoActivityType2["OBSTACLE_RACING"] = 95] = "OBSTACLE_RACING";
348
+ SuuntoActivityType2[SuuntoActivityType2["FISHING"] = 96] = "FISHING";
349
+ SuuntoActivityType2[SuuntoActivityType2["HUNTING"] = 97] = "HUNTING";
350
+ SuuntoActivityType2[SuuntoActivityType2["GRAVEL_CYCLING"] = 99] = "GRAVEL_CYCLING";
351
+ SuuntoActivityType2[SuuntoActivityType2["MERMAIDING"] = 100] = "MERMAIDING";
352
+ SuuntoActivityType2[SuuntoActivityType2["SPEARFISHING"] = 101] = "SPEARFISHING";
353
+ SuuntoActivityType2[SuuntoActivityType2["JUMP_ROPE"] = 102] = "JUMP_ROPE";
354
+ SuuntoActivityType2[SuuntoActivityType2["TRACK_RUNNING"] = 103] = "TRACK_RUNNING";
355
+ SuuntoActivityType2[SuuntoActivityType2["CALISTHENICS"] = 104] = "CALISTHENICS";
356
+ SuuntoActivityType2[SuuntoActivityType2["E_BIKING"] = 105] = "E_BIKING";
357
+ SuuntoActivityType2[SuuntoActivityType2["E_MTB"] = 106] = "E_MTB";
358
+ SuuntoActivityType2[SuuntoActivityType2["BACKCOUNTRY_SKIING"] = 107] = "BACKCOUNTRY_SKIING";
359
+ SuuntoActivityType2[SuuntoActivityType2["WHEELCHAIR"] = 108] = "WHEELCHAIR";
360
+ SuuntoActivityType2[SuuntoActivityType2["HAND_CYCLING"] = 109] = "HAND_CYCLING";
361
+ SuuntoActivityType2[SuuntoActivityType2["SPLIT_BOARDING"] = 110] = "SPLIT_BOARDING";
362
+ SuuntoActivityType2[SuuntoActivityType2["BIATHLON"] = 111] = "BIATHLON";
363
+ SuuntoActivityType2[SuuntoActivityType2["MEDITATION"] = 112] = "MEDITATION";
364
+ SuuntoActivityType2[SuuntoActivityType2["FIELD_HOCKEY"] = 113] = "FIELD_HOCKEY";
365
+ SuuntoActivityType2[SuuntoActivityType2["CYCLOCROSS"] = 114] = "CYCLOCROSS";
366
+ SuuntoActivityType2[SuuntoActivityType2["VERTICAL_RUN"] = 115] = "VERTICAL_RUN";
367
+ SuuntoActivityType2[SuuntoActivityType2["SKI_MOUNTAINEERING"] = 116] = "SKI_MOUNTAINEERING";
368
+ SuuntoActivityType2[SuuntoActivityType2["SKATE_SKIING"] = 117] = "SKATE_SKIING";
369
+ SuuntoActivityType2[SuuntoActivityType2["CLASSIC_SKIING"] = 118] = "CLASSIC_SKIING";
370
+ SuuntoActivityType2[SuuntoActivityType2["CHORES"] = 119] = "CHORES";
371
+ SuuntoActivityType2[SuuntoActivityType2["PILATES"] = 120] = "PILATES";
372
+ SuuntoActivityType2[SuuntoActivityType2["NEW_YOGA"] = 121] = "NEW_YOGA";
373
+ return SuuntoActivityType2;
374
+ })(SuuntoActivityType || {});
375
+
251
376
  // src/workouts/index.ts
377
+ var DEFAULT_WORKOUT_EXTENSIONS = [
378
+ "SummaryExtension" /* Summary */,
379
+ "CompetitionHeaderExtension" /* CompetitionHeader */
380
+ ];
381
+ var DEFAULT_WORKOUT_ADDITIONAL_DATA = [
382
+ "achievements" /* Achievements */,
383
+ "photos" /* Photos */,
384
+ "videos" /* Videos */,
385
+ "comments" /* Comments */,
386
+ "user_reacted" /* UserReacted */
387
+ ];
252
388
  async function getWorkouts(client, username, params = {}) {
253
389
  const { limit = 40, sortonst = true } = params;
254
390
  const res = await client.get(
@@ -268,6 +404,44 @@ async function getOwnWorkouts(client, params = {}) {
268
404
  );
269
405
  return res.data;
270
406
  }
407
+ async function getWorkout(client, username, workoutKey, params = {}) {
408
+ const {
409
+ extensions = DEFAULT_WORKOUT_EXTENSIONS,
410
+ additionalData = DEFAULT_WORKOUT_ADDITIONAL_DATA
411
+ } = params;
412
+ const res = await client.get(
413
+ `/apiserver/v2/workouts/${encodeURIComponent(username)}/${encodeURIComponent(workoutKey)}/combined`,
414
+ {
415
+ query: {
416
+ extensions: extensions.join(","),
417
+ additionalData: additionalData.join(",")
418
+ }
419
+ }
420
+ );
421
+ return res.data;
422
+ }
423
+ async function getWorkoutsWithin(client, params) {
424
+ const { lowerLat, lowerLng, upperLat, upperLng, limit = 50 } = params;
425
+ const res = await client.get(
426
+ "/apiserver/v1/workouts/public/within",
427
+ {
428
+ query: {
429
+ lowerlat: lowerLat,
430
+ lowerlng: lowerLng,
431
+ upperlat: upperLat,
432
+ upperlng: upperLng,
433
+ limit
434
+ }
435
+ }
436
+ );
437
+ return res.data;
438
+ }
439
+ async function getWorkoutStats(client, username) {
440
+ const res = await client.get(
441
+ `/apiserver/v1/workouts/${encodeURIComponent(username)}/stats`
442
+ );
443
+ return res.data;
444
+ }
271
445
  var WorkoutsResource = class {
272
446
  constructor(client) {
273
447
  this.client = client;
@@ -280,6 +454,24 @@ var WorkoutsResource = class {
280
454
  public(username, params) {
281
455
  return getWorkouts(this.client, username, params);
282
456
  }
457
+ /**
458
+ * A single workout by username and workout key. Works for any public workout
459
+ * and, when the client is authenticated as the owner, for private ones too.
460
+ */
461
+ byKey(username, workoutKey, params) {
462
+ return getWorkout(this.client, username, workoutKey, params);
463
+ }
464
+ /**
465
+ * Aggregated workout stats per activity for the given user. Works
466
+ * unauthenticated.
467
+ */
468
+ stats(username) {
469
+ return getWorkoutStats(this.client, username);
470
+ }
471
+ /** Public workouts whose center falls inside a geographic bounding box. */
472
+ within(params) {
473
+ return getWorkoutsWithin(this.client, params);
474
+ }
283
475
  };
284
476
 
285
477
  // src/users/index.ts
@@ -374,6 +566,7 @@ export {
374
566
  HttpClient,
375
567
  HttpError,
376
568
  SPORTS_TRACKER_API,
569
+ SuuntoActivityType,
377
570
  SuuntoClient,
378
571
  UsersResource,
379
572
  WorkoutsResource,
@@ -381,7 +574,9 @@ export {
381
574
  getLatestGear,
382
575
  getOwnWorkouts,
383
576
  getUserByName,
577
+ getWorkoutStats,
384
578
  getWorkouts,
579
+ getWorkoutsWithin,
385
580
  login,
386
581
  searchUsers,
387
582
  secondsUntilRollover,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "suunto-api-wrapper",
3
- "version": "1.1.2",
3
+ "version": "1.2.2",
4
4
  "description": "Unofficial typed TypeScript client for the Suunto app API (Sports Tracker backend). Not affiliated with or endorsed by Suunto or Sports Tracker.",
5
5
  "repository": {
6
6
  "url": "https://github.com/Marius-Ar/suunto-api-wrapper"