@nativesquare/soma 0.9.3 → 0.10.0
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/client/index.d.ts +96 -33
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +80 -35
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +18 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +43 -9
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/garmin/auth.d.ts +0 -4
- package/dist/component/garmin/auth.d.ts.map +1 -1
- package/dist/component/garmin/auth.js +0 -8
- package/dist/component/garmin/auth.js.map +1 -1
- package/dist/component/garmin/private.d.ts +20 -3
- package/dist/component/garmin/private.d.ts.map +1 -1
- package/dist/component/garmin/private.js +17 -26
- package/dist/component/garmin/private.js.map +1 -1
- package/dist/component/garmin/public.d.ts +4 -4
- package/dist/component/garmin/public.d.ts.map +1 -1
- package/dist/component/garmin/public.js +6 -1
- package/dist/component/garmin/public.js.map +1 -1
- package/dist/component/garmin/webhooks.d.ts +4 -0
- package/dist/component/garmin/webhooks.d.ts.map +1 -1
- package/dist/component/garmin/webhooks.js +23 -18
- package/dist/component/garmin/webhooks.js.map +1 -1
- package/dist/component/schema.d.ts +2 -2
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +5 -3
- package/dist/component/schema.js.map +1 -1
- package/dist/{strava → component/strava}/auth.d.ts +15 -48
- package/dist/component/strava/auth.d.ts.map +1 -0
- package/dist/{strava → component/strava}/auth.js +4 -39
- package/dist/component/strava/auth.js.map +1 -0
- package/dist/component/strava/client.d.ts +8 -0
- package/dist/component/strava/client.d.ts.map +1 -0
- package/dist/component/strava/client.js +18 -0
- package/dist/component/strava/client.js.map +1 -0
- package/dist/component/strava/private.d.ts +19 -0
- package/dist/component/strava/private.d.ts.map +1 -1
- package/dist/component/strava/private.js +52 -2
- package/dist/component/strava/private.js.map +1 -1
- package/dist/component/strava/public.d.ts +87 -12
- package/dist/component/strava/public.d.ts.map +1 -1
- package/dist/component/strava/public.js +218 -92
- package/dist/component/strava/public.js.map +1 -1
- package/dist/component/strava/transform/activity.d.ts +19 -0
- package/dist/component/strava/transform/activity.d.ts.map +1 -0
- package/dist/{strava → component/strava/transform}/activity.js +21 -41
- package/dist/component/strava/transform/activity.js.map +1 -0
- package/dist/{strava → component/strava/transform}/athlete.d.ts +4 -10
- package/dist/component/strava/transform/athlete.d.ts.map +1 -0
- package/dist/{strava → component/strava/transform}/athlete.js +2 -8
- package/dist/component/strava/transform/athlete.js.map +1 -0
- package/dist/component/strava/transform/maps/sportType.d.ts +7 -0
- package/dist/component/strava/transform/maps/sportType.d.ts.map +1 -0
- package/dist/{strava/maps/sport-type.js → component/strava/transform/maps/sportType.js} +4 -2
- package/dist/component/strava/transform/maps/sportType.js.map +1 -0
- package/dist/component/strava/types/stravaApi/client/client.gen.d.ts +3 -0
- package/dist/component/strava/types/stravaApi/client/client.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/client/client.gen.js +236 -0
- package/dist/component/strava/types/stravaApi/client/client.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/client/index.d.ts +9 -0
- package/dist/component/strava/types/stravaApi/client/index.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/client/index.js +7 -0
- package/dist/component/strava/types/stravaApi/client/index.js.map +1 -0
- package/dist/component/strava/types/stravaApi/client/types.gen.d.ts +118 -0
- package/dist/component/strava/types/stravaApi/client/types.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/client/types.gen.js +3 -0
- package/dist/component/strava/types/stravaApi/client/types.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/client/utils.gen.d.ts +34 -0
- package/dist/component/strava/types/stravaApi/client/utils.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/client/utils.gen.js +229 -0
- package/dist/component/strava/types/stravaApi/client/utils.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/client.gen.d.ts +13 -0
- package/dist/component/strava/types/stravaApi/client.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/client.gen.js +4 -0
- package/dist/component/strava/types/stravaApi/client.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/auth.gen.d.ts +19 -0
- package/dist/component/strava/types/stravaApi/core/auth.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/auth.gen.js +15 -0
- package/dist/component/strava/types/stravaApi/core/auth.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.d.ts +26 -0
- package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.js +58 -0
- package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/params.gen.d.ts +44 -0
- package/dist/component/strava/types/stravaApi/core/params.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/params.gen.js +101 -0
- package/dist/component/strava/types/stravaApi/core/params.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.d.ts +34 -0
- package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.js +107 -0
- package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.js +93 -0
- package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.js +134 -0
- package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/types.gen.d.ts +79 -0
- package/dist/component/strava/types/stravaApi/core/types.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/types.gen.js +3 -0
- package/dist/component/strava/types/stravaApi/core/types.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/core/utils.gen.d.ts +20 -0
- package/dist/component/strava/types/stravaApi/core/utils.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/core/utils.gen.js +88 -0
- package/dist/component/strava/types/stravaApi/core/utils.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/index.d.ts +3 -0
- package/dist/component/strava/types/stravaApi/index.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/index.js +3 -0
- package/dist/component/strava/types/stravaApi/index.js.map +1 -0
- package/dist/component/strava/types/stravaApi/sdk.gen.d.ts +224 -0
- package/dist/component/strava/types/stravaApi/sdk.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/sdk.gen.js +361 -0
- package/dist/component/strava/types/stravaApi/sdk.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/types.gen.d.ts +2209 -0
- package/dist/component/strava/types/stravaApi/types.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/types.gen.js +3 -0
- package/dist/component/strava/types/stravaApi/types.gen.js.map +1 -0
- package/dist/component/strava/types/stravaApi/zod.gen.d.ts +5332 -0
- package/dist/component/strava/types/stravaApi/zod.gen.d.ts.map +1 -0
- package/dist/component/strava/types/stravaApi/zod.gen.js +1009 -0
- package/dist/component/strava/types/stravaApi/zod.gen.js.map +1 -0
- package/dist/component/strava/utils.d.ts +15 -0
- package/dist/component/strava/utils.d.ts.map +1 -0
- package/dist/component/strava/utils.js +36 -0
- package/dist/component/strava/utils.js.map +1 -0
- package/dist/component/utils.d.ts +5 -0
- package/dist/component/utils.d.ts.map +1 -0
- package/dist/component/utils.js +11 -0
- package/dist/component/utils.js.map +1 -0
- package/package.json +131 -130
- package/src/client/index.ts +121 -52
- package/src/component/_generated/api.ts +18 -0
- package/src/component/_generated/component.ts +44 -11
- package/src/component/garmin/auth.ts +0 -9
- package/src/component/garmin/private.ts +0 -12
- package/src/component/garmin/public.ts +8 -1
- package/src/component/schema.ts +5 -3
- package/src/{strava → component/strava}/auth.ts +143 -185
- package/src/component/strava/client.ts +20 -0
- package/src/component/strava/private.ts +147 -89
- package/src/component/strava/public.ts +268 -110
- package/src/{strava → component/strava/transform}/activity.ts +256 -276
- package/src/{strava → component/strava/transform}/athlete.ts +41 -47
- package/src/{strava/maps/sport-type.ts → component/strava/transform/maps/sportType.ts} +100 -99
- package/src/component/strava/types/specs/strava-api.json +4796 -0
- package/src/component/strava/types/stravaApi/client/client.gen.ts +290 -0
- package/src/component/strava/types/stravaApi/client/index.ts +25 -0
- package/src/component/strava/types/stravaApi/client/types.gen.ts +214 -0
- package/src/component/strava/types/stravaApi/client/utils.gen.ts +316 -0
- package/src/component/strava/types/stravaApi/client.gen.ts +16 -0
- package/src/component/strava/types/stravaApi/core/auth.gen.ts +41 -0
- package/src/component/strava/types/stravaApi/core/bodySerializer.gen.ts +82 -0
- package/src/component/strava/types/stravaApi/core/params.gen.ts +169 -0
- package/src/component/strava/types/stravaApi/core/pathSerializer.gen.ts +171 -0
- package/src/component/strava/types/stravaApi/core/queryKeySerializer.gen.ts +117 -0
- package/src/component/strava/types/stravaApi/core/serverSentEvents.gen.ts +243 -0
- package/src/component/strava/types/stravaApi/core/types.gen.ts +104 -0
- package/src/component/strava/types/stravaApi/core/utils.gen.ts +140 -0
- package/src/component/strava/types/stravaApi/index.ts +4 -0
- package/src/component/strava/types/stravaApi/sdk.gen.ts +410 -0
- package/src/component/strava/types/stravaApi/types.gen.ts +2435 -0
- package/src/component/strava/types/stravaApi/zod.gen.ts +1132 -0
- package/src/component/strava/utils.ts +52 -0
- package/src/component/utils.ts +11 -0
- package/dist/strava/activity.d.ts +0 -121
- package/dist/strava/activity.d.ts.map +0 -1
- package/dist/strava/activity.js.map +0 -1
- package/dist/strava/athlete.d.ts.map +0 -1
- package/dist/strava/athlete.js.map +0 -1
- package/dist/strava/auth.d.ts.map +0 -1
- package/dist/strava/auth.js.map +0 -1
- package/dist/strava/client.d.ts +0 -93
- package/dist/strava/client.d.ts.map +0 -1
- package/dist/strava/client.js +0 -158
- package/dist/strava/client.js.map +0 -1
- package/dist/strava/index.d.ts +0 -13
- package/dist/strava/index.d.ts.map +0 -1
- package/dist/strava/index.js +0 -17
- package/dist/strava/index.js.map +0 -1
- package/dist/strava/maps/sport-type.d.ts +0 -7
- package/dist/strava/maps/sport-type.d.ts.map +0 -1
- package/dist/strava/maps/sport-type.js.map +0 -1
- package/dist/strava/sync.d.ts +0 -104
- package/dist/strava/sync.d.ts.map +0 -1
- package/dist/strava/sync.js +0 -87
- package/dist/strava/sync.js.map +0 -1
- package/dist/strava/types.d.ts +0 -266
- package/dist/strava/types.d.ts.map +0 -1
- package/dist/strava/types.js +0 -8
- package/dist/strava/types.js.map +0 -1
- package/src/strava/activity.test.ts +0 -415
- package/src/strava/athlete.test.ts +0 -139
- package/src/strava/auth.test.ts +0 -78
- package/src/strava/client.ts +0 -212
- package/src/strava/index.ts +0 -54
- package/src/strava/maps/sport-type.test.ts +0 -69
- package/src/strava/sync.ts +0 -168
- package/src/strava/types.ts +0 -361
|
@@ -1,99 +1,100 @@
|
|
|
1
|
-
// ─── Strava SportType → Terra ActivityType ───────────────────────────────────
|
|
2
|
-
// Maps Strava sport_type strings to Terra's ActivityType numeric enum
|
|
3
|
-
// used by the Soma schema.
|
|
4
|
-
//
|
|
5
|
-
// Strava values: https://developers.strava.com/docs/reference/#api-models-SportType
|
|
6
|
-
// Terra values: https://docs.tryterra.co/reference/health-and-fitness-api/data-models#activitytype
|
|
7
|
-
|
|
8
|
-
import type {
|
|
9
|
-
|
|
10
|
-
const sportTypeMap: Record<string, number> = {
|
|
11
|
-
// ── Cycling ────────────────────────────────────────────────────────────────
|
|
12
|
-
// Terra Biking = 1
|
|
13
|
-
Ride: 1,
|
|
14
|
-
MountainBikeRide: 1,
|
|
15
|
-
GravelRide: 1,
|
|
16
|
-
EBikeRide: 1,
|
|
17
|
-
EMountainBikeRide: 1,
|
|
18
|
-
VirtualRide: 1,
|
|
19
|
-
Velomobile: 1,
|
|
20
|
-
|
|
21
|
-
// ── Running ────────────────────────────────────────────────────────────────
|
|
22
|
-
// Terra Running = 8
|
|
23
|
-
Run: 8,
|
|
24
|
-
TrailRun: 8,
|
|
25
|
-
VirtualRun: 8,
|
|
26
|
-
|
|
27
|
-
// ── Walking ────────────────────────────────────────────────────────────────
|
|
28
|
-
// Terra Walking = 7
|
|
29
|
-
Walk: 7,
|
|
30
|
-
|
|
31
|
-
// ── Swimming ───────────────────────────────────────────────────────────────
|
|
32
|
-
// Terra Swimming = 82
|
|
33
|
-
Swim: 82,
|
|
34
|
-
|
|
35
|
-
// ── Hiking ─────────────────────────────────────────────────────────────────
|
|
36
|
-
// Terra Hiking = 35
|
|
37
|
-
Hike: 35,
|
|
38
|
-
|
|
39
|
-
// ── Snow Sports ────────────────────────────────────────────────────────────
|
|
40
|
-
AlpineSki: 66, // Terra Alpine Skiing
|
|
41
|
-
BackcountrySki: 66, // Terra Alpine Skiing
|
|
42
|
-
NordicSki: 67, // Terra Cross Country Skiing
|
|
43
|
-
Snowboard: 73, // Terra Snowboarding
|
|
44
|
-
Snowshoe: 74, // Terra Snowshoeing
|
|
45
|
-
|
|
46
|
-
// ── Water Sports ───────────────────────────────────────────────────────────
|
|
47
|
-
Rowing: 53, // Terra Rowing
|
|
48
|
-
VirtualRow: 53, // Terra Rowing
|
|
49
|
-
Kayaking: 40, // Terra Kayaking
|
|
50
|
-
Canoeing: 22, // Terra Canoeing
|
|
51
|
-
Sail: 59, // Terra Sailing
|
|
52
|
-
Surfing: 81, // Terra Surfing
|
|
53
|
-
Kitesurf: 41, // Terra Kitesurfing
|
|
54
|
-
Windsurf: 99, // Terra Windsurfing
|
|
55
|
-
StandUpPaddling: 129, // Terra Paddling
|
|
56
|
-
|
|
57
|
-
// ── Skating ────────────────────────────────────────────────────────────────
|
|
58
|
-
IceSkate: 62, // Terra Skating
|
|
59
|
-
InlineSkate: 62, // Terra Skating
|
|
60
|
-
Skateboard: 62, // Terra Skating
|
|
61
|
-
RollerSki: 62, // Terra Skating
|
|
62
|
-
|
|
63
|
-
// ── Racket Sports ──────────────────────────────────────────────────────────
|
|
64
|
-
Tennis: 87, // Terra Tennis
|
|
65
|
-
TableTennis: 85, // Terra Table Tennis
|
|
66
|
-
Badminton: 10, // Terra Badminton
|
|
67
|
-
Racquetball: 51, // Terra Racquetball
|
|
68
|
-
Squash: 76, // Terra Squash
|
|
69
|
-
Pickleball: 108, // Terra Other (no direct mapping)
|
|
70
|
-
|
|
71
|
-
// ── Gym / Fitness ──────────────────────────────────────────────────────────
|
|
72
|
-
WeightTraining: 80, // Terra Strength Training
|
|
73
|
-
Crossfit: 113, // Terra Crossfit
|
|
74
|
-
Elliptical: 25, // Terra Elliptical
|
|
75
|
-
StairStepper: 78, // Terra Stair Climbing Machine
|
|
76
|
-
Yoga: 100, // Terra Yoga
|
|
77
|
-
Pilates: 49, // Terra Pilates
|
|
78
|
-
HighIntensityIntervalTraining: 114, // Terra HIIT
|
|
79
|
-
|
|
80
|
-
// ── Climbing ───────────────────────────────────────────────────────────────
|
|
81
|
-
RockClimbing: 52, // Terra Rock Climbing
|
|
82
|
-
|
|
83
|
-
// ── Team Sports ────────────────────────────────────────────────────────────
|
|
84
|
-
Soccer: 29, // Terra English Football
|
|
85
|
-
|
|
86
|
-
// ── Other ──────────────────────────────────────────────────────────────────
|
|
87
|
-
Golf: 32, // Terra Golf
|
|
88
|
-
Handcycle: 14, // Terra Handbiking
|
|
89
|
-
Wheelchair: 98, // Terra Wheelchair
|
|
90
|
-
Workout: 108, // Terra Other
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Map a Strava sport_type string to the Terra ActivityType enum.
|
|
95
|
-
* Returns Terra "Other" (108) for unknown types.
|
|
96
|
-
*/
|
|
97
|
-
export function mapSportType(sportType:
|
|
98
|
-
|
|
99
|
-
|
|
1
|
+
// ─── Strava SportType → Terra ActivityType ───────────────────────────────────
|
|
2
|
+
// Maps Strava sport_type strings to Terra's ActivityType numeric enum
|
|
3
|
+
// used by the Soma schema.
|
|
4
|
+
//
|
|
5
|
+
// Strava values: https://developers.strava.com/docs/reference/#api-models-SportType
|
|
6
|
+
// Terra values: https://docs.tryterra.co/reference/health-and-fitness-api/data-models#activitytype
|
|
7
|
+
|
|
8
|
+
import type { SportType } from "../../types/stravaApi/types.gen.js";
|
|
9
|
+
|
|
10
|
+
const sportTypeMap: Record<string, number> = {
|
|
11
|
+
// ── Cycling ────────────────────────────────────────────────────────────────
|
|
12
|
+
// Terra Biking = 1
|
|
13
|
+
Ride: 1,
|
|
14
|
+
MountainBikeRide: 1,
|
|
15
|
+
GravelRide: 1,
|
|
16
|
+
EBikeRide: 1,
|
|
17
|
+
EMountainBikeRide: 1,
|
|
18
|
+
VirtualRide: 1,
|
|
19
|
+
Velomobile: 1,
|
|
20
|
+
|
|
21
|
+
// ── Running ────────────────────────────────────────────────────────────────
|
|
22
|
+
// Terra Running = 8
|
|
23
|
+
Run: 8,
|
|
24
|
+
TrailRun: 8,
|
|
25
|
+
VirtualRun: 8,
|
|
26
|
+
|
|
27
|
+
// ── Walking ────────────────────────────────────────────────────────────────
|
|
28
|
+
// Terra Walking = 7
|
|
29
|
+
Walk: 7,
|
|
30
|
+
|
|
31
|
+
// ── Swimming ───────────────────────────────────────────────────────────────
|
|
32
|
+
// Terra Swimming = 82
|
|
33
|
+
Swim: 82,
|
|
34
|
+
|
|
35
|
+
// ── Hiking ─────────────────────────────────────────────────────────────────
|
|
36
|
+
// Terra Hiking = 35
|
|
37
|
+
Hike: 35,
|
|
38
|
+
|
|
39
|
+
// ── Snow Sports ────────────────────────────────────────────────────────────
|
|
40
|
+
AlpineSki: 66, // Terra Alpine Skiing
|
|
41
|
+
BackcountrySki: 66, // Terra Alpine Skiing
|
|
42
|
+
NordicSki: 67, // Terra Cross Country Skiing
|
|
43
|
+
Snowboard: 73, // Terra Snowboarding
|
|
44
|
+
Snowshoe: 74, // Terra Snowshoeing
|
|
45
|
+
|
|
46
|
+
// ── Water Sports ───────────────────────────────────────────────────────────
|
|
47
|
+
Rowing: 53, // Terra Rowing
|
|
48
|
+
VirtualRow: 53, // Terra Rowing
|
|
49
|
+
Kayaking: 40, // Terra Kayaking
|
|
50
|
+
Canoeing: 22, // Terra Canoeing
|
|
51
|
+
Sail: 59, // Terra Sailing
|
|
52
|
+
Surfing: 81, // Terra Surfing
|
|
53
|
+
Kitesurf: 41, // Terra Kitesurfing
|
|
54
|
+
Windsurf: 99, // Terra Windsurfing
|
|
55
|
+
StandUpPaddling: 129, // Terra Paddling
|
|
56
|
+
|
|
57
|
+
// ── Skating ────────────────────────────────────────────────────────────────
|
|
58
|
+
IceSkate: 62, // Terra Skating
|
|
59
|
+
InlineSkate: 62, // Terra Skating
|
|
60
|
+
Skateboard: 62, // Terra Skating
|
|
61
|
+
RollerSki: 62, // Terra Skating
|
|
62
|
+
|
|
63
|
+
// ── Racket Sports ──────────────────────────────────────────────────────────
|
|
64
|
+
Tennis: 87, // Terra Tennis
|
|
65
|
+
TableTennis: 85, // Terra Table Tennis
|
|
66
|
+
Badminton: 10, // Terra Badminton
|
|
67
|
+
Racquetball: 51, // Terra Racquetball
|
|
68
|
+
Squash: 76, // Terra Squash
|
|
69
|
+
Pickleball: 108, // Terra Other (no direct mapping)
|
|
70
|
+
|
|
71
|
+
// ── Gym / Fitness ──────────────────────────────────────────────────────────
|
|
72
|
+
WeightTraining: 80, // Terra Strength Training
|
|
73
|
+
Crossfit: 113, // Terra Crossfit
|
|
74
|
+
Elliptical: 25, // Terra Elliptical
|
|
75
|
+
StairStepper: 78, // Terra Stair Climbing Machine
|
|
76
|
+
Yoga: 100, // Terra Yoga
|
|
77
|
+
Pilates: 49, // Terra Pilates
|
|
78
|
+
HighIntensityIntervalTraining: 114, // Terra HIIT
|
|
79
|
+
|
|
80
|
+
// ── Climbing ───────────────────────────────────────────────────────────────
|
|
81
|
+
RockClimbing: 52, // Terra Rock Climbing
|
|
82
|
+
|
|
83
|
+
// ── Team Sports ────────────────────────────────────────────────────────────
|
|
84
|
+
Soccer: 29, // Terra English Football
|
|
85
|
+
|
|
86
|
+
// ── Other ──────────────────────────────────────────────────────────────────
|
|
87
|
+
Golf: 32, // Terra Golf
|
|
88
|
+
Handcycle: 14, // Terra Handbiking
|
|
89
|
+
Wheelchair: 98, // Terra Wheelchair
|
|
90
|
+
Workout: 108, // Terra Other
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Map a Strava sport_type string to the Terra ActivityType enum.
|
|
95
|
+
* Returns Terra "Other" (108) for unknown or undefined types.
|
|
96
|
+
*/
|
|
97
|
+
export function mapSportType(sportType: SportType | undefined): number {
|
|
98
|
+
if (!sportType) return 108;
|
|
99
|
+
return sportTypeMap[sportType] ?? 108;
|
|
100
|
+
}
|