@sports-alliance/sports-lib 6.1.1 → 6.1.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.
Files changed (30) hide show
  1. package/jest.config.js +2 -2
  2. package/lib/cjs/activities/activity.d.ts +1 -0
  3. package/lib/cjs/activities/activity.interface.d.ts +5 -0
  4. package/lib/cjs/activities/activity.js +7 -0
  5. package/lib/cjs/activities/activity.types.d.ts +1 -0
  6. package/lib/cjs/activities/activity.types.js +1 -0
  7. package/lib/cjs/data/data.store.export.spec.js +2 -2
  8. package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.data.d.ts +12 -0
  9. package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +868 -0
  10. package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.d.ts +22 -0
  11. package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.js +110 -0
  12. package/lib/cjs/events/adapters/importers/fit/importer.fit.js +26 -10
  13. package/lib/cjs/events/adapters/importers/fit/importer.fit.spec.js +1 -1
  14. package/lib/cjs/specs/activity-duration-stream.integration.spec.d.ts +1 -0
  15. package/lib/cjs/specs/activity-duration-stream.integration.spec.js +59 -0
  16. package/lib/esm/activities/activity.d.ts +1 -0
  17. package/lib/esm/activities/activity.interface.d.ts +5 -0
  18. package/lib/esm/activities/activity.js +7 -0
  19. package/lib/esm/activities/activity.types.d.ts +1 -0
  20. package/lib/esm/activities/activity.types.js +1 -0
  21. package/lib/esm/data/data.store.export.spec.js +2 -2
  22. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.d.ts +12 -0
  23. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +865 -0
  24. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.d.ts +22 -0
  25. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.js +106 -0
  26. package/lib/esm/events/adapters/importers/fit/importer.fit.js +26 -10
  27. package/lib/esm/events/adapters/importers/fit/importer.fit.spec.js +1 -1
  28. package/lib/esm/specs/activity-duration-stream.integration.spec.d.ts +1 -0
  29. package/lib/esm/specs/activity-duration-stream.integration.spec.js +57 -0
  30. package/package.json +2 -1
