@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.
Files changed (351) hide show
  1. package/lib/cjs/data/data.array.d.ts +2 -3
  2. package/lib/cjs/data/data.array.js +1 -1
  3. package/lib/cjs/data/data.bare.d.ts +2 -1
  4. package/lib/cjs/data/data.d.ts +5 -5
  5. package/lib/cjs/data/data.number.d.ts +1 -2
  6. package/lib/cjs/data/data.position.d.ts +2 -3
  7. package/lib/cjs/data/data.position.js +1 -1
  8. package/lib/cjs/data/data.string.d.ts +2 -3
  9. package/lib/cjs/data/data.string.js +1 -1
  10. package/lib/esm/data/data.array.d.ts +2 -3
  11. package/lib/esm/data/data.bare.d.ts +2 -1
  12. package/lib/esm/data/data.d.ts +5 -5
  13. package/lib/esm/data/data.number.d.ts +1 -2
  14. package/lib/esm/data/data.position.d.ts +2 -3
  15. package/lib/esm/data/data.string.d.ts +2 -3
  16. package/lib/esm/index.js +12034 -152
  17. package/package.json +2 -2
  18. package/.editorconfig +0 -14
  19. package/.eslintignore +0 -4
  20. package/.eslintrc.js +0 -9
  21. package/.prettierignore +0 -25
  22. package/.prettierrc.json +0 -12
  23. package/CODE_OF_CONDUCT.md +0 -76
  24. package/jest.config.js +0 -23
  25. package/lib/esm/activities/activity-parsing-options.js +0 -19
  26. package/lib/esm/activities/activity.interface.js +0 -1
  27. package/lib/esm/activities/activity.js +0 -281
  28. package/lib/esm/activities/activity.json.interface.js +0 -1
  29. package/lib/esm/activities/activity.spec.js +0 -348
  30. package/lib/esm/activities/activity.types.js +0 -1046
  31. package/lib/esm/activities/activityt-types.spec.js +0 -16
  32. package/lib/esm/activities/devices/device.interface.js +0 -1
  33. package/lib/esm/activities/devices/device.js +0 -26
  34. package/lib/esm/activities/devices/device.json.interface.js +0 -1
  35. package/lib/esm/constants/constants.js +0 -8
  36. package/lib/esm/creators/creator.interface.js +0 -1
  37. package/lib/esm/creators/creator.js +0 -37
  38. package/lib/esm/creators/creator.json.interface.js +0 -1
  39. package/lib/esm/creators/creator.spec.js +0 -25
  40. package/lib/esm/data/data-active-lap.js +0 -4
  41. package/lib/esm/data/data-active-lengths.js +0 -4
  42. package/lib/esm/data/data-aerobic-training-effect.js +0 -8
  43. package/lib/esm/data/data-anaerobic-training-effect.js +0 -8
  44. package/lib/esm/data/data-stance-time-balance-left.js +0 -4
  45. package/lib/esm/data/data-stance-time-balance-right.js +0 -4
  46. package/lib/esm/data/data-stance-time-balance.js +0 -3
  47. package/lib/esm/data/data-store.spec.js +0 -78
  48. package/lib/esm/data/data-total-cycles.js +0 -4
  49. package/lib/esm/data/data.absolute-pressure.js +0 -5
  50. package/lib/esm/data/data.accumulated-power.js +0 -8
  51. package/lib/esm/data/data.activity-types.js +0 -7
  52. package/lib/esm/data/data.air-power-avg.js +0 -4
  53. package/lib/esm/data/data.air-power-max.js +0 -4
  54. package/lib/esm/data/data.air-power-min.js +0 -4
  55. package/lib/esm/data/data.air-power.js +0 -8
  56. package/lib/esm/data/data.alti-baro-profile.js +0 -4
  57. package/lib/esm/data/data.altitude-avg.js +0 -4
  58. package/lib/esm/data/data.altitude-gps.js +0 -5
  59. package/lib/esm/data/data.altitude-max.js +0 -4
  60. package/lib/esm/data/data.altitude-min.js +0 -4
  61. package/lib/esm/data/data.altitude-smooth.js +0 -4
  62. package/lib/esm/data/data.altitude.js +0 -8
  63. package/lib/esm/data/data.array.js +0 -13
  64. package/lib/esm/data/data.ascent-time.js +0 -4
  65. package/lib/esm/data/data.ascent.js +0 -4
  66. package/lib/esm/data/data.auto-lap-distance.js +0 -5
  67. package/lib/esm/data/data.auto-lap-duration.js +0 -4
  68. package/lib/esm/data/data.auto-lap-used.js +0 -7
  69. package/lib/esm/data/data.auto-pause-used.js +0 -7
  70. package/lib/esm/data/data.avg-stride-length.js +0 -4
  71. package/lib/esm/data/data.balance.js +0 -6
  72. package/lib/esm/data/data.bare.js +0 -4
  73. package/lib/esm/data/data.battery-charge.js +0 -8
  74. package/lib/esm/data/data.battery-consumption.js +0 -8
  75. package/lib/esm/data/data.battery-current.js +0 -8
  76. package/lib/esm/data/data.battery-life-estimation.js +0 -4
  77. package/lib/esm/data/data.battery-voltage.js +0 -8
  78. package/lib/esm/data/data.bike-pod-used.js +0 -7
  79. package/lib/esm/data/data.boolean.js +0 -9
  80. package/lib/esm/data/data.cadence-avg.js +0 -4
  81. package/lib/esm/data/data.cadence-max.js +0 -4
  82. package/lib/esm/data/data.cadence-min.js +0 -4
  83. package/lib/esm/data/data.cadence.js +0 -8
  84. package/lib/esm/data/data.cycling-dynamics.js +0 -3
  85. package/lib/esm/data/data.cycling-position.js +0 -37
  86. package/lib/esm/data/data.cycling-seated-time.js +0 -5
  87. package/lib/esm/data/data.cycling-standing-time.js +0 -5
  88. package/lib/esm/data/data.descent-time.js +0 -4
  89. package/lib/esm/data/data.descent.js +0 -4
  90. package/lib/esm/data/data.description.js +0 -4
  91. package/lib/esm/data/data.device-location.js +0 -4
  92. package/lib/esm/data/data.device-names.js +0 -7
  93. package/lib/esm/data/data.distance.js +0 -15
  94. package/lib/esm/data/data.duration.js +0 -56
  95. package/lib/esm/data/data.ehpe.js +0 -5
  96. package/lib/esm/data/data.enabled-navigation-systems.js +0 -4
  97. package/lib/esm/data/data.end-altitude.js +0 -4
  98. package/lib/esm/data/data.end-position.js +0 -4
  99. package/lib/esm/data/data.energy.js +0 -8
  100. package/lib/esm/data/data.epoc.js +0 -5
  101. package/lib/esm/data/data.event.js +0 -3
  102. package/lib/esm/data/data.evpe.js +0 -4
  103. package/lib/esm/data/data.feeling.js +0 -15
  104. package/lib/esm/data/data.foot-pod-used.js +0 -7
  105. package/lib/esm/data/data.form-power.js +0 -4
  106. package/lib/esm/data/data.fused-altitude.js +0 -7
  107. package/lib/esm/data/data.fused-location.js +0 -7
  108. package/lib/esm/data/data.gnss-distance.js +0 -4
  109. package/lib/esm/data/data.grade-adjusted-pace-avg.js +0 -15
  110. package/lib/esm/data/data.grade-adjusted-pace-max.js +0 -15
  111. package/lib/esm/data/data.grade-adjusted-pace-min.js +0 -15
  112. package/lib/esm/data/data.grade-adjusted-pace.js +0 -25
  113. package/lib/esm/data/data.grade-adjusted-speed-avg.js +0 -46
  114. package/lib/esm/data/data.grade-adjusted-speed-max.js +0 -46
  115. package/lib/esm/data/data.grade-adjusted-speed-min.js +0 -46
  116. package/lib/esm/data/data.grade-adjusted-speed.js +0 -78
  117. package/lib/esm/data/data.grade-smooth.js +0 -7
  118. package/lib/esm/data/data.grade.js +0 -7
  119. package/lib/esm/data/data.ground-time.js +0 -8
  120. package/lib/esm/data/data.heart-rate-avg.js +0 -4
  121. package/lib/esm/data/data.heart-rate-max.js +0 -4
  122. package/lib/esm/data/data.heart-rate-min.js +0 -4
  123. package/lib/esm/data/data.heart-rate-used.js +0 -7
  124. package/lib/esm/data/data.heart-rate-zone-five-duration.js +0 -4
  125. package/lib/esm/data/data.heart-rate-zone-four-duration.js +0 -4
  126. package/lib/esm/data/data.heart-rate-zone-one-duration.js +0 -4
  127. package/lib/esm/data/data.heart-rate-zone-three-duration.js +0 -4
  128. package/lib/esm/data/data.heart-rate-zone-two-duration.js +0 -4
  129. package/lib/esm/data/data.heart-rate.js +0 -8
  130. package/lib/esm/data/data.ibi.js +0 -8
  131. package/lib/esm/data/data.interface.js +0 -5
  132. package/lib/esm/data/data.js +0 -62
  133. package/lib/esm/data/data.json.interface.js +0 -1
  134. package/lib/esm/data/data.latitude-degrees.js +0 -5
  135. package/lib/esm/data/data.left-balance.js +0 -4
  136. package/lib/esm/data/data.leg-stiffness.js +0 -16
  137. package/lib/esm/data/data.longitude-degrees.js +0 -5
  138. package/lib/esm/data/data.moving-time.js +0 -4
  139. package/lib/esm/data/data.number-of-satellites.js +0 -7
  140. package/lib/esm/data/data.number-of.samples.js +0 -4
  141. package/lib/esm/data/data.number.js +0 -13
  142. package/lib/esm/data/data.pace-avg.js +0 -8
  143. package/lib/esm/data/data.pace-max.js +0 -8
  144. package/lib/esm/data/data.pace-min.js +0 -8
  145. package/lib/esm/data/data.pace.js +0 -46
  146. package/lib/esm/data/data.pause.js +0 -4
  147. package/lib/esm/data/data.peak-epoc.js +0 -7
  148. package/lib/esm/data/data.peak-training-effect.js +0 -4
  149. package/lib/esm/data/data.percent.js +0 -4
  150. package/lib/esm/data/data.pool-length.js +0 -5
  151. package/lib/esm/data/data.position.interface.js +0 -1
  152. package/lib/esm/data/data.position.js +0 -18
  153. package/lib/esm/data/data.power-avg.js +0 -4
  154. package/lib/esm/data/data.power-down.js +0 -4
  155. package/lib/esm/data/data.power-intensity-factor.js +0 -5
  156. package/lib/esm/data/data.power-left.js +0 -4
  157. package/lib/esm/data/data.power-max.js +0 -4
  158. package/lib/esm/data/data.power-min.js +0 -4
  159. package/lib/esm/data/data.power-normalized.js +0 -4
  160. package/lib/esm/data/data.power-pedal-smoothness-left.js +0 -4
  161. package/lib/esm/data/data.power-pedal-smoothness-right.js +0 -4
  162. package/lib/esm/data/data.power-pod-used.js +0 -7
  163. package/lib/esm/data/data.power-right.js +0 -4
  164. package/lib/esm/data/data.power-torque-effectiveness-left.js +0 -4
  165. package/lib/esm/data/data.power-torque-effectiveness-right.js +0 -4
  166. package/lib/esm/data/data.power-training-stress-score.js +0 -5
  167. package/lib/esm/data/data.power-up.js +0 -4
  168. package/lib/esm/data/data.power-work.js +0 -5
  169. package/lib/esm/data/data.power-zone-five-duration.js +0 -4
  170. package/lib/esm/data/data.power-zone-four-duration.js +0 -4
  171. package/lib/esm/data/data.power-zone-one-duration.js +0 -4
  172. package/lib/esm/data/data.power-zone-three-duration.js +0 -4
  173. package/lib/esm/data/data.power-zone-two-duration.js +0 -4
  174. package/lib/esm/data/data.power.js +0 -8
  175. package/lib/esm/data/data.recovery-time.js +0 -7
  176. package/lib/esm/data/data.rider-position-change-event.js +0 -8
  177. package/lib/esm/data/data.right-balance.js +0 -4
  178. package/lib/esm/data/data.rpe.js +0 -23
  179. package/lib/esm/data/data.satellite-5-best-snr.js +0 -4
  180. package/lib/esm/data/data.sea-level-pressure.js +0 -5
  181. package/lib/esm/data/data.spec.js +0 -25
  182. package/lib/esm/data/data.speed-avg.js +0 -46
  183. package/lib/esm/data/data.speed-max.js +0 -46
  184. package/lib/esm/data/data.speed-min.js +0 -46
  185. package/lib/esm/data/data.speed-zone-five-duration.js +0 -4
  186. package/lib/esm/data/data.speed-zone-four-duration.js +0 -4
  187. package/lib/esm/data/data.speed-zone-one-duration.js +0 -4
  188. package/lib/esm/data/data.speed-zone-three-duration.js +0 -4
  189. package/lib/esm/data/data.speed-zone-two-duration.js +0 -4
  190. package/lib/esm/data/data.speed.js +0 -88
  191. package/lib/esm/data/data.sport-profile-name.js +0 -4
  192. package/lib/esm/data/data.stance-time.js +0 -5
  193. package/lib/esm/data/data.start-altitude.js +0 -4
  194. package/lib/esm/data/data.start-event.js +0 -4
  195. package/lib/esm/data/data.start-position.js +0 -4
  196. package/lib/esm/data/data.step-length.js +0 -4
  197. package/lib/esm/data/data.steps-old.js +0 -4
  198. package/lib/esm/data/data.steps.js +0 -4
  199. package/lib/esm/data/data.stop-all-event.js +0 -4
  200. package/lib/esm/data/data.stop-event.js +0 -4
  201. package/lib/esm/data/data.store.export.spec.js +0 -66
  202. package/lib/esm/data/data.store.js +0 -1213
  203. package/lib/esm/data/data.string.js +0 -13
  204. package/lib/esm/data/data.stryd-altitude.js +0 -4
  205. package/lib/esm/data/data.stryd-distance.js +0 -4
  206. package/lib/esm/data/data.stryd-speed.js +0 -4
  207. package/lib/esm/data/data.swim-pace-avg.js +0 -8
  208. package/lib/esm/data/data.swim-pace-max.js +0 -8
  209. package/lib/esm/data/data.swim-pace-min.js +0 -8
  210. package/lib/esm/data/data.swim-pace.js +0 -19
  211. package/lib/esm/data/data.swolf-25m.js +0 -4
  212. package/lib/esm/data/data.swolf-50m.js +0 -4
  213. package/lib/esm/data/data.target-distance.js +0 -4
  214. package/lib/esm/data/data.target-heart-rate-zone.js +0 -4
  215. package/lib/esm/data/data.target-power-zone.js +0 -4
  216. package/lib/esm/data/data.target-speed-zone.js +0 -4
  217. package/lib/esm/data/data.target-time.js +0 -4
  218. package/lib/esm/data/data.temperature-avg.js +0 -4
  219. package/lib/esm/data/data.temperature-max.js +0 -4
  220. package/lib/esm/data/data.temperature-min.js +0 -4
  221. package/lib/esm/data/data.temperature.js +0 -8
  222. package/lib/esm/data/data.time.js +0 -6
  223. package/lib/esm/data/data.timer-time.js +0 -4
  224. package/lib/esm/data/data.vertical-oscillation.js +0 -5
  225. package/lib/esm/data/data.vertical-ratio.js +0 -5
  226. package/lib/esm/data/data.vertical-speed-avg.js +0 -53
  227. package/lib/esm/data/data.vertical-speed-max.js +0 -53
  228. package/lib/esm/data/data.vertical-speed-min.js +0 -53
  229. package/lib/esm/data/data.vertical-speed.js +0 -103
  230. package/lib/esm/data/data.vo2-max.js +0 -7
  231. package/lib/esm/data/ibi/data.ibi.filters.js +0 -52
  232. package/lib/esm/data/ibi/data.ibi.js +0 -98
  233. package/lib/esm/data/ibi/data.ibi.spec.js +0 -66
  234. package/lib/esm/duration/duration.class.abstract.js +0 -36
  235. package/lib/esm/duration/duration.class.interface.js +0 -1
  236. package/lib/esm/errors/duration-exceeded-event-lib.error.js +0 -9
  237. package/lib/esm/errors/empty-event-sports-libs.error.js +0 -9
  238. package/lib/esm/errors/event-lib.error.js +0 -8
  239. package/lib/esm/errors/lib.error.js +0 -6
  240. package/lib/esm/errors/parsing-event-lib.error.js +0 -9
  241. package/lib/esm/events/adapters/exporters/exporter.gpx.js +0 -75
  242. package/lib/esm/events/adapters/exporters/exporter.interface.js +0 -1
  243. package/lib/esm/events/adapters/exporters/exporter.json.js +0 -20
  244. package/lib/esm/events/adapters/file-type.enum.js +0 -7
  245. package/lib/esm/events/adapters/importers/fit/importer.fit.ant-plus.device.names.js +0 -25
  246. package/lib/esm/events/adapters/importers/fit/importer.fit.coros.device.names.js +0 -5
  247. package/lib/esm/events/adapters/importers/fit/importer.fit.development.device.names.js +0 -4
  248. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.device.names.js +0 -462
  249. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +0 -877
  250. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.js +0 -106
  251. package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +0 -32
  252. package/lib/esm/events/adapters/importers/fit/importer.fit.hammerhead.device.names.js +0 -4
  253. package/lib/esm/events/adapters/importers/fit/importer.fit.integration.spec.js +0 -44
  254. package/lib/esm/events/adapters/importers/fit/importer.fit.js +0 -978
  255. package/lib/esm/events/adapters/importers/fit/importer.fit.lezyne.device.names.js +0 -3
  256. package/lib/esm/events/adapters/importers/fit/importer.fit.magellan.device.names.js +0 -5
  257. package/lib/esm/events/adapters/importers/fit/importer.fit.mapper.js +0 -231
  258. package/lib/esm/events/adapters/importers/fit/importer.fit.saris.device.names.js +0 -3
  259. package/lib/esm/events/adapters/importers/fit/importer.fit.spec.js +0 -326
  260. package/lib/esm/events/adapters/importers/fit/importer.fit.srm.device.names.js +0 -7
  261. package/lib/esm/events/adapters/importers/fit/importer.fit.suunto.device.names.js +0 -16
  262. package/lib/esm/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +0 -10
  263. package/lib/esm/events/adapters/importers/gpx/gx-parser.js +0 -36
  264. package/lib/esm/events/adapters/importers/gpx/importer.gpx.integration.spec.js +0 -44
  265. package/lib/esm/events/adapters/importers/gpx/importer.gpx.js +0 -102
  266. package/lib/esm/events/adapters/importers/gpx/importer.gpx.mapper.js +0 -142
  267. package/lib/esm/events/adapters/importers/gpx/importer.gpx.spec.js +0 -71
  268. package/lib/esm/events/adapters/importers/json/importer.json.js +0 -160
  269. package/lib/esm/events/adapters/importers/sample-info.interface.js +0 -1
  270. package/lib/esm/events/adapters/importers/suunto/importer.suunto.activity.ids.js +0 -85
  271. package/lib/esm/events/adapters/importers/suunto/importer.suunto.device.names.js +0 -26
  272. package/lib/esm/events/adapters/importers/suunto/importer.suunto.integration.spec.js +0 -44
  273. package/lib/esm/events/adapters/importers/suunto/importer.suunto.json.js +0 -717
  274. package/lib/esm/events/adapters/importers/suunto/importer.suunto.sml.js +0 -125
  275. package/lib/esm/events/adapters/importers/tcx/importer.tcx.integration.spec.js +0 -46
  276. package/lib/esm/events/adapters/importers/tcx/importer.tcx.js +0 -442
  277. package/lib/esm/events/adapters/importers/tcx/importer.tcx.mapper.js +0 -91
  278. package/lib/esm/events/adapters/importers/tcx/utils.tcx.js +0 -36
  279. package/lib/esm/events/event.interface.js +0 -1
  280. package/lib/esm/events/event.js +0 -123
  281. package/lib/esm/events/event.json.interface.js +0 -1
  282. package/lib/esm/events/event.spec.js +0 -51
  283. package/lib/esm/events/utilities/activity.utilities.js +0 -1841
  284. package/lib/esm/events/utilities/activity.utilities.spec.js +0 -373
  285. package/lib/esm/events/utilities/event.utilities.js +0 -57
  286. package/lib/esm/events/utilities/grade-calculator/grade-calculator.js +0 -121
  287. package/lib/esm/events/utilities/grade-calculator/grade-calculator.spec.js +0 -93
  288. package/lib/esm/events/utilities/grade-calculator/low-pass-filter.js +0 -86
  289. package/lib/esm/events/utilities/helpers.js +0 -162
  290. package/lib/esm/geodesy/adapters/adapter.interface.js +0 -1
  291. package/lib/esm/geodesy/adapters/geolib.adapter.js +0 -28
  292. package/lib/esm/id/id.abstract.class.js +0 -9
  293. package/lib/esm/id/id.class.interface.js +0 -1
  294. package/lib/esm/id/id.class.spec.js +0 -13
  295. package/lib/esm/intensity-zones/intensity-zones.interface.js +0 -1
  296. package/lib/esm/intensity-zones/intensity-zones.js +0 -29
  297. package/lib/esm/intensity-zones/intensity-zones.json.interface.js +0 -1
  298. package/lib/esm/intensity-zones/intensity-zones.spec.js +0 -30
  299. package/lib/esm/laps/lap.interface.js +0 -1
  300. package/lib/esm/laps/lap.js +0 -29
  301. package/lib/esm/laps/lap.json.interface.js +0 -1
  302. package/lib/esm/laps/lap.types.js +0 -52
  303. package/lib/esm/meta-data/event-meta-data.interface.js +0 -6
  304. package/lib/esm/meta-data/meta-data.js +0 -57
  305. package/lib/esm/meta-data/meta-data.json.interface.js +0 -1
  306. package/lib/esm/privacy/privacy.class.interface.js +0 -5
  307. package/lib/esm/serializable/serializable.class.interface.js +0 -1
  308. package/lib/esm/service-tokens/oauth1-service-token.interface.js +0 -1
  309. package/lib/esm/service-tokens/oauth2-service-token.interface.js +0 -1
  310. package/lib/esm/specs/activities-parsing.integration.spec.js +0 -1847
  311. package/lib/esm/specs/activity-duration-stream.integration.spec.js +0 -57
  312. package/lib/esm/specs/fixtures/streams/strava/rides/3171472783.json +0 -52534
  313. package/lib/esm/specs/fixtures/streams/strava/rides/3171487458.json +0 -78818
  314. package/lib/esm/specs/fixtures/streams/strava/rides/343080886.json +0 -105090
  315. package/lib/esm/specs/fixtures/streams/strava/rides/5910143591.json +0 -110711
  316. package/lib/esm/specs/fixtures/streams/strava/runs/2451375851.json +0 -74846
  317. package/lib/esm/specs/fixtures/streams/strava/runs/2709634581.json +0 -66817
  318. package/lib/esm/specs/fixtures/streams/strava/runs/3156040843.json +0 -17594
  319. package/lib/esm/specs/fixtures/streams/strava/runs/3182900697.json +0 -17322
  320. package/lib/esm/specs/fixtures/streams/strava/runs/3183465494.json +0 -20463
  321. package/lib/esm/specs/fixtures/streams/strava/runs/3183490558.json +0 -58202
  322. package/lib/esm/specs/spec-utils.js +0 -159
  323. package/lib/esm/specs/strava-streams-compliance.spec.js +0 -951
  324. package/lib/esm/stats/stats.class.abstract.js +0 -32
  325. package/lib/esm/stats/stats.class.interface.js +0 -1
  326. package/lib/esm/stats/stats.json.interface.js +0 -1
  327. package/lib/esm/streams/compressed.stream.interface.js +0 -12
  328. package/lib/esm/streams/ibi-stream.js +0 -43
  329. package/lib/esm/streams/low-pass.stream.filter.js +0 -9
  330. package/lib/esm/streams/stream.filter.interface.js +0 -1
  331. package/lib/esm/streams/stream.interface.js +0 -1
  332. package/lib/esm/streams/stream.js +0 -72
  333. package/lib/esm/streams/stream.spec.js +0 -168
  334. package/lib/esm/tiles/tile.settings.interface.js +0 -41
  335. package/lib/esm/users/settings/dashboard/user.dashboard.settings.interface.js +0 -13
  336. package/lib/esm/users/settings/user.app.settings.interface.js +0 -5
  337. package/lib/esm/users/settings/user.chart.settings.interface.js +0 -23
  338. package/lib/esm/users/settings/user.map.settings.interface.js +0 -22
  339. package/lib/esm/users/settings/user.my-tracks.settings.interface.js +0 -1
  340. package/lib/esm/users/settings/user.settings.interface.js +0 -1
  341. package/lib/esm/users/settings/user.stats-settings.interface.js +0 -1
  342. package/lib/esm/users/settings/user.summaries.settings.interface.js +0 -1
  343. package/lib/esm/users/settings/user.unit.settings.interface.js +0 -73
  344. package/lib/esm/users/user.account.privileges.interface.js +0 -1
  345. package/lib/esm/users/user.export-to-csv.settings.interface.js +0 -1
  346. package/lib/esm/users/user.interface.js +0 -1
  347. package/lib/esm/users/user.js +0 -38
  348. package/lib/esm/users/user.service.meta.interface.js +0 -1
  349. package/tsconfig.cjs.json +0 -7
  350. package/tsconfig.esm.json +0 -8
  351. package/tsconfig.lib.json +0 -8
