@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.
Files changed (326) hide show
  1. package/lib/esm/index.js +12034 -152
  2. package/package.json +2 -2
  3. package/lib/esm/activities/activity-parsing-options.js +0 -19
  4. package/lib/esm/activities/activity.interface.js +0 -1
  5. package/lib/esm/activities/activity.js +0 -281
  6. package/lib/esm/activities/activity.json.interface.js +0 -1
  7. package/lib/esm/activities/activity.spec.js +0 -348
  8. package/lib/esm/activities/activity.types.js +0 -1046
  9. package/lib/esm/activities/activityt-types.spec.js +0 -16
  10. package/lib/esm/activities/devices/device.interface.js +0 -1
  11. package/lib/esm/activities/devices/device.js +0 -26
  12. package/lib/esm/activities/devices/device.json.interface.js +0 -1
  13. package/lib/esm/constants/constants.js +0 -8
  14. package/lib/esm/creators/creator.interface.js +0 -1
  15. package/lib/esm/creators/creator.js +0 -37
  16. package/lib/esm/creators/creator.json.interface.js +0 -1
  17. package/lib/esm/creators/creator.spec.js +0 -25
  18. package/lib/esm/data/data-active-lap.js +0 -4
  19. package/lib/esm/data/data-active-lengths.js +0 -4
  20. package/lib/esm/data/data-aerobic-training-effect.js +0 -8
  21. package/lib/esm/data/data-anaerobic-training-effect.js +0 -8
  22. package/lib/esm/data/data-stance-time-balance-left.js +0 -4
  23. package/lib/esm/data/data-stance-time-balance-right.js +0 -4
  24. package/lib/esm/data/data-stance-time-balance.js +0 -3
  25. package/lib/esm/data/data-store.spec.js +0 -78
  26. package/lib/esm/data/data-total-cycles.js +0 -4
  27. package/lib/esm/data/data.absolute-pressure.js +0 -5
  28. package/lib/esm/data/data.accumulated-power.js +0 -8
  29. package/lib/esm/data/data.activity-types.js +0 -7
  30. package/lib/esm/data/data.air-power-avg.js +0 -4
  31. package/lib/esm/data/data.air-power-max.js +0 -4
  32. package/lib/esm/data/data.air-power-min.js +0 -4
  33. package/lib/esm/data/data.air-power.js +0 -8
  34. package/lib/esm/data/data.alti-baro-profile.js +0 -4
  35. package/lib/esm/data/data.altitude-avg.js +0 -4
  36. package/lib/esm/data/data.altitude-gps.js +0 -5
  37. package/lib/esm/data/data.altitude-max.js +0 -4
  38. package/lib/esm/data/data.altitude-min.js +0 -4
  39. package/lib/esm/data/data.altitude-smooth.js +0 -4
  40. package/lib/esm/data/data.altitude.js +0 -8
  41. package/lib/esm/data/data.array.js +0 -13
  42. package/lib/esm/data/data.ascent-time.js +0 -4
  43. package/lib/esm/data/data.ascent.js +0 -4
  44. package/lib/esm/data/data.auto-lap-distance.js +0 -5
  45. package/lib/esm/data/data.auto-lap-duration.js +0 -4
  46. package/lib/esm/data/data.auto-lap-used.js +0 -7
  47. package/lib/esm/data/data.auto-pause-used.js +0 -7
  48. package/lib/esm/data/data.avg-stride-length.js +0 -4
  49. package/lib/esm/data/data.balance.js +0 -6
  50. package/lib/esm/data/data.bare.js +0 -4
  51. package/lib/esm/data/data.battery-charge.js +0 -8
  52. package/lib/esm/data/data.battery-consumption.js +0 -8
  53. package/lib/esm/data/data.battery-current.js +0 -8
  54. package/lib/esm/data/data.battery-life-estimation.js +0 -4
  55. package/lib/esm/data/data.battery-voltage.js +0 -8
  56. package/lib/esm/data/data.bike-pod-used.js +0 -7
  57. package/lib/esm/data/data.boolean.js +0 -9
  58. package/lib/esm/data/data.cadence-avg.js +0 -4
  59. package/lib/esm/data/data.cadence-max.js +0 -4
  60. package/lib/esm/data/data.cadence-min.js +0 -4
  61. package/lib/esm/data/data.cadence.js +0 -8
  62. package/lib/esm/data/data.cycling-dynamics.js +0 -3
  63. package/lib/esm/data/data.cycling-position.js +0 -37
  64. package/lib/esm/data/data.cycling-seated-time.js +0 -5
  65. package/lib/esm/data/data.cycling-standing-time.js +0 -5
  66. package/lib/esm/data/data.descent-time.js +0 -4
  67. package/lib/esm/data/data.descent.js +0 -4
  68. package/lib/esm/data/data.description.js +0 -4
  69. package/lib/esm/data/data.device-location.js +0 -4
  70. package/lib/esm/data/data.device-names.js +0 -7
  71. package/lib/esm/data/data.distance.js +0 -15
  72. package/lib/esm/data/data.duration.js +0 -56
  73. package/lib/esm/data/data.ehpe.js +0 -5
  74. package/lib/esm/data/data.enabled-navigation-systems.js +0 -4
  75. package/lib/esm/data/data.end-altitude.js +0 -4
  76. package/lib/esm/data/data.end-position.js +0 -4
  77. package/lib/esm/data/data.energy.js +0 -8
  78. package/lib/esm/data/data.epoc.js +0 -5
  79. package/lib/esm/data/data.event.js +0 -3
  80. package/lib/esm/data/data.evpe.js +0 -4
  81. package/lib/esm/data/data.feeling.js +0 -15
  82. package/lib/esm/data/data.foot-pod-used.js +0 -7
  83. package/lib/esm/data/data.form-power.js +0 -4
  84. package/lib/esm/data/data.fused-altitude.js +0 -7
  85. package/lib/esm/data/data.fused-location.js +0 -7
  86. package/lib/esm/data/data.gnss-distance.js +0 -4
  87. package/lib/esm/data/data.grade-adjusted-pace-avg.js +0 -15
  88. package/lib/esm/data/data.grade-adjusted-pace-max.js +0 -15
  89. package/lib/esm/data/data.grade-adjusted-pace-min.js +0 -15
  90. package/lib/esm/data/data.grade-adjusted-pace.js +0 -25
  91. package/lib/esm/data/data.grade-adjusted-speed-avg.js +0 -46
  92. package/lib/esm/data/data.grade-adjusted-speed-max.js +0 -46
  93. package/lib/esm/data/data.grade-adjusted-speed-min.js +0 -46
  94. package/lib/esm/data/data.grade-adjusted-speed.js +0 -78
  95. package/lib/esm/data/data.grade-smooth.js +0 -7
  96. package/lib/esm/data/data.grade.js +0 -7
  97. package/lib/esm/data/data.ground-time.js +0 -8
  98. package/lib/esm/data/data.heart-rate-avg.js +0 -4
  99. package/lib/esm/data/data.heart-rate-max.js +0 -4
  100. package/lib/esm/data/data.heart-rate-min.js +0 -4
  101. package/lib/esm/data/data.heart-rate-used.js +0 -7
  102. package/lib/esm/data/data.heart-rate-zone-five-duration.js +0 -4
  103. package/lib/esm/data/data.heart-rate-zone-four-duration.js +0 -4
  104. package/lib/esm/data/data.heart-rate-zone-one-duration.js +0 -4
  105. package/lib/esm/data/data.heart-rate-zone-three-duration.js +0 -4
  106. package/lib/esm/data/data.heart-rate-zone-two-duration.js +0 -4
  107. package/lib/esm/data/data.heart-rate.js +0 -8
  108. package/lib/esm/data/data.ibi.js +0 -8
  109. package/lib/esm/data/data.interface.js +0 -5
  110. package/lib/esm/data/data.js +0 -62
  111. package/lib/esm/data/data.json.interface.js +0 -1
  112. package/lib/esm/data/data.latitude-degrees.js +0 -5
  113. package/lib/esm/data/data.left-balance.js +0 -4
  114. package/lib/esm/data/data.leg-stiffness.js +0 -16
  115. package/lib/esm/data/data.longitude-degrees.js +0 -5
  116. package/lib/esm/data/data.moving-time.js +0 -4
  117. package/lib/esm/data/data.number-of-satellites.js +0 -7
  118. package/lib/esm/data/data.number-of.samples.js +0 -4
  119. package/lib/esm/data/data.number.js +0 -13
  120. package/lib/esm/data/data.pace-avg.js +0 -8
  121. package/lib/esm/data/data.pace-max.js +0 -8
  122. package/lib/esm/data/data.pace-min.js +0 -8
  123. package/lib/esm/data/data.pace.js +0 -46
  124. package/lib/esm/data/data.pause.js +0 -4
  125. package/lib/esm/data/data.peak-epoc.js +0 -7
  126. package/lib/esm/data/data.peak-training-effect.js +0 -4
  127. package/lib/esm/data/data.percent.js +0 -4
  128. package/lib/esm/data/data.pool-length.js +0 -5
  129. package/lib/esm/data/data.position.interface.js +0 -1
  130. package/lib/esm/data/data.position.js +0 -18
  131. package/lib/esm/data/data.power-avg.js +0 -4
  132. package/lib/esm/data/data.power-down.js +0 -4
  133. package/lib/esm/data/data.power-intensity-factor.js +0 -5
  134. package/lib/esm/data/data.power-left.js +0 -4
  135. package/lib/esm/data/data.power-max.js +0 -4
  136. package/lib/esm/data/data.power-min.js +0 -4
  137. package/lib/esm/data/data.power-normalized.js +0 -4
  138. package/lib/esm/data/data.power-pedal-smoothness-left.js +0 -4
  139. package/lib/esm/data/data.power-pedal-smoothness-right.js +0 -4
  140. package/lib/esm/data/data.power-pod-used.js +0 -7
  141. package/lib/esm/data/data.power-right.js +0 -4
  142. package/lib/esm/data/data.power-torque-effectiveness-left.js +0 -4
  143. package/lib/esm/data/data.power-torque-effectiveness-right.js +0 -4
  144. package/lib/esm/data/data.power-training-stress-score.js +0 -5
  145. package/lib/esm/data/data.power-up.js +0 -4
  146. package/lib/esm/data/data.power-work.js +0 -5
  147. package/lib/esm/data/data.power-zone-five-duration.js +0 -4
  148. package/lib/esm/data/data.power-zone-four-duration.js +0 -4
  149. package/lib/esm/data/data.power-zone-one-duration.js +0 -4
  150. package/lib/esm/data/data.power-zone-three-duration.js +0 -4
  151. package/lib/esm/data/data.power-zone-two-duration.js +0 -4
  152. package/lib/esm/data/data.power.js +0 -8
  153. package/lib/esm/data/data.recovery-time.js +0 -7
  154. package/lib/esm/data/data.rider-position-change-event.js +0 -8
  155. package/lib/esm/data/data.right-balance.js +0 -4
  156. package/lib/esm/data/data.rpe.js +0 -23
  157. package/lib/esm/data/data.satellite-5-best-snr.js +0 -4
  158. package/lib/esm/data/data.sea-level-pressure.js +0 -5
  159. package/lib/esm/data/data.spec.js +0 -25
  160. package/lib/esm/data/data.speed-avg.js +0 -46
  161. package/lib/esm/data/data.speed-max.js +0 -46
  162. package/lib/esm/data/data.speed-min.js +0 -46
  163. package/lib/esm/data/data.speed-zone-five-duration.js +0 -4
  164. package/lib/esm/data/data.speed-zone-four-duration.js +0 -4
  165. package/lib/esm/data/data.speed-zone-one-duration.js +0 -4
  166. package/lib/esm/data/data.speed-zone-three-duration.js +0 -4
  167. package/lib/esm/data/data.speed-zone-two-duration.js +0 -4
  168. package/lib/esm/data/data.speed.js +0 -88
  169. package/lib/esm/data/data.sport-profile-name.js +0 -4
  170. package/lib/esm/data/data.stance-time.js +0 -5
  171. package/lib/esm/data/data.start-altitude.js +0 -4
  172. package/lib/esm/data/data.start-event.js +0 -4
  173. package/lib/esm/data/data.start-position.js +0 -4
  174. package/lib/esm/data/data.step-length.js +0 -4
  175. package/lib/esm/data/data.steps-old.js +0 -4
  176. package/lib/esm/data/data.steps.js +0 -4
  177. package/lib/esm/data/data.stop-all-event.js +0 -4
  178. package/lib/esm/data/data.stop-event.js +0 -4
  179. package/lib/esm/data/data.store.export.spec.js +0 -66
  180. package/lib/esm/data/data.store.js +0 -1213
  181. package/lib/esm/data/data.string.js +0 -13
  182. package/lib/esm/data/data.stryd-altitude.js +0 -4
  183. package/lib/esm/data/data.stryd-distance.js +0 -4
  184. package/lib/esm/data/data.stryd-speed.js +0 -4
  185. package/lib/esm/data/data.swim-pace-avg.js +0 -8
  186. package/lib/esm/data/data.swim-pace-max.js +0 -8
  187. package/lib/esm/data/data.swim-pace-min.js +0 -8
  188. package/lib/esm/data/data.swim-pace.js +0 -19
  189. package/lib/esm/data/data.swolf-25m.js +0 -4
  190. package/lib/esm/data/data.swolf-50m.js +0 -4
  191. package/lib/esm/data/data.target-distance.js +0 -4
  192. package/lib/esm/data/data.target-heart-rate-zone.js +0 -4
  193. package/lib/esm/data/data.target-power-zone.js +0 -4
  194. package/lib/esm/data/data.target-speed-zone.js +0 -4
  195. package/lib/esm/data/data.target-time.js +0 -4
  196. package/lib/esm/data/data.temperature-avg.js +0 -4
  197. package/lib/esm/data/data.temperature-max.js +0 -4
  198. package/lib/esm/data/data.temperature-min.js +0 -4
  199. package/lib/esm/data/data.temperature.js +0 -8
  200. package/lib/esm/data/data.time.js +0 -6
  201. package/lib/esm/data/data.timer-time.js +0 -4
  202. package/lib/esm/data/data.vertical-oscillation.js +0 -5
  203. package/lib/esm/data/data.vertical-ratio.js +0 -5
  204. package/lib/esm/data/data.vertical-speed-avg.js +0 -53
  205. package/lib/esm/data/data.vertical-speed-max.js +0 -53
  206. package/lib/esm/data/data.vertical-speed-min.js +0 -53
  207. package/lib/esm/data/data.vertical-speed.js +0 -103
  208. package/lib/esm/data/data.vo2-max.js +0 -7
  209. package/lib/esm/data/ibi/data.ibi.filters.js +0 -52
  210. package/lib/esm/data/ibi/data.ibi.js +0 -98
  211. package/lib/esm/data/ibi/data.ibi.spec.js +0 -66
  212. package/lib/esm/duration/duration.class.abstract.js +0 -36
  213. package/lib/esm/duration/duration.class.interface.js +0 -1
  214. package/lib/esm/errors/duration-exceeded-event-lib.error.js +0 -9
  215. package/lib/esm/errors/empty-event-sports-libs.error.js +0 -9
  216. package/lib/esm/errors/event-lib.error.js +0 -8
  217. package/lib/esm/errors/lib.error.js +0 -6
  218. package/lib/esm/errors/parsing-event-lib.error.js +0 -9
  219. package/lib/esm/events/adapters/exporters/exporter.gpx.js +0 -75
  220. package/lib/esm/events/adapters/exporters/exporter.interface.js +0 -1
  221. package/lib/esm/events/adapters/exporters/exporter.json.js +0 -20
  222. package/lib/esm/events/adapters/file-type.enum.js +0 -7
  223. package/lib/esm/events/adapters/importers/fit/importer.fit.ant-plus.device.names.js +0 -25
  224. package/lib/esm/events/adapters/importers/fit/importer.fit.coros.device.names.js +0 -5
  225. package/lib/esm/events/adapters/importers/fit/importer.fit.development.device.names.js +0 -4
  226. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.device.names.js +0 -462
  227. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +0 -877
  228. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.js +0 -106
  229. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +0 -32
  230. package/lib/esm/events/adapters/importers/fit/importer.fit.hammerhead.device.names.js +0 -4
  231. package/lib/esm/events/adapters/importers/fit/importer.fit.integration.spec.js +0 -44
  232. package/lib/esm/events/adapters/importers/fit/importer.fit.js +0 -978
  233. package/lib/esm/events/adapters/importers/fit/importer.fit.lezyne.device.names.js +0 -3
  234. package/lib/esm/events/adapters/importers/fit/importer.fit.magellan.device.names.js +0 -5
  235. package/lib/esm/events/adapters/importers/fit/importer.fit.mapper.js +0 -231
  236. package/lib/esm/events/adapters/importers/fit/importer.fit.saris.device.names.js +0 -3
  237. package/lib/esm/events/adapters/importers/fit/importer.fit.spec.js +0 -326
  238. package/lib/esm/events/adapters/importers/fit/importer.fit.srm.device.names.js +0 -7
  239. package/lib/esm/events/adapters/importers/fit/importer.fit.suunto.device.names.js +0 -16
  240. package/lib/esm/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +0 -10
  241. package/lib/esm/events/adapters/importers/gpx/gx-parser.js +0 -36
  242. package/lib/esm/events/adapters/importers/gpx/importer.gpx.integration.spec.js +0 -44
  243. package/lib/esm/events/adapters/importers/gpx/importer.gpx.js +0 -102
  244. package/lib/esm/events/adapters/importers/gpx/importer.gpx.mapper.js +0 -142
  245. package/lib/esm/events/adapters/importers/gpx/importer.gpx.spec.js +0 -71
  246. package/lib/esm/events/adapters/importers/json/importer.json.js +0 -160
  247. package/lib/esm/events/adapters/importers/sample-info.interface.js +0 -1
  248. package/lib/esm/events/adapters/importers/suunto/importer.suunto.activity.ids.js +0 -85
  249. package/lib/esm/events/adapters/importers/suunto/importer.suunto.device.names.js +0 -26
  250. package/lib/esm/events/adapters/importers/suunto/importer.suunto.integration.spec.js +0 -44
  251. package/lib/esm/events/adapters/importers/suunto/importer.suunto.json.js +0 -717
  252. package/lib/esm/events/adapters/importers/suunto/importer.suunto.sml.js +0 -125
  253. package/lib/esm/events/adapters/importers/tcx/importer.tcx.integration.spec.js +0 -46
  254. package/lib/esm/events/adapters/importers/tcx/importer.tcx.js +0 -442
  255. package/lib/esm/events/adapters/importers/tcx/importer.tcx.mapper.js +0 -91
  256. package/lib/esm/events/adapters/importers/tcx/utils.tcx.js +0 -36
  257. package/lib/esm/events/event.interface.js +0 -1
  258. package/lib/esm/events/event.js +0 -123
  259. package/lib/esm/events/event.json.interface.js +0 -1
  260. package/lib/esm/events/event.spec.js +0 -51
  261. package/lib/esm/events/utilities/activity.utilities.js +0 -1841
  262. package/lib/esm/events/utilities/activity.utilities.spec.js +0 -373
  263. package/lib/esm/events/utilities/event.utilities.js +0 -57
  264. package/lib/esm/events/utilities/grade-calculator/grade-calculator.js +0 -121
  265. package/lib/esm/events/utilities/grade-calculator/grade-calculator.spec.js +0 -93
  266. package/lib/esm/events/utilities/grade-calculator/low-pass-filter.js +0 -86
  267. package/lib/esm/events/utilities/helpers.js +0 -162
  268. package/lib/esm/geodesy/adapters/adapter.interface.js +0 -1
  269. package/lib/esm/geodesy/adapters/geolib.adapter.js +0 -28
  270. package/lib/esm/id/id.abstract.class.js +0 -9
  271. package/lib/esm/id/id.class.interface.js +0 -1
  272. package/lib/esm/id/id.class.spec.js +0 -13
  273. package/lib/esm/intensity-zones/intensity-zones.interface.js +0 -1
  274. package/lib/esm/intensity-zones/intensity-zones.js +0 -29
  275. package/lib/esm/intensity-zones/intensity-zones.json.interface.js +0 -1
  276. package/lib/esm/intensity-zones/intensity-zones.spec.js +0 -30
  277. package/lib/esm/laps/lap.interface.js +0 -1
  278. package/lib/esm/laps/lap.js +0 -29
  279. package/lib/esm/laps/lap.json.interface.js +0 -1
  280. package/lib/esm/laps/lap.types.js +0 -52
  281. package/lib/esm/meta-data/event-meta-data.interface.js +0 -6
  282. package/lib/esm/meta-data/meta-data.js +0 -57
  283. package/lib/esm/meta-data/meta-data.json.interface.js +0 -1
  284. package/lib/esm/privacy/privacy.class.interface.js +0 -5
  285. package/lib/esm/serializable/serializable.class.interface.js +0 -1
  286. package/lib/esm/service-tokens/oauth1-service-token.interface.js +0 -1
  287. package/lib/esm/service-tokens/oauth2-service-token.interface.js +0 -1
  288. package/lib/esm/specs/activities-parsing.integration.spec.js +0 -1847
  289. package/lib/esm/specs/activity-duration-stream.integration.spec.js +0 -57
  290. package/lib/esm/specs/fixtures/streams/strava/rides/3171472783.json +0 -52534
  291. package/lib/esm/specs/fixtures/streams/strava/rides/3171487458.json +0 -78818
  292. package/lib/esm/specs/fixtures/streams/strava/rides/343080886.json +0 -105090
  293. package/lib/esm/specs/fixtures/streams/strava/rides/5910143591.json +0 -110711
  294. package/lib/esm/specs/fixtures/streams/strava/runs/2451375851.json +0 -74846
  295. package/lib/esm/specs/fixtures/streams/strava/runs/2709634581.json +0 -66817
  296. package/lib/esm/specs/fixtures/streams/strava/runs/3156040843.json +0 -17594
  297. package/lib/esm/specs/fixtures/streams/strava/runs/3182900697.json +0 -17322
  298. package/lib/esm/specs/fixtures/streams/strava/runs/3183465494.json +0 -20463
  299. package/lib/esm/specs/fixtures/streams/strava/runs/3183490558.json +0 -58202
  300. package/lib/esm/specs/spec-utils.js +0 -159
  301. package/lib/esm/specs/strava-streams-compliance.spec.js +0 -951
  302. package/lib/esm/stats/stats.class.abstract.js +0 -32
  303. package/lib/esm/stats/stats.class.interface.js +0 -1
  304. package/lib/esm/stats/stats.json.interface.js +0 -1
  305. package/lib/esm/streams/compressed.stream.interface.js +0 -12
  306. package/lib/esm/streams/ibi-stream.js +0 -43
  307. package/lib/esm/streams/low-pass.stream.filter.js +0 -9
  308. package/lib/esm/streams/stream.filter.interface.js +0 -1
  309. package/lib/esm/streams/stream.interface.js +0 -1
  310. package/lib/esm/streams/stream.js +0 -72
  311. package/lib/esm/streams/stream.spec.js +0 -168
  312. package/lib/esm/tiles/tile.settings.interface.js +0 -41
  313. package/lib/esm/users/settings/dashboard/user.dashboard.settings.interface.js +0 -13
  314. package/lib/esm/users/settings/user.app.settings.interface.js +0 -5
  315. package/lib/esm/users/settings/user.chart.settings.interface.js +0 -23
  316. package/lib/esm/users/settings/user.map.settings.interface.js +0 -22
  317. package/lib/esm/users/settings/user.my-tracks.settings.interface.js +0 -1
  318. package/lib/esm/users/settings/user.settings.interface.js +0 -1
  319. package/lib/esm/users/settings/user.stats-settings.interface.js +0 -1
  320. package/lib/esm/users/settings/user.summaries.settings.interface.js +0 -1
  321. package/lib/esm/users/settings/user.unit.settings.interface.js +0 -73
  322. package/lib/esm/users/user.account.privileges.interface.js +0 -1
  323. package/lib/esm/users/user.export-to-csv.settings.interface.js +0 -1
  324. package/lib/esm/users/user.interface.js +0 -1
  325. package/lib/esm/users/user.js +0 -38
  326. package/lib/esm/users/user.service.meta.interface.js +0 -1
