incyclist-services 1.6.7 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/lib/activities/active-rides/service.js +14 -4
  2. package/lib/activities/base/convert/tcx/tcx.d.ts +7 -1
  3. package/lib/activities/base/convert/tcx/tcx.js +78 -2
  4. package/lib/i18n/units/converter.d.ts +16 -0
  5. package/lib/i18n/units/converter.js +180 -0
  6. package/lib/i18n/units/index.d.ts +2 -0
  7. package/lib/i18n/units/index.js +18 -0
  8. package/lib/i18n/units/types.d.ts +13 -0
  9. package/lib/routes/free-ride/service.js +2 -1
  10. package/lib/settings/bindings/index.d.ts +1 -0
  11. package/lib/settings/bindings/index.js +17 -0
  12. package/lib/settings/bindings/json.d.ts +15 -0
  13. package/lib/settings/bindings/json.js +118 -0
  14. package/lib/settings/bindings/types.d.ts +13 -0
  15. package/lib/settings/bindings/types.js +9 -0
  16. package/lib/settings/display/index.d.ts +1 -0
  17. package/lib/settings/display/index.js +17 -0
  18. package/lib/{ride/current → settings/display/user}/index.d.ts +1 -0
  19. package/lib/{ride/current → settings/display/user}/index.js +1 -0
  20. package/lib/settings/display/user/service.d.ts +23 -0
  21. package/lib/settings/display/user/service.js +167 -0
  22. package/lib/settings/display/user/types.d.ts +22 -0
  23. package/lib/settings/service/mock.d.ts +13 -0
  24. package/lib/settings/service/mock.js +50 -0
  25. package/lib/settings/service/service.d.ts +48 -0
  26. package/lib/settings/service/service.js +245 -0
  27. package/lib/video/VideoSyncHelper.js +9 -3
  28. package/lib/video/types.d.ts +1 -0
  29. package/package.json +2 -2
  30. package/lib/activities/active-rides/activities.d.ts +0 -0
  31. package/lib/activities/active-rides/activities.js +0 -0
  32. package/lib/activities/active-rides/index.js.map +0 -1
  33. package/lib/activities/active-rides/mq.js.map +0 -1
  34. package/lib/activities/active-rides/service.js.map +0 -1
  35. package/lib/activities/active-rides/sessions.js.map +0 -1
  36. package/lib/activities/active-rides/types.js.map +0 -1
  37. package/lib/activities/base/api/active-rides/api.js.map +0 -1
  38. package/lib/activities/base/api/active-rides/index.js.map +0 -1
  39. package/lib/activities/base/api/active-rides/types.js.map +0 -1
  40. package/lib/activities/base/api/consts.d.ts +0 -2
  41. package/lib/activities/base/api/consts.js +0 -6
  42. package/lib/activities/base/api/fitconvert/consts.js.map +0 -1
  43. package/lib/activities/base/api/fitconvert/fitconvert.js.map +0 -1
  44. package/lib/activities/base/api/fitconvert/index.js.map +0 -1
  45. package/lib/activities/base/api/fitconvert.d.ts +0 -8
  46. package/lib/activities/base/api/fitconvert.js +0 -57
  47. package/lib/activities/base/api/index.js.map +0 -1
  48. package/lib/activities/base/convert/converter.js.map +0 -1
  49. package/lib/activities/base/convert/factory.js.map +0 -1
  50. package/lib/activities/base/convert/fit/index.js.map +0 -1
  51. package/lib/activities/base/convert/fit/remote-fit.js.map +0 -1
  52. package/lib/activities/base/convert/index.js.map +0 -1
  53. package/lib/activities/base/convert/tcx/index.js.map +0 -1
  54. package/lib/activities/base/convert/tcx/tcx.js.map +0 -1
  55. package/lib/activities/base/convert/types.js.map +0 -1
  56. package/lib/activities/base/index.js.map +0 -1
  57. package/lib/activities/base/model/index.js.map +0 -1
  58. package/lib/activities/base/repo/db.js.map +0 -1
  59. package/lib/activities/base/repo/index.js.map +0 -1
  60. package/lib/activities/base/repo/migration/factory.js.map +0 -1
  61. package/lib/activities/base/repo/migration/types.js.map +0 -1
  62. package/lib/activities/base/repo/migration/v0.js.map +0 -1
  63. package/lib/activities/base/repo/migration/v1.js.map +0 -1
  64. package/lib/activities/base/repo/migration/v2.js.map +0 -1
  65. package/lib/activities/base/repo/migration/v3.js.map +0 -1
  66. package/lib/activities/base/repo/types.js.map +0 -1
  67. package/lib/activities/base/utils/activity.js.map +0 -1
  68. package/lib/activities/base/utils/helpers.js.map +0 -1
  69. package/lib/activities/base/utils/index.js.map +0 -1
  70. package/lib/activities/index.js.map +0 -1
  71. package/lib/activities/list/index.js.map +0 -1
  72. package/lib/activities/list/service.js.map +0 -1
  73. package/lib/activities/list/types.js.map +0 -1
  74. package/lib/activities/ride/duration.js.map +0 -1
  75. package/lib/activities/ride/index.js.map +0 -1
  76. package/lib/activities/ride/service.js.map +0 -1
  77. package/lib/activities/ride/stats.js.map +0 -1
  78. package/lib/activities/ride/types.js.map +0 -1
  79. package/lib/activities/upload/factory.js.map +0 -1
  80. package/lib/activities/upload/index.js.map +0 -1
  81. package/lib/activities/upload/intervals.js.map +0 -1
  82. package/lib/activities/upload/strava copy.d.ts +0 -18
  83. package/lib/activities/upload/strava copy.js +0 -170
  84. package/lib/activities/upload/strava.js.map +0 -1
  85. package/lib/activities/upload/types.js.map +0 -1
  86. package/lib/activities/upload/velohero.js.map +0 -1
  87. package/lib/api/appInfo/index.js.map +0 -1
  88. package/lib/api/bindings/index.js.map +0 -1
  89. package/lib/api/bindings/secret/index.js.map +0 -1
  90. package/lib/api/download/index.js.map +0 -1
  91. package/lib/api/form/index.js.map +0 -1
  92. package/lib/api/fs/index.js.map +0 -1
  93. package/lib/api/index.js.map +0 -1
  94. package/lib/api/mq/index.js.map +0 -1
  95. package/lib/api/overpass/index.d.ts +0 -13
  96. package/lib/api/overpass/index.js +0 -129
  97. package/lib/api/overpass/index.js.map +0 -1
  98. package/lib/api/path/index.js.map +0 -1
  99. package/lib/api/repository/index.js.map +0 -1
  100. package/lib/api/repository/json/index.js.map +0 -1
  101. package/lib/api/repository/types.js.map +0 -1
  102. package/lib/api/rest/RestApiClient.js.map +0 -1
  103. package/lib/api/rest/api.js.map +0 -1
  104. package/lib/api/rest/incyclist.js.map +0 -1
  105. package/lib/api/rest/index.js.map +0 -1
  106. package/lib/api/rest/types.js.map +0 -1
  107. package/lib/api/ui/index.js.map +0 -1
  108. package/lib/api/video/index.js.map +0 -1
  109. package/lib/apps/base/api/base.js.map +0 -1
  110. package/lib/apps/base/api/index.js.map +0 -1
  111. package/lib/apps/base/api/intervals/api.js.map +0 -1
  112. package/lib/apps/base/api/intervals/index.js.map +0 -1
  113. package/lib/apps/base/api/intervals/types.js.map +0 -1
  114. package/lib/apps/base/api/komoot/api.js.map +0 -1
  115. package/lib/apps/base/api/komoot/index.js.map +0 -1
  116. package/lib/apps/base/api/komoot/types.js.map +0 -1
  117. package/lib/apps/base/api/overpass/index.d.ts +0 -13
  118. package/lib/apps/base/api/overpass/index.js +0 -129
  119. package/lib/apps/base/api/strava/api.js.map +0 -1
  120. package/lib/apps/base/api/strava/index.js.map +0 -1
  121. package/lib/apps/base/api/strava/types.js.map +0 -1
  122. package/lib/apps/base/api/velohero/api.js.map +0 -1
  123. package/lib/apps/base/api/velohero/index.js.map +0 -1
  124. package/lib/apps/base/api/velohero/types.js.map +0 -1
  125. package/lib/apps/base/app/index.js.map +0 -1
  126. package/lib/apps/base/index.js.map +0 -1
  127. package/lib/apps/base/types.js.map +0 -1
  128. package/lib/apps/index.js.map +0 -1
  129. package/lib/apps/intervals/IntervalsAppConnection.js.map +0 -1
  130. package/lib/apps/intervals/StravaAppConnection.d.ts +0 -28
  131. package/lib/apps/intervals/StravaAppConnection.js +0 -211
  132. package/lib/apps/intervals/index.js.map +0 -1
  133. package/lib/apps/intervals/types.js.map +0 -1
  134. package/lib/apps/komoot/KomootAppConnection.js.map +0 -1
  135. package/lib/apps/komoot/index.js.map +0 -1
  136. package/lib/apps/komoot/types.js.map +0 -1
  137. package/lib/apps/service.js.map +0 -1
  138. package/lib/apps/strava/StravaAppConnection.js.map +0 -1
  139. package/lib/apps/strava/index.js.map +0 -1
  140. package/lib/apps/strava/types.js.map +0 -1
  141. package/lib/apps/types.js.map +0 -1
  142. package/lib/apps/velohero/VeloHeroAppConnection.js.map +0 -1
  143. package/lib/apps/velohero/index.js.map +0 -1
  144. package/lib/apps/velohero/types.js.map +0 -1
  145. package/lib/autoupdate/api.js.map +0 -1
  146. package/lib/autoupdate/autoupdate.js.map +0 -1
  147. package/lib/autoupdate/index.js.map +0 -1
  148. package/lib/avatars/index.js.map +0 -1
  149. package/lib/avatars/service.js.map +0 -1
  150. package/lib/avatars/types.js.map +0 -1
  151. package/lib/base/cardlist/index.js.map +0 -1
  152. package/lib/base/cardlist/types.js.map +0 -1
  153. package/lib/base/decorators/Injection.js.map +0 -1
  154. package/lib/base/decorators/index.js.map +0 -1
  155. package/lib/base/service.js.map +0 -1
  156. package/lib/base/types/index.js.map +0 -1
  157. package/lib/base/types/lists.js.map +0 -1
  158. package/lib/base/types/observer.js.map +0 -1
  159. package/lib/base/types/singleton.js.map +0 -1
  160. package/lib/coaches/coach.js.map +0 -1
  161. package/lib/coaches/index.js.map +0 -1
  162. package/lib/coaches/service.js.map +0 -1
  163. package/lib/coaches/types.js.map +0 -1
  164. package/lib/devices/access/index.js.map +0 -1
  165. package/lib/devices/access/model.js.map +0 -1
  166. package/lib/devices/access/service.js.map +0 -1
  167. package/lib/devices/configuration/index.js.map +0 -1
  168. package/lib/devices/configuration/model/app/index.js.map +0 -1
  169. package/lib/devices/configuration/model/index.js.map +0 -1
  170. package/lib/devices/configuration/model/repository/index.js.map +0 -1
  171. package/lib/devices/configuration/model/repository/legacy.js.map +0 -1
  172. package/lib/devices/configuration/model/service/index.js.map +0 -1
  173. package/lib/devices/configuration/service.js.map +0 -1
  174. package/lib/devices/index.js.map +0 -1
  175. package/lib/devices/pairing/index.js.map +0 -1
  176. package/lib/devices/pairing/model.js.map +0 -1
  177. package/lib/devices/pairing/service.js.map +0 -1
  178. package/lib/devices/ride/index.js.map +0 -1
  179. package/lib/devices/ride/model.js.map +0 -1
  180. package/lib/devices/ride/service.js.map +0 -1
  181. package/lib/free-ride/service.d.ts +0 -35
  182. package/lib/free-ride/service.js +0 -231
  183. package/lib/i18n/countries/index.js.map +0 -1
  184. package/lib/i18n/countries/model.js.map +0 -1
  185. package/lib/index.js.map +0 -1
  186. package/lib/maps/ways/consts.d.ts +0 -11
  187. package/lib/maps/ways/consts.js +0 -11
  188. package/lib/maps/ways/options.d.ts +0 -20
  189. package/lib/maps/ways/options.js +0 -294
  190. package/lib/maps/ways/service.d.ts +0 -43
  191. package/lib/maps/ways/service.js +0 -328
  192. package/lib/maps/ways/types.d.ts +0 -102
  193. package/lib/maps/ways/utils.d.ts +0 -62
  194. package/lib/maps/ways/utils.js +0 -725
  195. package/lib/monitoring/index.js.map +0 -1
  196. package/lib/monitoring/online/index.js.map +0 -1
  197. package/lib/monitoring/online/service.js.map +0 -1
  198. package/lib/ride/base/base.js.map +0 -1
  199. package/lib/ride/base/display.d.ts +0 -27
  200. package/lib/ride/base/display.js +0 -113
  201. package/lib/ride/base/index.js.map +0 -1
  202. package/lib/ride/base/types.js.map +0 -1
  203. package/lib/ride/current/index.js.map +0 -1
  204. package/lib/ride/current/service.d.ts +0 -110
  205. package/lib/ride/current/service.js +0 -854
  206. package/lib/ride/current/service.js.map +0 -1
  207. package/lib/ride/index.js.map +0 -1
  208. package/lib/ride/route/FollowRouteDisplayService.js.map +0 -1
  209. package/lib/ride/route/FreeRideDisplayService.js.map +0 -1
  210. package/lib/ride/route/GpxDisplayService.js.map +0 -1
  211. package/lib/ride/route/RouteDisplayService.js.map +0 -1
  212. package/lib/ride/route/VideoDisplayService.d.ts +0 -3
  213. package/lib/ride/route/VideoDisplayService.js +0 -7
  214. package/lib/ride/route/VideoDisplayService.js.map +0 -1
  215. package/lib/ride/types.js.map +0 -1
  216. package/lib/ride/workout/WorkoutDisplayService.js.map +0 -1
  217. package/lib/routes/base/api/consts.js.map +0 -1
  218. package/lib/routes/base/api/index.js.map +0 -1
  219. package/lib/routes/base/api/types.js.map +0 -1
  220. package/lib/routes/base/model/route.js.map +0 -1
  221. package/lib/routes/base/model/tacx.js.map +0 -1
  222. package/lib/routes/base/parsers/bikelab.js.map +0 -1
  223. package/lib/routes/base/parsers/epm.js.map +0 -1
  224. package/lib/routes/base/parsers/factory.js.map +0 -1
  225. package/lib/routes/base/parsers/geojson.d.ts +0 -16
  226. package/lib/routes/base/parsers/gpx.js.map +0 -1
  227. package/lib/routes/base/parsers/incyclist.js.map +0 -1
  228. package/lib/routes/base/parsers/index.js.map +0 -1
  229. package/lib/routes/base/parsers/kwt.js.map +0 -1
  230. package/lib/routes/base/parsers/multixml.js.map +0 -1
  231. package/lib/routes/base/parsers/tacx/TacxParser.js.map +0 -1
  232. package/lib/routes/base/parsers/tacx/TacxReader.js.map +0 -1
  233. package/lib/routes/base/parsers/tacx/pgmf.js.map +0 -1
  234. package/lib/routes/base/parsers/tacx/rlv.js.map +0 -1
  235. package/lib/routes/base/parsers/types.js.map +0 -1
  236. package/lib/routes/base/parsers/utils.js.map +0 -1
  237. package/lib/routes/base/parsers/xml.js.map +0 -1
  238. package/lib/routes/base/types/index.js.map +0 -1
  239. package/lib/routes/base/utils/index.js.map +0 -1
  240. package/lib/routes/base/utils/localization.js.map +0 -1
  241. package/lib/routes/base/utils/route.js.map +0 -1
  242. package/lib/routes/download/service.js.map +0 -1
  243. package/lib/routes/download/types.js.map +0 -1
  244. package/lib/routes/index.js.map +0 -1
  245. package/lib/routes/list/RouteListObserver.js.map +0 -1
  246. package/lib/routes/list/cards/ActiveImportCard.js.map +0 -1
  247. package/lib/routes/list/cards/FreeRideCard.js.map +0 -1
  248. package/lib/routes/list/cards/RouteCard.js.map +0 -1
  249. package/lib/routes/list/cards/RouteImportCard.js.map +0 -1
  250. package/lib/routes/list/cards/base.js.map +0 -1
  251. package/lib/routes/list/cards/types.js.map +0 -1
  252. package/lib/routes/list/index.js.map +0 -1
  253. package/lib/routes/list/lists/alternatives.js.map +0 -1
  254. package/lib/routes/list/lists/myroutes.js.map +0 -1
  255. package/lib/routes/list/lists/selected.js.map +0 -1
  256. package/lib/routes/list/loaders/DBLoader.js.map +0 -1
  257. package/lib/routes/list/loaders/LegacyDB.js.map +0 -1
  258. package/lib/routes/list/loaders/StravaActivityLoader.js.map +0 -1
  259. package/lib/routes/list/loaders/api.js.map +0 -1
  260. package/lib/routes/list/loaders/db.js.map +0 -1
  261. package/lib/routes/list/loaders/types.js.map +0 -1
  262. package/lib/routes/list/service.js.map +0 -1
  263. package/lib/routes/list/types.js.map +0 -1
  264. package/lib/routes/list/utils.js.map +0 -1
  265. package/lib/routes/sync/factory.js.map +0 -1
  266. package/lib/routes/sync/index.js.map +0 -1
  267. package/lib/routes/sync/komoot/provider.js.map +0 -1
  268. package/lib/routes/sync/types.js.map +0 -1
  269. package/lib/settings/index.js.map +0 -1
  270. package/lib/settings/user/bindings/index.js.map +0 -1
  271. package/lib/settings/user/bindings/json.js.map +0 -1
  272. package/lib/settings/user/bindings/types.js.map +0 -1
  273. package/lib/settings/user/mock.js.map +0 -1
  274. package/lib/settings/user/service.js.map +0 -1
  275. package/lib/utils/calc.js.map +0 -1
  276. package/lib/utils/clone.js.map +0 -1
  277. package/lib/utils/fileinfo.js.map +0 -1
  278. package/lib/utils/formatting.js.map +0 -1
  279. package/lib/utils/geo.js.map +0 -1
  280. package/lib/utils/index.js.map +0 -1
  281. package/lib/utils/logging.js.map +0 -1
  282. package/lib/utils/math.js.map +0 -1
  283. package/lib/utils/merge.js.map +0 -1
  284. package/lib/utils/nextTick.js.map +0 -1
  285. package/lib/utils/sleep.js.map +0 -1
  286. package/lib/utils/time.js.map +0 -1
  287. package/lib/utils/valid.js.map +0 -1
  288. package/lib/utils/vector.js.map +0 -1
  289. package/lib/utils/xml.js.map +0 -1
  290. package/lib/video/ConvertSession.d.ts +0 -5
  291. package/lib/video/ConvertSession.js +0 -62
  292. package/lib/workouts/base/api/consts.js.map +0 -1
  293. package/lib/workouts/base/api/index.js.map +0 -1
  294. package/lib/workouts/base/model/Segment.js.map +0 -1
  295. package/lib/workouts/base/model/Step.js.map +0 -1
  296. package/lib/workouts/base/model/Workout.js.map +0 -1
  297. package/lib/workouts/base/model/index.js.map +0 -1
  298. package/lib/workouts/base/model/types.js.map +0 -1
  299. package/lib/workouts/base/parsers/Json.d.ts +0 -12
  300. package/lib/workouts/base/parsers/Json.js +0 -70
  301. package/lib/workouts/base/parsers/Json.js.map +0 -1
  302. package/lib/workouts/base/parsers/factory.js.map +0 -1
  303. package/lib/workouts/base/parsers/index.js.map +0 -1
  304. package/lib/workouts/base/parsers/types.js.map +0 -1
  305. package/lib/workouts/base/parsers/zwo.d.ts +0 -37
  306. package/lib/workouts/base/parsers/zwo.js +0 -265
  307. package/lib/workouts/base/parsers/zwo.js.map +0 -1
  308. package/lib/workouts/index.js.map +0 -1
  309. package/lib/workouts/list/cards/ActiveImportCard.js.map +0 -1
  310. package/lib/workouts/list/cards/WorkoutCard.js.map +0 -1
  311. package/lib/workouts/list/cards/WorkoutCreateCard.js.map +0 -1
  312. package/lib/workouts/list/cards/WorkoutImportCard.js.map +0 -1
  313. package/lib/workouts/list/cards/base.js.map +0 -1
  314. package/lib/workouts/list/cards/index.js.map +0 -1
  315. package/lib/workouts/list/cards/types.js.map +0 -1
  316. package/lib/workouts/list/index.js.map +0 -1
  317. package/lib/workouts/list/loaders/api.js.map +0 -1
  318. package/lib/workouts/list/loaders/db.js.map +0 -1
  319. package/lib/workouts/list/loaders/loader.js.map +0 -1
  320. package/lib/workouts/list/service.js.map +0 -1
  321. package/lib/workouts/list/types.js.map +0 -1
  322. package/lib/workouts/ride/index.js.map +0 -1
  323. package/lib/workouts/ride/service.js.map +0 -1
  324. package/lib/workouts/ride/types.js.map +0 -1
  325. /package/lib/{maps/ways → i18n/units}/types.js +0 -0
  326. /package/lib/{routes/base/parsers/geojson.js → settings/display/user/types.js} +0 -0
  327. /package/lib/{free-ride → settings/service}/index.d.ts +0 -0
  328. /package/lib/{free-ride → settings/service}/index.js +0 -0
