@sports-alliance/sports-lib 7.1.1 → 7.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.
Files changed (62) hide show
  1. package/lib/cjs/data/data-ground-contact-time-balance-left.d.ts +4 -0
  2. package/lib/cjs/data/data-ground-contact-time-balance-left.js +8 -0
  3. package/lib/cjs/data/data-ground-contact-time-balance-right.d.ts +4 -0
  4. package/lib/cjs/data/data-ground-contact-time-balance-right.js +8 -0
  5. package/lib/cjs/data/data-ground-contact-time-balance.d.ts +3 -0
  6. package/lib/cjs/data/data-ground-contact-time-balance.js +7 -0
  7. package/lib/cjs/data/data-stance-time-balance-left.d.ts +1 -0
  8. package/lib/cjs/data/data-stance-time-balance-left.js +1 -0
  9. package/lib/cjs/data/data-stance-time-balance-right.d.ts +1 -0
  10. package/lib/cjs/data/data-stance-time-balance-right.js +1 -0
  11. package/lib/cjs/data/data-stance-time-balance.d.ts +1 -0
  12. package/lib/cjs/data/data-stance-time-balance.js +1 -0
  13. package/lib/cjs/data/data.depth-max.d.ts +5 -0
  14. package/lib/cjs/data/data.depth-max.js +9 -0
  15. package/lib/cjs/data/data.depth.d.ts +5 -0
  16. package/lib/cjs/data/data.depth.js +9 -0
  17. package/lib/cjs/data/data.fitness-age.d.ts +5 -0
  18. package/lib/cjs/data/data.fitness-age.js +9 -0
  19. package/lib/cjs/data/data.ground-contact-time-avg.d.ts +5 -0
  20. package/lib/cjs/data/data.ground-contact-time-avg.js +9 -0
  21. package/lib/cjs/data/data.ground-contact-time-max.d.ts +5 -0
  22. package/lib/cjs/data/data.ground-contact-time-max.js +9 -0
  23. package/lib/cjs/data/data.ground-contact-time-min.d.ts +5 -0
  24. package/lib/cjs/data/data.ground-contact-time-min.js +9 -0
  25. package/lib/cjs/data/data.ground-contact-time.d.ts +5 -0
  26. package/lib/cjs/data/data.ground-contact-time.js +9 -0
  27. package/lib/cjs/data/data.max-hr-setting.d.ts +5 -0
  28. package/lib/cjs/data/data.max-hr-setting.js +9 -0
  29. package/lib/cjs/data/data.stance-time.d.ts +1 -0
  30. package/lib/cjs/data/data.stance-time.js +1 -0
  31. package/lib/cjs/data/data.store.js +39 -1
  32. package/lib/cjs/data/data.vertical-oscillation-avg.d.ts +5 -0
  33. package/lib/cjs/data/data.vertical-oscillation-avg.js +9 -0
  34. package/lib/cjs/data/data.vertical-oscillation-max.d.ts +5 -0
  35. package/lib/cjs/data/data.vertical-oscillation-max.js +9 -0
  36. package/lib/cjs/data/data.vertical-oscillation-min.d.ts +5 -0
  37. package/lib/cjs/data/data.vertical-oscillation-min.js +9 -0
  38. package/lib/cjs/events/adapters/importers/fit/importer.fit.js +40 -3
  39. package/lib/cjs/events/adapters/importers/fit/importer.fit.mapper.js +23 -0
  40. package/lib/cjs/events/adapters/importers/suunto/importer.suunto.integration.spec.js +87 -3
  41. package/lib/cjs/events/adapters/importers/suunto/importer.suunto.json.js +86 -6
  42. package/lib/cjs/events/utilities/activity.utilities.js +38 -2
  43. package/lib/esm/data/data-ground-contact-time-balance-left.d.ts +4 -0
  44. package/lib/esm/data/data-ground-contact-time-balance-right.d.ts +4 -0
  45. package/lib/esm/data/data-ground-contact-time-balance.d.ts +3 -0
  46. package/lib/esm/data/data-stance-time-balance-left.d.ts +1 -0
  47. package/lib/esm/data/data-stance-time-balance-right.d.ts +1 -0
  48. package/lib/esm/data/data-stance-time-balance.d.ts +1 -0
  49. package/lib/esm/data/data.depth-max.d.ts +5 -0
  50. package/lib/esm/data/data.depth.d.ts +5 -0
  51. package/lib/esm/data/data.fitness-age.d.ts +5 -0
  52. package/lib/esm/data/data.ground-contact-time-avg.d.ts +5 -0
  53. package/lib/esm/data/data.ground-contact-time-max.d.ts +5 -0
  54. package/lib/esm/data/data.ground-contact-time-min.d.ts +5 -0
  55. package/lib/esm/data/data.ground-contact-time.d.ts +5 -0
  56. package/lib/esm/data/data.max-hr-setting.d.ts +5 -0
  57. package/lib/esm/data/data.stance-time.d.ts +1 -0
  58. package/lib/esm/data/data.vertical-oscillation-avg.d.ts +5 -0
  59. package/lib/esm/data/data.vertical-oscillation-max.d.ts +5 -0
  60. package/lib/esm/data/data.vertical-oscillation-min.d.ts +5 -0
  61. package/lib/esm/index.js +259 -13
  62. package/package.json +2 -2