@@ -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,5 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataLatitudeDegrees extends DataNumber {
3
- }
4
- DataLatitudeDegrees.type = 'Latitude';
5
- DataLatitudeDegrees.unit = 'degrees';
@@ -1,4 +0,0 @@
1
- import { DataBalance } from './data.balance';
2
- export class DataLeftBalance extends DataBalance {
3
- }
4
- DataLeftBalance.type = 'Left Balance';
@@ -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,5 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataLongitudeDegrees extends DataNumber {
3
- }
4
- DataLongitudeDegrees.type = 'Longitude';
5
- DataLongitudeDegrees.unit = 'degrees';
@@ -1,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataMovingTime extends DataDuration {
3
- }
4
- DataMovingTime.type = 'Moving time';
@@ -1,7 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataNumberOfSatellites extends DataNumber {
3
- getDisplayValue() {
4
- return this.getValue().toFixed(0);
5
- }
6
- }
7
- DataNumberOfSatellites.type = 'Number of Satellites';
@@ -1,4 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataNumberOfSamples extends DataNumber {
3
- }
4
- DataNumberOfSamples.type = 'Number of Samples';
@@ -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,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataPause extends DataDuration {
3
- }
4
- DataPause.type = 'Pause Time';
@@ -1,7 +0,0 @@
1
- import { DataEPOC } from './data.epoc';
2
- export class DataPeakEPOC extends DataEPOC {
3
- getDisplayValue() {
4
- return this.value.toFixed(1);
5
- }
6
- }
7
- DataPeakEPOC.type = 'Peak EPOC';
@@ -1,4 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataPeakTrainingEffect extends DataNumber {
3
- }
4
- DataPeakTrainingEffect.type = 'Peak Training Effect';
@@ -1,4 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataPercent extends DataNumber {
3
- }
4
- DataPercent.unit = '%';
@@ -1,5 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataPoolLength extends DataNumber {
3
- }
4
- DataPoolLength.type = 'Pool Length';
5
- DataPoolLength.unit = '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,4 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerAvg extends DataPower {
3
- }
4
- DataPowerAvg.type = 'Average Power';
@@ -1,4 +0,0 @@
1
- import { DataEvent } from './data.event';
2
- export class DataPowerDown extends DataEvent {
3
- }
4
- DataPowerDown.type = 'Power Down Event';
@@ -1,5 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerIntensityFactor extends DataPower {
3
- }
4
- DataPowerIntensityFactor.type = 'Power Intensity Factor';
5
- DataPowerIntensityFactor.unit = '';
@@ -1,4 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerLeft extends DataPower {
3
- }
4
- DataPowerLeft.type = 'Power Left';
@@ -1,4 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerMax extends DataPower {
3
- }
4
- DataPowerMax.type = 'Maximum Power';
@@ -1,4 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerMin extends DataPower {
3
- }
4
- DataPowerMin.type = 'Minimum Power';
@@ -1,4 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerNormalized extends DataPower {
3
- }
4
- DataPowerNormalized.type = 'Power Normalized';
@@ -1,4 +0,0 @@
1
- import { DataPercent } from './data.percent';
2
- export class DataPowerPedalSmoothnessLeft extends DataPercent {
3
- }
4
- DataPowerPedalSmoothnessLeft.type = 'Power Pedal Smoothness Left';
@@ -1,4 +0,0 @@
1
- import { DataPercent } from './data.percent';
2
- export class DataPowerPedalSmoothnessRight extends DataPercent {
3
- }
4
- DataPowerPedalSmoothnessRight.type = 'Power Pedal Smoothness Right';
@@ -1,7 +0,0 @@
1
- import { DataBoolean } from './data.boolean';
2
- export class DataPowerPodUsed extends DataBoolean {
3
- getDisplayValue() {
4
- return this.getValue() ? 'Yes' : 'No';
5
- }
6
- }
7
- DataPowerPodUsed.type = 'Power Pod';
@@ -1,4 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerRight extends DataPower {
3
- }
4
- DataPowerRight.type = 'Power Right';
@@ -1,4 +0,0 @@
1
- import { DataPercent } from './data.percent';
2
- export class DataPowerTorqueEffectivenessLeft extends DataPercent {
3
- }
4
- DataPowerTorqueEffectivenessLeft.type = 'Power Torque Effectiveness Left';
@@ -1,4 +0,0 @@
1
- import { DataPercent } from './data.percent';
2
- export class DataPowerTorqueEffectivenessRight extends DataPercent {
3
- }
4
- DataPowerTorqueEffectivenessRight.type = 'Power Torque Effectiveness Right';
@@ -1,5 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerTrainingStressScore extends DataPower {
3
- }
4
- DataPowerTrainingStressScore.type = 'Power Training Stress Score';
5
- DataPowerTrainingStressScore.unit = '';
@@ -1,4 +0,0 @@
1
- import { DataEvent } from './data.event';
2
- export class DataPowerUp extends DataEvent {
3
- }
4
- DataPowerUp.type = 'Power Up Event';
@@ -1,5 +0,0 @@
1
- import { DataPower } from './data.power';
2
- export class DataPowerWork extends DataPower {
3
- }
4
- DataPowerWork.type = 'Power Work';
5
- DataPowerWork.unit = 'kJ';
@@ -1,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataPowerZoneFiveDuration extends DataDuration {
3
- }
4
- DataPowerZoneFiveDuration.type = 'Power Zone Five Duration';
@@ -1,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataPowerZoneFourDuration extends DataDuration {
3
- }
4
- DataPowerZoneFourDuration.type = 'Power Zone Four Duration';
@@ -1,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataPowerZoneOneDuration extends DataDuration {
3
- }
4
- DataPowerZoneOneDuration.type = 'Power Zone One Duration';
@@ -1,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataPowerZoneThreeDuration extends DataDuration {
3
- }
4
- DataPowerZoneThreeDuration.type = 'Power Zone Three Duration';
@@ -1,4 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataPowerZoneTwoDuration extends DataDuration {
3
- }
4
- DataPowerZoneTwoDuration.type = 'Power Zone Two Duration';
@@ -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,7 +0,0 @@
1
- import { DataDuration } from './data.duration';
2
- export class DataRecoveryTime extends DataDuration {
3
- getDisplayValue(showDays = true, showSeconds = false) {
4
- return super.getDisplayValue(showDays, showSeconds);
5
- }
6
- }
7
- DataRecoveryTime.type = 'Recovery Time';
@@ -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';
@@ -1,4 +0,0 @@
1
- import { DataBalance } from './data.balance';
2
- export class DataRightBalance extends DataBalance {
3
- }
4
- DataRightBalance.type = 'Right Balance';
@@ -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,4 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataSatellite5BestSNR extends DataNumber {
3
- }
4
- DataSatellite5BestSNR.type = 'Satellite 5 Best SNR';
@@ -1,5 +0,0 @@
1
- import { DataNumber } from './data.number';
2
- export class DataSeaLevelPressure extends DataNumber {
3
- }
4
- DataSeaLevelPressure.type = 'Sea Level Pressure';
5
- DataSeaLevelPressure.unit = 'hpa';
@@ -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;