@sports-alliance/sports-lib 7.0.8 → 7.0.10
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/lib/cjs/data/data.array.d.ts +2 -3
- package/lib/cjs/data/data.array.js +1 -1
- package/lib/cjs/data/data.bare.d.ts +2 -1
- package/lib/cjs/data/data.d.ts +5 -5
- package/lib/cjs/data/data.number.d.ts +1 -2
- package/lib/cjs/data/data.position.d.ts +2 -3
- package/lib/cjs/data/data.position.js +1 -1
- package/lib/cjs/data/data.string.d.ts +2 -3
- package/lib/cjs/data/data.string.js +1 -1
- package/lib/esm/data/data.array.d.ts +2 -3
- package/lib/esm/data/data.bare.d.ts +2 -1
- package/lib/esm/data/data.d.ts +5 -5
- package/lib/esm/data/data.number.d.ts +1 -2
- package/lib/esm/data/data.position.d.ts +2 -3
- package/lib/esm/data/data.string.d.ts +2 -3
- package/lib/esm/index.js +12034 -152
- package/package.json +2 -2
- package/.editorconfig +0 -14
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -9
- package/.prettierignore +0 -25
- package/.prettierrc.json +0 -12
- package/CODE_OF_CONDUCT.md +0 -76
- package/jest.config.js +0 -23
- package/lib/esm/activities/activity-parsing-options.js +0 -19
- package/lib/esm/activities/activity.interface.js +0 -1
- package/lib/esm/activities/activity.js +0 -281
- package/lib/esm/activities/activity.json.interface.js +0 -1
- package/lib/esm/activities/activity.spec.js +0 -348
- package/lib/esm/activities/activity.types.js +0 -1046
- package/lib/esm/activities/activityt-types.spec.js +0 -16
- package/lib/esm/activities/devices/device.interface.js +0 -1
- package/lib/esm/activities/devices/device.js +0 -26
- package/lib/esm/activities/devices/device.json.interface.js +0 -1
- package/lib/esm/constants/constants.js +0 -8
- package/lib/esm/creators/creator.interface.js +0 -1
- package/lib/esm/creators/creator.js +0 -37
- package/lib/esm/creators/creator.json.interface.js +0 -1
- package/lib/esm/creators/creator.spec.js +0 -25
- package/lib/esm/data/data-active-lap.js +0 -4
- package/lib/esm/data/data-active-lengths.js +0 -4
- package/lib/esm/data/data-aerobic-training-effect.js +0 -8
- package/lib/esm/data/data-anaerobic-training-effect.js +0 -8
- package/lib/esm/data/data-stance-time-balance-left.js +0 -4
- package/lib/esm/data/data-stance-time-balance-right.js +0 -4
- package/lib/esm/data/data-stance-time-balance.js +0 -3
- package/lib/esm/data/data-store.spec.js +0 -78
- package/lib/esm/data/data-total-cycles.js +0 -4
- package/lib/esm/data/data.absolute-pressure.js +0 -5
- package/lib/esm/data/data.accumulated-power.js +0 -8
- package/lib/esm/data/data.activity-types.js +0 -7
- package/lib/esm/data/data.air-power-avg.js +0 -4
- package/lib/esm/data/data.air-power-max.js +0 -4
- package/lib/esm/data/data.air-power-min.js +0 -4
- package/lib/esm/data/data.air-power.js +0 -8
- package/lib/esm/data/data.alti-baro-profile.js +0 -4
- package/lib/esm/data/data.altitude-avg.js +0 -4
- package/lib/esm/data/data.altitude-gps.js +0 -5
- package/lib/esm/data/data.altitude-max.js +0 -4
- package/lib/esm/data/data.altitude-min.js +0 -4
- package/lib/esm/data/data.altitude-smooth.js +0 -4
- package/lib/esm/data/data.altitude.js +0 -8
- package/lib/esm/data/data.array.js +0 -13
- package/lib/esm/data/data.ascent-time.js +0 -4
- package/lib/esm/data/data.ascent.js +0 -4
- package/lib/esm/data/data.auto-lap-distance.js +0 -5
- package/lib/esm/data/data.auto-lap-duration.js +0 -4
- package/lib/esm/data/data.auto-lap-used.js +0 -7
- package/lib/esm/data/data.auto-pause-used.js +0 -7
- package/lib/esm/data/data.avg-stride-length.js +0 -4
- package/lib/esm/data/data.balance.js +0 -6
- package/lib/esm/data/data.bare.js +0 -4
- package/lib/esm/data/data.battery-charge.js +0 -8
- package/lib/esm/data/data.battery-consumption.js +0 -8
- package/lib/esm/data/data.battery-current.js +0 -8
- package/lib/esm/data/data.battery-life-estimation.js +0 -4
- package/lib/esm/data/data.battery-voltage.js +0 -8
- package/lib/esm/data/data.bike-pod-used.js +0 -7
- package/lib/esm/data/data.boolean.js +0 -9
- package/lib/esm/data/data.cadence-avg.js +0 -4
- package/lib/esm/data/data.cadence-max.js +0 -4
- package/lib/esm/data/data.cadence-min.js +0 -4
- package/lib/esm/data/data.cadence.js +0 -8
- package/lib/esm/data/data.cycling-dynamics.js +0 -3
- package/lib/esm/data/data.cycling-position.js +0 -37
- package/lib/esm/data/data.cycling-seated-time.js +0 -5
- package/lib/esm/data/data.cycling-standing-time.js +0 -5
- package/lib/esm/data/data.descent-time.js +0 -4
- package/lib/esm/data/data.descent.js +0 -4
- package/lib/esm/data/data.description.js +0 -4
- package/lib/esm/data/data.device-location.js +0 -4
- package/lib/esm/data/data.device-names.js +0 -7
- package/lib/esm/data/data.distance.js +0 -15
- package/lib/esm/data/data.duration.js +0 -56
- package/lib/esm/data/data.ehpe.js +0 -5
- package/lib/esm/data/data.enabled-navigation-systems.js +0 -4
- package/lib/esm/data/data.end-altitude.js +0 -4
- package/lib/esm/data/data.end-position.js +0 -4
- package/lib/esm/data/data.energy.js +0 -8
- package/lib/esm/data/data.epoc.js +0 -5
- package/lib/esm/data/data.event.js +0 -3
- package/lib/esm/data/data.evpe.js +0 -4
- package/lib/esm/data/data.feeling.js +0 -15
- package/lib/esm/data/data.foot-pod-used.js +0 -7
- package/lib/esm/data/data.form-power.js +0 -4
- package/lib/esm/data/data.fused-altitude.js +0 -7
- package/lib/esm/data/data.fused-location.js +0 -7
- package/lib/esm/data/data.gnss-distance.js +0 -4
- package/lib/esm/data/data.grade-adjusted-pace-avg.js +0 -15
- package/lib/esm/data/data.grade-adjusted-pace-max.js +0 -15
- package/lib/esm/data/data.grade-adjusted-pace-min.js +0 -15
- package/lib/esm/data/data.grade-adjusted-pace.js +0 -25
- package/lib/esm/data/data.grade-adjusted-speed-avg.js +0 -46
- package/lib/esm/data/data.grade-adjusted-speed-max.js +0 -46
- package/lib/esm/data/data.grade-adjusted-speed-min.js +0 -46
- package/lib/esm/data/data.grade-adjusted-speed.js +0 -78
- package/lib/esm/data/data.grade-smooth.js +0 -7
- package/lib/esm/data/data.grade.js +0 -7
- package/lib/esm/data/data.ground-time.js +0 -8
- package/lib/esm/data/data.heart-rate-avg.js +0 -4
- package/lib/esm/data/data.heart-rate-max.js +0 -4
- package/lib/esm/data/data.heart-rate-min.js +0 -4
- package/lib/esm/data/data.heart-rate-used.js +0 -7
- package/lib/esm/data/data.heart-rate-zone-five-duration.js +0 -4
- package/lib/esm/data/data.heart-rate-zone-four-duration.js +0 -4
- package/lib/esm/data/data.heart-rate-zone-one-duration.js +0 -4
- package/lib/esm/data/data.heart-rate-zone-three-duration.js +0 -4
- package/lib/esm/data/data.heart-rate-zone-two-duration.js +0 -4
- package/lib/esm/data/data.heart-rate.js +0 -8
- package/lib/esm/data/data.ibi.js +0 -8
- package/lib/esm/data/data.interface.js +0 -5
- package/lib/esm/data/data.js +0 -62
- package/lib/esm/data/data.json.interface.js +0 -1
- package/lib/esm/data/data.latitude-degrees.js +0 -5
- package/lib/esm/data/data.left-balance.js +0 -4
- package/lib/esm/data/data.leg-stiffness.js +0 -16
- package/lib/esm/data/data.longitude-degrees.js +0 -5
- package/lib/esm/data/data.moving-time.js +0 -4
- package/lib/esm/data/data.number-of-satellites.js +0 -7
- package/lib/esm/data/data.number-of.samples.js +0 -4
- package/lib/esm/data/data.number.js +0 -13
- package/lib/esm/data/data.pace-avg.js +0 -8
- package/lib/esm/data/data.pace-max.js +0 -8
- package/lib/esm/data/data.pace-min.js +0 -8
- package/lib/esm/data/data.pace.js +0 -46
- package/lib/esm/data/data.pause.js +0 -4
- package/lib/esm/data/data.peak-epoc.js +0 -7
- package/lib/esm/data/data.peak-training-effect.js +0 -4
- package/lib/esm/data/data.percent.js +0 -4
- package/lib/esm/data/data.pool-length.js +0 -5
- package/lib/esm/data/data.position.interface.js +0 -1
- package/lib/esm/data/data.position.js +0 -18
- package/lib/esm/data/data.power-avg.js +0 -4
- package/lib/esm/data/data.power-down.js +0 -4
- package/lib/esm/data/data.power-intensity-factor.js +0 -5
- package/lib/esm/data/data.power-left.js +0 -4
- package/lib/esm/data/data.power-max.js +0 -4
- package/lib/esm/data/data.power-min.js +0 -4
- package/lib/esm/data/data.power-normalized.js +0 -4
- package/lib/esm/data/data.power-pedal-smoothness-left.js +0 -4
- package/lib/esm/data/data.power-pedal-smoothness-right.js +0 -4
- package/lib/esm/data/data.power-pod-used.js +0 -7
- package/lib/esm/data/data.power-right.js +0 -4
- package/lib/esm/data/data.power-torque-effectiveness-left.js +0 -4
- package/lib/esm/data/data.power-torque-effectiveness-right.js +0 -4
- package/lib/esm/data/data.power-training-stress-score.js +0 -5
- package/lib/esm/data/data.power-up.js +0 -4
- package/lib/esm/data/data.power-work.js +0 -5
- package/lib/esm/data/data.power-zone-five-duration.js +0 -4
- package/lib/esm/data/data.power-zone-four-duration.js +0 -4
- package/lib/esm/data/data.power-zone-one-duration.js +0 -4
- package/lib/esm/data/data.power-zone-three-duration.js +0 -4
- package/lib/esm/data/data.power-zone-two-duration.js +0 -4
- package/lib/esm/data/data.power.js +0 -8
- package/lib/esm/data/data.recovery-time.js +0 -7
- package/lib/esm/data/data.rider-position-change-event.js +0 -8
- package/lib/esm/data/data.right-balance.js +0 -4
- package/lib/esm/data/data.rpe.js +0 -23
- package/lib/esm/data/data.satellite-5-best-snr.js +0 -4
- package/lib/esm/data/data.sea-level-pressure.js +0 -5
- package/lib/esm/data/data.spec.js +0 -25
- package/lib/esm/data/data.speed-avg.js +0 -46
- package/lib/esm/data/data.speed-max.js +0 -46
- package/lib/esm/data/data.speed-min.js +0 -46
- package/lib/esm/data/data.speed-zone-five-duration.js +0 -4
- package/lib/esm/data/data.speed-zone-four-duration.js +0 -4
- package/lib/esm/data/data.speed-zone-one-duration.js +0 -4
- package/lib/esm/data/data.speed-zone-three-duration.js +0 -4
- package/lib/esm/data/data.speed-zone-two-duration.js +0 -4
- package/lib/esm/data/data.speed.js +0 -88
- package/lib/esm/data/data.sport-profile-name.js +0 -4
- package/lib/esm/data/data.stance-time.js +0 -5
- package/lib/esm/data/data.start-altitude.js +0 -4
- package/lib/esm/data/data.start-event.js +0 -4
- package/lib/esm/data/data.start-position.js +0 -4
- package/lib/esm/data/data.step-length.js +0 -4
- package/lib/esm/data/data.steps-old.js +0 -4
- package/lib/esm/data/data.steps.js +0 -4
- package/lib/esm/data/data.stop-all-event.js +0 -4
- package/lib/esm/data/data.stop-event.js +0 -4
- package/lib/esm/data/data.store.export.spec.js +0 -66
- package/lib/esm/data/data.store.js +0 -1213
- package/lib/esm/data/data.string.js +0 -13
- package/lib/esm/data/data.stryd-altitude.js +0 -4
- package/lib/esm/data/data.stryd-distance.js +0 -4
- package/lib/esm/data/data.stryd-speed.js +0 -4
- package/lib/esm/data/data.swim-pace-avg.js +0 -8
- package/lib/esm/data/data.swim-pace-max.js +0 -8
- package/lib/esm/data/data.swim-pace-min.js +0 -8
- package/lib/esm/data/data.swim-pace.js +0 -19
- package/lib/esm/data/data.swolf-25m.js +0 -4
- package/lib/esm/data/data.swolf-50m.js +0 -4
- package/lib/esm/data/data.target-distance.js +0 -4
- package/lib/esm/data/data.target-heart-rate-zone.js +0 -4
- package/lib/esm/data/data.target-power-zone.js +0 -4
- package/lib/esm/data/data.target-speed-zone.js +0 -4
- package/lib/esm/data/data.target-time.js +0 -4
- package/lib/esm/data/data.temperature-avg.js +0 -4
- package/lib/esm/data/data.temperature-max.js +0 -4
- package/lib/esm/data/data.temperature-min.js +0 -4
- package/lib/esm/data/data.temperature.js +0 -8
- package/lib/esm/data/data.time.js +0 -6
- package/lib/esm/data/data.timer-time.js +0 -4
- package/lib/esm/data/data.vertical-oscillation.js +0 -5
- package/lib/esm/data/data.vertical-ratio.js +0 -5
- package/lib/esm/data/data.vertical-speed-avg.js +0 -53
- package/lib/esm/data/data.vertical-speed-max.js +0 -53
- package/lib/esm/data/data.vertical-speed-min.js +0 -53
- package/lib/esm/data/data.vertical-speed.js +0 -103
- package/lib/esm/data/data.vo2-max.js +0 -7
- package/lib/esm/data/ibi/data.ibi.filters.js +0 -52
- package/lib/esm/data/ibi/data.ibi.js +0 -98
- package/lib/esm/data/ibi/data.ibi.spec.js +0 -66
- package/lib/esm/duration/duration.class.abstract.js +0 -36
- package/lib/esm/duration/duration.class.interface.js +0 -1
- package/lib/esm/errors/duration-exceeded-event-lib.error.js +0 -9
- package/lib/esm/errors/empty-event-sports-libs.error.js +0 -9
- package/lib/esm/errors/event-lib.error.js +0 -8
- package/lib/esm/errors/lib.error.js +0 -6
- package/lib/esm/errors/parsing-event-lib.error.js +0 -9
- package/lib/esm/events/adapters/exporters/exporter.gpx.js +0 -75
- package/lib/esm/events/adapters/exporters/exporter.interface.js +0 -1
- package/lib/esm/events/adapters/exporters/exporter.json.js +0 -20
- package/lib/esm/events/adapters/file-type.enum.js +0 -7
- package/lib/esm/events/adapters/importers/fit/importer.fit.ant-plus.device.names.js +0 -25
- package/lib/esm/events/adapters/importers/fit/importer.fit.coros.device.names.js +0 -5
- package/lib/esm/events/adapters/importers/fit/importer.fit.development.device.names.js +0 -4
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.device.names.js +0 -462
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +0 -877
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.js +0 -106
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +0 -32
- package/lib/esm/events/adapters/importers/fit/importer.fit.hammerhead.device.names.js +0 -4
- package/lib/esm/events/adapters/importers/fit/importer.fit.integration.spec.js +0 -44
- package/lib/esm/events/adapters/importers/fit/importer.fit.js +0 -978
- package/lib/esm/events/adapters/importers/fit/importer.fit.lezyne.device.names.js +0 -3
- package/lib/esm/events/adapters/importers/fit/importer.fit.magellan.device.names.js +0 -5
- package/lib/esm/events/adapters/importers/fit/importer.fit.mapper.js +0 -231
- package/lib/esm/events/adapters/importers/fit/importer.fit.saris.device.names.js +0 -3
- package/lib/esm/events/adapters/importers/fit/importer.fit.spec.js +0 -326
- package/lib/esm/events/adapters/importers/fit/importer.fit.srm.device.names.js +0 -7
- package/lib/esm/events/adapters/importers/fit/importer.fit.suunto.device.names.js +0 -16
- package/lib/esm/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +0 -10
- package/lib/esm/events/adapters/importers/gpx/gx-parser.js +0 -36
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.integration.spec.js +0 -44
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.js +0 -102
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.mapper.js +0 -142
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.spec.js +0 -71
- package/lib/esm/events/adapters/importers/json/importer.json.js +0 -160
- package/lib/esm/events/adapters/importers/sample-info.interface.js +0 -1
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.activity.ids.js +0 -85
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.device.names.js +0 -26
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.integration.spec.js +0 -44
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.json.js +0 -717
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.sml.js +0 -125
- package/lib/esm/events/adapters/importers/tcx/importer.tcx.integration.spec.js +0 -46
- package/lib/esm/events/adapters/importers/tcx/importer.tcx.js +0 -442
- package/lib/esm/events/adapters/importers/tcx/importer.tcx.mapper.js +0 -91
- package/lib/esm/events/adapters/importers/tcx/utils.tcx.js +0 -36
- package/lib/esm/events/event.interface.js +0 -1
- package/lib/esm/events/event.js +0 -123
- package/lib/esm/events/event.json.interface.js +0 -1
- package/lib/esm/events/event.spec.js +0 -51
- package/lib/esm/events/utilities/activity.utilities.js +0 -1841
- package/lib/esm/events/utilities/activity.utilities.spec.js +0 -373
- package/lib/esm/events/utilities/event.utilities.js +0 -57
- package/lib/esm/events/utilities/grade-calculator/grade-calculator.js +0 -121
- package/lib/esm/events/utilities/grade-calculator/grade-calculator.spec.js +0 -93
- package/lib/esm/events/utilities/grade-calculator/low-pass-filter.js +0 -86
- package/lib/esm/events/utilities/helpers.js +0 -162
- package/lib/esm/geodesy/adapters/adapter.interface.js +0 -1
- package/lib/esm/geodesy/adapters/geolib.adapter.js +0 -28
- package/lib/esm/id/id.abstract.class.js +0 -9
- package/lib/esm/id/id.class.interface.js +0 -1
- package/lib/esm/id/id.class.spec.js +0 -13
- package/lib/esm/intensity-zones/intensity-zones.interface.js +0 -1
- package/lib/esm/intensity-zones/intensity-zones.js +0 -29
- package/lib/esm/intensity-zones/intensity-zones.json.interface.js +0 -1
- package/lib/esm/intensity-zones/intensity-zones.spec.js +0 -30
- package/lib/esm/laps/lap.interface.js +0 -1
- package/lib/esm/laps/lap.js +0 -29
- package/lib/esm/laps/lap.json.interface.js +0 -1
- package/lib/esm/laps/lap.types.js +0 -52
- package/lib/esm/meta-data/event-meta-data.interface.js +0 -6
- package/lib/esm/meta-data/meta-data.js +0 -57
- package/lib/esm/meta-data/meta-data.json.interface.js +0 -1
- package/lib/esm/privacy/privacy.class.interface.js +0 -5
- package/lib/esm/serializable/serializable.class.interface.js +0 -1
- package/lib/esm/service-tokens/oauth1-service-token.interface.js +0 -1
- package/lib/esm/service-tokens/oauth2-service-token.interface.js +0 -1
- package/lib/esm/specs/activities-parsing.integration.spec.js +0 -1847
- package/lib/esm/specs/activity-duration-stream.integration.spec.js +0 -57
- 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/lib/esm/specs/spec-utils.js +0 -159
- package/lib/esm/specs/strava-streams-compliance.spec.js +0 -951
- package/lib/esm/stats/stats.class.abstract.js +0 -32
- package/lib/esm/stats/stats.class.interface.js +0 -1
- package/lib/esm/stats/stats.json.interface.js +0 -1
- package/lib/esm/streams/compressed.stream.interface.js +0 -12
- package/lib/esm/streams/ibi-stream.js +0 -43
- package/lib/esm/streams/low-pass.stream.filter.js +0 -9
- package/lib/esm/streams/stream.filter.interface.js +0 -1
- package/lib/esm/streams/stream.interface.js +0 -1
- package/lib/esm/streams/stream.js +0 -72
- package/lib/esm/streams/stream.spec.js +0 -168
- package/lib/esm/tiles/tile.settings.interface.js +0 -41
- package/lib/esm/users/settings/dashboard/user.dashboard.settings.interface.js +0 -13
- package/lib/esm/users/settings/user.app.settings.interface.js +0 -5
- package/lib/esm/users/settings/user.chart.settings.interface.js +0 -23
- package/lib/esm/users/settings/user.map.settings.interface.js +0 -22
- package/lib/esm/users/settings/user.my-tracks.settings.interface.js +0 -1
- package/lib/esm/users/settings/user.settings.interface.js +0 -1
- package/lib/esm/users/settings/user.stats-settings.interface.js +0 -1
- package/lib/esm/users/settings/user.summaries.settings.interface.js +0 -1
- package/lib/esm/users/settings/user.unit.settings.interface.js +0 -73
- package/lib/esm/users/user.account.privileges.interface.js +0 -1
- package/lib/esm/users/user.export-to-csv.settings.interface.js +0 -1
- package/lib/esm/users/user.interface.js +0 -1
- package/lib/esm/users/user.js +0 -38
- package/lib/esm/users/user.service.meta.interface.js +0 -1
- package/tsconfig.cjs.json +0 -7
- package/tsconfig.esm.json +0 -8
- package/tsconfig.lib.json +0 -8
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DataBare } from './data.bare';
|
|
2
|
-
export class DataString extends DataBare {
|
|
3
|
-
constructor(value) {
|
|
4
|
-
super(value);
|
|
5
|
-
this.value = value;
|
|
6
|
-
}
|
|
7
|
-
getValue() {
|
|
8
|
-
return this.value;
|
|
9
|
-
}
|
|
10
|
-
isValueTypeValid(value) {
|
|
11
|
-
return typeof value === 'string';
|
|
12
|
-
}
|
|
13
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataSwimPace, DataSwimPaceMinutesPer100Yard } from './data.swim-pace';
|
|
2
|
-
export class DataSwimPaceAvg extends DataSwimPace {
|
|
3
|
-
}
|
|
4
|
-
DataSwimPaceAvg.type = 'Average Swim Pace';
|
|
5
|
-
export class DataSwimPaceAvgMinutesPer100Yard extends DataSwimPaceMinutesPer100Yard {
|
|
6
|
-
}
|
|
7
|
-
DataSwimPaceAvgMinutesPer100Yard.type = 'Average swim pace in minutes per 100 yard';
|
|
8
|
-
DataSwimPaceAvgMinutesPer100Yard.displayType = DataSwimPaceAvg.type;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataSwimPace, DataSwimPaceMinutesPer100Yard } from './data.swim-pace';
|
|
2
|
-
export class DataSwimPaceMax extends DataSwimPace {
|
|
3
|
-
}
|
|
4
|
-
DataSwimPaceMax.type = 'Maximum Swim Pace';
|
|
5
|
-
export class DataSwimPaceMaxMinutesPer100Yard extends DataSwimPaceMinutesPer100Yard {
|
|
6
|
-
}
|
|
7
|
-
DataSwimPaceMaxMinutesPer100Yard.type = 'Maximum swim pace in minutes per 100 yard';
|
|
8
|
-
DataSwimPaceMaxMinutesPer100Yard.displayType = DataSwimPaceMax.type;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataSwimPace, DataSwimPaceMinutesPer100Yard } from './data.swim-pace';
|
|
2
|
-
export class DataSwimPaceMin extends DataSwimPace {
|
|
3
|
-
}
|
|
4
|
-
DataSwimPaceMin.type = 'Minimum Swim Pace';
|
|
5
|
-
export class DataSwimPaceMinMinutesPer100Yard extends DataSwimPaceMinutesPer100Yard {
|
|
6
|
-
}
|
|
7
|
-
DataSwimPaceMinMinutesPer100Yard.type = 'Minimum swim pace in minutes per 100 yard';
|
|
8
|
-
DataSwimPaceMinMinutesPer100Yard.displayType = DataSwimPaceMin.type;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { convertSwimPaceToSwimPacePer100Yard } from '../events/utilities/helpers';
|
|
2
|
-
import { DataPace } from './data.pace';
|
|
3
|
-
export class DataSwimPace extends DataPace {
|
|
4
|
-
getValue(formatForDataType) {
|
|
5
|
-
switch (formatForDataType) {
|
|
6
|
-
case DataSwimPaceMinutesPer100Yard.type:
|
|
7
|
-
return convertSwimPaceToSwimPacePer100Yard(this.value);
|
|
8
|
-
default:
|
|
9
|
-
return super.getValue(formatForDataType);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
DataSwimPace.type = 'Swim Pace';
|
|
14
|
-
DataSwimPace.unit = 'min/100m';
|
|
15
|
-
export class DataSwimPaceMinutesPer100Yard extends DataSwimPace {
|
|
16
|
-
}
|
|
17
|
-
DataSwimPaceMinutesPer100Yard.type = 'Swim Pace in minutes per 100 yard';
|
|
18
|
-
DataSwimPaceMinutesPer100Yard.displayType = DataSwimPace.type;
|
|
19
|
-
DataSwimPaceMinutesPer100Yard.unit = 'min/100yrd';
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { DataVerticalSpeed, DataVerticalSpeedFeetPerHour, DataVerticalSpeedFeetPerMinute, DataVerticalSpeedFeetPerSecond, DataVerticalSpeedKilometerPerHour, DataVerticalSpeedMetersPerHour, DataVerticalSpeedMetersPerMinute, DataVerticalSpeedMilesPerHour } from './data.vertical-speed';
|
|
2
|
-
export class DataVerticalSpeedAvg extends DataVerticalSpeed {
|
|
3
|
-
}
|
|
4
|
-
DataVerticalSpeedAvg.type = 'Average Vertical Speed';
|
|
5
|
-
export class DataVerticalSpeedAvgFeetPerSecond extends DataVerticalSpeedFeetPerSecond {
|
|
6
|
-
getDisplayType() {
|
|
7
|
-
return super.getDisplayType();
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
DataVerticalSpeedAvgFeetPerSecond.type = 'Average vertical speed in feet per second';
|
|
11
|
-
DataVerticalSpeedAvgFeetPerSecond.displayType = DataVerticalSpeedAvg.type;
|
|
12
|
-
export class DataVerticalSpeedAvgMetersPerMinute extends DataVerticalSpeedMetersPerMinute {
|
|
13
|
-
getDisplayType() {
|
|
14
|
-
return super.getDisplayType();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
DataVerticalSpeedAvgMetersPerMinute.type = 'Average vertical speed in meters per minute';
|
|
18
|
-
DataVerticalSpeedAvgMetersPerMinute.displayType = DataVerticalSpeedAvg.type;
|
|
19
|
-
export class DataVerticalSpeedAvgFeetPerMinute extends DataVerticalSpeedFeetPerMinute {
|
|
20
|
-
getDisplayType() {
|
|
21
|
-
return super.getDisplayType();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
DataVerticalSpeedAvgFeetPerMinute.type = 'Average vertical speed in feet per minute';
|
|
25
|
-
DataVerticalSpeedAvgFeetPerMinute.displayType = DataVerticalSpeedAvg.type;
|
|
26
|
-
export class DataVerticalSpeedAvgMetersPerHour extends DataVerticalSpeedMetersPerHour {
|
|
27
|
-
getDisplayType() {
|
|
28
|
-
return super.getDisplayType();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataVerticalSpeedAvgMetersPerHour.type = 'Average vertical speed in meters per hour';
|
|
32
|
-
DataVerticalSpeedAvgMetersPerHour.displayType = DataVerticalSpeedAvg.type;
|
|
33
|
-
export class DataVerticalSpeedAvgFeetPerHour extends DataVerticalSpeedFeetPerHour {
|
|
34
|
-
getDisplayType() {
|
|
35
|
-
return super.getDisplayType();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DataVerticalSpeedAvgFeetPerHour.type = 'Average vertical speed in feet per hour';
|
|
39
|
-
DataVerticalSpeedAvgFeetPerHour.displayType = DataVerticalSpeedAvg.type;
|
|
40
|
-
export class DataVerticalSpeedAvgKilometerPerHour extends DataVerticalSpeedKilometerPerHour {
|
|
41
|
-
getDisplayType() {
|
|
42
|
-
return super.getDisplayType();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
DataVerticalSpeedAvgKilometerPerHour.type = 'Average vertical speed in kilometers per hour';
|
|
46
|
-
DataVerticalSpeedAvgKilometerPerHour.displayType = DataVerticalSpeedAvg.type;
|
|
47
|
-
export class DataVerticalSpeedAvgMilesPerHour extends DataVerticalSpeedMilesPerHour {
|
|
48
|
-
getDisplayType() {
|
|
49
|
-
return super.getDisplayType();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
DataVerticalSpeedAvgMilesPerHour.type = 'Average vertical speed in miles per hour';
|
|
53
|
-
DataVerticalSpeedAvgMilesPerHour.displayType = DataVerticalSpeedAvg.type;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { DataVerticalSpeed, DataVerticalSpeedFeetPerHour, DataVerticalSpeedFeetPerMinute, DataVerticalSpeedFeetPerSecond, DataVerticalSpeedKilometerPerHour, DataVerticalSpeedMetersPerHour, DataVerticalSpeedMetersPerMinute, DataVerticalSpeedMilesPerHour } from './data.vertical-speed';
|
|
2
|
-
export class DataVerticalSpeedMax extends DataVerticalSpeed {
|
|
3
|
-
}
|
|
4
|
-
DataVerticalSpeedMax.type = 'Maximum Vertical Speed';
|
|
5
|
-
export class DataVerticalSpeedMaxFeetPerSecond extends DataVerticalSpeedFeetPerSecond {
|
|
6
|
-
getDisplayType() {
|
|
7
|
-
return super.getDisplayType();
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
DataVerticalSpeedMaxFeetPerSecond.type = 'Maximum vertical speed in feet per second';
|
|
11
|
-
DataVerticalSpeedMaxFeetPerSecond.displayType = DataVerticalSpeedMax.type;
|
|
12
|
-
export class DataVerticalSpeedMaxMetersPerMinute extends DataVerticalSpeedMetersPerMinute {
|
|
13
|
-
getDisplayType() {
|
|
14
|
-
return super.getDisplayType();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
DataVerticalSpeedMaxMetersPerMinute.type = 'Maximum vertical speed in meters per minute';
|
|
18
|
-
DataVerticalSpeedMaxMetersPerMinute.displayType = DataVerticalSpeedMax.type;
|
|
19
|
-
export class DataVerticalSpeedMaxFeetPerMinute extends DataVerticalSpeedFeetPerMinute {
|
|
20
|
-
getDisplayType() {
|
|
21
|
-
return super.getDisplayType();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
DataVerticalSpeedMaxFeetPerMinute.type = 'Maximum vertical speed in feet per minute';
|
|
25
|
-
DataVerticalSpeedMaxFeetPerMinute.displayType = DataVerticalSpeedMax.type;
|
|
26
|
-
export class DataVerticalSpeedMaxMetersPerHour extends DataVerticalSpeedMetersPerHour {
|
|
27
|
-
getDisplayType() {
|
|
28
|
-
return super.getDisplayType();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataVerticalSpeedMaxMetersPerHour.type = 'Maximum vertical speed in meters per hour';
|
|
32
|
-
DataVerticalSpeedMaxMetersPerHour.displayType = DataVerticalSpeedMax.type;
|
|
33
|
-
export class DataVerticalSpeedMaxFeetPerHour extends DataVerticalSpeedFeetPerHour {
|
|
34
|
-
getDisplayType() {
|
|
35
|
-
return super.getDisplayType();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DataVerticalSpeedMaxFeetPerHour.type = 'Maximum vertical speed in feet per hour';
|
|
39
|
-
DataVerticalSpeedMaxFeetPerHour.displayType = DataVerticalSpeedMax.type;
|
|
40
|
-
export class DataVerticalSpeedMaxKilometerPerHour extends DataVerticalSpeedKilometerPerHour {
|
|
41
|
-
getDisplayType() {
|
|
42
|
-
return super.getDisplayType();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
DataVerticalSpeedMaxKilometerPerHour.type = 'Maximum vertical speed in kilometers per hour';
|
|
46
|
-
DataVerticalSpeedMaxKilometerPerHour.displayType = DataVerticalSpeedMax.type;
|
|
47
|
-
export class DataVerticalSpeedMaxMilesPerHour extends DataVerticalSpeedMilesPerHour {
|
|
48
|
-
getDisplayType() {
|
|
49
|
-
return super.getDisplayType();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
DataVerticalSpeedMaxMilesPerHour.type = 'Maximum vertical speed in miles per hour';
|
|
53
|
-
DataVerticalSpeedMaxMilesPerHour.displayType = DataVerticalSpeedMax.type;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { DataVerticalSpeed, DataVerticalSpeedFeetPerHour, DataVerticalSpeedFeetPerMinute, DataVerticalSpeedFeetPerSecond, DataVerticalSpeedKilometerPerHour, DataVerticalSpeedMetersPerHour, DataVerticalSpeedMetersPerMinute, DataVerticalSpeedMilesPerHour } from './data.vertical-speed';
|
|
2
|
-
export class DataVerticalSpeedMin extends DataVerticalSpeed {
|
|
3
|
-
}
|
|
4
|
-
DataVerticalSpeedMin.type = 'Minimum Vertical Speed';
|
|
5
|
-
export class DataVerticalSpeedMinFeetPerSecond extends DataVerticalSpeedFeetPerSecond {
|
|
6
|
-
getDisplayType() {
|
|
7
|
-
return super.getDisplayType();
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
DataVerticalSpeedMinFeetPerSecond.type = 'Minimum vertical speed in feet per second';
|
|
11
|
-
DataVerticalSpeedMinFeetPerSecond.displayType = DataVerticalSpeedMin.type;
|
|
12
|
-
export class DataVerticalSpeedMinMetersPerMinute extends DataVerticalSpeedMetersPerMinute {
|
|
13
|
-
getDisplayType() {
|
|
14
|
-
return super.getDisplayType();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
DataVerticalSpeedMinMetersPerMinute.type = 'Minimum vertical speed in meters per minute';
|
|
18
|
-
DataVerticalSpeedMinMetersPerMinute.displayType = DataVerticalSpeedMin.type;
|
|
19
|
-
export class DataVerticalSpeedMinFeetPerMinute extends DataVerticalSpeedFeetPerMinute {
|
|
20
|
-
getDisplayType() {
|
|
21
|
-
return super.getDisplayType();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
DataVerticalSpeedMinFeetPerMinute.type = 'Minimum vertical speed in feet per minute';
|
|
25
|
-
DataVerticalSpeedMinFeetPerMinute.displayType = DataVerticalSpeedMin.type;
|
|
26
|
-
export class DataVerticalSpeedMinMetersPerHour extends DataVerticalSpeedMetersPerHour {
|
|
27
|
-
getDisplayType() {
|
|
28
|
-
return super.getDisplayType();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataVerticalSpeedMinMetersPerHour.type = 'Minimum vertical speed in meters per hour';
|
|
32
|
-
DataVerticalSpeedMinMetersPerHour.displayType = DataVerticalSpeedMin.type;
|
|
33
|
-
export class DataVerticalSpeedMinFeetPerHour extends DataVerticalSpeedFeetPerHour {
|
|
34
|
-
getDisplayType() {
|
|
35
|
-
return super.getDisplayType();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DataVerticalSpeedMinFeetPerHour.type = 'Minimum vertical speed in feet per hour';
|
|
39
|
-
DataVerticalSpeedMinFeetPerHour.displayType = DataVerticalSpeedMin.type;
|
|
40
|
-
export class DataVerticalSpeedMinKilometerPerHour extends DataVerticalSpeedKilometerPerHour {
|
|
41
|
-
getDisplayType() {
|
|
42
|
-
return super.getDisplayType();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
DataVerticalSpeedMinKilometerPerHour.type = 'Minimum vertical speed in kilometers per hour';
|
|
46
|
-
DataVerticalSpeedMinKilometerPerHour.displayType = DataVerticalSpeedMin.type;
|
|
47
|
-
export class DataVerticalSpeedMinMilesPerHour extends DataVerticalSpeedMilesPerHour {
|
|
48
|
-
getDisplayType() {
|
|
49
|
-
return super.getDisplayType();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
DataVerticalSpeedMinMilesPerHour.type = 'Minimum vertical speed in miles per hour';
|
|
53
|
-
DataVerticalSpeedMinMilesPerHour.displayType = DataVerticalSpeedMin.type;
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { DataNumber } from './data.number';
|
|
2
|
-
import { convertSpeedToSpeedInFeetPerHour, convertSpeedToSpeedInFeetPerMinute, convertSpeedToSpeedInFeetPerSecond, convertSpeedToSpeedInKilometersPerHour, convertSpeedToSpeedInMetersPerHour, convertSpeedToSpeedInMetersPerMinute, convertSpeedToSpeedInMilesPerHour } from '../events/utilities/helpers';
|
|
3
|
-
export class DataVerticalSpeed extends DataNumber {
|
|
4
|
-
getValue(formatForDataType) {
|
|
5
|
-
switch (formatForDataType) {
|
|
6
|
-
case DataVerticalSpeedKilometerPerHour.type:
|
|
7
|
-
return convertSpeedToSpeedInKilometersPerHour(this.value);
|
|
8
|
-
case DataVerticalSpeedMilesPerHour.type:
|
|
9
|
-
return convertSpeedToSpeedInMilesPerHour(this.value);
|
|
10
|
-
case DataVerticalSpeedFeetPerSecond.type:
|
|
11
|
-
return convertSpeedToSpeedInFeetPerSecond(this.value);
|
|
12
|
-
case DataVerticalSpeedMetersPerMinute.type:
|
|
13
|
-
return convertSpeedToSpeedInMetersPerMinute(this.value);
|
|
14
|
-
case DataVerticalSpeedFeetPerMinute.type:
|
|
15
|
-
return convertSpeedToSpeedInFeetPerMinute(this.value);
|
|
16
|
-
case DataVerticalSpeedFeetPerHour.type:
|
|
17
|
-
return convertSpeedToSpeedInFeetPerHour(this.value);
|
|
18
|
-
case DataVerticalSpeedMetersPerHour.type:
|
|
19
|
-
return convertSpeedToSpeedInMetersPerHour(this.value);
|
|
20
|
-
default:
|
|
21
|
-
return super.getValue(formatForDataType);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
getDisplayValue() {
|
|
25
|
-
return this.getValue().toFixed(2);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
DataVerticalSpeed.type = 'Vertical Speed';
|
|
29
|
-
DataVerticalSpeed.unit = 'm/s';
|
|
30
|
-
export class DataVerticalSpeedFeetPerSecond extends DataVerticalSpeed {
|
|
31
|
-
getDisplayType() {
|
|
32
|
-
return super.getDisplayType();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
DataVerticalSpeedFeetPerSecond.type = 'Vertical speed in feet per second';
|
|
36
|
-
DataVerticalSpeedFeetPerSecond.displayType = DataVerticalSpeed.type;
|
|
37
|
-
DataVerticalSpeedFeetPerSecond.unit = 'ft/s';
|
|
38
|
-
export class DataVerticalSpeedMetersPerMinute extends DataVerticalSpeed {
|
|
39
|
-
getDisplayType() {
|
|
40
|
-
return super.getDisplayType();
|
|
41
|
-
}
|
|
42
|
-
getDisplayValue() {
|
|
43
|
-
return this.getValue().toFixed(1);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
DataVerticalSpeedMetersPerMinute.type = 'Vertical speed in meters per minute';
|
|
47
|
-
DataVerticalSpeedMetersPerMinute.displayType = DataVerticalSpeed.type;
|
|
48
|
-
DataVerticalSpeedMetersPerMinute.unit = 'm/min';
|
|
49
|
-
export class DataVerticalSpeedFeetPerMinute extends DataVerticalSpeed {
|
|
50
|
-
getDisplayType() {
|
|
51
|
-
return super.getDisplayType();
|
|
52
|
-
}
|
|
53
|
-
getDisplayValue() {
|
|
54
|
-
return this.getValue().toFixed(1);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
DataVerticalSpeedFeetPerMinute.type = 'Vertical speed in feet per minute';
|
|
58
|
-
DataVerticalSpeedFeetPerMinute.displayType = DataVerticalSpeed.type;
|
|
59
|
-
DataVerticalSpeedFeetPerMinute.unit = 'ft/min';
|
|
60
|
-
export class DataVerticalSpeedMetersPerHour extends DataVerticalSpeed {
|
|
61
|
-
getDisplayType() {
|
|
62
|
-
return super.getDisplayType();
|
|
63
|
-
}
|
|
64
|
-
getDisplayValue() {
|
|
65
|
-
return this.getValue().toFixed(0);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
DataVerticalSpeedMetersPerHour.type = 'Vertical speed in meters per hour';
|
|
69
|
-
DataVerticalSpeedMetersPerHour.displayType = DataVerticalSpeed.type;
|
|
70
|
-
DataVerticalSpeedMetersPerHour.unit = 'm/h';
|
|
71
|
-
export class DataVerticalSpeedFeetPerHour extends DataVerticalSpeed {
|
|
72
|
-
getDisplayType() {
|
|
73
|
-
return super.getDisplayType();
|
|
74
|
-
}
|
|
75
|
-
getDisplayValue() {
|
|
76
|
-
return this.getValue().toFixed(0);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
DataVerticalSpeedFeetPerHour.type = 'Vertical speed in feet per hour';
|
|
80
|
-
DataVerticalSpeedFeetPerHour.displayType = DataVerticalSpeed.type;
|
|
81
|
-
DataVerticalSpeedFeetPerHour.unit = 'ft/h';
|
|
82
|
-
export class DataVerticalSpeedKilometerPerHour extends DataVerticalSpeed {
|
|
83
|
-
getDisplayType() {
|
|
84
|
-
return super.getDisplayType();
|
|
85
|
-
}
|
|
86
|
-
getDisplayValue() {
|
|
87
|
-
return this.getValue().toFixed(2);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
DataVerticalSpeedKilometerPerHour.type = 'Vertical speed in kilometers per hour';
|
|
91
|
-
DataVerticalSpeedKilometerPerHour.displayType = DataVerticalSpeed.type;
|
|
92
|
-
DataVerticalSpeedKilometerPerHour.unit = 'km/h';
|
|
93
|
-
export class DataVerticalSpeedMilesPerHour extends DataVerticalSpeed {
|
|
94
|
-
getDisplayType() {
|
|
95
|
-
return super.getDisplayType();
|
|
96
|
-
}
|
|
97
|
-
getDisplayValue() {
|
|
98
|
-
return this.getValue().toFixed(2);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
DataVerticalSpeedMilesPerHour.type = 'Vertical speed in miles per hour';
|
|
102
|
-
DataVerticalSpeedMilesPerHour.displayType = DataVerticalSpeed.type;
|
|
103
|
-
DataVerticalSpeedMilesPerHour.unit = 'mph';
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
const CreateMedianFilter = require('moving-median');
|
|
2
|
-
const LowPassFilter = require('lowpassf');
|
|
3
|
-
/**
|
|
4
|
-
* Collection of filters parsers and converters for IBI (R-R) data
|
|
5
|
-
*/
|
|
6
|
-
export class IBIFilters {
|
|
7
|
-
/**
|
|
8
|
-
* A limit filter. It removes all values outside the limit
|
|
9
|
-
* @param {IBIData} ibiData
|
|
10
|
-
* @param {number} limit
|
|
11
|
-
* @param {boolean} lowLimit
|
|
12
|
-
*/
|
|
13
|
-
static limitFilter(ibiData, limit, lowLimit) {
|
|
14
|
-
ibiData.getIBIDataMap().forEach((value, key, map) => {
|
|
15
|
-
if (value < limit && lowLimit) {
|
|
16
|
-
map.delete(key);
|
|
17
|
-
}
|
|
18
|
-
else if (value > limit && !lowLimit) {
|
|
19
|
-
map.delete(key);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Running median filter
|
|
25
|
-
* @param {IBIData} ibiData
|
|
26
|
-
* @param {number} windowSize
|
|
27
|
-
*/
|
|
28
|
-
static movingMedianFilter(ibiData, windowSize) {
|
|
29
|
-
windowSize = windowSize || 5;
|
|
30
|
-
const medianFilter = CreateMedianFilter(windowSize);
|
|
31
|
-
ibiData.getIBIDataMap().forEach((ibi, elapsedTime) => {
|
|
32
|
-
ibiData.setIBI(elapsedTime, Math.round(medianFilter(ibi)));
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Low pass filter
|
|
37
|
-
* @param {IBIData} ibiData
|
|
38
|
-
* @param {number} windowSize
|
|
39
|
-
* @param linearWeight
|
|
40
|
-
*/
|
|
41
|
-
static lowPassFilter(ibiData, windowSize, linearWeight) {
|
|
42
|
-
const lowPassFilter = new LowPassFilter();
|
|
43
|
-
windowSize = windowSize || 5;
|
|
44
|
-
linearWeight = linearWeight ? lowPassFilter.LinearWeightAverage : lowPassFilter.SimpleAverage;
|
|
45
|
-
lowPassFilter.setLogic(linearWeight);
|
|
46
|
-
lowPassFilter.setSamplingRange(windowSize);
|
|
47
|
-
ibiData.getIBIDataMap().forEach((ibi, elapsedTime) => {
|
|
48
|
-
lowPassFilter.putValue(ibi);
|
|
49
|
-
ibiData.setIBI(elapsedTime, Math.round(lowPassFilter.getFilteredValue()));
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { IBIFilters } from './data.ibi.filters';
|
|
2
|
-
export class IBIData {
|
|
3
|
-
constructor(ibiDataArray) {
|
|
4
|
-
/**
|
|
5
|
-
* Key is time time since start of the array
|
|
6
|
-
* value is the ibi
|
|
7
|
-
* @type {Map<number, number>}
|
|
8
|
-
*/
|
|
9
|
-
this.ibiDataMap = new Map();
|
|
10
|
-
if (ibiDataArray) {
|
|
11
|
-
this.parseIBIArray(ibiDataArray);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Parses an IBI data array
|
|
16
|
-
* eg: [600, 600, 100] becomes a map of {600:600, 1200: 600, 1300:100}
|
|
17
|
-
* @param {Array<number>} ibiArray
|
|
18
|
-
*/
|
|
19
|
-
parseIBIArray(ibiArray) {
|
|
20
|
-
ibiArray.reduce((totalTime, ibiData) => {
|
|
21
|
-
if (ibiData > 0) {
|
|
22
|
-
totalTime += ibiData;
|
|
23
|
-
this.ibiDataMap.set(totalTime, ibiData);
|
|
24
|
-
}
|
|
25
|
-
return totalTime;
|
|
26
|
-
}, 0);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Sets the ibi for the specific time
|
|
30
|
-
* @param time
|
|
31
|
-
* @param ibi
|
|
32
|
-
*/
|
|
33
|
-
setIBI(time, ibi) {
|
|
34
|
-
this.ibiDataMap.set(time, ibi);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Gets the IBI data map
|
|
38
|
-
* @return {Map<number, number>}
|
|
39
|
-
*/
|
|
40
|
-
getIBIDataMap() {
|
|
41
|
-
return this.ibiDataMap;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Gets the IBI data map but uses BPM units instead of IBI
|
|
45
|
-
* @return {Map<number, number>}
|
|
46
|
-
*/
|
|
47
|
-
getAsBPM() {
|
|
48
|
-
const hrDataMap = new Map();
|
|
49
|
-
this.ibiDataMap.forEach((value, key, map) => {
|
|
50
|
-
hrDataMap.set(key, Math.round(60000 / value));
|
|
51
|
-
});
|
|
52
|
-
return hrDataMap;
|
|
53
|
-
}
|
|
54
|
-
getAsArray() {
|
|
55
|
-
const ibi = [];
|
|
56
|
-
this.ibiDataMap.forEach((value, key, map) => {
|
|
57
|
-
ibi.push(value);
|
|
58
|
-
});
|
|
59
|
-
return ibi;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Low Limit filter. Removes all hr values above limit
|
|
63
|
-
* @param {number} bpmLowLimit in BPM
|
|
64
|
-
*/
|
|
65
|
-
lowLimitBPMFilter(bpmLowLimit) {
|
|
66
|
-
IBIFilters.limitFilter(this, 60000 / (bpmLowLimit || 40), false); // Lower bpm higher IBI limit!
|
|
67
|
-
return this;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* High limit filter. Removes all hr values above limit
|
|
71
|
-
* @param bpmHighLimit
|
|
72
|
-
*/
|
|
73
|
-
highLimitBPMFilter(bpmHighLimit) {
|
|
74
|
-
IBIFilters.limitFilter(this, 60000 / (bpmHighLimit || 220), true); // Higher bpm lower IBI limit!
|
|
75
|
-
return this;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Low pass filter
|
|
79
|
-
* @param windowSize
|
|
80
|
-
*/
|
|
81
|
-
lowPassFilter(windowSize) {
|
|
82
|
-
IBIFilters.lowPassFilter(this, windowSize);
|
|
83
|
-
return this;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Moving median filter
|
|
87
|
-
* @param {number} windowSize
|
|
88
|
-
* @return {this}
|
|
89
|
-
*/
|
|
90
|
-
movingMedianFilter(windowSize) {
|
|
91
|
-
IBIFilters.movingMedianFilter(this, windowSize);
|
|
92
|
-
return this;
|
|
93
|
-
}
|
|
94
|
-
toJSON() {
|
|
95
|
-
return Array.from(this.ibiDataMap.values());
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
IBIData.type = 'IBI'; // @todo hcakc fix
|