@@ -100,6 +100,18 @@ const data_speed_zone_two_duration_1 = require("../../../../data/data.speed-zone
100
100
  const data_speed_zone_three_duration_1 = require("../../../../data/data.speed-zone-three-duration");
101
101
  const data_speed_zone_four_duration_1 = require("../../../../data/data.speed-zone-four-duration");
102
102
  const data_speed_zone_five_duration_1 = require("../../../../data/data.speed-zone-five-duration");
103
+ const data_ground_contact_time_1 = require("../../../../data/data.ground-contact-time");
104
+ const data_ground_contact_time_avg_1 = require("../../../../data/data.ground-contact-time-avg");
105
+ const data_ground_contact_time_max_1 = require("../../../../data/data.ground-contact-time-max");
106
+ const data_ground_contact_time_min_1 = require("../../../../data/data.ground-contact-time-min");
107
+ const data_vertical_oscillation_1 = require("../../../../data/data.vertical-oscillation");
108
+ const data_vertical_oscillation_avg_1 = require("../../../../data/data.vertical-oscillation-avg");
109
+ const data_vertical_oscillation_max_1 = require("../../../../data/data.vertical-oscillation-max");
110
+ const data_vertical_oscillation_min_1 = require("../../../../data/data.vertical-oscillation-min");
111
+ const data_fitness_age_1 = require("../../../../data/data.fitness-age");
112
+ const data_max_hr_setting_1 = require("../../../../data/data.max-hr-setting");
113
+ const data_depth_1 = require("../../../../data/data.depth");
114
+ const data_depth_max_1 = require("../../../../data/data.depth-max");
103
115
  const file_type_enum_1 = require("../../file-type.enum");
104
116
  const activity_parsing_options_1 = require("../../../../activities/activity-parsing-options");
105
117
  class EventImporterSuuntoJSON {
@@ -152,8 +164,11 @@ class EventImporterSuuntoJSON {
152
164
  : [];
153
165
  // Create the activities
154
166
  const activities = activityStartEventSamples.map((activityStartEventSample, index) => {
167
+ // If no stop event, use the last sample time as end date
168
+ const lastSampleTime = eventJSONObject.DeviceLog.Samples[eventJSONObject.DeviceLog.Samples.length - 1].TimeISO8601;
169
+ const fallbackEndTime = stopEventSample ? stopEventSample.TimeISO8601 : lastSampleTime;
155
170
  const activity = new activity_1.Activity(new Date(activityStartEventSample.TimeISO8601), activityStartEventSamples.length - 1 === index
156
- ? new Date(stopEventSample ? stopEventSample.TimeISO8601 : (eventJSONObject.DeviceLog.Header.TimeISO8601 || eventJSONObject.DeviceLog.Header.DateTime))
171
+ ? new Date(fallbackEndTime)
157
172
  : new Date(activityStartEventSamples[index + 1].TimeISO8601), activity_types_1.ActivityTypes[(importer_suunto_activity_ids_1.ImporterSuuntoActivityIds[activityStartEventSample.Events[0].Activity.ActivityType])], creator, options);
158
173
  // Set the end date to the stop event time if the activity is the last or the only one else set it on the next itery time
159
174
  // Create the stats these are a 1:1 ref arrays
@@ -268,10 +283,6 @@ class EventImporterSuuntoJSON {
268
283
  // @todo check if start and end date can derive from the json
269
284
  const event = new event_1.Event('', activities[0].startDate, activities[activities.length - 1].endDate, file_type_enum_1.FileType.SUUNTO);
270
285
  activities.forEach(activity => event.addActivity(activity));
271
- // Populate the event stats from the Header Object // @todo maybe remove
272
- this.getStats(eventJSONObject.DeviceLog.Header).forEach(stat => {
273
- event.addStat(stat);
274
- });
275
286
  // Get the settings and add it to all activities as it's logical
276
287
  if (eventJSONObject.DeviceLog.Header.Settings) {
277
288
  this.getSettings(eventJSONObject.DeviceLog.Header.Settings).forEach(stat => {
@@ -285,9 +296,12 @@ class EventImporterSuuntoJSON {
285
296
  stat instanceof data_pool_length_1.DataPoolLength);
286
297
  stats.forEach(stat => activities[0].addStat(stat));
287
298
  }
288
- // @todo see how we can have those event stats persisted as the below generation wipes those off.
289
299
  // Generate stats
290
300
  event_utilities_1.EventUtilities.generateStatsForAll(event);
301
+ // Populate the event stats from the Header Object
302
+ this.getStats(eventJSONObject.DeviceLog.Header).forEach(stat => {
303
+ event.addStat(stat);
304
+ });
291
305
  resolve(event);
292
306
  });
293
307
  }
@@ -355,8 +369,12 @@ class EventImporterSuuntoJSON {
355
369
  return samples;
356
370
  }
357
371
  static setStreamsForActivity(activity, samples) {
372
+ // console.log(`Setting streams for activity with ${samples.length} samples`);
358
373
  exports.SuuntoSampleMapper.forEach(sampleMapping => {
359
374
  const subjectSamples = samples.filter(sample => (0, helpers_1.isNumberOrString)(sample[sampleMapping.sampleField]));
375
+ // if (sampleMapping.sampleField === 'GroundContactTime') {
376
+ // console.log(`GCT Samples found: ${subjectSamples.length}`);
377
+ // }
360
378
  if (subjectSamples.length) {
361
379
  activity.addStream(activity.createStream(sampleMapping.dataType));
362
380
  subjectSamples.forEach(subjectSample => {
@@ -525,6 +543,53 @@ class EventImporterSuuntoJSON {
525
543
  }
526
544
  }
527
545
  }
546
+ // Ground Contact Time (Running Dynamics)
547
+ if (object.hasOwnProperty('GroundContactTime')) {
548
+ if (Array.isArray(object.GroundContactTime)) {
549
+ if ((0, helpers_1.isNumber)(object.GroundContactTime[0].Avg)) {
550
+ stats.push(new data_ground_contact_time_avg_1.DataGroundContactTimeAvg(object.GroundContactTime[0].Avg * 1000)); // Convert s to ms
551
+ }
552
+ if ((0, helpers_1.isNumber)(object.GroundContactTime[0].Max)) {
553
+ stats.push(new data_ground_contact_time_max_1.DataGroundContactTimeMax(object.GroundContactTime[0].Max * 1000));
554
+ }
555
+ if ((0, helpers_1.isNumber)(object.GroundContactTime[0].Min)) {
556
+ stats.push(new data_ground_contact_time_min_1.DataGroundContactTimeMin(object.GroundContactTime[0].Min * 1000));
557
+ }
558
+ }
559
+ }
560
+ // Vertical Oscillation (Running Dynamics)
561
+ if (object.hasOwnProperty('VerticalOscillation')) {
562
+ if (Array.isArray(object.VerticalOscillation)) {
563
+ if ((0, helpers_1.isNumber)(object.VerticalOscillation[0].Avg)) {
564
+ stats.push(new data_vertical_oscillation_avg_1.DataVerticalOscillationAvg(object.VerticalOscillation[0].Avg * 1000)); // Convert m to mm
565
+ }
566
+ if ((0, helpers_1.isNumber)(object.VerticalOscillation[0].Max)) {
567
+ stats.push(new data_vertical_oscillation_max_1.DataVerticalOscillationMax(object.VerticalOscillation[0].Max * 1000));
568
+ }
569
+ if ((0, helpers_1.isNumber)(object.VerticalOscillation[0].Min)) {
570
+ stats.push(new data_vertical_oscillation_min_1.DataVerticalOscillationMin(object.VerticalOscillation[0].Min * 1000));
571
+ }
572
+ }
573
+ }
574
+ // Fitness Age
575
+ if ((0, helpers_1.isNumber)(object.FitnessAge)) {
576
+ stats.push(new data_fitness_age_1.DataFitnessAge(object.FitnessAge));
577
+ }
578
+ // Personal MaxHR
579
+ if (object.Personal && (0, helpers_1.isNumber)(object.Personal.MaxHR)) {
580
+ stats.push(new data_max_hr_setting_1.DataMaxHRSetting(object.Personal.MaxHR * 60)); // Convert from Hz to bpm
581
+ }
582
+ // Depth (Diving)
583
+ if (object.hasOwnProperty('Depth')) {
584
+ if (Array.isArray(object.Depth)) {
585
+ if ((0, helpers_1.isNumber)(object.Depth[0].Max) && object.Depth[0].Max > 0) {
586
+ stats.push(new data_depth_max_1.DataDepthMax(object.Depth[0].Max));
587
+ }
588
+ }
589
+ else if ((0, helpers_1.isNumber)(object.Depth.Max) && object.Depth.Max > 0) {
590
+ stats.push(new data_depth_max_1.DataDepthMax(object.Depth.Max));
591
+ }
592
+ }
528
593
  return stats;
529
594
  }
530
595
  }
@@ -717,5 +782,20 @@ exports.SuuntoSampleMapper = [
717
782
  dataType: data_battery_voltage_1.DataBatteryVoltage.type,
718
783
  sampleField: 'BatteryVoltage',
719
784
  convertSampleValue: (value) => Number(value)
785
+ },
786
+ {
787
+ dataType: data_vertical_oscillation_1.DataVerticalOscillation.type,
788
+ sampleField: 'VerticalOscillation',
789
+ convertSampleValue: (value) => Number(value * 1000) // Convert m to mm
790
+ },
791
+ {
792
+ dataType: data_ground_contact_time_1.DataGroundContactTime.type,
793
+ sampleField: 'GroundContactTime',
794
+ convertSampleValue: (value) => Number(value * 1000) // Convert s to ms
795
+ },
796
+ {
797
+ dataType: data_depth_1.DataDepth.type,
798
+ sampleField: 'Depth',
799
+ convertSampleValue: (value) => Number(value)
720
800
  }
721
801
  ];
@@ -82,6 +82,18 @@ const data_speed_zone_two_duration_1 = require("../../data/data.speed-zone-two-d
82
82
  const data_speed_zone_three_duration_1 = require("../../data/data.speed-zone-three-duration");
83
83
  const data_speed_zone_four_duration_1 = require("../../data/data.speed-zone-four-duration");
84
84
  const data_speed_zone_five_duration_1 = require("../../data/data.speed-zone-five-duration");
85
+ const data_ground_contact_time_1 = require("../../data/data.ground-contact-time");
86
+ const data_ground_contact_time_avg_1 = require("../../data/data.ground-contact-time-avg");
87
+ const data_ground_contact_time_max_1 = require("../../data/data.ground-contact-time-max");
88
+ const data_ground_contact_time_min_1 = require("../../data/data.ground-contact-time-min");
89
+ const data_ground_contact_time_balance_left_1 = require("../../data/data-ground-contact-time-balance-left");
90
+ const data_ground_contact_time_balance_right_1 = require("../../data/data-ground-contact-time-balance-right");
91
+ const data_vertical_oscillation_1 = require("../../data/data.vertical-oscillation");
92
+ const data_vertical_oscillation_avg_1 = require("../../data/data.vertical-oscillation-avg");
93
+ const data_vertical_oscillation_max_1 = require("../../data/data.vertical-oscillation-max");
94
+ const data_vertical_oscillation_min_1 = require("../../data/data.vertical-oscillation-min");
95
+ const data_stance_time_balance_left_1 = require("../../data/data-stance-time-balance-left");
96
+ const data_stance_time_balance_right_1 = require("../../data/data-stance-time-balance-right");
85
97
  const data_store_1 = require("../../data/data.store");
86
98
  const data_start_position_1 = require("../../data/data.start-position");
87
99
  const data_end_position_1 = require("../../data/data.end-position");
@@ -101,8 +113,6 @@ const data_altitude_smooth_1 = require("../../data/data.altitude-smooth");
101
113
  const data_grade_smooth_1 = require("../../data/data.grade-smooth");
102
114
  const data_swolf_25m_1 = require("../../data/data.swolf-25m");
103
115
  const data_swolf_50m_1 = require("../../data/data.swolf-50m");
104
- const data_stance_time_balance_left_1 = require("../../data/data-stance-time-balance-left");
105
- const data_stance_time_balance_right_1 = require("../../data/data-stance-time-balance-right");
106
116
  const low_pass_filter_1 = require("./grade-calculator/low-pass-filter");
107
117
  const data_power_normalized_1 = require("../../data/data.power-normalized");
108
118
  const data_power_work_1 = require("../../data/data.power-work");
@@ -1310,11 +1320,37 @@ class ActivityUtilities {
1310
1320
  activity.addStat(new data_left_balance_1.DataLeftBalance(100 - avgRightBalance));
1311
1321
  }
1312
1322
  // Assign L/R balance stance time from streams if exists
1323
+ if (!activity.getStat(data_ground_contact_time_balance_left_1.DataGroundContactTimeBalanceLeft.type) && activity.hasStreamData(data_ground_contact_time_balance_left_1.DataGroundContactTimeBalanceLeft.type)) {
1324
+ const avgStanceTimeLeftBalance = this.round(this.getDataTypeAvg(activity, data_ground_contact_time_balance_left_1.DataGroundContactTimeBalanceLeft.type), 2);
1325
+ activity.addStat(new data_ground_contact_time_balance_left_1.DataGroundContactTimeBalanceLeft(avgStanceTimeLeftBalance));
1326
+ activity.addStat(new data_ground_contact_time_balance_right_1.DataGroundContactTimeBalanceRight(100 - avgStanceTimeLeftBalance));
1327
+ }
1328
+ // Backward compatibility for Stance Time Balance
1313
1329
  if (!activity.getStat(data_stance_time_balance_left_1.DataStanceTimeBalanceLeft.type) && activity.hasStreamData(data_stance_time_balance_left_1.DataStanceTimeBalanceLeft.type)) {
1314
1330
  const avgStanceTimeLeftBalance = this.round(this.getDataTypeAvg(activity, data_stance_time_balance_left_1.DataStanceTimeBalanceLeft.type), 2);
1315
1331
  activity.addStat(new data_stance_time_balance_left_1.DataStanceTimeBalanceLeft(avgStanceTimeLeftBalance));
1316
1332
  activity.addStat(new data_stance_time_balance_right_1.DataStanceTimeBalanceRight(100 - avgStanceTimeLeftBalance));
1317
1333
  }
1334
+ // Ground Contact Time
1335
+ if (!activity.getStat(data_ground_contact_time_max_1.DataGroundContactTimeMax.type) && activity.hasStreamData(data_ground_contact_time_1.DataGroundContactTime.type)) {
1336
+ activity.addStat(new data_ground_contact_time_max_1.DataGroundContactTimeMax(this.getDataTypeMax(activity, data_ground_contact_time_1.DataGroundContactTime.type)));
1337
+ }
1338
+ if (!activity.getStat(data_ground_contact_time_min_1.DataGroundContactTimeMin.type) && activity.hasStreamData(data_ground_contact_time_1.DataGroundContactTime.type)) {
1339
+ activity.addStat(new data_ground_contact_time_min_1.DataGroundContactTimeMin(this.getDataTypeMin(activity, data_ground_contact_time_1.DataGroundContactTime.type)));
1340
+ }
1341
+ if (!activity.getStat(data_ground_contact_time_avg_1.DataGroundContactTimeAvg.type) && activity.hasStreamData(data_ground_contact_time_1.DataGroundContactTime.type)) {
1342
+ activity.addStat(new data_ground_contact_time_avg_1.DataGroundContactTimeAvg(this.getDataTypeAvg(activity, data_ground_contact_time_1.DataGroundContactTime.type)));
1343
+ }
1344
+ // Vertical Oscillation
1345
+ if (!activity.getStat(data_vertical_oscillation_max_1.DataVerticalOscillationMax.type) && activity.hasStreamData(data_vertical_oscillation_1.DataVerticalOscillation.type)) {
1346
+ activity.addStat(new data_vertical_oscillation_max_1.DataVerticalOscillationMax(this.getDataTypeMax(activity, data_vertical_oscillation_1.DataVerticalOscillation.type)));
1347
+ }
1348
+ if (!activity.getStat(data_vertical_oscillation_min_1.DataVerticalOscillationMin.type) && activity.hasStreamData(data_vertical_oscillation_1.DataVerticalOscillation.type)) {
1349
+ activity.addStat(new data_vertical_oscillation_min_1.DataVerticalOscillationMin(this.getDataTypeMin(activity, data_vertical_oscillation_1.DataVerticalOscillation.type)));
1350
+ }
1351
+ if (!activity.getStat(data_vertical_oscillation_avg_1.DataVerticalOscillationAvg.type) && activity.hasStreamData(data_vertical_oscillation_1.DataVerticalOscillation.type)) {
1352
+ activity.addStat(new data_vertical_oscillation_avg_1.DataVerticalOscillationAvg(this.getDataTypeAvg(activity, data_vertical_oscillation_1.DataVerticalOscillation.type)));
1353
+ }
1318
1354
  }
1319
1355
  static generateMissingSpeedDerivedStatsForActivity(activity) {
1320
1356
  // Pace
@@ -0,0 +1,4 @@
1
+ import { DataGroundContactTimeBalance } from './data-ground-contact-time-balance';
2
+ export declare class DataGroundContactTimeBalanceLeft extends DataGroundContactTimeBalance {
3
+ static type: string;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { DataGroundContactTimeBalance } from './data-ground-contact-time-balance';
2
+ export declare class DataGroundContactTimeBalanceRight extends DataGroundContactTimeBalance {
3
+ static type: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ import { DataPercent } from './data.percent';
2
+ export declare abstract class DataGroundContactTimeBalance extends DataPercent {
3
+ }
@@ -1,4 +1,5 @@
1
1
  import { DataStanceTimeBalance } from './data-stance-time-balance';
2
+ /** @deprecated Use DataGroundContactTimeBalanceLeft instead */
2
3
  export declare class DataStanceTimeBalanceLeft extends DataStanceTimeBalance {
3
4
  static type: string;
4
5
  }
@@ -1,4 +1,5 @@
1
1
  import { DataStanceTimeBalance } from './data-stance-time-balance';
2
+ /** @deprecated Use DataGroundContactTimeBalanceRight instead */
2
3
  export declare class DataStanceTimeBalanceRight extends DataStanceTimeBalance {
3
4
  static type: string;
4
5
  }
@@ -1,3 +1,4 @@
1
1
  import { DataPercent } from './data.percent';
2
+ /** @deprecated Use DataGroundContactTimeBalance instead */
2
3
  export declare abstract class DataStanceTimeBalance extends DataPercent {
3
4
  }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataDepthMax extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataDepth extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataFitnessAge extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataGroundContactTimeAvg extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataGroundContactTimeMax extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataGroundContactTimeMin extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataGroundContactTime extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataMaxHRSetting extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -1,4 +1,5 @@
1
1
  import { DataNumber } from './data.number';
2
+ /** @deprecated Use DataGroundContactTime instead */
2
3
  export declare class DataStanceTime extends DataNumber {
3
4
  static type: string;
4
5
  static unit: string;
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataVerticalOscillationAvg extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataVerticalOscillationMax extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { DataNumber } from './data.number';
2
+ export declare class DataVerticalOscillationMin extends DataNumber {
3
+ static type: string;
4
+ static unit: string;
5
+ }