@@ -0,0 +1,865 @@
1
+ // This file is generated from @garmin/fitsdk profile.js
2
+ // Do not edit manually.
3
+ export const GarminManufacturers = {
4
+ 1: 'garmin',
5
+ 2: 'garminFr405Antfs',
6
+ 3: 'zephyr',
7
+ 4: 'dayton',
8
+ 5: 'idt',
9
+ 6: 'srm',
10
+ 7: 'quarq',
11
+ 8: 'ibike',
12
+ 9: 'saris',
13
+ 10: 'sparkHk',
14
+ 11: 'tanita',
15
+ 12: 'echowell',
16
+ 13: 'dynastreamOem',
17
+ 14: 'nautilus',
18
+ 15: 'dynastream',
19
+ 16: 'timex',
20
+ 17: 'metrigear',
21
+ 18: 'xelic',
22
+ 19: 'beurer',
23
+ 20: 'cardiosport',
24
+ 21: 'aAndD',
25
+ 22: 'hmm',
26
+ 23: 'suunto',
27
+ 24: 'thitaElektronik',
28
+ 25: 'gpulse',
29
+ 26: 'cleanMobile',
30
+ 27: 'pedalBrain',
31
+ 28: 'peaksware',
32
+ 29: 'saxonar',
33
+ 30: 'lemondFitness',
34
+ 31: 'dexcom',
35
+ 32: 'wahooFitness',
36
+ 33: 'octaneFitness',
37
+ 34: 'archinoetics',
38
+ 35: 'theHurtBox',
39
+ 36: 'citizenSystems',
40
+ 37: 'magellan',
41
+ 38: 'osynce',
42
+ 39: 'holux',
43
+ 40: 'concept2',
44
+ 41: 'shimano',
45
+ 42: 'oneGiantLeap',
46
+ 43: 'aceSensor',
47
+ 44: 'brimBrothers',
48
+ 45: 'xplova',
49
+ 46: 'perceptionDigital',
50
+ 47: 'bf1systems',
51
+ 48: 'pioneer',
52
+ 49: 'spantec',
53
+ 50: 'metalogics',
54
+ 51: '4iiiis',
55
+ 52: 'seikoEpson',
56
+ 53: 'seikoEpsonOem',
57
+ 54: 'iforPowell',
58
+ 55: 'maxwellGuider',
59
+ 56: 'starTrac',
60
+ 57: 'breakaway',
61
+ 58: 'alatechTechnologyLtd',
62
+ 59: 'mioTechnologyEurope',
63
+ 60: 'rotor',
64
+ 61: 'geonaute',
65
+ 62: 'idBike',
66
+ 63: 'specialized',
67
+ 64: 'wtek',
68
+ 65: 'physicalEnterprises',
69
+ 66: 'northPoleEngineering',
70
+ 67: 'bkool',
71
+ 68: 'cateye',
72
+ 69: 'stagesCycling',
73
+ 70: 'sigmasport',
74
+ 71: 'tomtom',
75
+ 72: 'peripedal',
76
+ 73: 'wattbike',
77
+ 76: 'moxy',
78
+ 77: 'ciclosport',
79
+ 78: 'powerbahn',
80
+ 79: 'acornProjectsAps',
81
+ 80: 'lifebeam',
82
+ 81: 'bontrager',
83
+ 82: 'wellgo',
84
+ 83: 'scosche',
85
+ 84: 'magura',
86
+ 85: 'woodway',
87
+ 86: 'elite',
88
+ 87: 'nielsenKellerman',
89
+ 88: 'dkCity',
90
+ 89: 'tacx',
91
+ 90: 'directionTechnology',
92
+ 91: 'magtonic',
93
+ 92: '1partcarbon',
94
+ 93: 'insideRideTechnologies',
95
+ 94: 'soundOfMotion',
96
+ 95: 'stryd',
97
+ 96: 'icg',
98
+ 97: 'miPulse',
99
+ 98: 'bsxAthletics',
100
+ 99: 'look',
101
+ 100: 'campagnoloSrl',
102
+ 101: 'bodyBikeSmart',
103
+ 102: 'praxisworks',
104
+ 103: 'limitsTechnology',
105
+ 104: 'topactionTechnology',
106
+ 105: 'cosinuss',
107
+ 106: 'fitcare',
108
+ 107: 'magene',
109
+ 108: 'giantManufacturingCo',
110
+ 109: 'tigrasport',
111
+ 110: 'salutron',
112
+ 111: 'technogym',
113
+ 112: 'brytonSensors',
114
+ 113: 'latitudeLimited',
115
+ 114: 'soaringTechnology',
116
+ 115: 'igpsport',
117
+ 116: 'thinkrider',
118
+ 117: 'gopherSport',
119
+ 118: 'waterrower',
120
+ 119: 'orangetheory',
121
+ 120: 'inpeak',
122
+ 121: 'kinetic',
123
+ 122: 'johnsonHealthTech',
124
+ 123: 'polarElectro',
125
+ 124: 'seesense',
126
+ 125: 'nciTechnology',
127
+ 126: 'iqsquare',
128
+ 127: 'leomo',
129
+ 128: 'ifitCom',
130
+ 129: 'corosByte',
131
+ 130: 'versaDesign',
132
+ 131: 'chileaf',
133
+ 132: 'cycplus',
134
+ 133: 'gravaaByte',
135
+ 134: 'sigeyi',
136
+ 135: 'coospo',
137
+ 136: 'geoid',
138
+ 137: 'bosch',
139
+ 138: 'kyto',
140
+ 139: 'kineticSports',
141
+ 140: 'decathlonByte',
142
+ 141: 'tqSystems',
143
+ 142: 'tagHeuer',
144
+ 143: 'keiserFitness',
145
+ 144: 'zwiftByte',
146
+ 145: 'porscheEp',
147
+ 146: 'blackbird',
148
+ 147: 'meilanByte',
149
+ 148: 'ezon',
150
+ 149: 'laisi',
151
+ 150: 'myzone',
152
+ 151: 'abawo',
153
+ 152: 'bafang',
154
+ 153: 'luhongTechnology',
155
+ 255: 'development',
156
+ 257: 'healthandlife',
157
+ 258: 'lezyne',
158
+ 259: 'scribeLabs',
159
+ 260: 'zwift',
160
+ 261: 'watteam',
161
+ 262: 'recon',
162
+ 263: 'faveroElectronics',
163
+ 264: 'dynovelo',
164
+ 265: 'strava',
165
+ 266: 'precor',
166
+ 267: 'bryton',
167
+ 268: 'sram',
168
+ 269: 'navman',
169
+ 270: 'cobi',
170
+ 271: 'spivi',
171
+ 272: 'mioMagellan',
172
+ 273: 'evesports',
173
+ 274: 'sensitivusGauge',
174
+ 275: 'podoon',
175
+ 276: 'lifeTimeFitness',
176
+ 277: 'falcoEMotors',
177
+ 278: 'minoura',
178
+ 279: 'cycliq',
179
+ 280: 'luxottica',
180
+ 281: 'trainerRoad',
181
+ 282: 'theSufferfest',
182
+ 283: 'fullspeedahead',
183
+ 284: 'virtualtraining',
184
+ 285: 'feedbacksports',
185
+ 286: 'omata',
186
+ 287: 'vdo',
187
+ 288: 'magneticdays',
188
+ 289: 'hammerhead',
189
+ 290: 'kineticByKurt',
190
+ 291: 'shapelog',
191
+ 292: 'dabuziduo',
192
+ 293: 'jetblack',
193
+ 294: 'coros',
194
+ 295: 'virtugo',
195
+ 296: 'velosense',
196
+ 297: 'cycligentinc',
197
+ 298: 'trailforks',
198
+ 299: 'mahleEbikemotion',
199
+ 300: 'nurvv',
200
+ 301: 'microprogram',
201
+ 302: 'zone5cloud',
202
+ 303: 'greenteg',
203
+ 304: 'yamahaMotors',
204
+ 305: 'whoop',
205
+ 306: 'gravaa',
206
+ 307: 'onelap',
207
+ 308: 'monarkExercise',
208
+ 309: 'form',
209
+ 310: 'decathlon',
210
+ 311: 'syncros',
211
+ 312: 'heatup',
212
+ 313: 'cannondale',
213
+ 314: 'trueFitness',
214
+ 315: 'rGTCycling',
215
+ 316: 'vasa',
216
+ 317: 'raceRepublic',
217
+ 318: 'fazua',
218
+ 319: 'orekaTraining',
219
+ 320: 'lsec',
220
+ 321: 'lululemonStudio',
221
+ 322: 'shanyue',
222
+ 323: 'spinningMda',
223
+ 324: 'hilldating',
224
+ 325: 'aeroSensor',
225
+ 326: 'nike',
226
+ 327: 'magicshine',
227
+ 328: 'ictrainer',
228
+ 329: 'absoluteCycling',
229
+ 330: 'eoSwimbetter',
230
+ 331: 'mywhoosh',
231
+ 332: 'ravemen',
232
+ 333: 'tektroRacingProducts',
233
+ 334: 'daradInnovationCorporation',
234
+ 335: 'cycloptim',
235
+ 337: 'runna',
236
+ 5759: 'actigraphcorp'
237
+ };
238
+ export const GarminProducts = {
239
+ 1: 'hrm1',
240
+ 2: 'axh01',
241
+ 3: 'axb01',
242
+ 4: 'axb02',
243
+ 5: 'hrm2ss',
244
+ 6: 'dsialf02',
245
+ 7: 'hrm3ss',
246
+ 8: 'hrm_run_single_byte_product_id',
247
+ 9: 'bsm',
248
+ 10: 'bcm',
249
+ 11: 'axs01',
250
+ 12: 'hrm_tri_single_byte_product_id',
251
+ 13: 'hrm4_run_single_byte_product_id',
252
+ 14: 'fr225_single_byte_product_id',
253
+ 15: 'gen3_bsm_single_byte_product_id',
254
+ 16: 'gen3_bcm_single_byte_product_id',
255
+ 22: 'hrm_fit_single_byte_product_id',
256
+ 255: 'oh_hr',
257
+ 473: 'fr301_china',
258
+ 474: 'fr301_japan',
259
+ 475: 'fr301_korea',
260
+ 494: 'fr301_taiwan',
261
+ 717: 'fr405',
262
+ 782: 'fr50',
263
+ 987: 'fr405_japan',
264
+ 988: 'fr60',
265
+ 1011: 'dsialf01',
266
+ 1018: 'fr310xt',
267
+ 1036: 'edge500',
268
+ 1124: 'fr110',
269
+ 1169: 'edge800',
270
+ 1199: 'edge500_taiwan',
271
+ 1213: 'edge500_japan',
272
+ 1253: 'chirp',
273
+ 1274: 'fr110_japan',
274
+ 1325: 'edge200',
275
+ 1328: 'fr910xt',
276
+ 1333: 'edge800_taiwan',
277
+ 1334: 'edge800_japan',
278
+ 1341: 'alf04',
279
+ 1345: 'fr610',
280
+ 1360: 'fr210_japan',
281
+ 1380: 'vector_ss',
282
+ 1381: 'vector_cp',
283
+ 1386: 'edge800_china',
284
+ 1387: 'edge500_china',
285
+ 1405: 'approach_g10',
286
+ 1410: 'fr610_japan',
287
+ 1422: 'edge500_korea',
288
+ 1436: 'fr70',
289
+ 1446: 'fr310xt_4t',
290
+ 1461: 'amx',
291
+ 1482: 'fr10',
292
+ 1497: 'edge800_korea',
293
+ 1499: 'swim',
294
+ 1537: 'fr910xt_china',
295
+ 1551: 'fenix',
296
+ 1555: 'edge200_taiwan',
297
+ 1561: 'edge510',
298
+ 1567: 'edge810',
299
+ 1570: 'tempe',
300
+ 1600: 'fr910xt_japan',
301
+ 1623: 'fr620',
302
+ 1632: 'fr220',
303
+ 1664: 'fr910xt_korea',
304
+ 1688: 'fr10_japan',
305
+ 1721: 'edge810_japan',
306
+ 1735: 'virb_elite',
307
+ 1736: 'edge_touring',
308
+ 1742: 'edge510_japan',
309
+ 1743: 'hrm_tri',
310
+ 1752: 'hrm_run',
311
+ 1765: 'fr920xt',
312
+ 1821: 'edge510_asia',
313
+ 1822: 'edge810_china',
314
+ 1823: 'edge810_taiwan',
315
+ 1836: 'edge1000',
316
+ 1837: 'vivofit',
317
+ 1853: 'virb_remote',
318
+ 1885: 'vivoki',
319
+ 1903: 'fr15',
320
+ 1907: 'vivoactive',
321
+ 1918: 'edge510_korea',
322
+ 1928: 'fr620_japan',
323
+ 1929: 'fr620_china',
324
+ 1930: 'fr220_japan',
325
+ 1931: 'fr220_china',
326
+ 1936: 'approach_s6',
327
+ 1956: 'vivosmart',
328
+ 1967: 'fenix2',
329
+ 1988: 'epix',
330
+ 2050: 'fenix3',
331
+ 2052: 'edge1000_taiwan',
332
+ 2053: 'edge1000_japan',
333
+ 2061: 'fr15_japan',
334
+ 2067: 'edge520',
335
+ 2070: 'edge1000_china',
336
+ 2072: 'fr620_russia',
337
+ 2073: 'fr220_russia',
338
+ 2079: 'vector_s',
339
+ 2100: 'edge1000_korea',
340
+ 2130: 'fr920xt_taiwan',
341
+ 2131: 'fr920xt_china',
342
+ 2132: 'fr920xt_japan',
343
+ 2134: 'virbx',
344
+ 2135: 'vivosmart_apac',
345
+ 2140: 'etrex_touch',
346
+ 2147: 'edge25',
347
+ 2148: 'fr25',
348
+ 2150: 'vivofit2',
349
+ 2153: 'fr225',
350
+ 2156: 'fr630',
351
+ 2157: 'fr230',
352
+ 2158: 'fr735xt',
353
+ 2160: 'vivoactive_apac',
354
+ 2161: 'vector2',
355
+ 2162: 'vector2s',
356
+ 2172: 'virbxe',
357
+ 2173: 'fr620_taiwan',
358
+ 2174: 'fr220_taiwan',
359
+ 2175: 'truswing',
360
+ 2187: 'd2airvenu',
361
+ 2188: 'fenix3_china',
362
+ 2189: 'fenix3_twn',
363
+ 2192: 'varia_headlight',
364
+ 2193: 'varia_taillight_old',
365
+ 2204: 'edge_explore_1000',
366
+ 2219: 'fr225_asia',
367
+ 2225: 'varia_radar_taillight',
368
+ 2226: 'varia_radar_display',
369
+ 2238: 'edge20',
370
+ 2260: 'edge520_asia',
371
+ 2261: 'edge520_japan',
372
+ 2262: 'd2bravo',
373
+ 2266: 'approach_s20',
374
+ 2271: 'vivosmart2',
375
+ 2274: 'edge1000_thai',
376
+ 2276: 'varia_remote',
377
+ 2288: 'edge25_asia',
378
+ 2289: 'edge25_jpn',
379
+ 2290: 'edge20_asia',
380
+ 2292: 'approach_x40',
381
+ 2293: 'fenix3_japan',
382
+ 2294: 'vivosmart_emea',
383
+ 2310: 'fr630_asia',
384
+ 2311: 'fr630_jpn',
385
+ 2313: 'fr230_jpn',
386
+ 2327: 'hrm4_run',
387
+ 2332: 'epix_japan',
388
+ 2337: 'vivoactive_hr',
389
+ 2347: 'vivosmart_gps_hr',
390
+ 2348: 'vivosmart_hr',
391
+ 2361: 'vivosmart_hr_asia',
392
+ 2362: 'vivosmart_gps_hr_asia',
393
+ 2368: 'vivomove',
394
+ 2379: 'varia_taillight',
395
+ 2396: 'fr235_asia',
396
+ 2397: 'fr235_japan',
397
+ 2398: 'varia_vision',
398
+ 2406: 'vivofit3',
399
+ 2407: 'fenix3_korea',
400
+ 2408: 'fenix3_sea',
401
+ 2413: 'fenix3_hr',
402
+ 2417: 'virb_ultra_30',
403
+ 2429: 'index_smart_scale',
404
+ 2431: 'fr235',
405
+ 2432: 'fenix3_chronos',
406
+ 2441: 'oregon7xx',
407
+ 2444: 'rino7xx',
408
+ 2457: 'epix_korea',
409
+ 2473: 'fenix3_hr_chn',
410
+ 2474: 'fenix3_hr_twn',
411
+ 2475: 'fenix3_hr_jpn',
412
+ 2476: 'fenix3_hr_sea',
413
+ 2477: 'fenix3_hr_kor',
414
+ 2496: 'nautix',
415
+ 2497: 'vivoactive_hr_apac',
416
+ 2503: 'fr35',
417
+ 2512: 'oregon7xx_ww',
418
+ 2530: 'edge820',
419
+ 2531: 'edge_explore_820',
420
+ 2533: 'fr735xt_apac',
421
+ 2534: 'fr735xt_japan',
422
+ 2544: 'fenix5s',
423
+ 2547: 'd2bravo_titanium',
424
+ 2567: 'varia_ut800',
425
+ 2593: 'running_dynamics_pod',
426
+ 2599: 'edge820_china',
427
+ 2600: 'edge820_japan',
428
+ 2604: 'fenix5x',
429
+ 2606: 'vivofit_jr',
430
+ 2622: 'vivosmart3',
431
+ 2623: 'vivosport',
432
+ 2628: 'edge820_taiwan',
433
+ 2629: 'edge820_korea',
434
+ 2630: 'edge820_sea',
435
+ 2650: 'fr35_hebrew',
436
+ 2656: 'approach_s60',
437
+ 2667: 'fr35_apac',
438
+ 2668: 'fr35_japan',
439
+ 2675: 'fenix3_chronos_asia',
440
+ 2687: 'virb360',
441
+ 2691: 'fr935',
442
+ 2697: 'fenix5',
443
+ 2700: 'vivoactive3',
444
+ 2713: 'edge1030',
445
+ 2727: 'fr35_sea',
446
+ 2733: 'fr235_china_nfc',
447
+ 2769: 'foretrex601_701',
448
+ 2772: 'vivomove_hr',
449
+ 2787: 'vector3',
450
+ 2796: 'fenix5_asia',
451
+ 2797: 'fenix5s_asia',
452
+ 2798: 'fenix5x_asia',
453
+ 2806: 'approach_z80',
454
+ 2814: 'fr35_korea',
455
+ 2819: 'd2charlie',
456
+ 2831: 'vivosmart3_apac',
457
+ 2832: 'vivosport_apac',
458
+ 2833: 'fr935_asia',
459
+ 2859: 'descent',
460
+ 2878: 'vivofit4',
461
+ 2886: 'fr645',
462
+ 2888: 'fr645m',
463
+ 2891: 'fr30',
464
+ 2900: 'fenix5s_plus',
465
+ 2909: 'edge130',
466
+ 2924: 'edge1030_asia',
467
+ 2927: 'vivosmart4',
468
+ 2945: 'vivomove_hr_asia',
469
+ 2962: 'approach_x10',
470
+ 2977: 'fr30_asia',
471
+ 2988: 'vivoactive3m_w',
472
+ 3003: 'fr645_asia',
473
+ 3004: 'fr645m_asia',
474
+ 3011: 'edge_explore',
475
+ 3028: 'gpsmap66',
476
+ 3049: 'approach_s10',
477
+ 3066: 'vivoactive3m_l',
478
+ 3076: 'fr245',
479
+ 3077: 'fr245m',
480
+ 3085: 'approach_g80',
481
+ 3092: 'edge130_asia',
482
+ 3095: 'edge1030_bontrager',
483
+ 3110: 'fenix5_plus',
484
+ 3111: 'fenix5x_plus',
485
+ 3112: 'edge520_plus',
486
+ 3113: 'fr945',
487
+ 3121: 'edge530',
488
+ 3122: 'edge830',
489
+ 3126: 'instinct_esports',
490
+ 3134: 'fenix5s_plus_apac',
491
+ 3135: 'fenix5x_plus_apac',
492
+ 3142: 'edge520_plus_apac',
493
+ 3143: 'descent_t1',
494
+ 3144: 'fr235l_asia',
495
+ 3145: 'fr245_asia',
496
+ 3163: 'vivoactive3m_apac',
497
+ 3192: 'gen3_bsm',
498
+ 3193: 'gen3_bcm',
499
+ 3218: 'vivosmart4_asia',
500
+ 3224: 'vivoactive4_small',
501
+ 3225: 'vivoactive4_large',
502
+ 3226: 'venu',
503
+ 3246: 'marq_driver',
504
+ 3247: 'marq_aviator',
505
+ 3248: 'marq_captain',
506
+ 3249: 'marq_commander',
507
+ 3250: 'marq_expedition',
508
+ 3251: 'marq_athlete',
509
+ 3258: 'descent_mk2',
510
+ 3282: 'fr45',
511
+ 3284: 'gpsmap66i',
512
+ 3287: 'fenix6ssport',
513
+ 3288: 'fenix6s',
514
+ 3289: 'fenix6sport',
515
+ 3290: 'fenix6',
516
+ 3291: 'fenix6x',
517
+ 3299: 'hrm_dual',
518
+ 3300: 'hrm_pro',
519
+ 3308: 'vivomove3_premium',
520
+ 3314: 'approach_s40',
521
+ 3321: 'fr245m_asia',
522
+ 3349: 'edge530_apac',
523
+ 3350: 'edge830_apac',
524
+ 3378: 'vivomove3',
525
+ 3387: 'vivoactive4_small_asia',
526
+ 3388: 'vivoactive4_large_asia',
527
+ 3389: 'vivoactive4_oled_asia',
528
+ 3405: 'swim2',
529
+ 3420: 'marq_driver_asia',
530
+ 3421: 'marq_aviator_asia',
531
+ 3422: 'vivomove3_asia',
532
+ 3441: 'fr945_asia',
533
+ 3446: 'vivoactive3t_chn',
534
+ 3448: 'marq_captain_asia',
535
+ 3449: 'marq_commander_asia',
536
+ 3450: 'marq_expedition_asia',
537
+ 3451: 'marq_athlete_asia',
538
+ 3461: 'index_smart_scale_2',
539
+ 3466: 'instinct_solar',
540
+ 3469: 'fr45_asia',
541
+ 3473: 'vivoactive3_daimler',
542
+ 3498: 'legacy_rey',
543
+ 3499: 'legacy_darth_vader',
544
+ 3500: 'legacy_captain_marvel',
545
+ 3501: 'legacy_first_avenger',
546
+ 3512: 'fenix6s_sport_asia',
547
+ 3513: 'fenix6s_asia',
548
+ 3514: 'fenix6_sport_asia',
549
+ 3515: 'fenix6_asia',
550
+ 3516: 'fenix6x_asia',
551
+ 3535: 'legacy_captain_marvel_asia',
552
+ 3536: 'legacy_first_avenger_asia',
553
+ 3537: 'legacy_rey_asia',
554
+ 3538: 'legacy_darth_vader_asia',
555
+ 3542: 'descent_mk2s',
556
+ 3558: 'edge130_plus',
557
+ 3570: 'edge1030_plus',
558
+ 3578: 'rally_200',
559
+ 3589: 'fr745',
560
+ 3596: 'venusq_music',
561
+ 3599: 'venusq_music_v2',
562
+ 3600: 'venusq',
563
+ 3615: 'lily',
564
+ 3624: 'marq_adventurer',
565
+ 3638: 'enduro',
566
+ 3639: 'swim2_apac',
567
+ 3648: 'marq_adventurer_asia',
568
+ 3652: 'fr945_lte',
569
+ 3702: 'descent_mk2_asia',
570
+ 3703: 'venu2',
571
+ 3704: 'venu2s',
572
+ 3737: 'venu_daimler_asia',
573
+ 3739: 'marq_golfer',
574
+ 3740: 'venu_daimler',
575
+ 3794: 'fr745_asia',
576
+ 3808: 'varia_rct715',
577
+ 3809: 'lily_asia',
578
+ 3812: 'edge1030_plus_asia',
579
+ 3813: 'edge130_plus_asia',
580
+ 3823: 'approach_s12',
581
+ 3837: 'venusq_asia',
582
+ 3843: 'edge1040',
583
+ 3850: 'marq_golfer_asia',
584
+ 3851: 'venu2_plus',
585
+ 3865: 'gnss',
586
+ 3869: 'fr55',
587
+ 3872: 'enduro_asia',
588
+ 3888: 'instinct2',
589
+ 3889: 'instinct2s',
590
+ 3905: 'fenix7s',
591
+ 3906: 'fenix7',
592
+ 3907: 'fenix7x',
593
+ 3908: 'fenix7s_apac',
594
+ 3909: 'fenix7_apac',
595
+ 3910: 'fenix7x_apac',
596
+ 3927: 'approach_g12',
597
+ 3930: 'descent_mk2s_asia',
598
+ 3934: 'approach_s42',
599
+ 3943: 'epix_gen2',
600
+ 3944: 'epix_gen2_apac',
601
+ 3949: 'venu2s_asia',
602
+ 3950: 'venu2_asia',
603
+ 3978: 'fr945_lte_asia',
604
+ 3982: 'vivomove_sport',
605
+ 3983: 'vivomove_trend',
606
+ 3986: 'approach_s12_asia',
607
+ 3990: 'fr255_music',
608
+ 3991: 'fr255_small_music',
609
+ 3992: 'fr255',
610
+ 3993: 'fr255_small',
611
+ 4001: 'approach_g12_asia',
612
+ 4002: 'approach_s42_asia',
613
+ 4005: 'descent_g1',
614
+ 4017: 'venu2_plus_asia',
615
+ 4024: 'fr955',
616
+ 4033: 'fr55_asia',
617
+ 4061: 'edge540',
618
+ 4062: 'edge840',
619
+ 4063: 'vivosmart5',
620
+ 4071: 'instinct2_asia',
621
+ 4105: 'marq_gen2',
622
+ 4115: 'venusq2',
623
+ 4116: 'venusq2_music',
624
+ 4124: 'marq_gen2_aviator',
625
+ 4125: 'd2_air_x10',
626
+ 4130: 'hrm_pro_plus',
627
+ 4132: 'descent_g1_asia',
628
+ 4135: 'tactix7',
629
+ 4155: 'instinct_crossover',
630
+ 4169: 'edge_explore_2',
631
+ 4222: 'descent_mk3',
632
+ 4223: 'descent_mk3i',
633
+ 4233: 'approach_s70',
634
+ 4257: 'fr265_large',
635
+ 4258: 'fr265_small',
636
+ 4260: 'venu3',
637
+ 4261: 'venu3s',
638
+ 4265: 'tacx_neo_smart',
639
+ 4266: 'tacx_neo2_smart',
640
+ 4267: 'tacx_neo2t_smart',
641
+ 4268: 'tacx_neo_smart_bike',
642
+ 4269: 'tacx_satori_smart',
643
+ 4270: 'tacx_flow_smart',
644
+ 4271: 'tacx_vortex_smart',
645
+ 4272: 'tacx_bushido_smart',
646
+ 4273: 'tacx_genius_smart',
647
+ 4274: 'tacx_flux_flux_s_smart',
648
+ 4275: 'tacx_flux_2_smart',
649
+ 4276: 'tacx_magnum',
650
+ 4305: 'edge1040_asia',
651
+ 4312: 'epix_gen2_pro_42',
652
+ 4313: 'epix_gen2_pro_47',
653
+ 4314: 'epix_gen2_pro_51',
654
+ 4315: 'fr965',
655
+ 4341: 'enduro_2',
656
+ 4374: 'fenix7s_pro_solar',
657
+ 4375: 'fenix7_pro_solar',
658
+ 4376: 'fenix7x_pro_solar',
659
+ 4380: 'lily2',
660
+ 4394: 'instinct2x',
661
+ 4426: 'vivoactive5',
662
+ 4432: 'fr165',
663
+ 4433: 'fr165_music',
664
+ 4440: 'edge1050',
665
+ 4442: 'descent_t2',
666
+ 4446: 'hrm_fit',
667
+ 4472: 'marq_gen2_commander',
668
+ 4477: 'lily_athlete',
669
+ 4532: 'fenix8_solar',
670
+ 4533: 'fenix8_solar_large',
671
+ 4534: 'fenix8_small',
672
+ 4536: 'fenix8',
673
+ 4556: 'd2_mach_1_pro',
674
+ 4575: 'enduro_3',
675
+ 4583: 'instinct_e40mm',
676
+ 4584: 'instinct_e45mm',
677
+ 4585: 'instinct_3_solar_45mm',
678
+ 4586: 'instinct_3_amoled_45mm',
679
+ 4587: 'instinct_3_amoled_50mm',
680
+ 4588: 'descent_g2',
681
+ 4603: 'venu_x1',
682
+ 4606: 'hrm200',
683
+ 4625: 'vivoactive6',
684
+ 4647: 'approach_s44',
685
+ 4655: 'edge_mtb',
686
+ 4656: 'approach_s50',
687
+ 4666: 'fenix_e',
688
+ 4759: 'instinct_3_solar_50mm',
689
+ 4775: 'tactix_8_amoled',
690
+ 4776: 'tactix_8_solar',
691
+ 10007: 'sdm4',
692
+ 10014: 'edge_remote',
693
+ 20119: 'training_center',
694
+ 20533: 'tacx_training_app_win',
695
+ 20534: 'tacx_training_app_mac',
696
+ 20565: 'tacx_training_app_mac_catalyst',
697
+ 30045: 'tacx_training_app_android',
698
+ 30046: 'tacx_training_app_ios',
699
+ 30047: 'tacx_training_app_legacy',
700
+ 65531: 'connectiq_simulator',
701
+ 65532: 'android_antplus_plugin',
702
+ 65534: 'connect'
703
+ };
704
+ export const GarminSports = {
705
+ 0: 'generic',
706
+ 1: 'running',
707
+ 2: 'cycling',
708
+ 3: 'transition',
709
+ 4: 'fitness_equipment',
710
+ 5: 'swimming',
711
+ 6: 'basketball',
712
+ 7: 'soccer',
713
+ 8: 'tennis',
714
+ 9: 'american_football',
715
+ 10: 'training',
716
+ 11: 'walking',
717
+ 12: 'cross_country_skiing',
718
+ 13: 'alpine_skiing',
719
+ 14: 'snowboarding',
720
+ 15: 'rowing',
721
+ 16: 'mountaineering',
722
+ 17: 'hiking',
723
+ 18: 'multisport',
724
+ 19: 'paddling',
725
+ 20: 'flying',
726
+ 21: 'e_biking',
727
+ 22: 'motorcycling',
728
+ 23: 'boating',
729
+ 24: 'driving',
730
+ 25: 'golf',
731
+ 26: 'hang_gliding',
732
+ 27: 'horseback_riding',
733
+ 28: 'hunting',
734
+ 29: 'fishing',
735
+ 30: 'inline_skating',
736
+ 31: 'rock_climbing',
737
+ 32: 'sailing',
738
+ 33: 'ice_skating',
739
+ 34: 'sky_diving',
740
+ 35: 'snowshoeing',
741
+ 36: 'snowmobiling',
742
+ 37: 'stand_up_paddleboarding',
743
+ 38: 'surfing',
744
+ 39: 'wakeboarding',
745
+ 40: 'water_skiing',
746
+ 41: 'kayaking',
747
+ 42: 'rafting',
748
+ 43: 'windsurfing',
749
+ 44: 'kitesurfing',
750
+ 45: 'tactical',
751
+ 46: 'jumpmaster',
752
+ 47: 'boxing',
753
+ 48: 'floor_climbing',
754
+ 49: 'baseball',
755
+ 53: 'diving',
756
+ 62: 'hiit',
757
+ 64: 'racket',
758
+ 65: 'wheelchair_push_walk',
759
+ 66: 'wheelchair_push_run',
760
+ 67: 'meditation',
761
+ 69: 'disc_golf',
762
+ 71: 'cricket',
763
+ 72: 'rugby',
764
+ 73: 'hockey',
765
+ 74: 'lacrosse',
766
+ 75: 'volleyball',
767
+ 76: 'water_tubing',
768
+ 77: 'wakesurfing',
769
+ 80: 'mixed_martial_arts',
770
+ 82: 'snorkeling',
771
+ 83: 'dance',
772
+ 84: 'jump_rope',
773
+ 254: 'all'
774
+ };
775
+ export const GarminSubSports = {
776
+ 0: 'generic',
777
+ 1: 'treadmill',
778
+ 2: 'street',
779
+ 3: 'trail',
780
+ 4: 'track',
781
+ 5: 'spin',
782
+ 6: 'indoor_cycling',
783
+ 7: 'road',
784
+ 8: 'mountain',
785
+ 9: 'downhill',
786
+ 10: 'recumbent',
787
+ 11: 'cyclocross',
788
+ 12: 'hand_cycling',
789
+ 13: 'track_cycling',
790
+ 14: 'indoor_rowing',
791
+ 15: 'elliptical',
792
+ 16: 'stair_climbing',
793
+ 17: 'lap_swimming',
794
+ 18: 'open_water',
795
+ 19: 'flexibility_training',
796
+ 20: 'strength_training',
797
+ 21: 'warm_up',
798
+ 22: 'match',
799
+ 23: 'exercise',
800
+ 24: 'challenge',
801
+ 25: 'indoor_skiing',
802
+ 26: 'cardio_training',
803
+ 27: 'indoor_walking',
804
+ 28: 'e_bike_fitness',
805
+ 29: 'bmx',
806
+ 30: 'casual_walking',
807
+ 31: 'speed_walking',
808
+ 32: 'bike_to_run_transition',
809
+ 33: 'run_to_bike_transition',
810
+ 34: 'swim_to_bike_transition',
811
+ 35: 'atv',
812
+ 36: 'motocross',
813
+ 37: 'backcountry',
814
+ 38: 'resort',
815
+ 39: 'rc_drone',
816
+ 40: 'wingsuit',
817
+ 41: 'whitewater',
818
+ 42: 'skate_skiing',
819
+ 43: 'yoga',
820
+ 44: 'pilates',
821
+ 45: 'indoor_running',
822
+ 46: 'gravel_cycling',
823
+ 47: 'e_bike_mountain',
824
+ 48: 'commuting',
825
+ 49: 'mixed_surface',
826
+ 50: 'navigate',
827
+ 51: 'track_me',
828
+ 52: 'map',
829
+ 53: 'single_gas_diving',
830
+ 54: 'multi_gas_diving',
831
+ 55: 'gauge_diving',
832
+ 56: 'apnea_diving',
833
+ 57: 'apnea_hunting',
834
+ 58: 'virtual_activity',
835
+ 59: 'obstacle',
836
+ 62: 'breathing',
837
+ 65: 'sail_race',
838
+ 67: 'ultra',
839
+ 68: 'indoor_climbing',
840
+ 69: 'bouldering',
841
+ 70: 'hiit',
842
+ 73: 'amrap',
843
+ 74: 'emom',
844
+ 75: 'tabata',
845
+ 84: 'pickleball',
846
+ 85: 'padel',
847
+ 86: 'indoor_wheelchair_walk',
848
+ 87: 'indoor_wheelchair_run',
849
+ 88: 'indoor_hand_cycling',
850
+ 94: 'squash',
851
+ 95: 'badminton',
852
+ 96: 'racquetball',
853
+ 97: 'table_tennis',
854
+ 110: 'fly_canopy',
855
+ 111: 'fly_paraglide',
856
+ 112: 'fly_paramotor',
857
+ 113: 'fly_pressurized',
858
+ 114: 'fly_navigate',
859
+ 115: 'fly_timer',
860
+ 116: 'fly_altimeter',
861
+ 117: 'fly_wx',
862
+ 118: 'fly_vfr',
863
+ 119: 'fly_ifr',
864
+ 254: 'all'
865
+ };