incyclist-services 1.6.8 → 1.7.1

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 (679) hide show
  1. package/lib/activities/active-rides/index.js +2 -18
  2. package/lib/activities/active-rides/mq.js +126 -133
  3. package/lib/activities/active-rides/service.d.ts +18 -4
  4. package/lib/activities/active-rides/service.js +316 -297
  5. package/lib/activities/active-rides/types.d.ts +13 -3
  6. package/lib/activities/active-rides/types.js +1 -2
  7. package/lib/activities/base/api/active-rides/api.d.ts +1 -1
  8. package/lib/activities/base/api/active-rides/api.js +48 -75
  9. package/lib/activities/base/api/active-rides/index.js +2 -18
  10. package/lib/activities/base/api/active-rides/types.js +1 -2
  11. package/lib/activities/base/api/fitconvert/consts.js +2 -5
  12. package/lib/activities/base/api/fitconvert/fitconvert.d.ts +1 -1
  13. package/lib/activities/base/api/fitconvert/fitconvert.js +50 -68
  14. package/lib/activities/base/api/fitconvert/index.js +1 -17
  15. package/lib/activities/base/api/index.js +1 -17
  16. package/lib/activities/base/convert/converter.js +12 -26
  17. package/lib/activities/base/convert/factory.js +22 -39
  18. package/lib/activities/base/convert/fit/index.js +1 -17
  19. package/lib/activities/base/convert/fit/remote-fit.d.ts +1 -1
  20. package/lib/activities/base/convert/fit/remote-fit.js +21 -34
  21. package/lib/activities/base/convert/index.js +4 -20
  22. package/lib/activities/base/convert/tcx/index.js +1 -17
  23. package/lib/activities/base/convert/tcx/tcx.d.ts +8 -2
  24. package/lib/activities/base/convert/tcx/tcx.js +123 -67
  25. package/lib/activities/base/convert/tcx/types.js +1 -2
  26. package/lib/activities/base/convert/types.js +1 -5
  27. package/lib/activities/base/index.js +5 -21
  28. package/lib/activities/base/model/index.js +1 -4
  29. package/lib/activities/base/repo/db.d.ts +2 -2
  30. package/lib/activities/base/repo/db.js +267 -313
  31. package/lib/activities/base/repo/index.js +2 -18
  32. package/lib/activities/base/repo/migration/factory.js +12 -16
  33. package/lib/activities/base/repo/migration/types.js +4 -8
  34. package/lib/activities/base/repo/migration/v0.js +4 -8
  35. package/lib/activities/base/repo/migration/v1.js +3 -7
  36. package/lib/activities/base/repo/migration/v2.js +2 -6
  37. package/lib/activities/base/repo/migration/v3.js +5 -9
  38. package/lib/activities/base/repo/types.js +1 -2
  39. package/lib/activities/base/utils/activity.d.ts +7 -7
  40. package/lib/activities/base/utils/activity.js +268 -296
  41. package/lib/activities/base/utils/helpers.js +15 -35
  42. package/lib/activities/base/utils/index.js +2 -18
  43. package/lib/activities/index.js +5 -21
  44. package/lib/activities/list/index.js +2 -18
  45. package/lib/activities/list/service.d.ts +2 -2
  46. package/lib/activities/list/service.js +160 -199
  47. package/lib/activities/list/types.js +1 -2
  48. package/lib/activities/ride/duration.js +16 -18
  49. package/lib/activities/ride/index.js +1 -17
  50. package/lib/activities/ride/service.d.ts +11 -9
  51. package/lib/activities/ride/service.js +346 -350
  52. package/lib/activities/ride/stats.js +16 -21
  53. package/lib/activities/ride/types.js +1 -2
  54. package/lib/activities/upload/factory.js +29 -46
  55. package/lib/activities/upload/index.js +5 -21
  56. package/lib/activities/upload/intervals.d.ts +1 -1
  57. package/lib/activities/upload/intervals.js +54 -73
  58. package/lib/activities/upload/strava.d.ts +1 -1
  59. package/lib/activities/upload/strava.js +62 -81
  60. package/lib/activities/upload/types.js +1 -2
  61. package/lib/activities/upload/velohero.js +51 -70
  62. package/lib/api/appInfo/index.js +1 -2
  63. package/lib/api/bindings/index.js +24 -21
  64. package/lib/api/bindings/secret/index.js +1 -2
  65. package/lib/api/download/index.d.ts +1 -1
  66. package/lib/api/download/index.js +1 -2
  67. package/lib/api/form/index.js +1 -2
  68. package/lib/api/fs/index.js +1 -2
  69. package/lib/api/index.js +5 -21
  70. package/lib/api/mq/index.d.ts +1 -1
  71. package/lib/api/mq/index.js +1 -2
  72. package/lib/api/path/index.js +2 -5
  73. package/lib/api/repository/index.js +2 -18
  74. package/lib/api/repository/json/index.js +62 -83
  75. package/lib/api/repository/types.js +1 -5
  76. package/lib/api/rest/RestApiClient.js +4 -7
  77. package/lib/api/rest/api.js +12 -17
  78. package/lib/api/rest/incyclist.js +14 -18
  79. package/lib/api/rest/index.js +3 -19
  80. package/lib/api/rest/types.js +1 -2
  81. package/lib/api/ui/index.js +1 -2
  82. package/lib/api/video/index.js +1 -2
  83. package/lib/apps/base/api/base.d.ts +1 -1
  84. package/lib/apps/base/api/base.js +43 -54
  85. package/lib/apps/base/api/index.js +4 -20
  86. package/lib/apps/base/api/intervals/api.js +72 -93
  87. package/lib/apps/base/api/intervals/index.js +2 -18
  88. package/lib/apps/base/api/intervals/types.js +10 -5
  89. package/lib/apps/base/api/komoot/api.js +88 -107
  90. package/lib/apps/base/api/komoot/index.js +2 -18
  91. package/lib/apps/base/api/komoot/types.js +1 -2
  92. package/lib/apps/base/api/strava/api.js +164 -199
  93. package/lib/apps/base/api/strava/index.js +2 -18
  94. package/lib/apps/base/api/strava/types.js +3 -6
  95. package/lib/apps/base/api/velohero/api.js +59 -74
  96. package/lib/apps/base/api/velohero/index.js +2 -18
  97. package/lib/apps/base/api/velohero/types.js +1 -2
  98. package/lib/apps/base/app/index.d.ts +1 -1
  99. package/lib/apps/base/app/index.js +55 -57
  100. package/lib/apps/base/index.js +3 -19
  101. package/lib/apps/base/types.js +1 -2
  102. package/lib/apps/googleMaps/index.js +1 -17
  103. package/lib/apps/googleMaps/service.d.ts +1 -1
  104. package/lib/apps/googleMaps/service.js +34 -56
  105. package/lib/apps/index.js +5 -21
  106. package/lib/apps/intervals/IntervalsAppConnection.js +47 -67
  107. package/lib/apps/intervals/types.js +1 -2
  108. package/lib/apps/komoot/KomootAppConnection.js +57 -82
  109. package/lib/apps/komoot/index.js +2 -18
  110. package/lib/apps/komoot/types.js +1 -2
  111. package/lib/apps/service.d.ts +1 -1
  112. package/lib/apps/service.js +52 -72
  113. package/lib/apps/strava/StravaAppConnection.js +51 -72
  114. package/lib/apps/strava/index.js +2 -18
  115. package/lib/apps/strava/types.js +1 -2
  116. package/lib/apps/types.js +1 -2
  117. package/lib/apps/velohero/VeloHeroAppConnection.js +55 -80
  118. package/lib/apps/velohero/index.js +2 -18
  119. package/lib/apps/velohero/types.js +1 -2
  120. package/lib/appstate/index.js +2 -18
  121. package/lib/appstate/service.d.ts +1 -1
  122. package/lib/appstate/service.js +23 -32
  123. package/lib/appstate/types.d.ts +1 -1
  124. package/lib/appstate/types.js +1 -2
  125. package/lib/autoupdate/api.d.ts +1 -1
  126. package/lib/autoupdate/api.js +97 -125
  127. package/lib/autoupdate/autoupdate.js +10 -26
  128. package/lib/autoupdate/index.js +2 -18
  129. package/lib/avatars/index.js +2 -18
  130. package/lib/avatars/service.js +24 -35
  131. package/lib/avatars/types.js +1 -2
  132. package/lib/base/cardlist/index.js +6 -5
  133. package/lib/base/cardlist/types.js +1 -2
  134. package/lib/base/decorators/Injection.js +4 -10
  135. package/lib/base/decorators/index.js +2 -18
  136. package/lib/base/service.d.ts +1 -1
  137. package/lib/base/service.js +11 -16
  138. package/lib/base/types/index.js +3 -19
  139. package/lib/base/types/lists.js +3 -6
  140. package/lib/base/types/observer.js +27 -46
  141. package/lib/base/types/singleton.js +2 -6
  142. package/lib/coaches/coach.js +25 -34
  143. package/lib/coaches/index.js +3 -19
  144. package/lib/coaches/service.js +85 -106
  145. package/lib/coaches/types.js +1 -2
  146. package/lib/devices/access/index.js +2 -18
  147. package/lib/devices/access/model.js +1 -2
  148. package/lib/devices/access/service.d.ts +1 -1
  149. package/lib/devices/access/service.js +313 -355
  150. package/lib/devices/configuration/index.js +2 -18
  151. package/lib/devices/configuration/model/app/index.js +1 -2
  152. package/lib/devices/configuration/model/index.js +3 -19
  153. package/lib/devices/configuration/model/repository/index.js +1 -17
  154. package/lib/devices/configuration/model/repository/legacy.js +1 -2
  155. package/lib/devices/configuration/model/service/index.js +1 -2
  156. package/lib/devices/configuration/service.d.ts +1 -1
  157. package/lib/devices/configuration/service.js +173 -215
  158. package/lib/devices/index.js +4 -20
  159. package/lib/devices/pairing/index.js +2 -18
  160. package/lib/devices/pairing/model.js +1 -2
  161. package/lib/devices/pairing/service.js +521 -600
  162. package/lib/devices/ride/index.js +2 -18
  163. package/lib/devices/ride/model.js +1 -2
  164. package/lib/devices/ride/service.d.ts +4 -6
  165. package/lib/devices/ride/service.js +553 -633
  166. package/lib/i18n/countries/index.js +43 -65
  167. package/lib/i18n/countries/model.js +1 -2
  168. package/lib/i18n/index.d.ts +1 -0
  169. package/lib/i18n/index.js +3 -18
  170. package/lib/i18n/localization/index.js +2 -18
  171. package/lib/i18n/localization/service.d.ts +1 -1
  172. package/lib/i18n/localization/service.js +27 -37
  173. package/lib/i18n/localization/types.js +1 -2
  174. package/lib/i18n/units/converter.d.ts +17 -0
  175. package/lib/i18n/units/converter.js +172 -0
  176. package/lib/i18n/units/index.d.ts +2 -0
  177. package/lib/i18n/units/index.js +2 -0
  178. package/lib/i18n/units/types.d.ts +17 -0
  179. package/lib/i18n/units/types.js +1 -0
  180. package/lib/index.d.ts +2 -1
  181. package/lib/index.js +20 -40
  182. package/lib/maps/MapArea/MapArea.js +47 -54
  183. package/lib/maps/MapArea/consts.js +8 -11
  184. package/lib/maps/MapArea/index.js +3 -19
  185. package/lib/maps/MapArea/options.js +142 -166
  186. package/lib/maps/MapArea/service.js +110 -132
  187. package/lib/maps/MapArea/types.js +1 -2
  188. package/lib/maps/MapArea/utils.js +98 -140
  189. package/lib/maps/index.js +1 -17
  190. package/lib/monitoring/index.js +1 -17
  191. package/lib/monitoring/online/index.js +1 -17
  192. package/lib/monitoring/online/service.js +21 -28
  193. package/lib/ride/base/base.d.ts +3 -3
  194. package/lib/ride/base/base.js +175 -188
  195. package/lib/ride/base/index.js +1 -17
  196. package/lib/ride/base/types.d.ts +13 -1
  197. package/lib/ride/base/types.js +1 -2
  198. package/lib/ride/display/index.js +1 -17
  199. package/lib/ride/display/service.d.ts +7 -7
  200. package/lib/ride/display/service.js +254 -302
  201. package/lib/ride/index.js +2 -18
  202. package/lib/ride/route/FollowRouteDisplayService.js +15 -13
  203. package/lib/ride/route/FreeRideDisplayService.d.ts +5 -0
  204. package/lib/ride/route/FreeRideDisplayService.js +493 -476
  205. package/lib/ride/route/GpxDisplayService.d.ts +2 -2
  206. package/lib/ride/route/GpxDisplayService.js +216 -215
  207. package/lib/ride/route/RLVDisplayService.js +488 -501
  208. package/lib/ride/route/RouteDisplayService.d.ts +6 -4
  209. package/lib/ride/route/RouteDisplayService.js +328 -322
  210. package/lib/ride/route/types.js +1 -2
  211. package/lib/ride/workout/WorkoutDisplayService.d.ts +1 -1
  212. package/lib/ride/workout/WorkoutDisplayService.js +50 -56
  213. package/lib/routes/base/api/consts.js +3 -6
  214. package/lib/routes/base/api/index.d.ts +1 -1
  215. package/lib/routes/base/api/index.js +105 -128
  216. package/lib/routes/base/api/types.js +1 -2
  217. package/lib/routes/base/model/route.js +77 -97
  218. package/lib/routes/base/model/tacx.js +28 -31
  219. package/lib/routes/base/parsers/bikelab.js +68 -90
  220. package/lib/routes/base/parsers/epm.js +75 -103
  221. package/lib/routes/base/parsers/factory.js +6 -7
  222. package/lib/routes/base/parsers/geometry.d.ts +1 -1
  223. package/lib/routes/base/parsers/geometry.js +84 -105
  224. package/lib/routes/base/parsers/gpx.js +146 -172
  225. package/lib/routes/base/parsers/incyclist.js +106 -132
  226. package/lib/routes/base/parsers/index.js +38 -69
  227. package/lib/routes/base/parsers/kwt.js +3 -7
  228. package/lib/routes/base/parsers/multixml.js +19 -35
  229. package/lib/routes/base/parsers/tacx/TacxParser.js +94 -126
  230. package/lib/routes/base/parsers/tacx/TacxReader.js +18 -20
  231. package/lib/routes/base/parsers/tacx/pgmf.js +6 -10
  232. package/lib/routes/base/parsers/tacx/rlv.js +2 -6
  233. package/lib/routes/base/parsers/types.js +1 -2
  234. package/lib/routes/base/parsers/utils.js +8 -13
  235. package/lib/routes/base/parsers/xml.js +210 -249
  236. package/lib/routes/base/types/index.js +1 -2
  237. package/lib/routes/base/utils/index.js +1 -17
  238. package/lib/routes/base/utils/localization.js +6 -11
  239. package/lib/routes/base/utils/points.js +36 -46
  240. package/lib/routes/base/utils/route.js +111 -154
  241. package/lib/routes/download/service.js +106 -128
  242. package/lib/routes/download/types.js +3 -6
  243. package/lib/routes/free-ride/index.js +1 -17
  244. package/lib/routes/free-ride/service.d.ts +2 -2
  245. package/lib/routes/free-ride/service.js +222 -269
  246. package/lib/routes/index.js +4 -20
  247. package/lib/routes/list/RouteListObserver.js +3 -6
  248. package/lib/routes/list/cards/ActiveImportCard.js +20 -19
  249. package/lib/routes/list/cards/FreeRideCard.js +22 -24
  250. package/lib/routes/list/cards/RouteCard.d.ts +57 -4
  251. package/lib/routes/list/cards/RouteCard.js +350 -307
  252. package/lib/routes/list/cards/RouteImportCard.js +7 -11
  253. package/lib/routes/list/cards/base.js +7 -12
  254. package/lib/routes/list/cards/types.js +2 -5
  255. package/lib/routes/list/index.js +1 -17
  256. package/lib/routes/list/lists/alternatives.js +6 -11
  257. package/lib/routes/list/lists/myroutes.js +2 -6
  258. package/lib/routes/list/lists/selected.js +4 -8
  259. package/lib/routes/list/loaders/DBLoader.js +21 -33
  260. package/lib/routes/list/loaders/LegacyDB.d.ts +1 -2
  261. package/lib/routes/list/loaders/LegacyDB.js +45 -67
  262. package/lib/routes/list/loaders/StravaActivityLoader.d.ts +2 -3
  263. package/lib/routes/list/loaders/StravaActivityLoader.js +226 -249
  264. package/lib/routes/list/loaders/api.d.ts +0 -1
  265. package/lib/routes/list/loaders/api.js +114 -144
  266. package/lib/routes/list/loaders/db.d.ts +1 -5
  267. package/lib/routes/list/loaders/db.js +197 -236
  268. package/lib/routes/list/loaders/types.js +16 -30
  269. package/lib/routes/list/service.d.ts +17 -5
  270. package/lib/routes/list/service.js +481 -450
  271. package/lib/routes/list/types.d.ts +8 -2
  272. package/lib/routes/list/types.js +1 -2
  273. package/lib/routes/list/utils.js +9 -15
  274. package/lib/routes/sync/factory.js +25 -42
  275. package/lib/routes/sync/index.js +2 -18
  276. package/lib/routes/sync/komoot/provider.d.ts +3 -3
  277. package/lib/routes/sync/komoot/provider.js +288 -315
  278. package/lib/routes/sync/types.js +1 -2
  279. package/lib/services/index.js +1 -17
  280. package/lib/services/overpass/index.js +1 -17
  281. package/lib/services/overpass/overpass.js +39 -66
  282. package/lib/settings/bindings/index.d.ts +1 -0
  283. package/lib/settings/bindings/index.js +1 -0
  284. package/lib/settings/bindings/json.js +98 -0
  285. package/lib/settings/bindings/types.js +5 -0
  286. package/lib/settings/display/index.d.ts +1 -0
  287. package/lib/settings/display/index.js +1 -0
  288. package/lib/settings/display/user/index.d.ts +2 -0
  289. package/lib/settings/display/user/index.js +2 -0
  290. package/lib/settings/display/user/service.d.ts +23 -0
  291. package/lib/settings/display/user/service.js +160 -0
  292. package/lib/settings/display/user/types.d.ts +22 -0
  293. package/lib/settings/display/user/types.js +1 -0
  294. package/lib/settings/index.d.ts +2 -3
  295. package/lib/settings/index.js +2 -9
  296. package/lib/settings/{user → service}/mock.d.ts +1 -1
  297. package/lib/settings/service/mock.js +31 -0
  298. package/lib/settings/{user → service}/service.d.ts +4 -1
  299. package/lib/settings/service/service.js +228 -0
  300. package/lib/utils/calc.js +6 -11
  301. package/lib/utils/clone.js +1 -4
  302. package/lib/utils/fileinfo.js +1 -5
  303. package/lib/utils/formatting.js +9 -17
  304. package/lib/utils/geo.js +37 -47
  305. package/lib/utils/index.js +10 -49
  306. package/lib/utils/logging.js +2 -5
  307. package/lib/utils/math.js +7 -17
  308. package/lib/utils/merge.js +1 -4
  309. package/lib/utils/nextTick.js +1 -14
  310. package/lib/utils/sleep.js +1 -14
  311. package/lib/utils/string.js +2 -6
  312. package/lib/utils/time.js +5 -12
  313. package/lib/utils/valid.js +2 -5
  314. package/lib/utils/vector.js +9 -10
  315. package/lib/utils/xml.js +10 -24
  316. package/lib/video/VideoConversion.js +120 -137
  317. package/lib/video/VideoSyncHelper.js +73 -63
  318. package/lib/video/index.js +3 -19
  319. package/lib/video/types.d.ts +1 -0
  320. package/lib/video/types.js +1 -2
  321. package/lib/workouts/base/api/consts.js +3 -6
  322. package/lib/workouts/base/api/index.d.ts +1 -1
  323. package/lib/workouts/base/api/index.js +58 -81
  324. package/lib/workouts/base/model/Segment.js +12 -15
  325. package/lib/workouts/base/model/Step.js +32 -29
  326. package/lib/workouts/base/model/Workout.js +28 -26
  327. package/lib/workouts/base/model/index.js +4 -20
  328. package/lib/workouts/base/model/types.js +1 -2
  329. package/lib/workouts/base/parsers/factory.js +16 -21
  330. package/lib/workouts/base/parsers/incyclist/Json.js +40 -56
  331. package/lib/workouts/base/parsers/index.js +26 -41
  332. package/lib/workouts/base/parsers/intervals/parser.d.ts +1 -1
  333. package/lib/workouts/base/parsers/intervals/parser.js +224 -245
  334. package/lib/workouts/base/parsers/intervals/types.js +2 -5
  335. package/lib/workouts/base/parsers/types.js +1 -2
  336. package/lib/workouts/base/parsers/zwo/zwo.js +44 -65
  337. package/lib/workouts/calendar/index.js +3 -19
  338. package/lib/workouts/calendar/service.d.ts +3 -3
  339. package/lib/workouts/calendar/service.js +131 -157
  340. package/lib/workouts/calendar/sync/factory.js +25 -43
  341. package/lib/workouts/calendar/sync/index.js +2 -18
  342. package/lib/workouts/calendar/sync/intervals/provider.d.ts +2 -2
  343. package/lib/workouts/calendar/sync/intervals/provider.js +151 -168
  344. package/lib/workouts/calendar/sync/types.js +1 -2
  345. package/lib/workouts/calendar/types.js +1 -2
  346. package/lib/workouts/index.js +3 -19
  347. package/lib/workouts/list/cards/ActiveImportCard.d.ts +1 -1
  348. package/lib/workouts/list/cards/ActiveImportCard.js +13 -13
  349. package/lib/workouts/list/cards/ScheduledWorkoutCard.js +9 -13
  350. package/lib/workouts/list/cards/WorkoutCard.d.ts +4 -4
  351. package/lib/workouts/list/cards/WorkoutCard.js +220 -239
  352. package/lib/workouts/list/cards/WorkoutCreateCard.d.ts +1 -1
  353. package/lib/workouts/list/cards/WorkoutCreateCard.js +56 -62
  354. package/lib/workouts/list/cards/WorkoutImportCard.js +7 -11
  355. package/lib/workouts/list/cards/base.js +4 -9
  356. package/lib/workouts/list/cards/index.js +4 -20
  357. package/lib/workouts/list/cards/types.js +2 -5
  358. package/lib/workouts/list/index.js +2 -18
  359. package/lib/workouts/list/loaders/api.js +19 -33
  360. package/lib/workouts/list/loaders/db.d.ts +0 -1
  361. package/lib/workouts/list/loaders/db.js +87 -107
  362. package/lib/workouts/list/loaders/loader.js +3 -5
  363. package/lib/workouts/list/service.d.ts +3 -3
  364. package/lib/workouts/list/service.js +178 -206
  365. package/lib/workouts/list/types.js +1 -2
  366. package/lib/workouts/ride/index.js +2 -18
  367. package/lib/workouts/ride/service.d.ts +1 -1
  368. package/lib/workouts/ride/service.js +117 -136
  369. package/lib/workouts/ride/types.js +1 -2
  370. package/package.json +11 -3
  371. package/lib/activities/active-rides/activities.d.ts +0 -0
  372. package/lib/activities/active-rides/activities.js +0 -0
  373. package/lib/activities/active-rides/index.js.map +0 -1
  374. package/lib/activities/active-rides/mq.js.map +0 -1
  375. package/lib/activities/active-rides/service.js.map +0 -1
  376. package/lib/activities/active-rides/sessions.js.map +0 -1
  377. package/lib/activities/active-rides/types.js.map +0 -1
  378. package/lib/activities/base/api/active-rides/api.js.map +0 -1
  379. package/lib/activities/base/api/active-rides/index.js.map +0 -1
  380. package/lib/activities/base/api/active-rides/types.js.map +0 -1
  381. package/lib/activities/base/api/consts.d.ts +0 -2
  382. package/lib/activities/base/api/consts.js +0 -6
  383. package/lib/activities/base/api/fitconvert/consts.js.map +0 -1
  384. package/lib/activities/base/api/fitconvert/fitconvert.js.map +0 -1
  385. package/lib/activities/base/api/fitconvert/index.js.map +0 -1
  386. package/lib/activities/base/api/fitconvert.d.ts +0 -8
  387. package/lib/activities/base/api/fitconvert.js +0 -57
  388. package/lib/activities/base/api/index.js.map +0 -1
  389. package/lib/activities/base/convert/converter.js.map +0 -1
  390. package/lib/activities/base/convert/factory.js.map +0 -1
  391. package/lib/activities/base/convert/fit/index.js.map +0 -1
  392. package/lib/activities/base/convert/fit/remote-fit.js.map +0 -1
  393. package/lib/activities/base/convert/index.js.map +0 -1
  394. package/lib/activities/base/convert/tcx/index.js.map +0 -1
  395. package/lib/activities/base/convert/tcx/tcx.js.map +0 -1
  396. package/lib/activities/base/convert/types.js.map +0 -1
  397. package/lib/activities/base/index.js.map +0 -1
  398. package/lib/activities/base/model/index.js.map +0 -1
  399. package/lib/activities/base/repo/db.js.map +0 -1
  400. package/lib/activities/base/repo/index.js.map +0 -1
  401. package/lib/activities/base/repo/migration/factory.js.map +0 -1
  402. package/lib/activities/base/repo/migration/types.js.map +0 -1
  403. package/lib/activities/base/repo/migration/v0.js.map +0 -1
  404. package/lib/activities/base/repo/migration/v1.js.map +0 -1
  405. package/lib/activities/base/repo/migration/v2.js.map +0 -1
  406. package/lib/activities/base/repo/migration/v3.js.map +0 -1
  407. package/lib/activities/base/repo/types.js.map +0 -1
  408. package/lib/activities/base/utils/activity.js.map +0 -1
  409. package/lib/activities/base/utils/helpers.js.map +0 -1
  410. package/lib/activities/base/utils/index.js.map +0 -1
  411. package/lib/activities/index.js.map +0 -1
  412. package/lib/activities/list/index.js.map +0 -1
  413. package/lib/activities/list/service.js.map +0 -1
  414. package/lib/activities/list/types.js.map +0 -1
  415. package/lib/activities/ride/duration.js.map +0 -1
  416. package/lib/activities/ride/index.js.map +0 -1
  417. package/lib/activities/ride/service.js.map +0 -1
  418. package/lib/activities/ride/stats.js.map +0 -1
  419. package/lib/activities/ride/types.js.map +0 -1
  420. package/lib/activities/upload/factory.js.map +0 -1
  421. package/lib/activities/upload/index.js.map +0 -1
  422. package/lib/activities/upload/intervals.js.map +0 -1
  423. package/lib/activities/upload/strava copy.d.ts +0 -18
  424. package/lib/activities/upload/strava copy.js +0 -170
  425. package/lib/activities/upload/strava.js.map +0 -1
  426. package/lib/activities/upload/types.js.map +0 -1
  427. package/lib/activities/upload/velohero.js.map +0 -1
  428. package/lib/api/appInfo/index.js.map +0 -1
  429. package/lib/api/bindings/index.js.map +0 -1
  430. package/lib/api/bindings/secret/index.js.map +0 -1
  431. package/lib/api/download/index.js.map +0 -1
  432. package/lib/api/form/index.js.map +0 -1
  433. package/lib/api/fs/index.js.map +0 -1
  434. package/lib/api/index.js.map +0 -1
  435. package/lib/api/mq/index.js.map +0 -1
  436. package/lib/api/overpass/index.d.ts +0 -13
  437. package/lib/api/overpass/index.js +0 -129
  438. package/lib/api/overpass/index.js.map +0 -1
  439. package/lib/api/path/index.js.map +0 -1
  440. package/lib/api/repository/index.js.map +0 -1
  441. package/lib/api/repository/json/index.js.map +0 -1
  442. package/lib/api/repository/types.js.map +0 -1
  443. package/lib/api/rest/RestApiClient.js.map +0 -1
  444. package/lib/api/rest/api.js.map +0 -1
  445. package/lib/api/rest/incyclist.js.map +0 -1
  446. package/lib/api/rest/index.js.map +0 -1
  447. package/lib/api/rest/types.js.map +0 -1
  448. package/lib/api/ui/index.js.map +0 -1
  449. package/lib/api/video/index.js.map +0 -1
  450. package/lib/apps/base/api/base.js.map +0 -1
  451. package/lib/apps/base/api/index.js.map +0 -1
  452. package/lib/apps/base/api/intervals/api.js.map +0 -1
  453. package/lib/apps/base/api/intervals/index.js.map +0 -1
  454. package/lib/apps/base/api/intervals/types.js.map +0 -1
  455. package/lib/apps/base/api/komoot/api.js.map +0 -1
  456. package/lib/apps/base/api/komoot/index.js.map +0 -1
  457. package/lib/apps/base/api/komoot/types.js.map +0 -1
  458. package/lib/apps/base/api/overpass/index.d.ts +0 -13
  459. package/lib/apps/base/api/overpass/index.js +0 -129
  460. package/lib/apps/base/api/strava/api.js.map +0 -1
  461. package/lib/apps/base/api/strava/index.js.map +0 -1
  462. package/lib/apps/base/api/strava/types.js.map +0 -1
  463. package/lib/apps/base/api/velohero/api.js.map +0 -1
  464. package/lib/apps/base/api/velohero/index.js.map +0 -1
  465. package/lib/apps/base/api/velohero/types.js.map +0 -1
  466. package/lib/apps/base/app/index.js.map +0 -1
  467. package/lib/apps/base/index.js.map +0 -1
  468. package/lib/apps/base/types.js.map +0 -1
  469. package/lib/apps/index.js.map +0 -1
  470. package/lib/apps/intervals/IntervalsAppConnection.js.map +0 -1
  471. package/lib/apps/intervals/StravaAppConnection.d.ts +0 -28
  472. package/lib/apps/intervals/StravaAppConnection.js +0 -211
  473. package/lib/apps/intervals/index.js.map +0 -1
  474. package/lib/apps/intervals/types.js.map +0 -1
  475. package/lib/apps/komoot/KomootAppConnection.js.map +0 -1
  476. package/lib/apps/komoot/index.js.map +0 -1
  477. package/lib/apps/komoot/types.js.map +0 -1
  478. package/lib/apps/service.js.map +0 -1
  479. package/lib/apps/strava/StravaAppConnection.js.map +0 -1
  480. package/lib/apps/strava/index.js.map +0 -1
  481. package/lib/apps/strava/types.js.map +0 -1
  482. package/lib/apps/types.js.map +0 -1
  483. package/lib/apps/velohero/VeloHeroAppConnection.js.map +0 -1
  484. package/lib/apps/velohero/index.js.map +0 -1
  485. package/lib/apps/velohero/types.js.map +0 -1
  486. package/lib/autoupdate/api.js.map +0 -1
  487. package/lib/autoupdate/autoupdate.js.map +0 -1
  488. package/lib/autoupdate/index.js.map +0 -1
  489. package/lib/avatars/index.js.map +0 -1
  490. package/lib/avatars/service.js.map +0 -1
  491. package/lib/avatars/types.js.map +0 -1
  492. package/lib/base/cardlist/index.js.map +0 -1
  493. package/lib/base/cardlist/types.js.map +0 -1
  494. package/lib/base/decorators/Injection.js.map +0 -1
  495. package/lib/base/decorators/index.js.map +0 -1
  496. package/lib/base/service.js.map +0 -1
  497. package/lib/base/types/index.js.map +0 -1
  498. package/lib/base/types/lists.js.map +0 -1
  499. package/lib/base/types/observer.js.map +0 -1
  500. package/lib/base/types/singleton.js.map +0 -1
  501. package/lib/coaches/coach.js.map +0 -1
  502. package/lib/coaches/index.js.map +0 -1
  503. package/lib/coaches/service.js.map +0 -1
  504. package/lib/coaches/types.js.map +0 -1
  505. package/lib/devices/access/index.js.map +0 -1
  506. package/lib/devices/access/model.js.map +0 -1
  507. package/lib/devices/access/service.js.map +0 -1
  508. package/lib/devices/configuration/index.js.map +0 -1
  509. package/lib/devices/configuration/model/app/index.js.map +0 -1
  510. package/lib/devices/configuration/model/index.js.map +0 -1
  511. package/lib/devices/configuration/model/repository/index.js.map +0 -1
  512. package/lib/devices/configuration/model/repository/legacy.js.map +0 -1
  513. package/lib/devices/configuration/model/service/index.js.map +0 -1
  514. package/lib/devices/configuration/service.js.map +0 -1
  515. package/lib/devices/index.js.map +0 -1
  516. package/lib/devices/pairing/index.js.map +0 -1
  517. package/lib/devices/pairing/model.js.map +0 -1
  518. package/lib/devices/pairing/service.js.map +0 -1
  519. package/lib/devices/ride/index.js.map +0 -1
  520. package/lib/devices/ride/model.js.map +0 -1
  521. package/lib/devices/ride/service.js.map +0 -1
  522. package/lib/free-ride/index.js +0 -17
  523. package/lib/free-ride/service.d.ts +0 -35
  524. package/lib/free-ride/service.js +0 -231
  525. package/lib/i18n/countries/index.js.map +0 -1
  526. package/lib/i18n/countries/model.js.map +0 -1
  527. package/lib/index.js.map +0 -1
  528. package/lib/maps/ways/consts.d.ts +0 -11
  529. package/lib/maps/ways/consts.js +0 -11
  530. package/lib/maps/ways/options.d.ts +0 -20
  531. package/lib/maps/ways/options.js +0 -294
  532. package/lib/maps/ways/service.d.ts +0 -43
  533. package/lib/maps/ways/service.js +0 -328
  534. package/lib/maps/ways/types.d.ts +0 -102
  535. package/lib/maps/ways/types.js +0 -2
  536. package/lib/maps/ways/utils.d.ts +0 -62
  537. package/lib/maps/ways/utils.js +0 -725
  538. package/lib/monitoring/index.js.map +0 -1
  539. package/lib/monitoring/online/index.js.map +0 -1
  540. package/lib/monitoring/online/service.js.map +0 -1
  541. package/lib/ride/base/base.js.map +0 -1
  542. package/lib/ride/base/display.d.ts +0 -27
  543. package/lib/ride/base/display.js +0 -113
  544. package/lib/ride/base/index.js.map +0 -1
  545. package/lib/ride/base/types.js.map +0 -1
  546. package/lib/ride/current/index.js +0 -17
  547. package/lib/ride/current/index.js.map +0 -1
  548. package/lib/ride/current/service.d.ts +0 -110
  549. package/lib/ride/current/service.js +0 -854
  550. package/lib/ride/current/service.js.map +0 -1
  551. package/lib/ride/index.js.map +0 -1
  552. package/lib/ride/route/FollowRouteDisplayService.js.map +0 -1
  553. package/lib/ride/route/FreeRideDisplayService.js.map +0 -1
  554. package/lib/ride/route/GpxDisplayService.js.map +0 -1
  555. package/lib/ride/route/RouteDisplayService.js.map +0 -1
  556. package/lib/ride/route/VideoDisplayService.d.ts +0 -3
  557. package/lib/ride/route/VideoDisplayService.js +0 -7
  558. package/lib/ride/route/VideoDisplayService.js.map +0 -1
  559. package/lib/ride/types.js.map +0 -1
  560. package/lib/ride/workout/WorkoutDisplayService.js.map +0 -1
  561. package/lib/routes/base/api/consts.js.map +0 -1
  562. package/lib/routes/base/api/index.js.map +0 -1
  563. package/lib/routes/base/api/types.js.map +0 -1
  564. package/lib/routes/base/model/route.js.map +0 -1
  565. package/lib/routes/base/model/tacx.js.map +0 -1
  566. package/lib/routes/base/parsers/bikelab.js.map +0 -1
  567. package/lib/routes/base/parsers/epm.js.map +0 -1
  568. package/lib/routes/base/parsers/factory.js.map +0 -1
  569. package/lib/routes/base/parsers/geojson.d.ts +0 -16
  570. package/lib/routes/base/parsers/geojson.js +0 -2
  571. package/lib/routes/base/parsers/gpx.js.map +0 -1
  572. package/lib/routes/base/parsers/incyclist.js.map +0 -1
  573. package/lib/routes/base/parsers/index.js.map +0 -1
  574. package/lib/routes/base/parsers/kwt.js.map +0 -1
  575. package/lib/routes/base/parsers/multixml.js.map +0 -1
  576. package/lib/routes/base/parsers/tacx/TacxParser.js.map +0 -1
  577. package/lib/routes/base/parsers/tacx/TacxReader.js.map +0 -1
  578. package/lib/routes/base/parsers/tacx/pgmf.js.map +0 -1
  579. package/lib/routes/base/parsers/tacx/rlv.js.map +0 -1
  580. package/lib/routes/base/parsers/types.js.map +0 -1
  581. package/lib/routes/base/parsers/utils.js.map +0 -1
  582. package/lib/routes/base/parsers/xml.js.map +0 -1
  583. package/lib/routes/base/types/index.js.map +0 -1
  584. package/lib/routes/base/utils/index.js.map +0 -1
  585. package/lib/routes/base/utils/localization.js.map +0 -1
  586. package/lib/routes/base/utils/route.js.map +0 -1
  587. package/lib/routes/download/service.js.map +0 -1
  588. package/lib/routes/download/types.js.map +0 -1
  589. package/lib/routes/index.js.map +0 -1
  590. package/lib/routes/list/RouteListObserver.js.map +0 -1
  591. package/lib/routes/list/cards/ActiveImportCard.js.map +0 -1
  592. package/lib/routes/list/cards/FreeRideCard.js.map +0 -1
  593. package/lib/routes/list/cards/RouteCard.js.map +0 -1
  594. package/lib/routes/list/cards/RouteImportCard.js.map +0 -1
  595. package/lib/routes/list/cards/base.js.map +0 -1
  596. package/lib/routes/list/cards/types.js.map +0 -1
  597. package/lib/routes/list/index.js.map +0 -1
  598. package/lib/routes/list/lists/alternatives.js.map +0 -1
  599. package/lib/routes/list/lists/myroutes.js.map +0 -1
  600. package/lib/routes/list/lists/selected.js.map +0 -1
  601. package/lib/routes/list/loaders/DBLoader.js.map +0 -1
  602. package/lib/routes/list/loaders/LegacyDB.js.map +0 -1
  603. package/lib/routes/list/loaders/StravaActivityLoader.js.map +0 -1
  604. package/lib/routes/list/loaders/api.js.map +0 -1
  605. package/lib/routes/list/loaders/db.js.map +0 -1
  606. package/lib/routes/list/loaders/types.js.map +0 -1
  607. package/lib/routes/list/service.js.map +0 -1
  608. package/lib/routes/list/types.js.map +0 -1
  609. package/lib/routes/list/utils.js.map +0 -1
  610. package/lib/routes/sync/factory.js.map +0 -1
  611. package/lib/routes/sync/index.js.map +0 -1
  612. package/lib/routes/sync/komoot/provider.js.map +0 -1
  613. package/lib/routes/sync/types.js.map +0 -1
  614. package/lib/settings/index.js.map +0 -1
  615. package/lib/settings/user/bindings/index.d.ts +0 -2
  616. package/lib/settings/user/bindings/index.js +0 -5
  617. package/lib/settings/user/bindings/index.js.map +0 -1
  618. package/lib/settings/user/bindings/json.js +0 -118
  619. package/lib/settings/user/bindings/json.js.map +0 -1
  620. package/lib/settings/user/bindings/types.js +0 -9
  621. package/lib/settings/user/bindings/types.js.map +0 -1
  622. package/lib/settings/user/mock.js +0 -50
  623. package/lib/settings/user/mock.js.map +0 -1
  624. package/lib/settings/user/service.js +0 -232
  625. package/lib/settings/user/service.js.map +0 -1
  626. package/lib/utils/calc.js.map +0 -1
  627. package/lib/utils/clone.js.map +0 -1
  628. package/lib/utils/fileinfo.js.map +0 -1
  629. package/lib/utils/formatting.js.map +0 -1
  630. package/lib/utils/geo.js.map +0 -1
  631. package/lib/utils/index.js.map +0 -1
  632. package/lib/utils/logging.js.map +0 -1
  633. package/lib/utils/math.js.map +0 -1
  634. package/lib/utils/merge.js.map +0 -1
  635. package/lib/utils/nextTick.js.map +0 -1
  636. package/lib/utils/sleep.js.map +0 -1
  637. package/lib/utils/time.js.map +0 -1
  638. package/lib/utils/valid.js.map +0 -1
  639. package/lib/utils/vector.js.map +0 -1
  640. package/lib/utils/xml.js.map +0 -1
  641. package/lib/video/ConvertSession.d.ts +0 -5
  642. package/lib/video/ConvertSession.js +0 -62
  643. package/lib/workouts/base/api/consts.js.map +0 -1
  644. package/lib/workouts/base/api/index.js.map +0 -1
  645. package/lib/workouts/base/model/Segment.js.map +0 -1
  646. package/lib/workouts/base/model/Step.js.map +0 -1
  647. package/lib/workouts/base/model/Workout.js.map +0 -1
  648. package/lib/workouts/base/model/index.js.map +0 -1
  649. package/lib/workouts/base/model/types.js.map +0 -1
  650. package/lib/workouts/base/parsers/Json.d.ts +0 -12
  651. package/lib/workouts/base/parsers/Json.js +0 -70
  652. package/lib/workouts/base/parsers/Json.js.map +0 -1
  653. package/lib/workouts/base/parsers/factory.js.map +0 -1
  654. package/lib/workouts/base/parsers/index.js.map +0 -1
  655. package/lib/workouts/base/parsers/types.js.map +0 -1
  656. package/lib/workouts/base/parsers/zwo.d.ts +0 -37
  657. package/lib/workouts/base/parsers/zwo.js +0 -265
  658. package/lib/workouts/base/parsers/zwo.js.map +0 -1
  659. package/lib/workouts/index.js.map +0 -1
  660. package/lib/workouts/list/cards/ActiveImportCard.js.map +0 -1
  661. package/lib/workouts/list/cards/WorkoutCard.js.map +0 -1
  662. package/lib/workouts/list/cards/WorkoutCreateCard.js.map +0 -1
  663. package/lib/workouts/list/cards/WorkoutImportCard.js.map +0 -1
  664. package/lib/workouts/list/cards/base.js.map +0 -1
  665. package/lib/workouts/list/cards/index.js.map +0 -1
  666. package/lib/workouts/list/cards/types.js.map +0 -1
  667. package/lib/workouts/list/index.js.map +0 -1
  668. package/lib/workouts/list/loaders/api.js.map +0 -1
  669. package/lib/workouts/list/loaders/db.js.map +0 -1
  670. package/lib/workouts/list/loaders/loader.js.map +0 -1
  671. package/lib/workouts/list/service.js.map +0 -1
  672. package/lib/workouts/list/types.js.map +0 -1
  673. package/lib/workouts/ride/index.js.map +0 -1
  674. package/lib/workouts/ride/service.js.map +0 -1
  675. package/lib/workouts/ride/types.js.map +0 -1
  676. /package/lib/settings/{user/bindings → bindings}/json.d.ts +0 -0
  677. /package/lib/settings/{user/bindings → bindings}/types.d.ts +0 -0
  678. /package/lib/{free-ride → settings/service}/index.d.ts +0 -0
  679. /package/lib/{ride/current/index.d.ts → settings/service/index.js} +0 -0
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
2
  var useValue = arguments.length > 2;
