@sports-alliance/sports-lib 7.0.0 → 7.0.3
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/.github/workflows/test.yml +2 -2
- package/lib/cjs/activities/activity.types.d.ts +6 -3
- package/lib/cjs/activities/activity.types.js +9 -4
- package/lib/cjs/activities/devices/device.d.ts +1 -0
- package/lib/cjs/activities/devices/device.interface.d.ts +1 -0
- package/lib/cjs/activities/devices/device.js +1 -0
- package/lib/cjs/activities/devices/device.json.interface.d.ts +1 -0
- package/lib/cjs/data/data.cycling-position.js +1 -1
- package/lib/cjs/data/data.feeling.js +1 -1
- package/lib/cjs/data/data.interface.js +1 -1
- package/lib/cjs/data/data.rpe.js +1 -1
- package/lib/cjs/data/data.store.export.spec.js +28 -14
- package/lib/cjs/data/data.store.js +1 -1
- package/lib/cjs/events/adapters/file-type.enum.js +1 -1
- package/lib/cjs/events/adapters/importers/fit/importer.fit.coros.device.names.js +2 -1
- package/lib/cjs/events/adapters/importers/fit/importer.fit.d.ts +2 -1
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.device.names.js +61 -2
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +867 -855
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.d.ts +1 -0
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +34 -0
- package/lib/cjs/events/adapters/importers/fit/importer.fit.integration.spec.js +22 -8
- package/lib/cjs/events/adapters/importers/fit/importer.fit.js +24 -2
- package/lib/cjs/events/adapters/importers/fit/importer.fit.suunto.device.names.js +1 -0
- package/lib/cjs/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +5 -1
- package/lib/cjs/events/adapters/importers/gpx/importer.gpx.integration.spec.js +22 -8
- package/lib/cjs/events/adapters/importers/gpx/importer.gpx.js +1 -1
- package/lib/cjs/events/adapters/importers/gpx/importer.gpx.spec.js +50 -0
- package/lib/cjs/events/adapters/importers/suunto/importer.suunto.activity.ids.js +1 -1
- package/lib/cjs/events/adapters/importers/suunto/importer.suunto.device.names.js +1 -0
- package/lib/cjs/events/adapters/importers/suunto/importer.suunto.integration.spec.js +22 -8
- package/lib/cjs/events/adapters/importers/tcx/importer.tcx.integration.spec.js +22 -8
- package/lib/cjs/events/utilities/activity.utilities.js +7 -7
- package/lib/cjs/events/utilities/grade-calculator/low-pass-filter.js +3 -3
- package/lib/cjs/events/utilities/helpers.d.ts +1 -1
- package/lib/cjs/events/utilities/helpers.js +19 -19
- package/lib/cjs/index.d.ts +1 -1
- package/lib/cjs/index.js +5 -1
- package/lib/cjs/laps/lap.types.js +1 -1
- package/lib/cjs/meta-data/event-meta-data.interface.js +1 -1
- package/lib/cjs/privacy/privacy.class.interface.js +1 -1
- package/lib/cjs/specs/activities-parsing.integration.spec.js +75 -61
- package/lib/cjs/specs/strava-streams-compliance.spec.js +22 -8
- package/lib/cjs/streams/compressed.stream.interface.js +2 -2
- package/lib/cjs/tiles/tile.settings.interface.js +5 -5
- package/lib/cjs/users/settings/dashboard/user.dashboard.settings.interface.js +1 -1
- package/lib/cjs/users/settings/user.app.settings.interface.js +1 -1
- package/lib/cjs/users/settings/user.chart.settings.interface.js +3 -3
- package/lib/cjs/users/settings/user.map.settings.interface.js +2 -2
- package/lib/cjs/users/settings/user.unit.settings.interface.js +9 -9
- package/lib/esm/activities/activity.types.d.ts +6 -3
- package/lib/esm/activities/activity.types.js +7 -2
- package/lib/esm/activities/devices/device.d.ts +1 -0
- package/lib/esm/activities/devices/device.interface.d.ts +1 -0
- package/lib/esm/activities/devices/device.js +1 -0
- package/lib/esm/activities/devices/device.json.interface.d.ts +1 -0
- package/lib/esm/data/data.store.export.spec.js +6 -6
- package/lib/esm/data/data.store.js +1 -1
- package/lib/esm/events/adapters/importers/fit/importer.fit.coros.device.names.js +2 -1
- package/lib/esm/events/adapters/importers/fit/importer.fit.d.ts +2 -1
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.device.names.js +61 -2
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +867 -855
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.d.ts +1 -0
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +32 -0
- package/lib/esm/events/adapters/importers/fit/importer.fit.js +24 -2
- package/lib/esm/events/adapters/importers/fit/importer.fit.suunto.device.names.js +1 -0
- package/lib/esm/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +5 -1
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.js +1 -1
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.spec.js +17 -0
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.device.names.js +1 -0
- package/lib/esm/events/utilities/activity.utilities.js +7 -7
- package/lib/esm/events/utilities/grade-calculator/low-pass-filter.js +3 -3
- package/lib/esm/events/utilities/helpers.d.ts +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/specs/activities-parsing.integration.spec.js +53 -53
- package/package.json +21 -21
- package/.editorconfig +0 -14
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -9
- package/.prettierignore +0 -24
- package/.prettierrc.json +0 -12
- package/.vscode/launch.json +0 -49
- package/.vscode/tasks.json +0 -34
- package/CODE_OF_CONDUCT.md +0 -76
- package/debug-fit-import.js +0 -10
- package/jest.config.js +0 -23
- package/lib/cjs/package.json +0 -1
- package/lib/cjs/specs/fixtures/streams/strava/rides/3171472783.json +0 -52534
- package/lib/cjs/specs/fixtures/streams/strava/rides/3171487458.json +0 -78818
- package/lib/cjs/specs/fixtures/streams/strava/rides/343080886.json +0 -105090
- package/lib/cjs/specs/fixtures/streams/strava/rides/5910143591.json +0 -110711
- package/lib/cjs/specs/fixtures/streams/strava/runs/2451375851.json +0 -74846
- package/lib/cjs/specs/fixtures/streams/strava/runs/2709634581.json +0 -66817
- package/lib/cjs/specs/fixtures/streams/strava/runs/3156040843.json +0 -17594
- package/lib/cjs/specs/fixtures/streams/strava/runs/3182900697.json +0 -17322
- package/lib/cjs/specs/fixtures/streams/strava/runs/3183465494.json +0 -20463
- package/lib/cjs/specs/fixtures/streams/strava/runs/3183490558.json +0 -58202
- package/lib/esm/specs/fixtures/streams/strava/rides/3171472783.json +0 -52534
- package/lib/esm/specs/fixtures/streams/strava/rides/3171487458.json +0 -78818
- package/lib/esm/specs/fixtures/streams/strava/rides/343080886.json +0 -105090
- package/lib/esm/specs/fixtures/streams/strava/rides/5910143591.json +0 -110711
- package/lib/esm/specs/fixtures/streams/strava/runs/2451375851.json +0 -74846
- package/lib/esm/specs/fixtures/streams/strava/runs/2709634581.json +0 -66817
- package/lib/esm/specs/fixtures/streams/strava/runs/3156040843.json +0 -17594
- package/lib/esm/specs/fixtures/streams/strava/runs/3182900697.json +0 -17322
- package/lib/esm/specs/fixtures/streams/strava/runs/3183465494.json +0 -20463
- package/lib/esm/specs/fixtures/streams/strava/runs/3183490558.json +0 -58202
- package/test_output.log +0 -162
- package/test_output_2.log +0 -168
- package/test_output_3.log +0 -168
- package/tsconfig.cjs.json +0 -7
- package/tsconfig.esm.json +0 -8
- package/tsconfig.lib.json +0 -8
|
@@ -15,11 +15,11 @@ var MapThemes;
|
|
|
15
15
|
MapThemes["Hopper"] = "Hopper";
|
|
16
16
|
MapThemes["DarkElectric"] = "DarkElectric";
|
|
17
17
|
MapThemes["Mondrian"] = "Mondrian";
|
|
18
|
-
})(MapThemes
|
|
18
|
+
})(MapThemes || (exports.MapThemes = MapThemes = {}));
|
|
19
19
|
var MapTypes;
|
|
20
20
|
(function (MapTypes) {
|
|
21
21
|
MapTypes["RoadMap"] = "roadmap";
|
|
22
22
|
MapTypes["Satellite"] = "satellite";
|
|
23
23
|
MapTypes["Hybrid"] = "hybrid";
|
|
24
24
|
MapTypes["Terrain"] = "terrain";
|
|
25
|
-
})(MapTypes
|
|
25
|
+
})(MapTypes || (exports.MapTypes = MapTypes = {}));
|
|
@@ -10,7 +10,7 @@ var SpeedUnits;
|
|
|
10
10
|
SpeedUnits["Knots"] = "Speed in knots";
|
|
11
11
|
// MetersPerMinute = 'Meters per minute',
|
|
12
12
|
// FeetPerMinute = 'Feet per minute',
|
|
13
|
-
})(SpeedUnits
|
|
13
|
+
})(SpeedUnits || (exports.SpeedUnits = SpeedUnits = {}));
|
|
14
14
|
var GradeAdjustedSpeedUnits;
|
|
15
15
|
(function (GradeAdjustedSpeedUnits) {
|
|
16
16
|
GradeAdjustedSpeedUnits["KilometersPerHour"] = "Grade Adjusted Speed in kilometers per hour";
|
|
@@ -20,7 +20,7 @@ var GradeAdjustedSpeedUnits;
|
|
|
20
20
|
GradeAdjustedSpeedUnits["Knots"] = "Grade Adjusted Speed in knots";
|
|
21
21
|
// MetersPerMinute = 'Meters per minute',
|
|
22
22
|
// FeetPerMinute = 'Feet per minute',
|
|
23
|
-
})(GradeAdjustedSpeedUnits
|
|
23
|
+
})(GradeAdjustedSpeedUnits || (exports.GradeAdjustedSpeedUnits = GradeAdjustedSpeedUnits = {}));
|
|
24
24
|
var SpeedUnitsToGradeAdjustedSpeedUnits;
|
|
25
25
|
(function (SpeedUnitsToGradeAdjustedSpeedUnits) {
|
|
26
26
|
SpeedUnitsToGradeAdjustedSpeedUnits["Speed in kilometers per hour"] = "KilometersPerHour";
|
|
@@ -30,7 +30,7 @@ var SpeedUnitsToGradeAdjustedSpeedUnits;
|
|
|
30
30
|
SpeedUnitsToGradeAdjustedSpeedUnits["Speed in meters per minute"] = "MetersPerMinute";
|
|
31
31
|
SpeedUnitsToGradeAdjustedSpeedUnits["Speed in feet per minute"] = "FeetPerMinute";
|
|
32
32
|
SpeedUnitsToGradeAdjustedSpeedUnits["Speed in knots"] = "Knots";
|
|
33
|
-
})(SpeedUnitsToGradeAdjustedSpeedUnits
|
|
33
|
+
})(SpeedUnitsToGradeAdjustedSpeedUnits || (exports.SpeedUnitsToGradeAdjustedSpeedUnits = SpeedUnitsToGradeAdjustedSpeedUnits = {}));
|
|
34
34
|
var VerticalSpeedUnits;
|
|
35
35
|
(function (VerticalSpeedUnits) {
|
|
36
36
|
VerticalSpeedUnits["MetersPerSecond"] = "Vertical Speed";
|
|
@@ -41,27 +41,27 @@ var VerticalSpeedUnits;
|
|
|
41
41
|
VerticalSpeedUnits["FeetPerHour"] = "Vertical speed in feet per hour";
|
|
42
42
|
VerticalSpeedUnits["KilometersPerHour"] = "Vertical speed in kilometers per hour";
|
|
43
43
|
VerticalSpeedUnits["MilesPerHour"] = "Vertical speed in miles per hour";
|
|
44
|
-
})(VerticalSpeedUnits
|
|
44
|
+
})(VerticalSpeedUnits || (exports.VerticalSpeedUnits = VerticalSpeedUnits = {}));
|
|
45
45
|
var PaceUnits;
|
|
46
46
|
(function (PaceUnits) {
|
|
47
47
|
PaceUnits["MinutesPerKilometer"] = "Pace";
|
|
48
48
|
PaceUnits["MinutesPerMile"] = "Pace in minutes per mile";
|
|
49
|
-
})(PaceUnits
|
|
49
|
+
})(PaceUnits || (exports.PaceUnits = PaceUnits = {}));
|
|
50
50
|
var GradeAdjustedPaceUnits;
|
|
51
51
|
(function (GradeAdjustedPaceUnits) {
|
|
52
52
|
GradeAdjustedPaceUnits["MinutesPerKilometer"] = "Grade Adjusted Pace";
|
|
53
53
|
GradeAdjustedPaceUnits["MinutesPerMile"] = "Grade Adjusted Pace in minutes per mile";
|
|
54
|
-
})(GradeAdjustedPaceUnits
|
|
54
|
+
})(GradeAdjustedPaceUnits || (exports.GradeAdjustedPaceUnits = GradeAdjustedPaceUnits = {}));
|
|
55
55
|
var PaceUnitsToGradeAdjustedPaceUnits;
|
|
56
56
|
(function (PaceUnitsToGradeAdjustedPaceUnits) {
|
|
57
57
|
PaceUnitsToGradeAdjustedPaceUnits["Pace"] = "MinutesPerKilometer";
|
|
58
58
|
PaceUnitsToGradeAdjustedPaceUnits["Pace in minutes per mile"] = "MinutesPerMile";
|
|
59
|
-
})(PaceUnitsToGradeAdjustedPaceUnits
|
|
59
|
+
})(PaceUnitsToGradeAdjustedPaceUnits || (exports.PaceUnitsToGradeAdjustedPaceUnits = PaceUnitsToGradeAdjustedPaceUnits = {}));
|
|
60
60
|
var SwimPaceUnits;
|
|
61
61
|
(function (SwimPaceUnits) {
|
|
62
62
|
SwimPaceUnits["MinutesPer100Meter"] = "Swim Pace";
|
|
63
63
|
SwimPaceUnits["MinutesPer100Yard"] = "Swim Pace in minutes per 100 yard";
|
|
64
|
-
})(SwimPaceUnits
|
|
64
|
+
})(SwimPaceUnits || (exports.SwimPaceUnits = SwimPaceUnits = {}));
|
|
65
65
|
// Disabled rest of the days due to lack of availability of calculating the week number
|
|
66
66
|
// See https://www.npmjs.com/package/weeknumber
|
|
67
67
|
var DaysOfTheWeek;
|
|
@@ -73,4 +73,4 @@ var DaysOfTheWeek;
|
|
|
73
73
|
// Thursday,
|
|
74
74
|
// Friday,
|
|
75
75
|
DaysOfTheWeek[DaysOfTheWeek["Saturday"] = 2] = "Saturday";
|
|
76
|
-
})(DaysOfTheWeek
|
|
76
|
+
})(DaysOfTheWeek || (exports.DaysOfTheWeek = DaysOfTheWeek = {}));
|
|
@@ -141,9 +141,12 @@ export declare enum ActivityTypes {
|
|
|
141
141
|
'MountainBiking' = "Mountain Biking",
|
|
142
142
|
'Mountain Biking' = "Mountain Biking",
|
|
143
143
|
'cycling_cyclocross' = "Mountain Biking",
|
|
144
|
-
'mountain' = "Mountain Biking"
|
|
144
|
+
'mountain' = "Mountain Biking",// @todo this feels hacky but exists and indeed it's MTB
|
|
145
145
|
'Mountain biking' = "Mountain Biking",
|
|
146
|
+
'cycling_mountain_enduro' = "Enduro MTB",
|
|
147
|
+
'Enduro MTB' = "Enduro MTB",
|
|
146
148
|
'cycling_downhill' = "Downhill Cycling",
|
|
149
|
+
'cycling_mountain_downhill' = "Downhill Cycling",
|
|
147
150
|
'DownhillCycling' = "Downhill Cycling",
|
|
148
151
|
'Downhill Cycling' = "Downhill Cycling",
|
|
149
152
|
/**
|
|
@@ -317,8 +320,8 @@ export declare enum ActivityTypes {
|
|
|
317
320
|
'BackCountrySkiing' = "Backcountry Skiing",
|
|
318
321
|
'BackcountrySkiing' = "Backcountry Skiing",
|
|
319
322
|
'BackcountrySki' = "Backcountry Skiing",
|
|
320
|
-
'cross_country_skiing_backcountry' = "Backcountry Skiing"
|
|
321
|
-
'alpine_skiing_backcountry' = "Backcountry Skiing"
|
|
323
|
+
'cross_country_skiing_backcountry' = "Backcountry Skiing",// Hack for suunto
|
|
324
|
+
'alpine_skiing_backcountry' = "Backcountry Skiing",// Hack for suunto
|
|
322
325
|
'backcountry' = "Backcountry Skiing",
|
|
323
326
|
'BackCountrySki' = "Backcountry Skiing",
|
|
324
327
|
/**
|
|
@@ -230,7 +230,12 @@ export var ActivityTypes;
|
|
|
230
230
|
ActivityTypes["cycling_cyclocross"] = "Mountain Biking";
|
|
231
231
|
ActivityTypes["mountain"] = "Mountain Biking";
|
|
232
232
|
ActivityTypes["Mountain biking"] = "Mountain Biking";
|
|
233
|
+
// Enduro
|
|
234
|
+
ActivityTypes["cycling_mountain_enduro"] = "Enduro MTB";
|
|
235
|
+
ActivityTypes["Enduro MTB"] = "Enduro MTB";
|
|
236
|
+
// Downhill
|
|
233
237
|
ActivityTypes["cycling_downhill"] = "Downhill Cycling";
|
|
238
|
+
ActivityTypes["cycling_mountain_downhill"] = "Downhill Cycling";
|
|
234
239
|
ActivityTypes["DownhillCycling"] = "Downhill Cycling";
|
|
235
240
|
ActivityTypes["Downhill Cycling"] = "Downhill Cycling";
|
|
236
241
|
/**
|
|
@@ -1015,8 +1020,8 @@ export class ActivityTypesMoving {
|
|
|
1015
1020
|
* Holds moving speed threshold in m/s per sport group
|
|
1016
1021
|
*/
|
|
1017
1022
|
ActivityTypesMoving.SPORTS_MOVING_SPEED_THRESHOLD_MAP = new Map([
|
|
1018
|
-
[ActivityTypeGroups.Running, 1.5 / 3.6],
|
|
1019
|
-
[ActivityTypeGroups.Cycling, 4 / 3.6],
|
|
1023
|
+
[ActivityTypeGroups.Running, 1.5 / 3.6], // kph to m/s
|
|
1024
|
+
[ActivityTypeGroups.Cycling, 4 / 3.6], // kph to m/s
|
|
1020
1025
|
[ActivityTypeGroups.Swimming, 0.3] // 30 cm/s
|
|
1021
1026
|
]);
|
|
1022
1027
|
ActivityTypesMoving.DEFAULT_MOVING_SPEED_THRESHOLD = 0.3; // m/s
|
|
@@ -8,6 +8,7 @@ export class Device {
|
|
|
8
8
|
type: this.type,
|
|
9
9
|
index: isNumber(this.index) ? this.index || null : null,
|
|
10
10
|
batteryStatus: this.batteryStatus || null,
|
|
11
|
+
batteryLevel: this.batteryLevel || null,
|
|
11
12
|
name: this.name || null,
|
|
12
13
|
batteryVoltage: this.batteryVoltage || null,
|
|
13
14
|
manufacturer: this.manufacturer || null,
|
|
@@ -13,12 +13,12 @@ describe('DataStore Export Verification', () => {
|
|
|
13
13
|
'data.json.interface.ts',
|
|
14
14
|
'data.position.interface.ts',
|
|
15
15
|
'data.spec.ts',
|
|
16
|
-
'data.ts',
|
|
17
|
-
'data.string.ts',
|
|
18
|
-
'data.number.ts',
|
|
19
|
-
'data.boolean.ts',
|
|
20
|
-
'data.percent.ts',
|
|
21
|
-
'data.array.ts',
|
|
16
|
+
'data.ts', // Base class
|
|
17
|
+
'data.string.ts', // Base class
|
|
18
|
+
'data.number.ts', // Base class
|
|
19
|
+
'data.boolean.ts', // Base class
|
|
20
|
+
'data.percent.ts', // Base class or abstract?
|
|
21
|
+
'data.array.ts', // Base class
|
|
22
22
|
'data.balance.ts' // interface/base
|
|
23
23
|
];
|
|
24
24
|
files.forEach(file => {
|
|
@@ -359,7 +359,7 @@ export const DataStore = {
|
|
|
359
359
|
DataVerticalSpeedMinMilesPerHour,
|
|
360
360
|
DataIBI,
|
|
361
361
|
DataSteps,
|
|
362
|
-
DataStepsOld,
|
|
362
|
+
DataStepsOld, // @todo find way to make this easy to migrate for projects that persist data based on types
|
|
363
363
|
DataStrydAltitude,
|
|
364
364
|
DataStrydSpeed,
|
|
365
365
|
DataStrydDistance,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { EventInterface } from '../../../event.interface';
|
|
2
2
|
import { CreatorInterface } from '../../../../creators/creator.interface';
|
|
3
3
|
import { ActivityParsingOptions } from '../../../../activities/activity-parsing-options';
|
|
4
|
+
import { Buffer } from 'buffer';
|
|
4
5
|
export declare class EventImporterFIT {
|
|
5
|
-
static getFromArrayBuffer(arrayBuffer: ArrayBuffer
|
|
6
|
+
static getFromArrayBuffer(arrayBuffer: ArrayBuffer | Buffer<ArrayBuffer>, options?: ActivityParsingOptions, name?: string): Promise<EventInterface>;
|
|
6
7
|
/**
|
|
7
8
|
* Tell if an activity is lengths based (e.g. Pool swimming activities)
|
|
8
9
|
* @param sessionObject
|
|
@@ -116,6 +116,7 @@ export const ImporterFitGarminDeviceNames = {
|
|
|
116
116
|
1328: 'Forerunner 910XT',
|
|
117
117
|
1333: 'Edge 800',
|
|
118
118
|
1334: 'Edge 800',
|
|
119
|
+
1341: 'Alf 04',
|
|
119
120
|
1345: 'Forerunner 610',
|
|
120
121
|
1360: 'Forerunner 210',
|
|
121
122
|
1386: 'Edge 800',
|
|
@@ -207,7 +208,7 @@ export const ImporterFitGarminDeviceNames = {
|
|
|
207
208
|
2290: 'Edge 20',
|
|
208
209
|
2292: 'Approach X40',
|
|
209
210
|
2293: 'Fenix 3',
|
|
210
|
-
2294: 'VivoSmart',
|
|
211
|
+
2294: 'VivoSmart EM',
|
|
211
212
|
2310: 'Forerunner 630',
|
|
212
213
|
2311: 'Forerunner 630',
|
|
213
214
|
2313: 'Forerunner 230',
|
|
@@ -269,6 +270,7 @@ export const ImporterFitGarminDeviceNames = {
|
|
|
269
270
|
2769: 'Foretrex 601 701',
|
|
270
271
|
2772: 'VivoMove HR',
|
|
271
272
|
2713: 'Edge 1030',
|
|
273
|
+
2727: 'Forerunner 35',
|
|
272
274
|
2796: 'Fenix 5',
|
|
273
275
|
2797: 'Fenix 5S',
|
|
274
276
|
2798: 'Fenix 5X',
|
|
@@ -311,9 +313,11 @@ export const ImporterFitGarminDeviceNames = {
|
|
|
311
313
|
3134: 'Fenix 5S Plus',
|
|
312
314
|
3135: 'Fenix 5X Plus',
|
|
313
315
|
3142: 'Edge 520 Plus',
|
|
316
|
+
3143: 'Descent T1',
|
|
314
317
|
3144: 'Forerunner 235L',
|
|
315
318
|
3145: 'Forerunner 245',
|
|
316
319
|
3163: 'VivoActive 3M',
|
|
320
|
+
3192: 'Speed Sensor 2 ',
|
|
317
321
|
3218: 'VivoSmart 4',
|
|
318
322
|
3224: 'VivoActive 4',
|
|
319
323
|
3225: 'VivoActive 4',
|
|
@@ -362,12 +366,13 @@ export const ImporterFitGarminDeviceNames = {
|
|
|
362
366
|
3558: 'Edge 130 Plus',
|
|
363
367
|
3570: 'Edge 1030 Plus',
|
|
364
368
|
3589: 'Forerunner 745',
|
|
369
|
+
3596: 'Venu SQ',
|
|
365
370
|
3600: 'Venu SQ',
|
|
366
371
|
3615: 'Lily',
|
|
367
372
|
3624: 'Marq Adventurer',
|
|
368
373
|
3638: 'Enduro',
|
|
369
|
-
3648: 'Marq Adventurer',
|
|
370
374
|
3639: 'Swim 2',
|
|
375
|
+
3648: 'Marq Adventurer',
|
|
371
376
|
3652: 'Forerunner 945',
|
|
372
377
|
3703: 'Venu 2',
|
|
373
378
|
3704: 'Venu 2S',
|
|
@@ -381,19 +386,73 @@ export const ImporterFitGarminDeviceNames = {
|
|
|
381
386
|
3823: 'Approach S12',
|
|
382
387
|
3872: 'Enduro',
|
|
383
388
|
3837: 'Venu SQ',
|
|
389
|
+
3843: 'Edge 1040',
|
|
384
390
|
3850: 'Marq Golfer',
|
|
391
|
+
3851: 'Venu 2 Plus',
|
|
392
|
+
3865: 'Gnss',
|
|
385
393
|
3869: 'Forerunner 55',
|
|
394
|
+
3888: 'Instinct 2',
|
|
395
|
+
3905: 'Fenix 7S',
|
|
396
|
+
3906: 'Fenix 7',
|
|
397
|
+
3907: 'Fenix 7X',
|
|
398
|
+
3908: 'Fenix 7S',
|
|
399
|
+
3909: 'Fenix 7',
|
|
400
|
+
3910: 'Fenix 7X',
|
|
386
401
|
3930: 'Descent MK 2S',
|
|
387
402
|
3934: 'Approach S42',
|
|
403
|
+
3943: 'Epix Gen 2',
|
|
404
|
+
3944: 'Epix Gen 2',
|
|
388
405
|
3949: 'Venu 2S',
|
|
389
406
|
3950: 'Venu 2',
|
|
390
407
|
3978: 'Forerunner 945',
|
|
391
408
|
3986: 'Approach S12',
|
|
409
|
+
3990: 'Forerunner 255 Music',
|
|
410
|
+
3991: 'Forerunner 255 Music',
|
|
411
|
+
3992: 'Forerunner 255',
|
|
412
|
+
3993: 'Forerunner 255',
|
|
392
413
|
4002: 'Approach S42',
|
|
414
|
+
4005: 'Descent G1',
|
|
415
|
+
4017: 'Venu 2 Plus',
|
|
416
|
+
4024: 'Forerunner 955',
|
|
393
417
|
4033: 'Forerunner 55',
|
|
418
|
+
4061: 'Edge 540',
|
|
419
|
+
4062: 'Edge 840',
|
|
420
|
+
4063: 'Vivosmart 5',
|
|
421
|
+
4071: 'Instinct 2',
|
|
422
|
+
4115: 'Venu SQ 2',
|
|
423
|
+
4116: 'Venu SQ 2MUSIC',
|
|
424
|
+
4124: 'Marq Gen 2 Aviator',
|
|
425
|
+
4125: 'D2 Air X10',
|
|
426
|
+
4132: 'Descent G1',
|
|
427
|
+
4135: 'Tactix 7',
|
|
428
|
+
4155: 'Instinct Crossover',
|
|
429
|
+
4169: 'Edge Explore 2',
|
|
430
|
+
4222: 'Descent MK 3',
|
|
431
|
+
4223: 'Descent MK 3I',
|
|
432
|
+
4233: 'Approach S70',
|
|
433
|
+
4257: 'Forerunner 265',
|
|
434
|
+
4258: 'Forerunner 265',
|
|
435
|
+
4260: 'Venu 3',
|
|
436
|
+
4261: 'Venu 3S',
|
|
437
|
+
4305: 'Edge 1040',
|
|
438
|
+
4312: 'Epix Gen 2 Pro 42',
|
|
439
|
+
4313: 'Epix Gen 2 Pro 47',
|
|
440
|
+
4314: 'Epix Gen 2 Pro 51',
|
|
441
|
+
4315: 'Forerunner 965',
|
|
442
|
+
4341: 'Enduro 2',
|
|
443
|
+
4374: 'Fenix 7S Pro Solar',
|
|
444
|
+
4375: 'Fenix 7 Pro Solar',
|
|
445
|
+
4376: 'Fenix 7X Pro Solar',
|
|
446
|
+
4380: 'Lily 2',
|
|
447
|
+
4394: 'Instinct 2X',
|
|
448
|
+
4426: 'VivoActive 5',
|
|
449
|
+
4442: 'Descent T2',
|
|
450
|
+
4472: 'Marq Gen 2 Commander',
|
|
451
|
+
4556: 'D2 H1 Pro',
|
|
394
452
|
10014: 'Edge Remote',
|
|
395
453
|
20533: 'Tacx Training App',
|
|
396
454
|
20534: 'Tacx Training App',
|
|
455
|
+
20565: 'Tacx Training App Catalyst',
|
|
397
456
|
20119: 'Training Center',
|
|
398
457
|
30045: 'Tacx Training App',
|
|
399
458
|
30046: 'Tacx Training App',
|