@@ -94,6 +94,7 @@ let ActiveRidesService = (() => {
94
94
  }
95
95
  init(session, maxLength = 10) {
96
96
  this.maxLength = maxLength;
97
+ this.logEvent({ message: 'init active rides list', session });
97
98
  try {
98
99
  if (this.observer) {
99
100
  this.observer.stop({ immediately: true });
@@ -545,6 +546,7 @@ let ActiveRidesService = (() => {
545
546
  }
546
547
  onDisconnect() {
547
548
  this.getMessageQueue().onDisconnect();
549
+ this.isSubscribed = false;
548
550
  }
549
551
  onConnect(props) {
550
552
  return __awaiter(this, void 0, void 0, function* () {
@@ -643,7 +645,12 @@ let ActiveRidesService = (() => {
643
645
  const items = yield this.getApi().getBySessionId(sessionId);
644
646
  if (!items.length)
645
647
  return;
646
- const item = items[0];
648
+ let item = items[0];
649
+ if (item.sessionId !== sessionId) {
650
+ item = items.find(i => i.sessionId === sessionId);
651
+ if (!item)
652
+ return;
653
+ }
647
654
  const others = (_a = this.others) !== null && _a !== void 0 ? _a : [];
648
655
  const localItem = others.find(e => e.sessionId === sessionId);
649
656
  if (localItem) {
@@ -666,7 +673,7 @@ let ActiveRidesService = (() => {
666
673
  }
667
674
  onActivityUpdateEvent(session, payload) {
668
675
  return __awaiter(this, void 0, void 0, function* () {
669
- var _a, _b, _c, _d, _e, _f;
676
+ var _a, _b, _c, _d, _e, _f, _g;
670
677
  try {
671
678
  if (session === this.session)
672
679
  return;
@@ -696,7 +703,9 @@ let ActiveRidesService = (() => {
696
703
  currentSpeed: payload.speed,
697
704
  currentLap: payload.lap
698
705
  };
699
- this.addActiveRide(entry);
706
+ if (!existing) {
707
+ this.addActiveRide(entry);
708
+ }
700
709
  }
701
710
  if (prevActive === 0) {
702
711
  this.isStarted = true;
@@ -704,7 +713,8 @@ let ActiveRidesService = (() => {
704
713
  }
705
714
  else {
706
715
  this.isStarted = true;
707
- 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() });
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 } });
708
718
  }
709
719
  }
710
720
  }
@@ -1,9 +1,15 @@
1
1
  import { EventLogger } from 'gd-eventlog';
2
- import { TrackPoint, ActivityLap } from 'tcx-builder';
2
+ import { TrackPoint, ActivityLap, AbstractSource } from 'tcx-builder';
3
3
  import { IActivityConverter } from '../types';
4
4
  import { ActivityDetails } from '../../model';
5
5
  import { TcxLapMarker } from './types';
6
6
  import { Step } from '../../../../workouts';
7
+ export declare class IncyclistAttribution extends AbstractSource {
8
+ toXml(): string;
9
+ constructor();
10
+ protected getAppInfo(): import("../../../../api/appInfo").IAppInfo;
11
+ protected getBindings(): import("../../../../api").IncyclistBindings;
12
+ }
7
13
  export declare class TcxConverter implements IActivityConverter {
8
14
  protected logger: EventLogger;
9
15
  constructor();
@@ -1,4 +1,38 @@
1
1
  "use strict";
2
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
+ var useValue = arguments.length > 2;
4
+ for (var i = 0; i < initializers.length; i++) {
5
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6
+ }
7
+ return useValue ? value : void 0;
8
+ };
9
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
10
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
11
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
12
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
13
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
14
+ var _, done = false;
15
+ for (var i = decorators.length - 1; i >= 0; i--) {
16
+ var context = {};
17
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
18
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
19
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
20
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
21
+ if (kind === "accessor") {
22
+ if (result === void 0) continue;
23
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
24
+ if (_ = accept(result.get)) descriptor.get = _;
25
+ if (_ = accept(result.set)) descriptor.set = _;
26
+ if (_ = accept(result.init)) initializers.unshift(_);
27
+ }
28
+ else if (_ = accept(result)) {
29
+ if (kind === "field") initializers.unshift(_);
30
+ else descriptor[key] = _;
31
+ }
32
+ }
33
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
34
+ done = true;
35
+ };
2
36
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
37
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
38
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,10 +43,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
43
  });
10
44
  };
11
45
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TcxConverter = void 0;
46
+ exports.TcxConverter = exports.IncyclistAttribution = void 0;
13
47
  const gd_eventlog_1 = require("gd-eventlog");
14
48
  const tcx_builder_1 = require("tcx-builder");
15
49
  const ride_1 = require("../../../ride");
50
+ const api_1 = require("../../../../api");
51
+ const decorators_1 = require("../../../../base/decorators");
52
+ let IncyclistAttribution = (() => {
53
+ var _a;
54
+ let _classSuper = tcx_builder_1.AbstractSource;
55
+ let _instanceExtraInitializers = [];
56
+ let _getBindings_decorators;
57
+ return _a = class IncyclistAttribution extends _classSuper {
58
+ toXml() {
59
+ const appInfo = this.getAppInfo();
60
+ const channel = appInfo.getChannel();
61
+ const os = appInfo.getOS().platform;
62
+ let xmlElement = '';
63
+ xmlElement += tcx_builder_1.BaseObject.buildXmlNode('Name', 'Incyclist');
64
+ xmlElement += tcx_builder_1.BaseObject.buildXmlNode('Channel', channel);
65
+ xmlElement += tcx_builder_1.BaseObject.buildXmlNode('OS', os);
66
+ return xmlElement;
67
+ }
68
+ constructor() {
69
+ const attr = new tcx_builder_1.AbstractSourceAttributes('Application_t');
70
+ super(attr, 'Incyclist');
71
+ __runInitializers(this, _instanceExtraInitializers);
72
+ }
73
+ getAppInfo() {
74
+ const appInfo = this.getBindings().appInfo;
75
+ return appInfo;
76
+ }
77
+ getBindings() {
78
+ return (0, api_1.getBindings)();
79
+ }
80
+ },
81
+ (() => {
82
+ var _b;
83
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;
84
+ _getBindings_decorators = [decorators_1.Injectable];
85
+ __esDecorate(_a, null, _getBindings_decorators, { kind: "method", name: "getBindings", static: false, private: false, access: { has: obj => "getBindings" in obj, get: obj => obj.getBindings }, metadata: _metadata }, null, _instanceExtraInitializers);
86
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
87
+ })(),
88
+ _a;
89
+ })();
90
+ exports.IncyclistAttribution = IncyclistAttribution;
16
91
  class TcxConverter {
17
92
  constructor() {
18
93
  this.logger = new gd_eventlog_1.EventLogger('TcxExporter');
@@ -24,7 +99,8 @@ class TcxConverter {
24
99
  const startTime = new Date(activity.startTime);
25
100
  const trackPoints = this.creatTrackPoints(activity, startTime);
26
101
  const laps = this.createLaps(startTime, activity, trackPoints);
27
- const tcxActivity = new tcx_builder_1.Activity('Biking', { Id: startTime, Notes: 'Incyclist Ride', Laps: laps });
102
+ const creator = new IncyclistAttribution();
103
+ const tcxActivity = new tcx_builder_1.Activity('Biking', { Id: startTime, Notes: 'Incyclist Ride', Laps: laps, Creator: creator });
28
104
  const activityList = new tcx_builder_1.ActivityList({ activity: [tcxActivity] });
29
105
  const tcxObj = new tcx_builder_1.TrainingCenterDatabase({ activities: activityList });
30
106
  const xml = tcxObj.toXml();
@@ -0,0 +1,16 @@
1
+ import { IncyclistService } from "../../base/service";
2
+ import { UnitConversionRules, ConvertProps, Unit, Dimension, UnitType } from "./types";
3
+ export declare class UnitConverterService extends IncyclistService {
4
+ constructor();
5
+ protected readonly metric: Record<Dimension, Unit>;
6
+ protected readonly imperial: Record<Dimension, Unit>;
7
+ protected readonly appDefault: Record<Dimension, Unit>;
8
+ protected readonly formulas: UnitConversionRules;
9
+ convert(value: number, dimension: Dimension, props?: ConvertProps): number;
10
+ getUnit(dimension: Dimension): Unit;
11
+ getUnits(): UnitType;
12
+ getUnitConversionShortcuts: () => any[];
13
+ protected getUserSettings(): import("../../settings/service/service").UserSettingsService;
14
+ }
15
+ export declare const useUnitConverter: () => UnitConverterService;
16
+ export declare const getUnitConversionShortcuts: () => any[];
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
+ var useValue = arguments.length > 2;
4
+ for (var i = 0; i < initializers.length; i++) {
5
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6
+ }
7
+ return useValue ? value : void 0;
8
+ };
9
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
10
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
11
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
12
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
13
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
14
+ var _, done = false;
15
+ for (var i = decorators.length - 1; i >= 0; i--) {
16
+ var context = {};
17
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
18
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
19
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
20
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
21
+ if (kind === "accessor") {
22
+ if (result === void 0) continue;
23
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
24
+ if (_ = accept(result.get)) descriptor.get = _;
25
+ if (_ = accept(result.set)) descriptor.set = _;
26
+ if (_ = accept(result.init)) initializers.unshift(_);
27
+ }
28
+ else if (_ = accept(result)) {
29
+ if (kind === "field") initializers.unshift(_);
30
+ else descriptor[key] = _;
31
+ }
32
+ }
33
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
34
+ done = true;
35
+ };
36
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
37
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
38
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.getUnitConversionShortcuts = exports.useUnitConverter = exports.UnitConverterService = void 0;
42
+ const decorators_1 = require("../../base/decorators");
43
+ const service_1 = require("../../base/service");
44
+ const service_2 = require("../../settings/service/service");
45
+ let UnitConverterService = (() => {
46
+ let _classDecorators = [decorators_1.Singleton];
47
+ let _classDescriptor;
48
+ let _classExtraInitializers = [];
49
+ let _classThis;
50
+ let _classSuper = service_1.IncyclistService;
51
+ let _instanceExtraInitializers = [];
52
+ let _getUserSettings_decorators;
53
+ var UnitConverterService = _classThis = class extends _classSuper {
54
+ constructor() {
55
+ super('UnitConverter');
56
+ this.metric = (__runInitializers(this, _instanceExtraInitializers), {
57
+ distance: 'km',
58
+ elevation: 'm',
59
+ speed: 'km/h',
60
+ weight: 'kg'
61
+ });
62
+ this.imperial = {
63
+ distance: 'mi',
64
+ elevation: 'ft',
65
+ speed: 'mph',
66
+ weight: 'lbs'
67
+ };
68
+ this.appDefault = this.metric;
69
+ this.formulas = {
70
+ distance: {
71
+ unit: 'm',
72
+ formulas: {
73
+ 'km': 1 / 1000,
74
+ 'mi': 1 / 1609.344,
75
+ 'yd': 1.0936132983,
76
+ 'ft': 3.280839895
77
+ }
78
+ },
79
+ elevation: {
80
+ unit: 'm',
81
+ formulas: {
82
+ 'km': 1 / 1000,
83
+ 'mi': 1 / 1609.344,
84
+ 'yd': 1.0936132983,
85
+ 'ft': 3.280839895
86
+ }
87
+ },
88
+ speed: {
89
+ unit: 'km/h',
90
+ formulas: {
91
+ 'mph': 0.621371,
92
+ 'm/s': 1 / 3.6
93
+ }
94
+ },
95
+ weight: {
96
+ unit: 'kg',
97
+ formulas: {
98
+ 'lbs': 2.20462,
99
+ }
100
+ }
101
+ };
102
+ this.getUnitConversionShortcuts = () => {
103
+ const C = this.convert.bind(this);
104
+ const U = this.getUnit.bind(this);
105
+ return [C, U];
106
+ };
107
+ }
108
+ convert(value, dimension, props) {
109
+ var _a, _b;
110
+ if (value === undefined || value === null || Number.isNaN(value))
111
+ return undefined;
112
+ try {
113
+ const units = this.getUnits() === 'metric' ? this.metric : this.imperial;
114
+ const from = (_a = props === null || props === void 0 ? void 0 : props.from) !== null && _a !== void 0 ? _a : this.formulas[dimension].unit;
115
+ const to = (_b = props === null || props === void 0 ? void 0 : props.to) !== null && _b !== void 0 ? _b : units[dimension];
116
+ const round = (val, digits) => {
117
+ const factor = Math.pow(10, digits);
118
+ return Math.round(val * factor) / factor;
119
+ };
120
+ if (from === to) {
121
+ return (props === null || props === void 0 ? void 0 : props.digits) === undefined ? value : round(value, props.digits);
122
+ }
123
+ let res = value;
124
+ if (from !== this.formulas[dimension].unit) {
125
+ const factor = this.formulas[dimension].formulas[from];
126
+ res = res / factor;
127
+ }
128
+ if (to !== this.formulas[dimension].unit) {
129
+ const factor = this.formulas[dimension].formulas[to];
130
+ res = res * factor;
131
+ }
132
+ return (props === null || props === void 0 ? void 0 : props.digits) === undefined ? res : round(res, props.digits);
133
+ }
134
+ catch (err) {
135
+ const p = props !== null && props !== void 0 ? props : {};
136
+ this.logError(err, 'convert', { convertArgs: Object.assign({ value, dimension }, p) });
137
+ return value;
138
+ }
139
+ }
140
+ getUnit(dimension) {
141
+ try {
142
+ const units = this.getUnits() === 'metric' ? this.metric : this.imperial;
143
+ return units[dimension];
144
+ }
145
+ catch (err) {
146
+ this.logError(err, 'getUnit');
147
+ return;
148
+ }
149
+ }
150
+ getUnits() {
151
+ const type = this.getUserSettings().getValue('preferences.units', 'metric');
152
+ return type;
153
+ }
154
+ getUserSettings() {
155
+ return (0, service_2.useUserSettings)();
156
+ }
157
+ };
158
+ __setFunctionName(_classThis, "UnitConverterService");
159
+ (() => {
160
+ var _a;
161
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;
162
+ _getUserSettings_decorators = [decorators_1.Injectable];
163
+ __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);
164
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
165
+ UnitConverterService = _classThis = _classDescriptor.value;
166
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
167
+ __runInitializers(_classThis, _classExtraInitializers);
168
+ })();
169
+ return UnitConverterService = _classThis;
170
+ })();
171
+ exports.UnitConverterService = UnitConverterService;
172
+ const useUnitConverter = () => new UnitConverterService();
173
+ exports.useUnitConverter = useUnitConverter;
174
+ const getUnitConversionShortcuts = () => {
175
+ const c = (0, exports.useUnitConverter)();
176
+ const C = (0, exports.useUnitConverter)().convert.bind(c);
177
+ const U = (0, exports.useUnitConverter)().getUnit.bind(c);
178
+ return [C, U];
179
+ };
180
+ exports.getUnitConversionShortcuts = getUnitConversionShortcuts;
@@ -0,0 +1,2 @@
1
+ export * from './converter';
2
+ export * from './types';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./converter"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,13 @@
1
+ export type UnitType = 'metric' | 'imperial';
2
+ export type Dimension = 'distance' | 'elevation' | 'speed' | 'weight';
3
+ export type Unit = 'm' | 'km' | 'ft' | 'mi' | 'yd' | 'km/h' | 'mph' | 'm/s' | 'kg' | 'lbs';
4
+ export type ConvertProps = {
5
+ from?: Unit;
6
+ to?: Unit;
7
+ digits?: number;
8
+ };
9
+ export type FormulaDefinition = {
10
+ unit: Unit;
11
+ formulas: Record<string, number>;
12
+ };
13
+ export type UnitConversionRules = Record<Dimension, FormulaDefinition>;
@@ -101,8 +101,9 @@ let FreeRideService = (() => {
101
101
  var _a;
102
102
  return (_a = opts === null || opts === void 0 ? void 0 : opts.map(o => this.buildId(o)).join('|')) !== null && _a !== void 0 ? _a : 'none';
103
103
  };
104
- let loadAsync = false;
104
+ let loadAsync = true;
105
105
  if (((_a = from === null || from === void 0 ? void 0 : from.options) === null || _a === void 0 ? void 0 : _a.length) > 0) {
106
+ loadAsync = false;
106
107
  this.options = this.evaluateOptions(from.options, from);
107
108
  if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.length) {
108
109
  prepared = true;
@@ -0,0 +1 @@
1
+ export * from './types';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,15 @@
1
+ import { UserSettingsBinding } from "./types";
2
+ export default class JSONFileBindig extends UserSettingsBinding {
3
+ protected static _instance: UserSettingsBinding;
4
+ path: string;
5
+ settings: any;
6
+ savePromise: Promise<boolean> | null;
7
+ static getInstance(path?: string): UserSettingsBinding;
8
+ constructor(path?: string);
9
+ getAll(): Promise<any>;
10
+ set(key: string, value: any): Promise<boolean>;
11
+ canOverwrite(): boolean;
12
+ save(settings?: any): Promise<boolean>;
13
+ waitForSaveFinished(): Promise<void>;
14
+ verify(settings: any): boolean;
15
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const types_1 = require("./types");
16
+ const promises_1 = __importDefault(require("fs/promises"));
17
+ const DEFAULT_PATH = './settings.json';
18
+ class JSONFileBindig extends types_1.UserSettingsBinding {
19
+ static getInstance(path) {
20
+ var _a;
21
+ JSONFileBindig._instance = (_a = JSONFileBindig._instance) !== null && _a !== void 0 ? _a : new JSONFileBindig(path);
22
+ return JSONFileBindig._instance;
23
+ }
24
+ constructor(path = DEFAULT_PATH) {
25
+ super();
26
+ this.path = path;
27
+ this.savePromise = null;
28
+ }
29
+ getAll() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const settings = yield promises_1.default.readFile(this.path);
32
+ const valid = this.verify(settings);
33
+ if (!valid)
34
+ throw new Error('invalid JSON object');
35
+ return this.settings;
36
+ });
37
+ }
38
+ set(key, value) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (value === null) {
41
+ delete this.settings[key];
42
+ }
43
+ else if (Array.isArray(value)) {
44
+ this.settings[key] = [...value];
45
+ }
46
+ else if (typeof (value) === 'object') {
47
+ this.settings[key] = Object.assign({}, value);
48
+ }
49
+ else {
50
+ this.settings[key] = value;
51
+ }
52
+ try {
53
+ yield this.save();
54
+ return true;
55
+ }
56
+ catch (_a) {
57
+ return false;
58
+ }
59
+ });
60
+ }
61
+ canOverwrite() {
62
+ return true;
63
+ }
64
+ save(settings) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ if (settings) {
67
+ this.verify(settings);
68
+ this.settings = settings;
69
+ }
70
+ if (this.savePromise) {
71
+ yield this.waitForSaveFinished();
72
+ }
73
+ this.savePromise = this.save(JSON.stringify(this.settings, null, 2));
74
+ try {
75
+ yield this.savePromise;
76
+ this.savePromise = null;
77
+ return true;
78
+ }
79
+ catch (_a) {
80
+ this.savePromise = null;
81
+ return false;
82
+ }
83
+ });
84
+ }
85
+ waitForSaveFinished() {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ return new Promise(done => {
88
+ const iv = setInterval(() => {
89
+ if (this.savePromise) {
90
+ clearInterval(iv);
91
+ done();
92
+ }
93
+ }, 50);
94
+ });
95
+ });
96
+ }
97
+ verify(settings) {
98
+ if (typeof settings === 'string') {
99
+ try {
100
+ JSON.parse(settings);
101
+ return true;
102
+ }
103
+ catch (_a) {
104
+ return false;
105
+ }
106
+ }
107
+ else {
108
+ try {
109
+ JSON.stringify(settings);
110
+ return true;
111
+ }
112
+ catch (_b) {
113
+ return false;
114
+ }
115
+ }
116
+ }
117
+ }
118
+ exports.default = JSONFileBindig;
@@ -0,0 +1,13 @@
1
+ export interface IUserSettingsBinding {
2
+ getAll(): Promise<any>;
3
+ set(key: string, value: any): Promise<boolean>;
4
+ save(settings: any, final?: boolean): Promise<boolean>;
5
+ canOverwrite(): boolean;
6
+ }
7
+ export declare abstract class UserSettingsBinding implements IUserSettingsBinding {
8
+ static getInstance(): IUserSettingsBinding;
9
+ abstract getAll(): Promise<any>;
10
+ abstract set(key: string, value: any): Promise<boolean>;
11
+ abstract save(settings: any, final?: boolean): Promise<boolean>;
12
+ abstract canOverwrite(): boolean;
13
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserSettingsBinding = void 0;
4
+ class UserSettingsBinding {
5
+ static getInstance() {
6
+ throw new Error("Method not implemented.");
7
+ }
8
+ }
9
+ exports.UserSettingsBinding = UserSettingsBinding;
@@ -0,0 +1 @@
1
+ export * from './user';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./user"), exports);
@@ -1 +1,2 @@
1
1
  export * from './service';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./service"), exports);
18
+ __exportStar(require("./types"), exports);