@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,86 +0,0 @@
1
- export class LowPassFilter {
2
- static smooth(values, smoothing = 0.5) {
3
- return new LowPassFilter(smoothing).smoothArray(values);
4
- }
5
- constructor(smoothing) {
6
- this._smoothing = smoothing || 0.5; // must be smaller than 1
7
- this._buffer = []; // FIFO queue
8
- this._bufferMaxSize = 10;
9
- }
10
- /**
11
- * Init buffer with array of values
12
- * @param {number[]} values
13
- * @returns {number[]}
14
- */
15
- init(values) {
16
- for (let i = 0; i < values.length; i++) {
17
- this.__push(values[i]);
18
- }
19
- return this._buffer;
20
- }
21
- /**
22
- * Add new value to buffer (FIFO queue)
23
- * @param {number} value
24
- * @returns {number}
25
- * @private
26
- */
27
- __push(value) {
28
- const removed = this._buffer.length === this._bufferMaxSize ? this._buffer.shift() : 0;
29
- this._buffer.push(value);
30
- return removed;
31
- }
32
- /**
33
- * Smooth value from stream
34
- * @param {number} nextValue
35
- * @returns {number}
36
- */
37
- next(nextValue) {
38
- // push new value to the end, and remove oldest one
39
- const removed = this.__push(nextValue);
40
- // smooth value using all values from buffer
41
- const result = this._buffer.reduce((last, current) => {
42
- return this._smoothing * current + (1 - this._smoothing) * last;
43
- }, removed);
44
- // replace smoothed value
45
- this._buffer[this._buffer.length - 1] = result;
46
- return result;
47
- }
48
- /**
49
- * Smooth array of values
50
- * @param {number[]} values
51
- * @returns {number[]}
52
- */
53
- smoothArray(values) {
54
- let value = values.filter(v => Number.isFinite(v))[0];
55
- if (!value) {
56
- return values;
57
- }
58
- for (let i = 1; i < values.length; i++) {
59
- if (values[i] === null) {
60
- continue;
61
- }
62
- const currentValue = values[i];
63
- value += (currentValue - value) * this._smoothing;
64
- values[i] = Math.round(value * 100) / 100;
65
- }
66
- return values;
67
- }
68
- get bufferMaxSize() {
69
- return this._bufferMaxSize;
70
- }
71
- set bufferMaxSize(value) {
72
- this._bufferMaxSize = value;
73
- }
74
- get buffer() {
75
- return this._buffer;
76
- }
77
- set buffer(value) {
78
- this._buffer = value;
79
- }
80
- get smoothing() {
81
- return this._smoothing;
82
- }
83
- set smoothing(value) {
84
- this._smoothing = value;
85
- }
86
- }
@@ -1,162 +0,0 @@
1
- export function isNumberOrString(property) {
2
- return typeof property === 'number' || typeof property === 'string';
3
- }
4
- export function isNumber(property) {
5
- return typeof property === 'number' && !isNaN(property);
6
- }
7
- /**
8
- * Converts speed from m/s to pace as of seconds per km
9
- * @param {number} number
10
- * @return {number}
11
- */
12
- export function convertSpeedToPace(number) {
13
- return number === 0 ? Infinity : 1000 / number;
14
- }
15
- /**
16
- * Converts m/s to seconds per 100m
17
- * @param number
18
- */
19
- export function convertSpeedToSwimPace(number) {
20
- return number === 0 ? Infinity : 100 / number;
21
- }
22
- export function convertSpeedToSpeedInKilometersPerHour(number) {
23
- return number * 3.6;
24
- }
25
- export function convertSpeedToSpeedInMilesPerHour(number) {
26
- return number * 2.237;
27
- }
28
- export function convertSpeedToSpeedInFeetPerSecond(number) {
29
- return number * 3.28084;
30
- }
31
- export function convertSpeedToSpeedInMetersPerMinute(number) {
32
- return number * 60;
33
- }
34
- export function convertSpeedToSpeedInFeetPerMinute(number) {
35
- return number * 196.85;
36
- }
37
- export function convertSpeedToSpeedInFeetPerHour(number) {
38
- return number * 11811.024;
39
- }
40
- export function convertSpeedToSpeedInMetersPerHour(number) {
41
- return number * 3600;
42
- }
43
- export function convertSpeedToSpeedInKnots(number) {
44
- return number * 1.943844;
45
- }
46
- export function convertPaceToPaceInMinutesPerMile(number) {
47
- return number * 1.60934;
48
- }
49
- export function convertMetersToMiles(number) {
50
- return number === 0 ? 0 : number / 1609;
51
- }
52
- /**
53
- * Converts m/s to seconds per 100m
54
- * @param number
55
- */
56
- export function convertSwimPaceToSwimPacePer100Yard(number) {
57
- return number * 1.93613298;
58
- }
59
- export function getSize(obj) {
60
- return getSizeWithOptionalFormat(obj, false);
61
- }
62
- export function getSizeFormated(obj) {
63
- return getSizeWithOptionalFormat(obj, true);
64
- }
65
- function getSizeWithOptionalFormat(obj, format = true) {
66
- let size;
67
- try {
68
- size = new Blob([obj]).size;
69
- }
70
- catch (e) {
71
- size = Buffer.from(obj).length;
72
- }
73
- function formatByteSize(bytes) {
74
- if (bytes < 1024) {
75
- return bytes + ' bytes';
76
- }
77
- else if (bytes < 1048576) {
78
- return (bytes / 1024).toFixed(4) + ' KiB';
79
- }
80
- else if (bytes < 1073741824) {
81
- return (bytes / 1048576).toFixed(4) + ' MiB';
82
- }
83
- else {
84
- return (bytes / 1073741824).toFixed(4) + ' GiB';
85
- }
86
- }
87
- return format ? formatByteSize(size) : size;
88
- }
89
- /**
90
- * from https://stackoverflow.com/questions/48340403/fill-missing-numeric-values-in-an-array
91
- * Very badly written
92
- * @param array
93
- */
94
- export function fillMissingValuesLinear(array) {
95
- let i = 0, j, delta;
96
- while (i < array.length) {
97
- if (array[i] !== null) {
98
- i++;
99
- continue;
100
- }
101
- j = i;
102
- // eslint-disable-next-line no-empty
103
- while (array[++j] === null) { }
104
- // @ts-ignore
105
- delta = (array[j] - array[i - 1]) / (j - i + 1);
106
- do {
107
- // @ts-ignore
108
- array[i] = delta + array[i - 1];
109
- i++;
110
- } while (i < j);
111
- }
112
- return array;
113
- }
114
- export const mean = (array) => {
115
- return array.reduce((a, b) => a + b, 0) / array.length;
116
- };
117
- export const meanWindowSmoothing = (array, windowSize = 7, roundDecimals = 3) => {
118
- const roundDecimalsFactor = Math.pow(10, roundDecimals);
119
- return array.map((value, index) => {
120
- const window = array.slice(index, index + windowSize); // Get window
121
- return Math.round(mean(window) * roundDecimalsFactor) / roundDecimalsFactor; // Round and return
122
- });
123
- };
124
- const median = (inputArray) => {
125
- const s = inputArray.slice().sort((a, b) => {
126
- return a - b;
127
- });
128
- return s[Math.floor((s.length - 1) / 2)];
129
- };
130
- /**
131
- * Remove spikes into a vector (http://fourier.eng.hmc.edu/e161/lectures/smooth_sharpen/node2.html)
132
- * @param array to be filtered
133
- * @param window Window size (should be odd number)
134
- */
135
- export const medianFilter = (array, window = 11) => {
136
- if (window % 2 === 0) {
137
- throw new Error('Window size should be an odd number');
138
- }
139
- if (array.length < window) {
140
- return array;
141
- }
142
- const f = [];
143
- const w = [];
144
- let i;
145
- w.push(array[0]);
146
- for (i = 0; i < array.length; i++) {
147
- const midWindowIndex = Math.floor(window / 2);
148
- if (array.length - 1 >= i + midWindowIndex) {
149
- w.push(array[i + midWindowIndex]);
150
- }
151
- f.push(median(w));
152
- if (i >= midWindowIndex) {
153
- w.shift();
154
- }
155
- }
156
- return f;
157
- };
158
- export const standardDeviation = (stream) => {
159
- const avg = mean(stream);
160
- const variance = mean(stream.map(value => Math.pow(value, 2))) - Math.pow(avg, 2);
161
- return variance > 0 ? Math.sqrt(variance) : 0;
162
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- import getPreciseDistance from 'geolib/es/getPreciseDistance';
2
- import getDistance from 'geolib/es/getDistance';
3
- import findNearest from 'geolib/es/findNearest';
4
- export class GeoLibAdapter {
5
- constructor() {
6
- this.findNearest = findNearest;
7
- }
8
- getDistance(positionArray, precise = false, accuracy = 0.1) {
9
- let distance = 0;
10
- const excludeFirstPointsArray = positionArray.slice(1);
11
- let firstPosition = positionArray[0];
12
- for (const nextPosition of excludeFirstPointsArray) {
13
- const firstPositionAsDecimal = {
14
- longitude: firstPosition.longitudeDegrees,
15
- latitude: firstPosition.latitudeDegrees
16
- };
17
- const nextPositionAsDecimal = {
18
- longitude: nextPosition.longitudeDegrees,
19
- latitude: nextPosition.latitudeDegrees
20
- };
21
- distance += precise
22
- ? getPreciseDistance(firstPositionAsDecimal, nextPositionAsDecimal, accuracy)
23
- : getDistance(firstPositionAsDecimal, nextPositionAsDecimal, accuracy);
24
- firstPosition = nextPosition;
25
- }
26
- return distance;
27
- }
28
- }
@@ -1,9 +0,0 @@
1
- export class IDClass {
2
- getID() {
3
- return this.id || null;
4
- }
5
- setID(id) {
6
- this.id = id;
7
- return this;
8
- }
9
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,13 +0,0 @@
1
- import { IDClass } from './id.abstract.class';
2
- describe('IDClass', () => {
3
- let idClass;
4
- beforeEach(() => {
5
- idClass = new IdClass();
6
- });
7
- it('should correctly set an ID', () => {
8
- idClass.setID('123');
9
- expect(idClass.getID()).toBe('123');
10
- });
11
- });
12
- export class IdClass extends IDClass {
13
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import { isNumber } from '../events/utilities/helpers';
2
- export class IntensityZones {
3
- constructor(type) {
4
- this.type = type;
5
- }
6
- toJSON() {
7
- const json = {
8
- type: this.type,
9
- zone1Duration: this.zone1Duration,
10
- zone2Duration: this.zone2Duration,
11
- zone3Duration: this.zone3Duration,
12
- zone4Duration: this.zone4Duration,
13
- zone5Duration: this.zone5Duration
14
- };
15
- if (isNumber(this.zone2LowerLimit)) {
16
- json.zone2LowerLimit = this.zone2LowerLimit;
17
- }
18
- if (isNumber(this.zone3LowerLimit)) {
19
- json.zone3LowerLimit = this.zone3LowerLimit;
20
- }
21
- if (isNumber(this.zone4LowerLimit)) {
22
- json.zone4LowerLimit = this.zone4LowerLimit;
23
- }
24
- if (isNumber(this.zone5LowerLimit)) {
25
- json.zone5LowerLimit = this.zone5LowerLimit;
26
- }
27
- return json;
28
- }
29
- }
@@ -1,30 +0,0 @@
1
- import { IntensityZones } from './intensity-zones';
2
- describe('Zone', () => {
3
- let zones;
4
- beforeEach(() => {
5
- zones = new IntensityZones('test');
6
- });
7
- it('should export correctly to JSON', () => {
8
- zones.zone1Duration = 0;
9
- zones.zone2LowerLimit = 1;
10
- zones.zone2Duration = 2;
11
- zones.zone3LowerLimit = 3;
12
- zones.zone3Duration = 4;
13
- zones.zone4LowerLimit = 5;
14
- zones.zone4Duration = 6;
15
- zones.zone5LowerLimit = 7;
16
- zones.zone5Duration = 8;
17
- expect(zones.toJSON()).toEqual({
18
- type: 'test',
19
- zone1Duration: 0,
20
- zone2Duration: 2,
21
- zone2LowerLimit: 1,
22
- zone3Duration: 4,
23
- zone3LowerLimit: 3,
24
- zone4Duration: 6,
25
- zone4LowerLimit: 5,
26
- zone5Duration: 8,
27
- zone5LowerLimit: 7
28
- });
29
- });
30
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import { DurationClassAbstract } from '../duration/duration.class.abstract';
2
- export class Lap extends DurationClassAbstract {
3
- constructor(startDate, endDate, lapId, type) {
4
- super(startDate, endDate);
5
- this.lapId = lapId;
6
- this.type = type;
7
- }
8
- getStartIndex(activity) {
9
- return activity.getDateIndex(this.startDate);
10
- }
11
- getEndIndex(activity) {
12
- return activity.getDateIndex(this.endDate);
13
- }
14
- toJSON(activity) {
15
- const stats = {};
16
- this.stats.forEach((value, key) => {
17
- Object.assign(stats, value.toJSON());
18
- });
19
- return {
20
- lapId: this.lapId,
21
- startDate: this.startDate.getTime(),
22
- endDate: this.endDate.getTime(),
23
- startIndex: activity ? this.getStartIndex(activity) : null,
24
- endIndex: activity ? this.getEndIndex(activity) : null,
25
- type: this.type,
26
- stats: stats
27
- };
28
- }
29
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,52 +0,0 @@
1
- export class LapTypesHelper {
2
- static getLapTypesAsUniqueArray() {
3
- return Array.from(new Set(Object.keys(LapTypes).reduce((array, key) => {
4
- array.push(LapTypes[key]); // Important get the key via the enum else it will be chaos
5
- return array;
6
- }, [])));
7
- }
8
- }
9
- /**
10
- * This enum works like a all matchers for normalized lap types between different naming across services
11
- */
12
- export var LapTypes;
13
- (function (LapTypes) {
14
- LapTypes["unknown"] = "Unknown";
15
- LapTypes["Unknown"] = "Unknown";
16
- LapTypes["Start"] = "Start";
17
- LapTypes["start"] = "Start";
18
- LapTypes["Stop"] = "Stop";
19
- LapTypes["stop"] = "Stop";
20
- LapTypes["Manual"] = "Manual";
21
- LapTypes["manual"] = "Manual";
22
- LapTypes["Autolap"] = "Autolap";
23
- LapTypes["AutoLap"] = "Autolap";
24
- LapTypes["autolap"] = "Autolap";
25
- LapTypes["Auto lap"] = "Autolap";
26
- LapTypes["Distance"] = "Distance";
27
- LapTypes["distance"] = "Distance";
28
- LapTypes["Location"] = "Location";
29
- LapTypes["location"] = "Location";
30
- LapTypes["interval"] = "Interval";
31
- LapTypes["Interval"] = "Interval";
32
- LapTypes["Low Interval"] = "Low Interval";
33
- LapTypes["High Interval"] = "High Interval";
34
- LapTypes["Time"] = "Time";
35
- LapTypes["time"] = "Time";
36
- LapTypes["HeartRate"] = "Heart Rate";
37
- LapTypes["Heart Rate"] = "Heart Rate";
38
- LapTypes["position_start"] = "Position start";
39
- LapTypes["Position start"] = "Position start";
40
- LapTypes["position_lap"] = "Position lap";
41
- LapTypes["Position lap"] = "Position lap";
42
- LapTypes["position_waypoint"] = "Position waypoint";
43
- LapTypes["Position waypoint"] = "Position waypoint";
44
- LapTypes["position_marked"] = "Position marked";
45
- LapTypes["Position marked"] = "Position marked";
46
- LapTypes["session_end"] = "Session end";
47
- LapTypes["Session end"] = "Session end";
48
- LapTypes["fitness_equipment"] = "Fitness equipment";
49
- LapTypes["fitness equipment"] = "Fitness equipment";
50
- LapTypes["Fitness equipment"] = "Fitness equipment";
51
- LapTypes["FitnessEquipment"] = "Fitness equipment";
52
- })(LapTypes || (LapTypes = {}));
@@ -1,6 +0,0 @@
1
- export var ServiceNames;
2
- (function (ServiceNames) {
3
- ServiceNames["SuuntoApp"] = "Suunto app";
4
- ServiceNames["GarminAPI"] = "Garmin API";
5
- ServiceNames["COROSAPI"] = "COROS API";
6
- })(ServiceNames || (ServiceNames = {}));
@@ -1,57 +0,0 @@
1
- import { ServiceNames } from './event-meta-data.interface';
2
- export class SuuntoAppEventMetaData {
3
- constructor(serviceWorkoutID, serviceUserName, date) {
4
- this.serviceWorkoutID = serviceWorkoutID;
5
- this.serviceUserName = serviceUserName;
6
- this.date = date;
7
- this.serviceName = ServiceNames.SuuntoApp;
8
- }
9
- toJSON() {
10
- return {
11
- serviceWorkoutID: this.serviceWorkoutID,
12
- serviceName: this.serviceName,
13
- serviceUserName: this.serviceUserName,
14
- date: this.date.getTime()
15
- };
16
- }
17
- }
18
- export class COROSAPIEventMetaData {
19
- constructor(serviceWorkoutID, serviceOpenId, serviceFITFileURI, date) {
20
- this.serviceWorkoutID = serviceWorkoutID;
21
- this.serviceOpenId = serviceOpenId;
22
- this.serviceFITFileURI = serviceFITFileURI;
23
- this.date = date;
24
- this.serviceName = ServiceNames.COROSAPI;
25
- }
26
- toJSON() {
27
- return {
28
- serviceWorkoutID: this.serviceWorkoutID,
29
- serviceName: this.serviceName,
30
- serviceOpenId: this.serviceOpenId,
31
- serviceFITFileURI: this.serviceFITFileURI,
32
- date: this.date.getTime()
33
- };
34
- }
35
- }
36
- export class GarminAPIEventMetaData {
37
- constructor(serviceUserID, serviceActivityFileID, serviceActivityFileType, serviceManual, serviceStartTimeInSeconds, date) {
38
- this.serviceUserID = serviceUserID;
39
- this.serviceActivityFileID = serviceActivityFileID;
40
- this.serviceActivityFileType = serviceActivityFileType;
41
- this.serviceManual = serviceManual;
42
- this.serviceStartTimeInSeconds = serviceStartTimeInSeconds;
43
- this.date = date;
44
- this.serviceName = ServiceNames.GarminAPI;
45
- }
46
- toJSON() {
47
- return {
48
- serviceUserID: this.serviceUserID,
49
- serviceName: this.serviceName,
50
- serviceActivityFileID: this.serviceActivityFileID,
51
- serviceActivityFileType: this.serviceActivityFileType,
52
- serviceManual: this.serviceManual,
53
- serviceStartTimeInSeconds: this.serviceStartTimeInSeconds,
54
- date: this.date.getTime()
55
- };
56
- }
57
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- export var Privacy;
2
- (function (Privacy) {
3
- Privacy["Public"] = "public";
4
- Privacy["Private"] = "private";
5
- })(Privacy || (Privacy = {}));
@@ -1 +0,0 @@
1
- export {};