@@ -1,348 +0,0 @@
1
- import { Activity } from './activity';
2
- import { DataHeartRate } from '../data/data.heart-rate';
3
- import { DataAltitude } from '../data/data.altitude';
4
- import { ActivityTypes } from './activity.types';
5
- import { Creator } from '../creators/creator';
6
- import { Stream } from '../streams/stream';
7
- import { DataDistance } from '../data/data.distance';
8
- import { DataStopEvent } from '../data/data.stop-event';
9
- import { DataStartEvent } from '../data/data.start-event';
10
- import { DataStopAllEvent } from '../data/data.stop-all-event';
11
- describe('Activity', () => {
12
- let activity;
13
- beforeEach(() => {
14
- // New activity that ends +6m and is 10s duration from new Date(0)
15
- activity = new Activity(new Date(0), new Date(new Date(0).getTime() + 10000), ActivityTypes.Running, new Creator('Test'));
16
- activity.setID('123');
17
- });
18
- it('should get streams based on time', () => {
19
- activity.addStream(new Stream(DataAltitude.type, [200, 500, null, 502, null, 600, 700]));
20
- activity.addStream(new Stream(DataDistance.type, [0, 10, 20, 30, 40, 50, 60]));
21
- expect(activity.getStreamDataTypesBasedOnTime([DataAltitude.type])).toEqual({
22
- 0: {
23
- Altitude: 200
24
- },
25
- 1000: {
26
- Altitude: 500
27
- },
28
- 3000: {
29
- Altitude: 502
30
- },
31
- 5000: {
32
- Altitude: 600
33
- },
34
- 6000: {
35
- Altitude: 700
36
- }
37
- });
38
- expect(activity.getStreamDataTypesBasedOnTime([DataDistance.type])).toEqual({
39
- 0: { Distance: 0 },
40
- 1000: { Distance: 10 },
41
- 2000: { Distance: 20 },
42
- 3000: { Distance: 30 },
43
- 4000: { Distance: 40 },
44
- 5000: { Distance: 50 },
45
- 6000: { Distance: 60 }
46
- });
47
- expect(activity.getStreamDataTypesBasedOnTime([DataAltitude.type, DataDistance.type])).toEqual({
48
- 0: {
49
- Altitude: 200,
50
- Distance: 0
51
- },
52
- 1000: { Altitude: 500, Distance: 10 },
53
- 2000: { Distance: 20 },
54
- 3000: { Altitude: 502, Distance: 30 },
55
- 4000: { Distance: 40 },
56
- 5000: { Altitude: 600, Distance: 50 },
57
- 6000: { Altitude: 700, Distance: 60 }
58
- });
59
- });
60
- it('should get streams based on another stream', () => {
61
- activity.addStream(new Stream(DataAltitude.type, [200, 500, null, 502, null, 500, 700]));
62
- activity.addStream(new Stream(DataHeartRate.type, [60, 70, 80, null, null, null, 120]));
63
- activity.addStream(new Stream(DataDistance.type, [0, 10, 20, 30, 40, 50, 60]));
64
- expect(activity.getStreamDataTypesBasedOnDataType(DataDistance.type, [DataAltitude.type])).toEqual([
65
- {
66
- Altitude: 200,
67
- Distance: 0
68
- },
69
- {
70
- Altitude: 500,
71
- Distance: 10
72
- },
73
- {
74
- Altitude: null,
75
- Distance: 20
76
- },
77
- {
78
- Altitude: 502,
79
- Distance: 30
80
- },
81
- {
82
- Altitude: null,
83
- Distance: 40
84
- },
85
- {
86
- Altitude: 500,
87
- Distance: 50
88
- },
89
- {
90
- Altitude: 700,
91
- Distance: 60
92
- }
93
- ]);
94
- expect(activity.getStreamDataTypesBasedOnDataType(DataDistance.type, [DataHeartRate.type, DataAltitude.type])).toEqual([
95
- {
96
- Altitude: 200,
97
- Distance: 0,
98
- 'Heart Rate': 60
99
- },
100
- {
101
- Altitude: 500,
102
- Distance: 10,
103
- 'Heart Rate': 70
104
- },
105
- {
106
- Altitude: null,
107
- Distance: 20,
108
- 'Heart Rate': 80
109
- },
110
- {
111
- Altitude: 502,
112
- Distance: 30,
113
- 'Heart Rate': null
114
- },
115
- {
116
- Altitude: null,
117
- Distance: 40,
118
- 'Heart Rate': null
119
- },
120
- {
121
- Altitude: 500,
122
- Distance: 50,
123
- 'Heart Rate': null
124
- },
125
- {
126
- Altitude: 700,
127
- Distance: 60,
128
- 'Heart Rate': 120
129
- }
130
- ]);
131
- expect(activity.getStreamDataTypesBasedOnDataType(DataAltitude.type, [DataDistance.type, DataHeartRate.type])).toEqual([
132
- {
133
- Altitude: 200,
134
- Distance: 0,
135
- 'Heart Rate': 60
136
- },
137
- {
138
- Altitude: 500,
139
- Distance: 10,
140
- 'Heart Rate': 70
141
- },
142
- {
143
- Altitude: 502,
144
- Distance: 30,
145
- 'Heart Rate': null
146
- },
147
- {
148
- Altitude: 500,
149
- Distance: 50,
150
- 'Heart Rate': null
151
- },
152
- {
153
- Altitude: 700,
154
- Distance: 60,
155
- 'Heart Rate': 120
156
- }
157
- ]);
158
- });
159
- describe('Trainer flagging', () => {
160
- it('should flag activities to be performed on a trainer', () => {
161
- // Given
162
- const types = [
163
- ActivityTypes.VirtualRun,
164
- ActivityTypes.VirtualCycling,
165
- ActivityTypes.Treadmill,
166
- ActivityTypes.IndoorCycling,
167
- ActivityTypes.IndoorRunning,
168
- ActivityTypes.IndoorRowing,
169
- ActivityTypes.Crosstrainer,
170
- ActivityTypes.EllipticalTrainer,
171
- ActivityTypes.FitnessEquipment,
172
- ActivityTypes.StairStepper
173
- ];
174
- // When, Then
175
- types.forEach(type => {
176
- const fakeActivity = new Activity(new Date(), new Date(), type, new Creator('John doo'));
177
- expect(fakeActivity.isTrainer()).toBeTruthy();
178
- });
179
- });
180
- it('should NOT flag activities to be performed on a trainer', () => {
181
- // Given
182
- const types = [
183
- ActivityTypes.Aerobics,
184
- ActivityTypes.AlpineSkiing,
185
- ActivityTypes.AmericanFootball,
186
- ActivityTypes.Aquathlon,
187
- ActivityTypes.BackcountrySkiing,
188
- ActivityTypes.Badminton,
189
- ActivityTypes.Baseball,
190
- ActivityTypes.Basketball,
191
- ActivityTypes.Boxing,
192
- ActivityTypes.Canoeing,
193
- ActivityTypes.CardioTraining,
194
- ActivityTypes.Climbing,
195
- ActivityTypes.Combat,
196
- ActivityTypes.Cricket,
197
- ActivityTypes.Crossfit,
198
- ActivityTypes.CrosscountrySkiing,
199
- ActivityTypes.Cycling,
200
- ActivityTypes.Dancing,
201
- ActivityTypes.Diving,
202
- ActivityTypes.DownhillSkiing,
203
- ActivityTypes.Driving,
204
- ActivityTypes.Duathlon,
205
- ActivityTypes.EBikeRide,
206
- ActivityTypes.Fishing,
207
- ActivityTypes.FlexibilityTraining,
208
- ActivityTypes.FloorClimbing,
209
- ActivityTypes.Floorball,
210
- ActivityTypes.Flying,
211
- ActivityTypes.Football,
212
- ActivityTypes.FreeDiving,
213
- ActivityTypes.Frisbee,
214
- ActivityTypes.Generic,
215
- ActivityTypes.Golf,
216
- ActivityTypes.Gymnastics,
217
- ActivityTypes.Handcycle,
218
- ActivityTypes.Handball,
219
- ActivityTypes.HangGliding,
220
- ActivityTypes.Hiking,
221
- ActivityTypes.HorsebackRiding,
222
- ActivityTypes.IceHockey,
223
- ActivityTypes.IceSkating,
224
- ActivityTypes.IndoorTraining,
225
- ActivityTypes.InlineSkating,
226
- ActivityTypes.Kayaking,
227
- ActivityTypes.Kettlebell,
228
- ActivityTypes.Kitesurfing,
229
- ActivityTypes.Motorcycling,
230
- ActivityTypes.Motorsports,
231
- ActivityTypes.MountainBiking,
232
- ActivityTypes.Mountaineering,
233
- ActivityTypes.NordicWalking,
234
- ActivityTypes.OpenWaterSwimming,
235
- ActivityTypes.Orienteering,
236
- ActivityTypes.Paddling,
237
- ActivityTypes.Paragliding,
238
- ActivityTypes.Rafting,
239
- ActivityTypes.RockClimbing,
240
- ActivityTypes.RollerSki,
241
- ActivityTypes.Rowing,
242
- ActivityTypes.Rugby,
243
- ActivityTypes.Running,
244
- ActivityTypes.Sailing,
245
- ActivityTypes.ScubaDiving,
246
- ActivityTypes.Skating,
247
- ActivityTypes.SkiTouring,
248
- ActivityTypes.SkyDiving,
249
- ActivityTypes.Snorkeling,
250
- ActivityTypes.Snowboarding,
251
- ActivityTypes.Snowmobiling,
252
- ActivityTypes.Snowshoeing,
253
- ActivityTypes.Soccer,
254
- ActivityTypes.Softball,
255
- ActivityTypes.Squash,
256
- ActivityTypes.StandUpPaddling,
257
- ActivityTypes.StrengthTraining,
258
- ActivityTypes.Stretching,
259
- ActivityTypes.Surfing,
260
- ActivityTypes.Swimming,
261
- ActivityTypes.Swimrun,
262
- ActivityTypes.TableTennis,
263
- ActivityTypes.Tactical,
264
- ActivityTypes.TelemarkSkiing,
265
- ActivityTypes.Tennis,
266
- ActivityTypes.TrackAndField,
267
- ActivityTypes.TrailRunning,
268
- ActivityTypes.Training,
269
- ActivityTypes.Trekking,
270
- ActivityTypes.Triathlon,
271
- ActivityTypes.UnknownSport,
272
- ActivityTypes.Velomobile,
273
- ActivityTypes.Volleyball,
274
- ActivityTypes.Wakeboarding,
275
- ActivityTypes.Walking,
276
- ActivityTypes.WaterSkiing,
277
- ActivityTypes.WeightTraining,
278
- ActivityTypes.Wheelchair,
279
- ActivityTypes.Windsurfing,
280
- ActivityTypes.Workout,
281
- ActivityTypes.Yoga,
282
- ActivityTypes.YogaPilates
283
- ];
284
- // When, Then
285
- types.forEach(type => {
286
- const fakeActivity = new Activity(new Date(), new Date(), type, new Creator('John doo'));
287
- expect(fakeActivity.isTrainer()).toBeFalsy();
288
- });
289
- });
290
- });
291
- it('should get the time stream', () => {
292
- activity.addStreams([
293
- // 0 1 2 3 4 5 6 7 8 9 and 10 are not set
294
- new Stream(DataAltitude.type, [200, null, 502, Infinity, -Infinity, NaN, 0]),
295
- new Stream(DataDistance.type, [0, null, 600, 700, 800, null, NaN, 900, Infinity])
296
- ]);
297
- expect(activity.generateTimeStream().getData()).toEqual([0, null, 2, 3, 4, null, 6, 7, 8, null, null]);
298
- expect(activity.generateTimeStream().getData(true)).toEqual([0, 2, 3, 4, 6, 7, 8]);
299
- expect(activity.generateTimeStream().getData(false)).toEqual([0, null, 2, 3, 4, null, 6, 7, 8, null, null]);
300
- });
301
- it('should set the correct sample sizes', () => {
302
- const stream = activity.createStream(DataAltitude.type);
303
- expect(stream.getData().length).toBe(11);
304
- });
305
- it('should get and set the correct sample keys and ', () => {
306
- const stream = activity.createStream(DataAltitude.type);
307
- activity.addStream(stream);
308
- activity.addDataToStream(DataAltitude.type, new Date(0), 0);
309
- activity.addDataToStream(DataAltitude.type, new Date(500), 5);
310
- activity.addDataToStream(DataAltitude.type, new Date(1040), 10);
311
- activity.addDataToStream(DataAltitude.type, new Date(2010), 20);
312
- activity.addDataToStream(DataAltitude.type, new Date(2060), 30);
313
- activity.addDataToStream(DataAltitude.type, new Date(2080), 35);
314
- activity.addDataToStream(DataAltitude.type, new Date(3000), 40);
315
- activity.addDataToStream(DataAltitude.type, new Date(4000), 50);
316
- activity.addDataToStream(DataAltitude.type, new Date(5000), 60);
317
- activity.addDataToStream(DataAltitude.type, new Date(6300), 70);
318
- activity.addDataToStream(DataAltitude.type, new Date(7000), 80);
319
- activity.addDataToStream(DataAltitude.type, new Date(8000), 90);
320
- activity.addDataToStream(DataAltitude.type, new Date(9000), 100);
321
- activity.addDataToStream(DataAltitude.type, new Date(10000), 110);
322
- expect(stream.getData()).toEqual([0, 10, 35, 40, 50, 60, 70, 80, 90, 100, 110]);
323
- });
324
- it('should get events correctly', () => {
325
- activity.addEvent(new DataStopEvent(1));
326
- activity.addEvent(new DataStopEvent(1));
327
- activity.addEvent(new DataStartEvent(1));
328
- activity.addEvent(new DataStartEvent(1));
329
- activity.addEvent(new DataStopAllEvent(1));
330
- expect(activity.getAllEvents().length).toBe(5);
331
- expect(activity.getStartEvents().length).toBe(2);
332
- expect(activity.getStopEvents().length).toBe(2);
333
- expect(activity.getStopAllEvents().length).toBe(1);
334
- });
335
- it('should set all events', () => {
336
- activity.setAllEvents([
337
- new DataStopEvent(1),
338
- new DataStopEvent(1),
339
- new DataStartEvent(1),
340
- new DataStartEvent(1),
341
- new DataStopAllEvent(1)
342
- ]);
343
- expect(activity.getAllEvents().length).toBe(5);
344
- expect(activity.getStartEvents().length).toBe(2);
345
- expect(activity.getStopEvents().length).toBe(2);
346
- expect(activity.getStopAllEvents().length).toBe(1);
347
- });
348
- });