4
3
  for (var i = 0; i < initializers.length; i++) {
@@ -33,39 +32,25 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
33
32
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
34
33
  done = true;
35
34
  };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
46
- if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
47
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.useActiveRides = exports.ActiveRidesService = void 0;
51
- const avatars_1 = require("../../avatars");
52
- const decorators_1 = require("../../base/decorators");
53
- const service_1 = require("../../base/service");
54
- const types_1 = require("../../base/types");
55
- const coaches_1 = require("../../coaches");
56
- const monitoring_1 = require("../../monitoring");
57
- const routes_1 = require("../../routes");
58
- const settings_1 = require("../../settings");
59
- const utils_1 = require("../../utils");
60
- const active_rides_1 = require("../base/api/active-rides");
61
- const ride_1 = require("../ride");
62
- const mq_1 = require("./mq");
35
+ import { useAvatars } from "../../avatars";
36
+ import { Injectable } from "../../base/decorators";
37
+ import { IncyclistService } from "../../base/service";
38
+ import { Observer, Singleton } from "../../base/types";
39
+ import { getCoachesService } from "../../coaches";
40
+ import { useUnitConverter } from "../../i18n";
41
+ import { useOnlineStatusMonitoring } from "../../monitoring";
42
+ import { useRouteList } from "../../routes";
43
+ import { useUserSettings } from "../../settings";
44
+ import { waitNextTick } from "../../utils";
45
+ import { IncyclistActiveRidesApi } from "../base/api/active-rides";
46
+ import { useActivityRide } from "../ride";
47
+ import { ActiveRideListMessageQueue } from "./mq";
63
48
  let ActiveRidesService = (() => {
64
- let _classDecorators = [types_1.Singleton];
49
+ let _classDecorators = [Singleton];
65
50
  let _classDescriptor;
66
51
  let _classExtraInitializers = [];
67
52
  let _classThis;
68
- let _classSuper = service_1.IncyclistService;
53
+ let _classSuper = IncyclistService;
69
54
  let _instanceExtraInitializers = [];
70
55
  let _getOnlineStatusMonitoring_decorators;
71
56
  let _getIncyclistActiveRidesApi_decorators;
@@ -73,19 +58,52 @@ let ActiveRidesService = (() => {
73
58
  let _getActivityRide_decorators;
74
59
  let _getRouteList_decorators;
75
60
  let _getCoachesService_decorators;
76
- var ActiveRidesService = _classThis = class extends _classSuper {
61
+ let _getUnitConverter_decorators;
62
+ var ActiveRidesService = class extends _classSuper {
63
+ static { _classThis = this; }
64
+ static {
65
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
66
+ _getOnlineStatusMonitoring_decorators = [Injectable];
67
+ _getIncyclistActiveRidesApi_decorators = [Injectable];
68
+ _getUserSettings_decorators = [Injectable];
69
+ _getActivityRide_decorators = [Injectable];
70
+ _getRouteList_decorators = [Injectable];
71
+ _getCoachesService_decorators = [Injectable];
72
+ _getUnitConverter_decorators = [Injectable];
73
+ __esDecorate(this, null, _getOnlineStatusMonitoring_decorators, { kind: "method", name: "getOnlineStatusMonitoring", static: false, private: false, access: { has: obj => "getOnlineStatusMonitoring" in obj, get: obj => obj.getOnlineStatusMonitoring }, metadata: _metadata }, null, _instanceExtraInitializers);
74
+ __esDecorate(this, null, _getIncyclistActiveRidesApi_decorators, { kind: "method", name: "getIncyclistActiveRidesApi", static: false, private: false, access: { has: obj => "getIncyclistActiveRidesApi" in obj, get: obj => obj.getIncyclistActiveRidesApi }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ __esDecorate(this, null, _getUserSettings_decorators, { kind: "method", name: "getUserSettings", static: false, private: false, access: { has: obj => "getUserSettings" in obj, get: obj => obj.getUserSettings }, metadata: _metadata }, null, _instanceExtraInitializers);
76
+ __esDecorate(this, null, _getActivityRide_decorators, { kind: "method", name: "getActivityRide", static: false, private: false, access: { has: obj => "getActivityRide" in obj, get: obj => obj.getActivityRide }, metadata: _metadata }, null, _instanceExtraInitializers);
77
+ __esDecorate(this, null, _getRouteList_decorators, { kind: "method", name: "getRouteList", static: false, private: false, access: { has: obj => "getRouteList" in obj, get: obj => obj.getRouteList }, metadata: _metadata }, null, _instanceExtraInitializers);
78
+ __esDecorate(this, null, _getCoachesService_decorators, { kind: "method", name: "getCoachesService", static: false, private: false, access: { has: obj => "getCoachesService" in obj, get: obj => obj.getCoachesService }, metadata: _metadata }, null, _instanceExtraInitializers);
79
+ __esDecorate(this, null, _getUnitConverter_decorators, { kind: "method", name: "getUnitConverter", static: false, private: false, access: { has: obj => "getUnitConverter" in obj, get: obj => obj.getUnitConverter }, metadata: _metadata }, null, _instanceExtraInitializers);
80
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
81
+ ActiveRidesService = _classThis = _classDescriptor.value;
82
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
83
+ __runInitializers(_classThis, _classExtraInitializers);
84
+ }
85
+ session = __runInitializers(this, _instanceExtraInitializers);
86
+ maxLength;
87
+ observer;
88
+ current;
89
+ others;
90
+ coaches;
91
+ isSubscribed;
92
+ isOnline;
93
+ apiState = { busy: false };
94
+ mq;
95
+ prevLogTS = 0;
96
+ isStarted = false;
97
+ routeListObserver;
98
+ routesStats = [];
99
+ activityEventHandlers = {
100
+ update: this.onActivityUpdateEvent.bind(this),
101
+ start: this.onActivityStartEvent.bind(this),
102
+ stop: this.onActivityStopEvent.bind(this)
103
+ };
104
+ onlineStatusHandler;
77
105
  constructor() {
78
106
  super('ActiveRides');
79
- this.session = __runInitializers(this, _instanceExtraInitializers);
80
- this.apiState = { busy: false };
81
- this.prevLogTS = 0;
82
- this.isStarted = false;
83
- this.routesStats = [];
84
- this.activityEventHandlers = {
85
- update: this.onActivityUpdateEvent.bind(this),
86
- start: this.onActivityStartEvent.bind(this),
87
- stop: this.onActivityStopEvent.bind(this)
88
- };
89
107
  const routeList = this.getRouteList();
90
108
  routeList.on('opened', this.onRoutePageOpened.bind(this));
91
109
  routeList.on('closed', () => {
@@ -103,7 +121,7 @@ let ActiveRidesService = (() => {
103
121
  this.session = session;
104
122
  this.startOnlineCheck();
105
123
  this.start(session);
106
- this.observer = new types_1.Observer();
124
+ this.observer = new Observer();
107
125
  return this.observer;
108
126
  }
109
127
  catch (err) {
@@ -111,19 +129,18 @@ let ActiveRidesService = (() => {
111
129
  }
112
130
  }
113
131
  get() {
114
- var _a, _b, _c, _d;
115
132
  this.updateCoaches();
116
133
  try {
117
134
  if (!this.current || (!this.others && !this.coaches))
118
135
  return [];
119
- if (!((_a = this.others) === null || _a === void 0 ? void 0 : _a.length) && !((_b = this.coaches) === null || _b === void 0 ? void 0 : _b.length))
136
+ if (!this.others?.length && !this.coaches?.length)
120
137
  return [];
121
138
  const list = [
122
139
  this.current,
123
- ...(_c = this.others) !== null && _c !== void 0 ? _c : [],
124
- ...(_d = this.coaches) !== null && _d !== void 0 ? _d : []
140
+ ...this.others ?? [],
141
+ ...this.coaches ?? []
125
142
  ];
126
- return list !== null && list !== void 0 ? list : [];
143
+ return list ?? [];
127
144
  }
128
145
  catch (err) {
129
146
  this.logError(err, 'get');
@@ -134,12 +151,11 @@ let ActiveRidesService = (() => {
134
151
  return this.observer;
135
152
  }
136
153
  stop() {
137
- var _a, _b;
138
154
  if (!this.current)
139
155
  return;
140
156
  try {
141
157
  if (this.isStarted) {
142
- this.logEvent({ message: 'group ride finished', reason: 'activity stopped', activityId: (_a = this.activity) === null || _a === void 0 ? void 0 : _a.id, route: (_b = this.activity.route) === null || _b === void 0 ? void 0 : _b.title, routeHash: this.getRouteHash() });
158
+ this.logEvent({ message: 'group ride finished', reason: 'activity stopped', activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash() });
143
159
  }
144
160
  this.publishStopEvent();
145
161
  this.cleanup();
@@ -161,48 +177,43 @@ let ActiveRidesService = (() => {
161
177
  });
162
178
  return map;
163
179
  }
164
- onRoutePageOpened(observer) {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- this.routeListObserver = observer;
167
- yield this.getActiveRideCounts();
168
- this.routeListObserver.emit('stats-update', this.routesStats);
169
- });
180
+ async onRoutePageOpened(observer) {
181
+ this.routeListObserver = observer;
182
+ await this.getActiveRideCounts();
183
+ this.routeListObserver.emit('stats-update', this.routesStats);
170
184
  }
171
- getActiveRideCounts() {
172
- return __awaiter(this, void 0, void 0, function* () {
173
- try {
174
- const isOnline = this.getOnlineStatusMonitoring().onlineStatus;
175
- if (!isOnline)
176
- return;
177
- const activeRides = yield this.getApi().getAll();
178
- const routes = this.getRouteList().getAllRoutes();
179
- const counts = [];
180
- routes.forEach(route => {
181
- var _a;
182
- const routeRides = (_a = activeRides.filter(ar => ar.ride.routeHash === route.description.routeHash)) !== null && _a !== void 0 ? _a : [];
183
- const count = routeRides.length;
184
- counts.push({
185
- count,
186
- routeId: route.description.id,
187
- routeHash: route.description.routeHash
188
- });
185
+ async getActiveRideCounts() {
186
+ try {
187
+ const isOnline = this.getOnlineStatusMonitoring().onlineStatus;
188
+ if (!isOnline)
189
+ return;
190
+ const activeRides = await this.getApi().getAll();
191
+ const routes = this.getRouteList().getAllRoutes();
192
+ const counts = [];
193
+ routes.forEach(route => {
194
+ const routeRides = activeRides.filter(ar => ar.ride.routeHash === route.description.routeHash) ?? [];
195
+ const count = routeRides.length;
196
+ counts.push({
197
+ count,
198
+ routeId: route.description.id,
199
+ routeHash: route.description.routeHash
189
200
  });
190
- this.routesStats = counts;
191
- return counts;
192
- }
193
- catch (err) {
194
- const isOnline = this.getOnlineStatusMonitoring().onlineStatus;
195
- if (isOnline)
196
- this.logError(err, 'getActiveRideCounts');
197
- }
198
- return [];
199
- });
201
+ });
202
+ this.routesStats = counts;
203
+ return counts;
204
+ }
205
+ catch (err) {
206
+ const isOnline = this.getOnlineStatusMonitoring().onlineStatus;
207
+ if (isOnline)
208
+ this.logError(err, 'getActiveRideCounts');
209
+ }
210
+ return [];
200
211
  }
201
212
  start(session) {
202
213
  if (this.onlineStatusHandler || this.isOnline) {
203
214
  this.initList();
204
215
  }
205
- (0, utils_1.waitNextTick)().then(() => {
216
+ waitNextTick().then(() => {
206
217
  this.publishStartEvent();
207
218
  });
208
219
  const observer = this.getActivityRide().getObserver();
@@ -212,33 +223,30 @@ let ActiveRidesService = (() => {
212
223
  observer.on('resumed', this.onActivityResumed.bind(this));
213
224
  this.subscribeActivityEvents();
214
225
  }
215
- initList() {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- var _a, _b, _c, _d, _e, _f;
218
- try {
219
- this.addCurrentActivity();
220
- if (!this.others && this.isOnline) {
221
- if (this.apiState.busy) {
222
- yield ((_a = this.apiState.promise) === null || _a === void 0 ? void 0 : _a.catch(() => { }));
223
- if (this.others)
224
- return;
225
- }
226
- const routeHash = this.getRouteHash();
227
- const promise = this.getApi().getByRouteHash(routeHash);
228
- this.apiState = { busy: true, promise };
229
- const others = (_b = yield promise) !== null && _b !== void 0 ? _b : [];
230
- this.others = this.current ? others.filter(e => { var _a, _b; return e.sessionId !== this.current.sessionId && ((_a = e.user) === null || _a === void 0 ? void 0 : _a.id) !== ((_b = this.current.user) === null || _b === void 0 ? void 0 : _b.id); }) : others;
231
- if (this.current && ((_c = this.others) === null || _c === void 0 ? void 0 : _c.length) > 0) {
232
- this.isStarted = true;
233
- this.logEvent({ message: 'group ride started', active: ((_d = this.others) === null || _d === void 0 ? void 0 : _d.length) + 1, activityId: (_e = this.activity) === null || _e === void 0 ? void 0 : _e.id, route: (_f = this.activity.route) === null || _f === void 0 ? void 0 : _f.title, routeHash: this.getRouteHash() });
234
- }
226
+ async initList() {
227
+ try {
228
+ this.addCurrentActivity();
229
+ if (!this.others && this.isOnline) {
230
+ if (this.apiState.busy) {
231
+ await this.apiState.promise?.catch(() => { });
232
+ if (this.others)
233
+ return;
234
+ }
235
+ const routeHash = this.getRouteHash();
236
+ const promise = this.getApi().getByRouteHash(routeHash);
237
+ this.apiState = { busy: true, promise };
238
+ const others = await promise ?? [];
239
+ this.others = this.current ? others.filter(e => e.sessionId !== this.current.sessionId && e.user?.id !== this.current.user?.id) : others;
240
+ if (this.current && this.others?.length > 0) {
241
+ this.isStarted = true;
242
+ this.logEvent({ message: 'group ride started', active: this.others?.length + 1, activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash() });
235
243
  }
236
244
  }
237
- catch (err) {
238
- this.logError(err, 'initList');
239
- }
240
- this.apiState = { busy: false };
241
- });
245
+ }
246
+ catch (err) {
247
+ this.logError(err, 'initList');
248
+ }
249
+ this.apiState = { busy: false };
242
250
  }
243
251
  onActivityUpdated() {
244
252
  if (!this.current || !this.activity)
@@ -266,21 +274,21 @@ let ActiveRidesService = (() => {
266
274
  this.logNearbyRiders(displayProps);
267
275
  }
268
276
  logNearbyRiders(displayProps) {
269
- var _a, _b, _c, _d, _e, _f;
270
- if (!this.current || !((_a = this.others) === null || _a === void 0 ? void 0 : _a.length))
277
+ if (!this.current || !this.others?.length)
271
278
  return;
272
279
  if (Date.now() - this.prevLogTS < 1000)
273
280
  return;
274
281
  const all = displayProps;
275
- const logInfo = all.map(r => { var _a, _b, _c, _d, _e; return `${r.name}${r.isUser ? '(*)' : ''}:${(_b = (_a = r.avatar) === null || _a === void 0 ? void 0 : _a.shirt) !== null && _b !== void 0 ? _b : ''}-${(((_c = r.distance) !== null && _c !== void 0 ? _c : 0) / 1000).toFixed(1)}km-${(_d = r.lap) !== null && _d !== void 0 ? _d : ''}-${(_e = r.power) !== null && _e !== void 0 ? _e : '?'}W`; })
282
+ const distanceText = (r) => typeof r?.distance === 'number' ? `${((r?.distance ?? 0) / 1000).toFixed(1)}km` : `${r?.distance?.value}${r?.distance?.unit}`;
283
+ const logInfo = all.map(r => `${r?.name}${r?.isUser ? '(*)' : ''}:${r?.avatar?.shirt ?? ''}-${distanceText(r)}-${r?.lap ?? ''}-${r?.power ?? '?'}W`)
276
284
  .join('|');
277
- const cnt = ((_c = (_b = this.others) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) + 1;
278
- const event = { message: 'NearbyRiders', activityId: (_d = this.activity) === null || _d === void 0 ? void 0 : _d.id, title: (_f = (_e = this.activity) === null || _e === void 0 ? void 0 : _e.route) === null || _f === void 0 ? void 0 : _f.title, cnt, nearbyRiders: logInfo };
285
+ const cnt = (this.others?.length ?? 0) + 1;
286
+ console.log('# nearby riders log', logInfo, all);
287
+ const event = { message: 'NearbyRiders', activityId: this.activity?.id, title: this.activity?.route?.title, cnt, nearbyRiders: logInfo };
279
288
  this.logEvent(event);
280
289
  this.prevLogTS = Date.now();
281
290
  }
282
291
  onActivityPaused() {
283
- var _a;
284
292
  if (!this.current)
285
293
  return;
286
294
  try {
@@ -292,7 +300,7 @@ let ActiveRidesService = (() => {
292
300
  position: this.current.currentPosition,
293
301
  rideDistance: this.current.currentRideDistance,
294
302
  speed: 0, power: 0, cadence: 0, heartrate: undefined, lap: this.current.currentLap,
295
- duration: (_a = this.getActivityRide().getCurrentValues()) === null || _a === void 0 ? void 0 : _a.time,
303
+ duration: this.getActivityRide().getCurrentValues()?.time,
296
304
  isPaused: true
297
305
  };
298
306
  this.publishUpdateEvent(payload);
@@ -328,21 +336,20 @@ let ActiveRidesService = (() => {
328
336
  return [];
329
337
  const displayProps = [];
330
338
  items.forEach(item => {
331
- var _a, _b, _c, _d;
332
- if (!(item === null || item === void 0 ? void 0 : item.id) && !((_b = (_a = item === null || item === void 0 ? void 0 : item.user) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.length) && (item === null || item === void 0 ? void 0 : item.sessionId) !== this.session)
339
+ if (!item?.id && !item?.user?.name?.length && item?.sessionId !== this.session)
333
340
  return;
334
341
  const displayItem = {
335
342
  isUser: item.sessionId === this.session,
336
343
  name: this.getName(item),
337
344
  diffDistance: this.getDistanceDiff(item),
338
- distance: item.currentRideDistance,
345
+ distance: this.getDistance(item),
339
346
  avatar: this.getAvatar(item),
340
347
  lap: this.getLap(item, true),
341
348
  power: item.currentPower,
342
349
  mpower: this.getRelativePower(item),
343
- speed: item.currentSpeed,
344
- lat: (_c = item.currentPosition) === null || _c === void 0 ? void 0 : _c.lat,
345
- lng: (_d = item.currentPosition) === null || _d === void 0 ? void 0 : _d.lng,
350
+ speed: this.getSpeed(item),
351
+ lat: item.currentPosition?.lat,
352
+ lng: item.currentPosition?.lng,
346
353
  };
347
354
  displayProps.push(displayItem);
348
355
  });
@@ -364,19 +371,18 @@ let ActiveRidesService = (() => {
364
371
  }
365
372
  }
366
373
  validName(str) {
367
- if (!(str === null || str === void 0 ? void 0 : str.length))
374
+ if (!str?.length)
368
375
  return false;
369
376
  if (str === 'undefined' || str === 'undefined undefined')
370
377
  return false;
371
378
  return true;
372
379
  }
373
380
  getName(item) {
374
- var _a, _b, _c, _d, _e, _f, _g, _h;
375
- if (item.sessionId === this.session || ((_a = item.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = this.current.user) === null || _b === void 0 ? void 0 : _b.id)) {
376
- const name = ((_d = (_c = item.user) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.length) ? (_e = item.user) === null || _e === void 0 ? void 0 : _e.name : 'You';
381
+ if (item.sessionId === this.session || item.user?.id === this.current.user?.id) {
382
+ const name = item.user?.name?.length ? item.user?.name : 'You';
377
383
  return name;
378
384
  }
379
- const name = this.validName((_f = item.user) === null || _f === void 0 ? void 0 : _f.name) ? (_g = item.user) === null || _g === void 0 ? void 0 : _g.name : this.randomName((_h = item.user) === null || _h === void 0 ? void 0 : _h.id);
385
+ const name = this.validName(item.user?.name) ? item.user?.name : this.randomName(item.user?.id);
380
386
  return name;
381
387
  }
382
388
  randomName(id) {
@@ -403,22 +409,19 @@ let ActiveRidesService = (() => {
403
409
  };
404
410
  }
405
411
  getAvatar(item) {
406
- var _a, _b;
407
- const avatars = (0, avatars_1.useAvatars)();
408
- const id = item.sessionId === this.session ? 'current' : (_b = (_a = item.user) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : item.sessionId;
412
+ const avatars = useAvatars();
413
+ const id = item.sessionId === this.session ? 'current' : item.user?.id ?? item.sessionId;
409
414
  const avatar = avatars.get(id);
410
415
  if (item.isCoach)
411
416
  avatar.type = 'coach';
412
417
  return avatar;
413
418
  }
414
419
  getRelativePower(r) {
415
- var _a;
416
- if (((_a = r.user) === null || _a === void 0 ? void 0 : _a.weight) && r.currentPower)
420
+ if (r.user?.weight && r.currentPower)
417
421
  return r.currentPower / r.user.weight;
418
422
  }
419
423
  getLap(r, overwrite = false) {
420
- var _a, _b;
421
- const isLap = (_b = (_a = this.current) === null || _a === void 0 ? void 0 : _a.ride) === null || _b === void 0 ? void 0 : _b.isLap;
424
+ const isLap = this.current?.ride?.isLap;
422
425
  if (!overwrite && r.currentLap)
423
426
  return r.currentLap;
424
427
  if (isLap) {
@@ -426,39 +429,83 @@ let ActiveRidesService = (() => {
426
429
  return Math.floor(r.currentRideDistance / route.distance) + 1;
427
430
  }
428
431
  }
429
- getDistance(r) {
432
+ getRoutePosDistance(r) {
430
433
  const lap = this.getLap(r);
431
434
  const route = this.current ? this.current.ride : r.ride;
432
435
  if (lap && route)
433
436
  return r.currentRideDistance % route.distance;
434
437
  return r.currentRideDistance || 0;
435
438
  }
439
+ getSpeed(r) {
440
+ try {
441
+ const format = (v) => {
442
+ const [C, U] = this.getUnitConversionShortcuts();
443
+ const value = C(v, 'speed', { digits: 1 });
444
+ const unit = U('speed');
445
+ return { value, unit };
446
+ };
447
+ return format(r.currentSpeed);
448
+ }
449
+ catch (err) {
450
+ this.logError(err, 'getSpeed');
451
+ }
452
+ }
453
+ getDistance(r) {
454
+ try {
455
+ const format = (v) => {
456
+ const [C, U] = this.getUnitConversionShortcuts();
457
+ let value = C(v, 'distance', { digits: 1 });
458
+ const unit = U('distance');
459
+ if (value >= 100) {
460
+ value = Math.round(value);
461
+ }
462
+ return { value, unit };
463
+ };
464
+ return format(r.currentRideDistance);
465
+ }
466
+ catch (err) {
467
+ this.logError(err, 'getDistance');
468
+ }
469
+ }
436
470
  getDistanceDiff(r) {
437
- var _a, _b;
438
471
  if (!r)
439
472
  return;
440
- const isLap = (_b = (_a = this.current) === null || _a === void 0 ? void 0 : _a.ride) === null || _b === void 0 ? void 0 : _b.isLap;
441
- const distance = this.getDistance(r);
442
- const myDistance = this.getDistance(this.current);
443
- if (distance === undefined || myDistance === undefined)
444
- return;
445
- if (!isLap)
446
- return myDistance - distance;
447
- const distances = [myDistance - distance, myDistance + this.current.ride.distance - distance, myDistance - this.current.ride.distance - distance];
448
- distances.sort((a, b) => Math.abs(a) - Math.abs(b));
449
- return distances[0];
473
+ try {
474
+ const format = (v) => {
475
+ const [C, U] = this.getUnitConversionShortcuts();
476
+ let value = C(v, 'distance', { digits: 1 });
477
+ const unit = U('distance');
478
+ if (value >= 10) {
479
+ value = Math.round(value);
480
+ }
481
+ return { value, unit };
482
+ };
483
+ const isLap = this.current?.ride?.isLap;
484
+ const distance = this.getRoutePosDistance(r);
485
+ const myDistance = this.getRoutePosDistance(this.current);
486
+ if (distance === undefined || myDistance === undefined)
487
+ return;
488
+ if (!isLap) {
489
+ return format(myDistance - distance);
490
+ }
491
+ const distances = [myDistance - distance, myDistance + this.current.ride.distance - distance, myDistance - this.current.ride.distance - distance];
492
+ distances.sort((a, b) => Math.abs(a) - Math.abs(b));
493
+ return format(distances[0]);
494
+ }
495
+ catch (err) {
496
+ this.logError(err, 'getDistanceDiff');
497
+ }
450
498
  }
451
499
  getRideInfo() {
452
- var _a, _b, _c, _d, _e, _f;
453
500
  const route = {
454
- title: (_a = this.activity.route) === null || _a === void 0 ? void 0 : _a.title,
455
- activityId: (_b = this.activity) === null || _b === void 0 ? void 0 : _b.id,
501
+ title: this.activity.route?.title,
502
+ activityId: this.activity?.id,
456
503
  type: this.getType(this.activity.routeType),
457
504
  startPos: this.activity.startPos,
458
505
  realityFactor: this.activity.realityFactor,
459
- isLap: (_d = (_c = this.getRouteList().getSelected()) === null || _c === void 0 ? void 0 : _c.description) === null || _d === void 0 ? void 0 : _d.isLoop,
506
+ isLap: this.getRouteList().getSelected()?.description?.isLoop,
460
507
  routeHash: this.getRouteHash(),
461
- distance: (_f = (_e = this.getRouteList().getSelected()) === null || _e === void 0 ? void 0 : _e.description) === null || _f === void 0 ? void 0 : _f.distance
508
+ distance: this.getRouteList().getSelected()?.description?.distance
462
509
  };
463
510
  return route;
464
511
  }
@@ -474,11 +521,10 @@ let ActiveRidesService = (() => {
474
521
  return this.getActivityRide().getActivity();
475
522
  }
476
523
  getRouteHash() {
477
- var _a, _b, _c;
478
- if (((_a = this.activity) === null || _a === void 0 ? void 0 : _a.routeType) === 'Free-Ride') {
524
+ if (this.activity?.routeType === 'Free-Ride') {
479
525
  return ('free:' + Date.now());
480
526
  }
481
- return (_c = (_b = this.activity) === null || _b === void 0 ? void 0 : _b.route) === null || _c === void 0 ? void 0 : _c.hash;
527
+ return this.activity?.route?.hash;
482
528
  }
483
529
  getUserName(user) {
484
530
  if (!user)
@@ -492,12 +538,11 @@ let ActiveRidesService = (() => {
492
538
  return undefined;
493
539
  }
494
540
  getUser() {
495
- var _a, _b, _c, _d, _e;
496
541
  const userFromSettings = this.getUserSettings().get('user', {});
497
542
  const user = {
498
- id: (_b = (_a = this.activity.user) === null || _a === void 0 ? void 0 : _a.uuid) !== null && _b !== void 0 ? _b : userFromSettings.id,
499
- name: (_c = userFromSettings.username) !== null && _c !== void 0 ? _c : this.getUserName(userFromSettings),
500
- weight: (_e = (_d = this.activity.user) === null || _d === void 0 ? void 0 : _d.weight) !== null && _e !== void 0 ? _e : userFromSettings.weight,
543
+ id: this.activity.user?.uuid ?? userFromSettings.id,
544
+ name: userFromSettings.username ?? this.getUserName(userFromSettings),
545
+ weight: this.activity.user?.weight ?? userFromSettings.weight,
501
546
  ftp: userFromSettings.ftp,
502
547
  gender: userFromSettings.gender
503
548
  };
@@ -512,8 +557,7 @@ let ActiveRidesService = (() => {
512
557
  return bike;
513
558
  }
514
559
  getCurrentPosition() {
515
- var _a, _b;
516
- const logs = (_b = (_a = this.activity) === null || _a === void 0 ? void 0 : _a.logs) !== null && _b !== void 0 ? _b : [];
560
+ const logs = this.activity?.logs ?? [];
517
561
  if (!logs.length)
518
562
  return;
519
563
  const point = logs[logs.length - 1];
@@ -548,26 +592,21 @@ let ActiveRidesService = (() => {
548
592
  this.getMessageQueue().onDisconnect();
549
593
  this.isSubscribed = false;
550
594
  }
551
- onConnect(props) {
552
- return __awaiter(this, void 0, void 0, function* () {
553
- const { initial = false } = props !== null && props !== void 0 ? props : {};
554
- yield this.initList();
555
- this.getMessageQueue().onConnect();
556
- if (!initial && this.current && !this.isSubscribed)
557
- this.subscribeActivityEvents();
558
- });
559
- }
560
- subscribeActivityEvents() {
561
- return __awaiter(this, void 0, void 0, function* () {
562
- var _a, _b;
563
- const hash = (_a = this.current) === null || _a === void 0 ? void 0 : _a.ride.routeHash;
564
- const session = (_b = this.current) === null || _b === void 0 ? void 0 : _b.sessionId;
565
- const updateTopic = `incyclist/activity/+/${hash}/+`;
566
- this.getMessageQueue().subscribe(updateTopic, this.onActivityEvent.bind(this), 'incyclist/activity');
567
- const infoTopic = `incyclist/session/${session}/info`;
568
- this.getMessageQueue().subscribe(infoTopic, this.onInfoEvent.bind(this), 'incyclist/session');
569
- this.isSubscribed = true;
570
- });
595
+ async onConnect(props) {
596
+ const { initial = false } = props ?? {};
597
+ await this.initList();
598
+ this.getMessageQueue().onConnect();
599
+ if (!initial && this.current && !this.isSubscribed)
600
+ this.subscribeActivityEvents();
601
+ }
602
+ async subscribeActivityEvents() {
603
+ const hash = this.current?.ride.routeHash;
604
+ const session = this.current?.sessionId;
605
+ const updateTopic = `incyclist/activity/+/${hash}/+`;
606
+ this.getMessageQueue().subscribe(updateTopic, this.onActivityEvent.bind(this), 'incyclist/activity');
607
+ const infoTopic = `incyclist/session/${session}/info`;
608
+ this.getMessageQueue().subscribe(infoTopic, this.onInfoEvent.bind(this), 'incyclist/session');
609
+ this.isSubscribed = true;
571
610
  }
572
611
  onInfoEvent(topic) {
573
612
  const keys = topic.split('/');
@@ -611,25 +650,30 @@ let ActiveRidesService = (() => {
611
650
  this.getMessageQueue().sendMessage(topic, payload);
612
651
  }
613
652
  onActivityStartEvent(session, payload) {
614
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
615
- const prevActive = (_a = this.others) === null || _a === void 0 ? void 0 : _a.length;
653
+ const prevActive = this.others?.length;
616
654
  try {
617
- const others = (_b = this.others) !== null && _b !== void 0 ? _b : [];
655
+ const others = this.others ?? [];
618
656
  if (others.some(ar => ar.sessionId === session))
619
657
  return;
620
- if (((_c = payload.user) === null || _c === void 0 ? void 0 : _c.id) && ((_d = payload.user) === null || _d === void 0 ? void 0 : _d.id) === ((_e = this.current.user) === null || _e === void 0 ? void 0 : _e.id))
658
+ if (payload.user?.id && payload.user?.id === this.current.user?.id)
621
659
  return;
622
- if (((_f = payload.user) === null || _f === void 0 ? void 0 : _f.id) && others.some(ar => { var _a, _b; return ((_a = ar.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = payload.user) === null || _b === void 0 ? void 0 : _b.id); }))
660
+ if (payload.user?.id && others.some(ar => ar.user?.id === payload.user?.id))
623
661
  return;
624
- const entry = Object.assign(Object.assign({ id: Date.now().toString(), tsLastUpdate: Date.now() }, payload), { sessionId: session });
662
+ const entry = {
663
+ id: Date.now().toString(),
664
+ tsLastUpdate: Date.now(),
665
+ ...payload,
666
+ sessionId: session
667
+ };
625
668
  this.addActiveRide(entry);
669
+ const remote = { uuid: payload.user?.id, session };
626
670
  if (prevActive === 0) {
627
671
  this.isStarted = true;
628
- this.logEvent({ message: 'group ride started', active: this.others.length + 1, activityId: (_g = this.activity) === null || _g === void 0 ? void 0 : _g.id, route: (_h = this.activity.route) === null || _h === void 0 ? void 0 : _h.title, routeHash: this.getRouteHash() });
672
+ this.logEvent({ message: 'group ride started', active: this.others.length + 1, activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash(), remote });
629
673
  }
630
674
  else {
631
675
  this.isStarted = true;
632
- this.logEvent({ message: 'group ride user joined', active: this.others.length + 1, activityId: (_j = this.activity) === null || _j === void 0 ? void 0 : _j.id, route: (_k = this.activity.route) === null || _k === void 0 ? void 0 : _k.title, routeHash: this.getRouteHash(), user: (_l = payload === null || payload === void 0 ? void 0 : payload.user) === null || _l === void 0 ? void 0 : _l.id });
676
+ this.logEvent({ message: 'group ride user joined', active: this.others.length + 1, activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash(), remote });
633
677
  }
634
678
  if (!payload.user) {
635
679
  this.getRemoteActivityDetails(session);
@@ -639,31 +683,28 @@ let ActiveRidesService = (() => {
639
683
  this.logError(err, 'onActivityStartEvent');
640
684
  }
641
685
  }
642
- getRemoteActivityDetails(sessionId) {
643
- return __awaiter(this, void 0, void 0, function* () {
644
- var _a;
645
- const items = yield this.getApi().getBySessionId(sessionId);
646
- if (!items.length)
686
+ async getRemoteActivityDetails(sessionId) {
687
+ const items = await this.getApi().getBySessionId(sessionId);
688
+ if (!items.length)
689
+ return;
690
+ let item = items[0];
691
+ if (item.sessionId !== sessionId) {
692
+ item = items.find(i => i.sessionId === sessionId);
693
+ if (!item)
647
694
  return;
648
- let item = items[0];
649
- if (item.sessionId !== sessionId) {
650
- item = items.find(i => i.sessionId === sessionId);
651
- if (!item)
652
- return;
653
- }
654
- const others = (_a = this.others) !== null && _a !== void 0 ? _a : [];
655
- const localItem = others.find(e => e.sessionId === sessionId);
656
- if (localItem) {
657
- localItem.user = item.user;
658
- localItem.id = item.id;
659
- localItem.bike = item.bike;
660
- localItem.ride = item.ride;
661
- }
662
- else {
663
- this.addActiveRide(item);
664
- }
665
- return item;
666
- });
695
+ }
696
+ const others = this.others ?? [];
697
+ const localItem = others.find(e => e.sessionId === sessionId);
698
+ if (localItem) {
699
+ localItem.user = item.user;
700
+ localItem.id = item.id;
701
+ localItem.bike = item.bike;
702
+ localItem.ride = item.ride;
703
+ }
704
+ else {
705
+ this.addActiveRide(item);
706
+ }
707
+ return item;
667
708
  }
668
709
  publishUpdateEvent(payload) {
669
710
  if (!this.current || !this.isOnline)
@@ -671,57 +712,53 @@ let ActiveRidesService = (() => {
671
712
  const topic = `incyclist/activity/${this.session}/${this.getRouteHash()}/update`;
672
713
  this.getMessageQueue().sendMessage(topic, payload);
673
714
  }
674
- onActivityUpdateEvent(session, payload) {
675
- return __awaiter(this, void 0, void 0, function* () {
676
- var _a, _b, _c, _d, _e, _f, _g;
677
- try {
678
- if (session === this.session)
679
- return;
680
- const others = (_a = this.others) !== null && _a !== void 0 ? _a : [];
681
- const existing = others.find(ar => ar.sessionId === session);
682
- const prevActive = (_b = this.others) === null || _b === void 0 ? void 0 : _b.length;
683
- if (existing === null || existing === void 0 ? void 0 : existing.user) {
684
- existing.currentPosition = payload.position;
685
- existing.currentDuration = payload.duration;
686
- existing.currentPower = payload.power;
687
- existing.currentRideDistance = payload.rideDistance;
688
- existing.currentSpeed = payload.speed;
689
- existing.currentLap = payload.lap;
690
- existing.tsLastUpdate = Date.now();
715
+ async onActivityUpdateEvent(session, payload) {
716
+ try {
717
+ if (session === this.session)
718
+ return;
719
+ const others = this.others ?? [];
720
+ const existing = others.find(ar => ar.sessionId === session);
721
+ const prevActive = this.others?.length;
722
+ if (existing?.user) {
723
+ existing.currentPosition = payload.position;
724
+ existing.currentDuration = payload.duration;
725
+ existing.currentPower = payload.power;
726
+ existing.currentRideDistance = payload.rideDistance;
727
+ existing.currentSpeed = payload.speed;
728
+ existing.currentLap = payload.lap;
729
+ existing.tsLastUpdate = Date.now();
730
+ }
731
+ else {
732
+ const item = await this.getRemoteActivityDetails(session);
733
+ if (!item) {
734
+ const entry = {
735
+ id: Date.now().toString(),
736
+ tsLastUpdate: Date.now(),
737
+ sessionId: session,
738
+ currentPosition: payload.position,
739
+ currentDuration: payload.duration,
740
+ currentPower: payload.power,
741
+ currentRideDistance: payload.rideDistance,
742
+ currentSpeed: payload.speed,
743
+ currentLap: payload.lap
744
+ };
745
+ if (!existing) {
746
+ this.addActiveRide(entry);
747
+ }
748
+ }
749
+ this.isStarted = true;
750
+ const remote = (item === undefined || item === null) ? { session } : { uuid: item.user?.id, session: item.sessionId };
751
+ if (prevActive === 0) {
752
+ this.logEvent({ message: 'group ride started', active: this.others.length + 1, activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash(), remote });
691
753
  }
692
754
  else {
693
- const item = yield this.getRemoteActivityDetails(session);
694
- if (!item) {
695
- const entry = {
696
- id: Date.now().toString(),
697
- tsLastUpdate: Date.now(),
698
- sessionId: session,
699
- currentPosition: payload.position,
700
- currentDuration: payload.duration,
701
- currentPower: payload.power,
702
- currentRideDistance: payload.rideDistance,
703
- currentSpeed: payload.speed,
704
- currentLap: payload.lap
705
- };
706
- if (!existing) {
707
- this.addActiveRide(entry);
708
- }
709
- }
710
- if (prevActive === 0) {
711
- this.isStarted = true;
712
- this.logEvent({ message: 'group ride started', active: this.others.length + 1, activityId: (_c = this.activity) === null || _c === void 0 ? void 0 : _c.id, route: (_d = this.activity.route) === null || _d === void 0 ? void 0 : _d.title, routeHash: this.getRouteHash() });
713
- }
714
- else {
715
- this.isStarted = true;
716
- this.logEvent({ message: 'group ride user joined', active: this.others.length + 1, activityId: (_e = this.activity) === null || _e === void 0 ? void 0 : _e.id, route: (_f = this.activity.route) === null || _f === void 0 ? void 0 : _f.title, routeHash: this.getRouteHash(),
717
- remote: { uuid: (_g = item.user) === null || _g === void 0 ? void 0 : _g.id, session: item.sessionId } });
718
- }
755
+ this.logEvent({ message: 'group ride user joined', active: this.others.length + 1, activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash(), remote });
719
756
  }
720
757
  }
721
- catch (err) {
722
- this.logError(err, 'onActivityStartEvent');
723
- }
724
- });
758
+ }
759
+ catch (err) {
760
+ this.logError(err, 'onActivityStartEvent');
761
+ }
725
762
  }
726
763
  addActiveRide(ride) {
727
764
  if (!this.others)
@@ -735,10 +772,9 @@ let ActiveRidesService = (() => {
735
772
  this.getMessageQueue().sendMessage(topic, this.current);
736
773
  }
737
774
  onActivityStopEvent(session, payload) {
738
- var _a, _b, _c, _d, _e;
739
775
  if (session === this.session)
740
776
  return;
741
- if (!((_a = this.others) === null || _a === void 0 ? void 0 : _a.length))
777
+ if (!this.others?.length)
742
778
  return;
743
779
  const idx = this.others.findIndex(ar => ar.sessionId === session);
744
780
  if (idx !== -1)
@@ -746,10 +782,10 @@ let ActiveRidesService = (() => {
746
782
  if (!this.isStarted)
747
783
  return;
748
784
  if (this.others.length === 0) {
749
- this.logEvent({ message: 'group ride finished', reason: 'all riders left', activityId: (_b = this.activity) === null || _b === void 0 ? void 0 : _b.id, route: (_c = this.activity.route) === null || _c === void 0 ? void 0 : _c.title, routeHash: this.getRouteHash() });
785
+ this.logEvent({ message: 'group ride finished', reason: 'all riders left', activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash() });
750
786
  }
751
787
  else {
752
- this.logEvent({ message: 'group ride user left', active: this.others.length + 1, activityId: (_d = this.activity) === null || _d === void 0 ? void 0 : _d.id, route: (_e = this.activity.route) === null || _e === void 0 ? void 0 : _e.title, routeHash: this.getRouteHash() });
788
+ this.logEvent({ message: 'group ride user left', active: this.others.length + 1, activityId: this.activity?.id, route: this.activity.route?.title, routeHash: this.getRouteHash() });
753
789
  }
754
790
  }
755
791
  updateCoaches() {
@@ -758,12 +794,11 @@ let ActiveRidesService = (() => {
758
794
  return;
759
795
  const coachesService = this.getCoachesService();
760
796
  const coaches = coachesService.getCoaches();
761
- if (!(coaches === null || coaches === void 0 ? void 0 : coaches.length)) {
797
+ if (!coaches?.length) {
762
798
  this.coaches = undefined;
763
799
  return;
764
800
  }
765
801
  this.coaches = coaches.map(c => {
766
- var _a;
767
802
  const props = c.getDisplayProperties();
768
803
  const rideEntry = {
769
804
  id: `coach:${props.name}`,
@@ -771,7 +806,7 @@ let ActiveRidesService = (() => {
771
806
  name: props.name,
772
807
  id: `coach:${props.name}`,
773
808
  },
774
- ride: (_a = this.current) === null || _a === void 0 ? void 0 : _a.ride,
809
+ ride: this.current?.ride,
775
810
  tsLastUpdate: Date.now(),
776
811
  currentRideDistance: c.getProgess(),
777
812
  currentPosition: c.getPosition(),
@@ -795,26 +830,32 @@ let ActiveRidesService = (() => {
795
830
  this.observer.stop();
796
831
  }
797
832
  getOnlineStatusMonitoring() {
798
- return (0, monitoring_1.useOnlineStatusMonitoring)();
833
+ return useOnlineStatusMonitoring();
799
834
  }
800
835
  getIncyclistActiveRidesApi() {
801
- return new active_rides_1.IncyclistActiveRidesApi();
836
+ return new IncyclistActiveRidesApi();
802
837
  }
803
838
  getUserSettings() {
804
- return (0, settings_1.useUserSettings)();
839
+ return useUserSettings();
805
840
  }
806
841
  getActivityRide() {
807
- return (0, ride_1.useActivityRide)();
842
+ return useActivityRide();
808
843
  }
809
844
  getRouteList() {
810
- return (0, routes_1.useRouteList)();
845
+ return useRouteList();
811
846
  }
812
847
  getCoachesService() {
813
- return (0, coaches_1.getCoachesService)();
848
+ return getCoachesService();
849
+ }
850
+ getUnitConverter() {
851
+ return useUnitConverter();
852
+ }
853
+ getUnitConversionShortcuts() {
854
+ return this.getUnitConverter().getUnitConversionShortcuts();
814
855
  }
815
856
  getMessageQueue() {
816
857
  if (!this.mq)
817
- this.mq = new mq_1.ActiveRideListMessageQueue();
858
+ this.mq = new ActiveRideListMessageQueue();
818
859
  return this.mq;
819
860
  }
820
861
  getApi() {
@@ -827,29 +868,7 @@ let ActiveRidesService = (() => {
827
868
  }
828
869
  }
829
870
  };
830
- __setFunctionName(_classThis, "ActiveRidesService");
831
- (() => {
832
- var _a;
833
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;
834
- _getOnlineStatusMonitoring_decorators = [decorators_1.Injectable];
835
- _getIncyclistActiveRidesApi_decorators = [decorators_1.Injectable];
836
- _getUserSettings_decorators = [decorators_1.Injectable];
837
- _getActivityRide_decorators = [decorators_1.Injectable];
838
- _getRouteList_decorators = [decorators_1.Injectable];
839
- _getCoachesService_decorators = [decorators_1.Injectable];
840
- __esDecorate(_classThis, null, _getOnlineStatusMonitoring_decorators, { kind: "method", name: "getOnlineStatusMonitoring", static: false, private: false, access: { has: obj => "getOnlineStatusMonitoring" in obj, get: obj => obj.getOnlineStatusMonitoring }, metadata: _metadata }, null, _instanceExtraInitializers);
841
- __esDecorate(_classThis, null, _getIncyclistActiveRidesApi_decorators, { kind: "method", name: "getIncyclistActiveRidesApi", static: false, private: false, access: { has: obj => "getIncyclistActiveRidesApi" in obj, get: obj => obj.getIncyclistActiveRidesApi }, metadata: _metadata }, null, _instanceExtraInitializers);
842
- __esDecorate(_classThis, null, _getUserSettings_decorators, { kind: "method", name: "getUserSettings", static: false, private: false, access: { has: obj => "getUserSettings" in obj, get: obj => obj.getUserSettings }, metadata: _metadata }, null, _instanceExtraInitializers);
843
- __esDecorate(_classThis, null, _getActivityRide_decorators, { kind: "method", name: "getActivityRide", static: false, private: false, access: { has: obj => "getActivityRide" in obj, get: obj => obj.getActivityRide }, metadata: _metadata }, null, _instanceExtraInitializers);
844
- __esDecorate(_classThis, null, _getRouteList_decorators, { kind: "method", name: "getRouteList", static: false, private: false, access: { has: obj => "getRouteList" in obj, get: obj => obj.getRouteList }, metadata: _metadata }, null, _instanceExtraInitializers);
845
- __esDecorate(_classThis, null, _getCoachesService_decorators, { kind: "method", name: "getCoachesService", static: false, private: false, access: { has: obj => "getCoachesService" in obj, get: obj => obj.getCoachesService }, metadata: _metadata }, null, _instanceExtraInitializers);
846
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
847
- ActiveRidesService = _classThis = _classDescriptor.value;
848
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
849
- __runInitializers(_classThis, _classExtraInitializers);
850
- })();
851
871
  return ActiveRidesService = _classThis;
852
872
  })();
853
- exports.ActiveRidesService = ActiveRidesService;
854
- const useActiveRides = () => { return new ActiveRidesService(); };
855
- exports.useActiveRides = useActiveRides;
873
+ export { ActiveRidesService };
874
+ export const useActiveRides = () => { return new ActiveRidesService(); };