@sports-alliance/sports-lib 7.0.8 → 7.0.9
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/esm/index.js +12034 -152
- package/package.json +2 -2
- 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/lib/esm/data/data.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { UnitSystem } from './data.interface';
|
|
2
|
-
import { isNumber } from '../events/utilities/helpers';
|
|
3
|
-
export class Data {
|
|
4
|
-
constructor(value) {
|
|
5
|
-
if (!this.getType()) {
|
|
6
|
-
throw new Error('Type not set');
|
|
7
|
-
}
|
|
8
|
-
if (!this.isValueTypeValid(value)) {
|
|
9
|
-
throw new Error('Value is not boolean or number or string or Date or position');
|
|
10
|
-
}
|
|
11
|
-
this.value = value;
|
|
12
|
-
}
|
|
13
|
-
setValue(value) {
|
|
14
|
-
if (!this.isValueTypeValid(value)) {
|
|
15
|
-
throw new Error('Value is not boolean or number or string or Date or position');
|
|
16
|
-
}
|
|
17
|
-
this.value = value;
|
|
18
|
-
return this;
|
|
19
|
-
}
|
|
20
|
-
getValue(formatForDataType) {
|
|
21
|
-
return this.value;
|
|
22
|
-
}
|
|
23
|
-
getDisplayValue() {
|
|
24
|
-
const value = this.getValue();
|
|
25
|
-
switch (typeof value) {
|
|
26
|
-
case 'string':
|
|
27
|
-
case 'number':
|
|
28
|
-
return value;
|
|
29
|
-
default:
|
|
30
|
-
return String(value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
getType() {
|
|
34
|
-
return this.constructor.type;
|
|
35
|
-
}
|
|
36
|
-
getUnit() {
|
|
37
|
-
return this.constructor.unit;
|
|
38
|
-
}
|
|
39
|
-
getDisplayUnit() {
|
|
40
|
-
return this.getUnit();
|
|
41
|
-
}
|
|
42
|
-
getDisplayType() {
|
|
43
|
-
return this.constructor.displayType || this.constructor.type;
|
|
44
|
-
}
|
|
45
|
-
getUnitSystem() {
|
|
46
|
-
return this.constructor.unitSystem;
|
|
47
|
-
}
|
|
48
|
-
isValueTypeValid(value) {
|
|
49
|
-
return !(typeof value !== 'string' &&
|
|
50
|
-
typeof value !== 'number' &&
|
|
51
|
-
typeof value !== 'boolean' &&
|
|
52
|
-
!Array.isArray(value) &&
|
|
53
|
-
!isNumber(value.latitudeDegrees) &&
|
|
54
|
-
!isNumber(value.longitudeDegrees));
|
|
55
|
-
}
|
|
56
|
-
toJSON() {
|
|
57
|
-
return {
|
|
58
|
-
[this.getType()]: this.getValue()
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
Data.unitSystem = UnitSystem.Metric;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { DataNumber } from './data.number';
|
|
2
|
-
// Due to legacy
|
|
3
|
-
export class DataLegStiffness extends DataNumber {
|
|
4
|
-
getDisplayValue() {
|
|
5
|
-
return this.value.toFixed(2);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
DataLegStiffness.type = 'Leg Stiffness';
|
|
9
|
-
DataLegStiffness.unit = '"KN/m"';
|
|
10
|
-
export class DataLegSpringStiffness extends DataNumber {
|
|
11
|
-
getDisplayValue() {
|
|
12
|
-
return this.value.toFixed(2);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
DataLegSpringStiffness.type = 'Leg Spring Stiffness';
|
|
16
|
-
DataLegSpringStiffness.unit = '"KN/m"';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DataBare } from './data.bare';
|
|
2
|
-
export class DataNumber extends DataBare {
|
|
3
|
-
constructor(value) {
|
|
4
|
-
super(value);
|
|
5
|
-
this.value = value;
|
|
6
|
-
}
|
|
7
|
-
getValue(formatForDataType) {
|
|
8
|
-
return this.value;
|
|
9
|
-
}
|
|
10
|
-
isValueTypeValid(value) {
|
|
11
|
-
return typeof value === 'number';
|
|
12
|
-
}
|
|
13
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataPace, DataPaceMinutesPerMile } from './data.pace';
|
|
2
|
-
export class DataPaceAvg extends DataPace {
|
|
3
|
-
}
|
|
4
|
-
DataPaceAvg.type = 'Average Pace';
|
|
5
|
-
export class DataPaceAvgMinutesPerMile extends DataPaceMinutesPerMile {
|
|
6
|
-
}
|
|
7
|
-
DataPaceAvgMinutesPerMile.type = 'Average pace in minutes per mile';
|
|
8
|
-
DataPaceAvgMinutesPerMile.displayType = DataPaceAvg.type;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataPace, DataPaceMinutesPerMile } from './data.pace';
|
|
2
|
-
export class DataPaceMax extends DataPace {
|
|
3
|
-
}
|
|
4
|
-
DataPaceMax.type = 'Maximum Pace';
|
|
5
|
-
export class DataPaceMaxMinutesPerMile extends DataPaceMinutesPerMile {
|
|
6
|
-
}
|
|
7
|
-
DataPaceMaxMinutesPerMile.type = 'Maximum pace in minutes per mile';
|
|
8
|
-
DataPaceMaxMinutesPerMile.displayType = DataPaceMax.type;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataPace, DataPaceMinutesPerMile } from './data.pace';
|
|
2
|
-
export class DataPaceMin extends DataPace {
|
|
3
|
-
}
|
|
4
|
-
DataPaceMin.type = 'Minimum Pace';
|
|
5
|
-
export class DataPaceMinMinutesPerMile extends DataPaceMinutesPerMile {
|
|
6
|
-
}
|
|
7
|
-
DataPaceMinMinutesPerMile.type = 'Minimum pace in minutes per mile';
|
|
8
|
-
DataPaceMinMinutesPerMile.displayType = DataPaceMin.type;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { DataDuration } from './data.duration';
|
|
2
|
-
import { convertPaceToPaceInMinutesPerMile } from '../events/utilities/helpers';
|
|
3
|
-
export class DataPace extends DataDuration {
|
|
4
|
-
getDisplayValue() {
|
|
5
|
-
if (this.getValue() === Infinity || this.getValue() === -Infinity) {
|
|
6
|
-
return '00:00';
|
|
7
|
-
}
|
|
8
|
-
const d = this.getValue();
|
|
9
|
-
const h = Math.floor(d / 3600);
|
|
10
|
-
const m = Math.floor((d % 3600) / 60);
|
|
11
|
-
const s = Math.floor((d % 3600) % 60);
|
|
12
|
-
if (!m && !h) {
|
|
13
|
-
return '00:' + ('0' + s).slice(-2);
|
|
14
|
-
}
|
|
15
|
-
else if (!h) {
|
|
16
|
-
return ('0' + m).slice(-2) + ':' + ('0' + s).slice(-2);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return ('0' + h).slice(-2) + ':' + ('0' + m).slice(-2) + ':' + ('0' + s).slice(-2);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
getDisplayUnit() {
|
|
23
|
-
return this.getUnit();
|
|
24
|
-
}
|
|
25
|
-
getValue(formatForDataType) {
|
|
26
|
-
switch (formatForDataType) {
|
|
27
|
-
case DataPaceMinutesPerMile.type:
|
|
28
|
-
return convertPaceToPaceInMinutesPerMile(this.value);
|
|
29
|
-
default:
|
|
30
|
-
return super.getValue(formatForDataType);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
DataPace.type = 'Pace';
|
|
35
|
-
DataPace.unit = 'min/km';
|
|
36
|
-
export class DataPaceMinutesPerMile extends DataPace {
|
|
37
|
-
getValue(formatForDataType) {
|
|
38
|
-
if (formatForDataType) {
|
|
39
|
-
throw new Error(`Not implemented`);
|
|
40
|
-
}
|
|
41
|
-
return super.getValue(formatForDataType);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
DataPaceMinutesPerMile.type = 'Pace in minutes per mile';
|
|
45
|
-
DataPaceMinutesPerMile.displayType = DataPace.type;
|
|
46
|
-
DataPaceMinutesPerMile.unit = 'min/m';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { DataBare } from './data.bare';
|
|
2
|
-
import { isNumber } from '../events/utilities/helpers';
|
|
3
|
-
export class DataPosition extends DataBare {
|
|
4
|
-
constructor(value) {
|
|
5
|
-
super(value);
|
|
6
|
-
this.value = value;
|
|
7
|
-
}
|
|
8
|
-
getValue() {
|
|
9
|
-
return this.value;
|
|
10
|
-
}
|
|
11
|
-
getDisplayValue() {
|
|
12
|
-
return `${this.getValue().latitudeDegrees.toString()}, ${this.getValue().longitudeDegrees.toString()}`;
|
|
13
|
-
}
|
|
14
|
-
isValueTypeValid(value) {
|
|
15
|
-
return isNumber(value.longitudeDegrees) && isNumber(value.latitudeDegrees);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
DataPosition.type = 'Position';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataNumber } from './data.number';
|
|
2
|
-
export class DataPower extends DataNumber {
|
|
3
|
-
getDisplayValue() {
|
|
4
|
-
return Math.round(this.value);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
DataPower.type = 'Power';
|
|
8
|
-
DataPower.unit = 'watt'; // See https://itknowledgeexchange.techtarget.com/writing-for-business/do-you-capitalize-units-of-measurement-named-for-people/
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataEvent } from './data.event';
|
|
2
|
-
export class DataRiderPositionChangeEvent extends DataEvent {
|
|
3
|
-
constructor(index, positionChange) {
|
|
4
|
-
super(index);
|
|
5
|
-
this.positionChange = positionChange;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
DataRiderPositionChangeEvent.type = 'Rider Position Change Event';
|
package/lib/esm/data/data.rpe.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { DataNumber } from './data.number';
|
|
2
|
-
export class DataRPE extends DataNumber {
|
|
3
|
-
getDisplayValue() {
|
|
4
|
-
return RPEBorgCR10SCale[Math.ceil(this.getValue())]
|
|
5
|
-
? RPEBorgCR10SCale[Math.ceil(this.getValue())]
|
|
6
|
-
: `Other ${this.getValue()}`;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
DataRPE.type = 'Rated Perceived Exertion';
|
|
10
|
-
export var RPEBorgCR10SCale;
|
|
11
|
-
(function (RPEBorgCR10SCale) {
|
|
12
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["No exertion at all"] = 0] = "No exertion at all";
|
|
13
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Very, very slight"] = 1] = "Very, very slight";
|
|
14
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Very slight"] = 2] = "Very slight";
|
|
15
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Slight"] = 3] = "Slight";
|
|
16
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Moderate"] = 4] = "Moderate";
|
|
17
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Somewhat severe"] = 5] = "Somewhat severe";
|
|
18
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Severe"] = 6] = "Severe";
|
|
19
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["More than severe"] = 7] = "More than severe";
|
|
20
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Very severe"] = 8] = "Very severe";
|
|
21
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Extreme"] = 9] = "Extreme";
|
|
22
|
-
RPEBorgCR10SCale[RPEBorgCR10SCale["Maximal"] = 10] = "Maximal";
|
|
23
|
-
})(RPEBorgCR10SCale || (RPEBorgCR10SCale = {}));
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { UnitSystem } from './data.interface';
|
|
2
|
-
import { DataTemperature } from './data.temperature';
|
|
3
|
-
describe('Data', () => {
|
|
4
|
-
let data;
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
data = new DataTemperature(60);
|
|
7
|
-
});
|
|
8
|
-
it('should get the type correctly', () => {
|
|
9
|
-
expect(data.getType()).toBe('Temperature');
|
|
10
|
-
});
|
|
11
|
-
it('should get the value correctly', () => {
|
|
12
|
-
expect(data.getValue()).toBe(60);
|
|
13
|
-
});
|
|
14
|
-
it('should get the unit correctly', () => {
|
|
15
|
-
expect(data.getUnit()).toBe('°C');
|
|
16
|
-
});
|
|
17
|
-
it('should get the unit system correctly', () => {
|
|
18
|
-
expect(data.getUnitSystem()).toBe(UnitSystem.Metric);
|
|
19
|
-
});
|
|
20
|
-
it('should export correctly to JSON', () => {
|
|
21
|
-
expect(data.toJSON()).toEqual({
|
|
22
|
-
Temperature: 60
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { DataSpeed, DataSpeedFeetPerMinute, DataSpeedFeetPerSecond, DataSpeedKilometersPerHour, DataSpeedKnots, DataSpeedMetersPerMinute, DataSpeedMilesPerHour } from './data.speed';
|
|
2
|
-
export class DataSpeedAvg extends DataSpeed {
|
|
3
|
-
}
|
|
4
|
-
DataSpeedAvg.type = 'Average Speed';
|
|
5
|
-
export class DataSpeedAvgKilometersPerHour extends DataSpeedKilometersPerHour {
|
|
6
|
-
getDisplayType() {
|
|
7
|
-
return super.getDisplayType();
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
DataSpeedAvgKilometersPerHour.type = 'Average speed in kilometers per hour';
|
|
11
|
-
DataSpeedAvgKilometersPerHour.displayType = DataSpeedAvg.type;
|
|
12
|
-
export class DataSpeedAvgMilesPerHour extends DataSpeedMilesPerHour {
|
|
13
|
-
getDisplayType() {
|
|
14
|
-
return super.getDisplayType();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
DataSpeedAvgMilesPerHour.type = 'Average speed in miles per hour';
|
|
18
|
-
DataSpeedAvgMilesPerHour.displayType = DataSpeedAvg.type;
|
|
19
|
-
export class DataSpeedAvgFeetPerSecond extends DataSpeedFeetPerSecond {
|
|
20
|
-
getDisplayType() {
|
|
21
|
-
return super.getDisplayType();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
DataSpeedAvgFeetPerSecond.type = 'Average speed in feet per second';
|
|
25
|
-
DataSpeedAvgFeetPerSecond.displayType = DataSpeedAvg.type;
|
|
26
|
-
export class DataSpeedAvgMetersPerMinute extends DataSpeedMetersPerMinute {
|
|
27
|
-
getDisplayType() {
|
|
28
|
-
return super.getDisplayType();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataSpeedAvgMetersPerMinute.type = 'Average speed in meters per minute';
|
|
32
|
-
DataSpeedAvgMetersPerMinute.displayType = DataSpeedAvg.type;
|
|
33
|
-
export class DataSpeedAvgFeetPerMinute extends DataSpeedFeetPerMinute {
|
|
34
|
-
getDisplayType() {
|
|
35
|
-
return super.getDisplayType();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DataSpeedAvgFeetPerMinute.type = 'Average speed in feet per minute';
|
|
39
|
-
DataSpeedAvgFeetPerMinute.displayType = DataSpeedAvg.type;
|
|
40
|
-
export class DataSpeedAvgKnots extends DataSpeedKnots {
|
|
41
|
-
getDisplayType() {
|
|
42
|
-
return super.getDisplayType();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
DataSpeedAvgKnots.type = 'Average speed in knots';
|
|
46
|
-
DataSpeedAvgKnots.displayType = DataSpeedAvg.type;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { DataSpeed, DataSpeedFeetPerMinute, DataSpeedFeetPerSecond, DataSpeedKilometersPerHour, DataSpeedKnots, DataSpeedMetersPerMinute, DataSpeedMilesPerHour } from './data.speed';
|
|
2
|
-
export class DataSpeedMax extends DataSpeed {
|
|
3
|
-
}
|
|
4
|
-
DataSpeedMax.type = 'Maximum Speed';
|
|
5
|
-
export class DataSpeedMaxKilometersPerHour extends DataSpeedKilometersPerHour {
|
|
6
|
-
getDisplayType() {
|
|
7
|
-
return super.getDisplayType();
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
DataSpeedMaxKilometersPerHour.type = 'Maximum speed in kilometers per hour';
|
|
11
|
-
DataSpeedMaxKilometersPerHour.displayType = DataSpeedMax.type;
|
|
12
|
-
export class DataSpeedMaxMilesPerHour extends DataSpeedMilesPerHour {
|
|
13
|
-
getDisplayType() {
|
|
14
|
-
return super.getDisplayType();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
DataSpeedMaxMilesPerHour.type = 'Maximum speed in miles per hour';
|
|
18
|
-
DataSpeedMaxMilesPerHour.displayType = DataSpeedMax.type;
|
|
19
|
-
export class DataSpeedMaxFeetPerSecond extends DataSpeedFeetPerSecond {
|
|
20
|
-
getDisplayType() {
|
|
21
|
-
return super.getDisplayType();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
DataSpeedMaxFeetPerSecond.type = 'Maximum speed in feet per second';
|
|
25
|
-
DataSpeedMaxFeetPerSecond.displayType = DataSpeedMax.type;
|
|
26
|
-
export class DataSpeedMaxMetersPerMinute extends DataSpeedMetersPerMinute {
|
|
27
|
-
getDisplayType() {
|
|
28
|
-
return super.getDisplayType();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataSpeedMaxMetersPerMinute.type = 'Maximum speed in meters per minute';
|
|
32
|
-
DataSpeedMaxMetersPerMinute.displayType = DataSpeedMax.type;
|
|
33
|
-
export class DataSpeedMaxFeetPerMinute extends DataSpeedFeetPerMinute {
|
|
34
|
-
getDisplayType() {
|
|
35
|
-
return super.getDisplayType();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DataSpeedMaxFeetPerMinute.type = 'Maximum speed in feet per minute';
|
|
39
|
-
DataSpeedMaxFeetPerMinute.displayType = DataSpeedMax.type;
|
|
40
|
-
export class DataSpeedMaxKnots extends DataSpeedKnots {
|
|
41
|
-
getDisplayType() {
|
|
42
|
-
return super.getDisplayType();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
DataSpeedMaxKnots.type = 'Maximum speed in knots';
|
|
46
|
-
DataSpeedMaxKnots.displayType = DataSpeedMax.type;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { DataSpeed, DataSpeedFeetPerMinute, DataSpeedFeetPerSecond, DataSpeedKilometersPerHour, DataSpeedKnots, DataSpeedMetersPerMinute, DataSpeedMilesPerHour } from './data.speed';
|
|
2
|
-
export class DataSpeedMin extends DataSpeed {
|
|
3
|
-
}
|
|
4
|
-
DataSpeedMin.type = 'Minimum Speed';
|
|
5
|
-
export class DataSpeedMinKilometersPerHour extends DataSpeedKilometersPerHour {
|
|
6
|
-
getDisplayType() {
|
|
7
|
-
return super.getDisplayType();
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
DataSpeedMinKilometersPerHour.type = 'Minimum speed in kilometers per hour';
|
|
11
|
-
DataSpeedMinKilometersPerHour.displayType = DataSpeedMin.type;
|
|
12
|
-
export class DataSpeedMinMilesPerHour extends DataSpeedMilesPerHour {
|
|
13
|
-
getDisplayType() {
|
|
14
|
-
return super.getDisplayType();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
DataSpeedMinMilesPerHour.type = 'Minimum speed in miles per hour';
|
|
18
|
-
DataSpeedMinMilesPerHour.displayType = DataSpeedMin.type;
|
|
19
|
-
export class DataSpeedMinFeetPerSecond extends DataSpeedFeetPerSecond {
|
|
20
|
-
getDisplayType() {
|
|
21
|
-
return super.getDisplayType();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
DataSpeedMinFeetPerSecond.type = 'Minimum speed in feet per second';
|
|
25
|
-
DataSpeedMinFeetPerSecond.displayType = DataSpeedMin.type;
|
|
26
|
-
export class DataSpeedMinMetersPerMinute extends DataSpeedMetersPerMinute {
|
|
27
|
-
getDisplayType() {
|
|
28
|
-
return super.getDisplayType();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataSpeedMinMetersPerMinute.type = 'Minimum speed in meters per minute';
|
|
32
|
-
DataSpeedMinMetersPerMinute.displayType = DataSpeedMin.type;
|
|
33
|
-
export class DataSpeedMinFeetPerMinute extends DataSpeedFeetPerMinute {
|
|
34
|
-
getDisplayType() {
|
|
35
|
-
return super.getDisplayType();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DataSpeedMinFeetPerMinute.type = 'Minimum speed in feet per minute';
|
|
39
|
-
DataSpeedMinFeetPerMinute.displayType = DataSpeedMin.type;
|
|
40
|
-
export class DataSpeedMinKnots extends DataSpeedKnots {
|
|
41
|
-
getDisplayType() {
|
|
42
|
-
return super.getDisplayType();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
DataSpeedMinKnots.type = 'Minimum speed in knot';
|
|
46
|
-
DataSpeedMinKnots.displayType = DataSpeedMin.type;
|