@mtgame/core 0.0.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 (293) hide show
  1. package/README.md +24 -0
  2. package/api/basketball-game-api.d.ts +17 -0
  3. package/api/league-api.d.ts +16 -0
  4. package/api/media-api.d.ts +24 -0
  5. package/api/notification-api.d.ts +4 -0
  6. package/api/notification-base-api.d.ts +22 -0
  7. package/api/org-notification-api.d.ts +4 -0
  8. package/api/paginated-response.interface.d.ts +4 -0
  9. package/api/public-api.d.ts +12 -0
  10. package/api/reference-api.d.ts +11 -0
  11. package/api/tournament-api.d.ts +64 -0
  12. package/api/tournament-join-api.d.ts +14 -0
  13. package/api/tournament-stage-api.d.ts +15 -0
  14. package/api/volleyball-game-api.d.ts +17 -0
  15. package/bundles/mtgame-core.umd.js +4785 -0
  16. package/bundles/mtgame-core.umd.js.map +1 -0
  17. package/bundles/mtgame-core.umd.min.js +16 -0
  18. package/bundles/mtgame-core.umd.min.js.map +1 -0
  19. package/esm2015/api/basketball-game-api.js +54 -0
  20. package/esm2015/api/league-api.js +60 -0
  21. package/esm2015/api/media-api.js +110 -0
  22. package/esm2015/api/notification-api.js +18 -0
  23. package/esm2015/api/notification-base-api.js +83 -0
  24. package/esm2015/api/org-notification-api.js +18 -0
  25. package/esm2015/api/paginated-response.interface.js +1 -0
  26. package/esm2015/api/public-api.js +12 -0
  27. package/esm2015/api/reference-api.js +40 -0
  28. package/esm2015/api/tournament-api.js +187 -0
  29. package/esm2015/api/tournament-join-api.js +51 -0
  30. package/esm2015/api/tournament-stage-api.js +56 -0
  31. package/esm2015/api/volleyball-game-api.js +54 -0
  32. package/esm2015/http-cookie.interceptor.js +34 -0
  33. package/esm2015/localization/basketball-game-log-types.js +26 -0
  34. package/esm2015/localization/overtime-types.js +7 -0
  35. package/esm2015/localization/public-api.js +7 -0
  36. package/esm2015/localization/team-event-type.js +6 -0
  37. package/esm2015/localization/team-user-role.js +7 -0
  38. package/esm2015/localization/user-profile.js +46 -0
  39. package/esm2015/localization/volleyball-game-log-types.js +25 -0
  40. package/esm2015/models/basketball-game-config.js +42 -0
  41. package/esm2015/models/basketball-game-log.js +109 -0
  42. package/esm2015/models/basketball-game-statistic.js +50 -0
  43. package/esm2015/models/basketball-game-team-statistic.js +27 -0
  44. package/esm2015/models/basketball-profile.js +43 -0
  45. package/esm2015/models/basketball-statistic.js +69 -0
  46. package/esm2015/models/city.js +22 -0
  47. package/esm2015/models/file.js +38 -0
  48. package/esm2015/models/game-invite.js +37 -0
  49. package/esm2015/models/game-log-base.js +1 -0
  50. package/esm2015/models/game-statistic-base.js +1 -0
  51. package/esm2015/models/game-timeline-stages.js +49 -0
  52. package/esm2015/models/game-user.js +32 -0
  53. package/esm2015/models/game.js +108 -0
  54. package/esm2015/models/league-court.js +24 -0
  55. package/esm2015/models/league.js +52 -0
  56. package/esm2015/models/media-item.js +40 -0
  57. package/esm2015/models/notification-settings.js +35 -0
  58. package/esm2015/models/notification.js +134 -0
  59. package/esm2015/models/organization.js +27 -0
  60. package/esm2015/models/playoff.js +78 -0
  61. package/esm2015/models/poll.js +132 -0
  62. package/esm2015/models/public-api.js +50 -0
  63. package/esm2015/models/sport.js +47 -0
  64. package/esm2015/models/team-event-invite.js +32 -0
  65. package/esm2015/models/team-event-type.js +6 -0
  66. package/esm2015/models/team-event.js +45 -0
  67. package/esm2015/models/team-invite-external.js +25 -0
  68. package/esm2015/models/team-invite.js +41 -0
  69. package/esm2015/models/team-user.js +39 -0
  70. package/esm2015/models/team.js +56 -0
  71. package/esm2015/models/tournament-disqualification.js +29 -0
  72. package/esm2015/models/tournament-event.js +38 -0
  73. package/esm2015/models/tournament-group.js +23 -0
  74. package/esm2015/models/tournament-invite.js +39 -0
  75. package/esm2015/models/tournament-join-team.js +55 -0
  76. package/esm2015/models/tournament-news.js +33 -0
  77. package/esm2015/models/tournament-stage-team.js +45 -0
  78. package/esm2015/models/tournament-stage.js +35 -0
  79. package/esm2015/models/tournament-team-user-invite.js +29 -0
  80. package/esm2015/models/tournament-team-user.js +49 -0
  81. package/esm2015/models/tournament-team.js +54 -0
  82. package/esm2015/models/tournament.js +161 -0
  83. package/esm2015/models/user-profile.js +24 -0
  84. package/esm2015/models/user.js +74 -0
  85. package/esm2015/models/util.js +208 -0
  86. package/esm2015/models/volleyball-game-config.js +40 -0
  87. package/esm2015/models/volleyball-game-log.js +139 -0
  88. package/esm2015/models/volleyball-game-statistic.js +50 -0
  89. package/esm2015/models/volleyball-game-team-statistic.js +27 -0
  90. package/esm2015/models/volleyball-profile.js +43 -0
  91. package/esm2015/models/volleyball-statistic.js +66 -0
  92. package/esm2015/mtgame-core.js +5 -0
  93. package/esm2015/public-api.js +8 -0
  94. package/esm2015/services/base.service.js +18 -0
  95. package/esm2015/services/centrifugo.service.js +107 -0
  96. package/esm2015/services/config.service.js +40 -0
  97. package/esm2015/services/public-api.js +4 -0
  98. package/esm2015/storage/local-storage-engine.js +18 -0
  99. package/esm2015/storage/public-api.js +4 -0
  100. package/esm2015/storage/storage-engine.js +61 -0
  101. package/esm2015/storage/store.js +63 -0
  102. package/esm2015/utils/array.js +18 -0
  103. package/esm2015/utils/component-destroyed.js +21 -0
  104. package/esm2015/utils/cookie.js +9 -0
  105. package/esm2015/utils/data.js +75 -0
  106. package/esm2015/utils/device.js +14 -0
  107. package/esm2015/utils/enum.js +7 -0
  108. package/esm2015/utils/errors.js +10 -0
  109. package/esm2015/utils/favicon.js +25 -0
  110. package/esm2015/utils/form.js +22 -0
  111. package/esm2015/utils/public-api.js +11 -0
  112. package/esm2015/utils/validators.js +47 -0
  113. package/esm5/api/basketball-game-api.js +65 -0
  114. package/esm5/api/league-api.js +70 -0
  115. package/esm5/api/media-api.js +125 -0
  116. package/esm5/api/notification-api.js +21 -0
  117. package/esm5/api/notification-base-api.js +109 -0
  118. package/esm5/api/org-notification-api.js +21 -0
  119. package/esm5/api/paginated-response.interface.js +1 -0
  120. package/esm5/api/public-api.js +12 -0
  121. package/esm5/api/reference-api.js +45 -0
  122. package/esm5/api/tournament-api.js +245 -0
  123. package/esm5/api/tournament-join-api.js +59 -0
  124. package/esm5/api/tournament-stage-api.js +65 -0
  125. package/esm5/api/volleyball-game-api.js +65 -0
  126. package/esm5/http-cookie.interceptor.js +35 -0
  127. package/esm5/localization/basketball-game-log-types.js +27 -0
  128. package/esm5/localization/overtime-types.js +8 -0
  129. package/esm5/localization/public-api.js +7 -0
  130. package/esm5/localization/team-event-type.js +7 -0
  131. package/esm5/localization/team-user-role.js +8 -0
  132. package/esm5/localization/user-profile.js +47 -0
  133. package/esm5/localization/volleyball-game-log-types.js +26 -0
  134. package/esm5/models/basketball-game-config.js +47 -0
  135. package/esm5/models/basketball-game-log.js +117 -0
  136. package/esm5/models/basketball-game-statistic.js +63 -0
  137. package/esm5/models/basketball-game-team-statistic.js +32 -0
  138. package/esm5/models/basketball-profile.js +48 -0
  139. package/esm5/models/basketball-statistic.js +78 -0
  140. package/esm5/models/city.js +27 -0
  141. package/esm5/models/file.js +41 -0
  142. package/esm5/models/game-invite.js +42 -0
  143. package/esm5/models/game-log-base.js +1 -0
  144. package/esm5/models/game-statistic-base.js +1 -0
  145. package/esm5/models/game-timeline-stages.js +57 -0
  146. package/esm5/models/game-user.js +37 -0
  147. package/esm5/models/game.js +134 -0
  148. package/esm5/models/league-court.js +29 -0
  149. package/esm5/models/league.js +69 -0
  150. package/esm5/models/media-item.js +49 -0
  151. package/esm5/models/notification-settings.js +40 -0
  152. package/esm5/models/notification.js +143 -0
  153. package/esm5/models/organization.js +32 -0
  154. package/esm5/models/playoff.js +91 -0
  155. package/esm5/models/poll.js +154 -0
  156. package/esm5/models/public-api.js +50 -0
  157. package/esm5/models/sport.js +52 -0
  158. package/esm5/models/team-event-invite.js +35 -0
  159. package/esm5/models/team-event-type.js +6 -0
  160. package/esm5/models/team-event.js +58 -0
  161. package/esm5/models/team-invite-external.js +30 -0
  162. package/esm5/models/team-invite.js +46 -0
  163. package/esm5/models/team-user.js +44 -0
  164. package/esm5/models/team.js +61 -0
  165. package/esm5/models/tournament-disqualification.js +34 -0
  166. package/esm5/models/tournament-event.js +43 -0
  167. package/esm5/models/tournament-group.js +28 -0
  168. package/esm5/models/tournament-invite.js +48 -0
  169. package/esm5/models/tournament-join-team.js +73 -0
  170. package/esm5/models/tournament-news.js +38 -0
  171. package/esm5/models/tournament-stage-team.js +54 -0
  172. package/esm5/models/tournament-stage.js +40 -0
  173. package/esm5/models/tournament-team-user-invite.js +34 -0
  174. package/esm5/models/tournament-team-user.js +66 -0
  175. package/esm5/models/tournament-team.js +63 -0
  176. package/esm5/models/tournament.js +176 -0
  177. package/esm5/models/user-profile.js +27 -0
  178. package/esm5/models/user.js +95 -0
  179. package/esm5/models/util.js +275 -0
  180. package/esm5/models/volleyball-game-config.js +49 -0
  181. package/esm5/models/volleyball-game-log.js +142 -0
  182. package/esm5/models/volleyball-game-statistic.js +71 -0
  183. package/esm5/models/volleyball-game-team-statistic.js +32 -0
  184. package/esm5/models/volleyball-profile.js +48 -0
  185. package/esm5/models/volleyball-statistic.js +71 -0
  186. package/esm5/mtgame-core.js +5 -0
  187. package/esm5/public-api.js +8 -0
  188. package/esm5/services/base.service.js +19 -0
  189. package/esm5/services/centrifugo.service.js +111 -0
  190. package/esm5/services/config.service.js +52 -0
  191. package/esm5/services/public-api.js +4 -0
  192. package/esm5/storage/local-storage-engine.js +25 -0
  193. package/esm5/storage/public-api.js +4 -0
  194. package/esm5/storage/storage-engine.js +77 -0
  195. package/esm5/storage/store.js +77 -0
  196. package/esm5/utils/array.js +18 -0
  197. package/esm5/utils/component-destroyed.js +21 -0
  198. package/esm5/utils/cookie.js +9 -0
  199. package/esm5/utils/data.js +79 -0
  200. package/esm5/utils/device.js +14 -0
  201. package/esm5/utils/enum.js +7 -0
  202. package/esm5/utils/errors.js +12 -0
  203. package/esm5/utils/favicon.js +47 -0
  204. package/esm5/utils/form.js +22 -0
  205. package/esm5/utils/public-api.js +11 -0
  206. package/esm5/utils/validators.js +49 -0
  207. package/fesm2015/mtgame-core.js +3749 -0
  208. package/fesm2015/mtgame-core.js.map +1 -0
  209. package/fesm5/mtgame-core.js +4455 -0
  210. package/fesm5/mtgame-core.js.map +1 -0
  211. package/http-cookie.interceptor.d.ts +10 -0
  212. package/localization/basketball-game-log-types.d.ts +25 -0
  213. package/localization/overtime-types.d.ts +6 -0
  214. package/localization/public-api.d.ts +6 -0
  215. package/localization/team-event-type.d.ts +5 -0
  216. package/localization/team-user-role.d.ts +6 -0
  217. package/localization/user-profile.d.ts +45 -0
  218. package/localization/volleyball-game-log-types.d.ts +24 -0
  219. package/models/basketball-game-config.d.ts +22 -0
  220. package/models/basketball-game-log.d.ts +52 -0
  221. package/models/basketball-game-statistic.d.ts +29 -0
  222. package/models/basketball-game-team-statistic.d.ts +8 -0
  223. package/models/basketball-profile.d.ts +20 -0
  224. package/models/basketball-statistic.d.ts +44 -0
  225. package/models/city.d.ts +7 -0
  226. package/models/file.d.ts +14 -0
  227. package/models/game-invite.d.ts +16 -0
  228. package/models/game-log-base.d.ts +10 -0
  229. package/models/game-statistic-base.d.ts +3 -0
  230. package/models/game-timeline-stages.d.ts +18 -0
  231. package/models/game-user.d.ts +12 -0
  232. package/models/game.d.ts +56 -0
  233. package/models/league-court.d.ts +9 -0
  234. package/models/league.d.ts +25 -0
  235. package/models/media-item.d.ts +15 -0
  236. package/models/notification-settings.d.ts +15 -0
  237. package/models/notification.d.ts +98 -0
  238. package/models/organization.d.ts +9 -0
  239. package/models/playoff.d.ts +25 -0
  240. package/models/poll.d.ts +46 -0
  241. package/models/public-api.d.ts +50 -0
  242. package/models/sport.d.ts +19 -0
  243. package/models/team-event-invite.d.ts +12 -0
  244. package/models/team-event-type.d.ts +4 -0
  245. package/models/team-event.d.ts +17 -0
  246. package/models/team-invite-external.d.ts +10 -0
  247. package/models/team-invite.d.ts +20 -0
  248. package/models/team-user.d.ts +18 -0
  249. package/models/team.d.ts +21 -0
  250. package/models/tournament-disqualification.d.ts +10 -0
  251. package/models/tournament-event.d.ts +16 -0
  252. package/models/tournament-group.d.ts +10 -0
  253. package/models/tournament-invite.d.ts +17 -0
  254. package/models/tournament-join-team.d.ts +19 -0
  255. package/models/tournament-news.d.ts +13 -0
  256. package/models/tournament-stage-team.d.ts +21 -0
  257. package/models/tournament-stage.d.ts +15 -0
  258. package/models/tournament-team-user-invite.d.ts +11 -0
  259. package/models/tournament-team-user.d.ts +22 -0
  260. package/models/tournament-team.d.ts +28 -0
  261. package/models/tournament.d.ts +87 -0
  262. package/models/user-profile.d.ts +8 -0
  263. package/models/user.d.ts +33 -0
  264. package/models/util.d.ts +49 -0
  265. package/models/volleyball-game-config.d.ts +17 -0
  266. package/models/volleyball-game-log.d.ts +54 -0
  267. package/models/volleyball-game-statistic.d.ts +28 -0
  268. package/models/volleyball-game-team-statistic.d.ts +8 -0
  269. package/models/volleyball-profile.d.ts +20 -0
  270. package/models/volleyball-statistic.d.ts +43 -0
  271. package/mtgame-core.d.ts +4 -0
  272. package/mtgame-core.metadata.json +1 -0
  273. package/package.json +23 -0
  274. package/public-api.d.ts +7 -0
  275. package/services/base.service.d.ts +5 -0
  276. package/services/centrifugo.service.d.ts +20 -0
  277. package/services/config.service.d.ts +11 -0
  278. package/services/public-api.d.ts +3 -0
  279. package/storage/local-storage-engine.d.ts +6 -0
  280. package/storage/public-api.d.ts +3 -0
  281. package/storage/storage-engine.d.ts +24 -0
  282. package/storage/store.d.ts +21 -0
  283. package/utils/array.d.ts +2 -0
  284. package/utils/component-destroyed.d.ts +7 -0
  285. package/utils/cookie.d.ts +1 -0
  286. package/utils/data.d.ts +6 -0
  287. package/utils/device.d.ts +1 -0
  288. package/utils/enum.d.ts +1 -0
  289. package/utils/errors.d.ts +1 -0
  290. package/utils/favicon.d.ts +9 -0
  291. package/utils/form.d.ts +2 -0
  292. package/utils/public-api.d.ts +10 -0
  293. package/utils/validators.d.ts +25 -0
@@ -0,0 +1,66 @@
1
+ import { __decorate } from "tslib";
2
+ import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';
3
+ import { Team } from './team';
4
+ import { TournamentTeamUser } from './tournament-team-user';
5
+ import { TeamUser } from './team-user';
6
+ import { TournamentTeam } from './tournament-team';
7
+ import { User } from './user';
8
+ let VolleyballStatistic = class VolleyballStatistic extends BaseModel {
9
+ static toFront(data) { }
10
+ static toBack(data) { }
11
+ };
12
+ __decorate([
13
+ ToFrontHook
14
+ ], VolleyballStatistic, "toFront", null);
15
+ __decorate([
16
+ ToBackHook
17
+ ], VolleyballStatistic, "toBack", null);
18
+ VolleyballStatistic = __decorate([
19
+ ModelInstance({
20
+ mappingFields: {
21
+ team: 'team',
22
+ team_user: 'teamUser',
23
+ tournament_team_user: 'tournamentTeamUser',
24
+ tournament_team: 'tournamentTeam',
25
+ user: 'user',
26
+ month: 'month',
27
+ win_lose: 'winLose',
28
+ games_count: 'gamesCount',
29
+ won_games_count: 'wonGamesCount',
30
+ serve_hits: 'serveHits',
31
+ serve_faults: 'serveFaults',
32
+ serve_aces: 'serveAces',
33
+ serve_percent: 'servePercent',
34
+ ace_percent: 'acePercent',
35
+ stuff_blocks: 'stuffBlocks',
36
+ block_faults: 'blockFaults',
37
+ block_rebounds: 'blockRebounds',
38
+ block_percent: 'blockPercent',
39
+ attack_spikes: 'attackSpikes',
40
+ attack_faults: 'attackFaults',
41
+ attack_shots: 'attackShots',
42
+ attack_percent: 'attackPercent',
43
+ receives: 'receives',
44
+ receive_faults: 'receiveFaults',
45
+ excellent_receives: 'excellentReceives',
46
+ receive_percent: 'receivePercent',
47
+ serve_receives: 'serveReceives',
48
+ serve_receive_faults: 'serveReceiveFaults',
49
+ excellent_serve_receives: 'excellentServeReceives',
50
+ serve_receive_percent: 'serveReceivePercent',
51
+ points: 'points',
52
+ faults: 'faults',
53
+ newbie: 'newbie',
54
+ },
55
+ relation: {
56
+ team: Team,
57
+ teamUser: TeamUser,
58
+ tournamentTeamUser: TournamentTeamUser,
59
+ tournamentTeam: TournamentTeam,
60
+ user: User,
61
+ month: DateField,
62
+ }
63
+ })
64
+ ], VolleyballStatistic);
65
+ export { VolleyballStatistic };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sbGV5YmFsbC1zdGF0aXN0aWMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtb2RlbHMvdm9sbGV5YmFsbC1zdGF0aXN0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQStDOUIsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBb0IsU0FBUSxTQUFTO0lBb0NoRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVMsSUFBUSxDQUFDO0lBR2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBUyxJQUFRLENBQUM7Q0FDakMsQ0FBQTtBQUpDO0lBREMsV0FBVzt3Q0FDcUI7QUFHakM7SUFEQyxVQUFVO3VDQUNxQjtBQXZDckIsbUJBQW1CO0lBN0MvQixhQUFhLENBQUM7UUFDYixhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQyxlQUFlLEVBQUUsZ0JBQWdCO1lBQ2pDLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsU0FBUztZQUNuQixXQUFXLEVBQUUsWUFBWTtZQUN6QixlQUFlLEVBQUUsZUFBZTtZQUNoQyxVQUFVLEVBQUUsV0FBVztZQUN2QixZQUFZLEVBQUUsYUFBYTtZQUMzQixVQUFVLEVBQUUsV0FBVztZQUN2QixhQUFhLEVBQUUsY0FBYztZQUM3QixXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsYUFBYTtZQUMzQixZQUFZLEVBQUUsYUFBYTtZQUMzQixjQUFjLEVBQUUsZUFBZTtZQUMvQixhQUFhLEVBQUUsY0FBYztZQUM3QixhQUFhLEVBQUUsY0FBYztZQUM3QixhQUFhLEVBQUUsY0FBYztZQUM3QixZQUFZLEVBQUUsYUFBYTtZQUMzQixjQUFjLEVBQUUsZUFBZTtZQUMvQixRQUFRLEVBQUUsVUFBVTtZQUNwQixjQUFjLEVBQUUsZUFBZTtZQUMvQixrQkFBa0IsRUFBRSxtQkFBbUI7WUFDdkMsZUFBZSxFQUFFLGdCQUFnQjtZQUNqQyxjQUFjLEVBQUUsZUFBZTtZQUMvQixvQkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMsd0JBQXdCLEVBQUUsd0JBQXdCO1lBQ2xELHFCQUFxQixFQUFFLHFCQUFxQjtZQUM1QyxNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsUUFBUTtTQUNqQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7WUFDbEIsa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLFNBQVM7U0FDakI7S0FDRixDQUFDO0dBQ1csbUJBQW1CLENBd0MvQjtTQXhDWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlRmllbGQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbS11c2VyJztcbmltcG9ydCB7IFRlYW1Vc2VyIH0gZnJvbSAnLi90ZWFtLXVzZXInO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW0gfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgdGVhbTogJ3RlYW0nLFxuICAgIHRlYW1fdXNlcjogJ3RlYW1Vc2VyJyxcbiAgICB0b3VybmFtZW50X3RlYW1fdXNlcjogJ3RvdXJuYW1lbnRUZWFtVXNlcicsXG4gICAgdG91cm5hbWVudF90ZWFtOiAndG91cm5hbWVudFRlYW0nLFxuICAgIHVzZXI6ICd1c2VyJyxcbiAgICBtb250aDogJ21vbnRoJyxcbiAgICB3aW5fbG9zZTogJ3dpbkxvc2UnLFxuICAgIGdhbWVzX2NvdW50OiAnZ2FtZXNDb3VudCcsXG4gICAgd29uX2dhbWVzX2NvdW50OiAnd29uR2FtZXNDb3VudCcsXG4gICAgc2VydmVfaGl0czogJ3NlcnZlSGl0cycsXG4gICAgc2VydmVfZmF1bHRzOiAnc2VydmVGYXVsdHMnLFxuICAgIHNlcnZlX2FjZXM6ICdzZXJ2ZUFjZXMnLFxuICAgIHNlcnZlX3BlcmNlbnQ6ICdzZXJ2ZVBlcmNlbnQnLFxuICAgIGFjZV9wZXJjZW50OiAnYWNlUGVyY2VudCcsXG4gICAgc3R1ZmZfYmxvY2tzOiAnc3R1ZmZCbG9ja3MnLFxuICAgIGJsb2NrX2ZhdWx0czogJ2Jsb2NrRmF1bHRzJyxcbiAgICBibG9ja19yZWJvdW5kczogJ2Jsb2NrUmVib3VuZHMnLFxuICAgIGJsb2NrX3BlcmNlbnQ6ICdibG9ja1BlcmNlbnQnLFxuICAgIGF0dGFja19zcGlrZXM6ICdhdHRhY2tTcGlrZXMnLFxuICAgIGF0dGFja19mYXVsdHM6ICdhdHRhY2tGYXVsdHMnLFxuICAgIGF0dGFja19zaG90czogJ2F0dGFja1Nob3RzJyxcbiAgICBhdHRhY2tfcGVyY2VudDogJ2F0dGFja1BlcmNlbnQnLFxuICAgIHJlY2VpdmVzOiAncmVjZWl2ZXMnLFxuICAgIHJlY2VpdmVfZmF1bHRzOiAncmVjZWl2ZUZhdWx0cycsXG4gICAgZXhjZWxsZW50X3JlY2VpdmVzOiAnZXhjZWxsZW50UmVjZWl2ZXMnLFxuICAgIHJlY2VpdmVfcGVyY2VudDogJ3JlY2VpdmVQZXJjZW50JyxcbiAgICBzZXJ2ZV9yZWNlaXZlczogJ3NlcnZlUmVjZWl2ZXMnLFxuICAgIHNlcnZlX3JlY2VpdmVfZmF1bHRzOiAnc2VydmVSZWNlaXZlRmF1bHRzJyxcbiAgICBleGNlbGxlbnRfc2VydmVfcmVjZWl2ZXM6ICdleGNlbGxlbnRTZXJ2ZVJlY2VpdmVzJyxcbiAgICBzZXJ2ZV9yZWNlaXZlX3BlcmNlbnQ6ICdzZXJ2ZVJlY2VpdmVQZXJjZW50JyxcbiAgICBwb2ludHM6ICdwb2ludHMnLFxuICAgIGZhdWx0czogJ2ZhdWx0cycsXG4gICAgbmV3YmllOiAnbmV3YmllJyxcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICB0ZWFtOiBUZWFtLFxuICAgIHRlYW1Vc2VyOiBUZWFtVXNlcixcbiAgICB0b3VybmFtZW50VGVhbVVzZXI6IFRvdXJuYW1lbnRUZWFtVXNlcixcbiAgICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW0sXG4gICAgdXNlcjogVXNlcixcbiAgICBtb250aDogRGF0ZUZpZWxkLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFZvbGxleWJhbGxTdGF0aXN0aWMgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICB0ZWFtOiBUZWFtO1xuICB0ZWFtVXNlcjogVGVhbVVzZXI7XG4gIHRvdXJuYW1lbnRUZWFtVXNlcjogVG91cm5hbWVudFRlYW1Vc2VyO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW07XG4gIHVzZXI6IFVzZXI7XG4gIG1vbnRoOiBEYXRlO1xuICB3aW5Mb3NlOiBib29sZWFuO1xuICBnYW1lc0NvdW50OiBudW1iZXI7XG4gIHdvbkdhbWVzQ291bnQ6IG51bWJlcjtcbiAgc2VydmVIaXRzOiBudW1iZXI7XG4gIHNlcnZlRmF1bHRzOiBudW1iZXI7XG4gIHNlcnZlQWNlczogbnVtYmVyO1xuICBzZXJ2ZVBlcmNlbnQ6IG51bWJlcjtcbiAgYWNlUGVyY2VudDogbnVtYmVyO1xuICBzdHVmZkJsb2NrczogbnVtYmVyO1xuICBibG9ja0ZhdWx0czogbnVtYmVyO1xuICBibG9ja1JlYm91bmRzOiBudW1iZXI7XG4gIGJsb2NrUGVyY2VudDogbnVtYmVyO1xuICBhdHRhY2tTcGlrZXM6IG51bWJlcjtcbiAgYXR0YWNrRmF1bHRzOiBudW1iZXI7XG4gIGF0dGFja1Nob3RzOiBudW1iZXI7XG4gIGF0dGFja1BlcmNlbnQ6IG51bWJlcjtcbiAgcmVjZWl2ZXM6IG51bWJlcjtcbiAgcmVjZWl2ZUZhdWx0czogbnVtYmVyO1xuICBleGNlbGxlbnRSZWNlaXZlczogbnVtYmVyO1xuICByZWNlaXZlUGVyY2VudDogbnVtYmVyO1xuICBzZXJ2ZVJlY2VpdmVzOiBudW1iZXI7XG4gIHNlcnZlUmVjZWl2ZUZhdWx0czogbnVtYmVyO1xuICBleGNlbGxlbnRTZXJ2ZVJlY2VpdmVzOiBudW1iZXI7XG4gIHNlcnZlUmVjZWl2ZVBlcmNlbnQ6IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIGZhdWx0czogbnVtYmVyO1xuICBuZXdiaWU6IGJvb2xlYW47XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXRnYW1lLWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtdGdhbWUtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,8 @@
1
+ export * from './api/public-api';
2
+ export * from './localization/public-api';
3
+ export * from './models/public-api';
4
+ export * from './services/public-api';
5
+ export * from './storage/public-api';
6
+ export * from './utils/public-api';
7
+ export { HttpCookieInterceptor } from './http-cookie.interceptor';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwaS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9wdWJsaWMtYXBpJztcbmV4cG9ydCB7IEh0dHBDb29raWVJbnRlcmNlcHRvciB9IGZyb20gJy4vaHR0cC1jb29raWUuaW50ZXJjZXB0b3InO1xuIl19
@@ -0,0 +1,18 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { Store } from '../storage/store';
4
+ import * as i0 from "@angular/core";
5
+ let BaseService = class BaseService {
6
+ constructor() {
7
+ this.store = new Store();
8
+ }
9
+ dispose() {
10
+ this.store.dispose();
11
+ }
12
+ };
13
+ BaseService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BaseService_Factory() { return new BaseService(); }, token: BaseService, providedIn: "root" });
14
+ BaseService = __decorate([
15
+ Injectable({ providedIn: 'root' })
16
+ ], BaseService);
17
+ export { BaseService };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsic2VydmljZXMvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHekMsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBVztJQUF4QjtRQUNZLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0tBSy9CO0lBSEMsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUNGLENBQUE7O0FBTlksV0FBVztJQUR2QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7R0FDcEIsV0FBVyxDQU12QjtTQU5ZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL3N0b3JhZ2Uvc3RvcmUnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZSB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IG5ldyBTdG9yZSgpO1xuXG4gIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwb3NlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,107 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { Subject } from 'rxjs/internal/Subject';
5
+ import { ReplaySubject } from 'rxjs/internal/ReplaySubject';
6
+ import * as Centrifuge from 'centrifuge';
7
+ import { Observable } from 'rxjs';
8
+ import { ConfigService } from './config.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ import * as i2 from "./config.service";
12
+ let CentrifugoService = class CentrifugoService {
13
+ constructor(httpClient, configService) {
14
+ this.httpClient = httpClient;
15
+ this.configService = configService;
16
+ this.channels$ = {};
17
+ this.subscriptions = {};
18
+ }
19
+ listen(channel) {
20
+ if (channel in this.channels$) {
21
+ return this.channels$[channel];
22
+ }
23
+ this.channels$[channel] = new Subject();
24
+ const subscription = this.connect().subscribe(connected => {
25
+ this.subscriptions[channel] = this.addEngineSubscription(channel);
26
+ setTimeout(() => {
27
+ subscription.unsubscribe();
28
+ });
29
+ });
30
+ return this.channels$[channel];
31
+ }
32
+ unsubscribe(channel) {
33
+ if (this.subscriptions[channel]) {
34
+ this.subscriptions[channel].unsubscribe();
35
+ delete this.subscriptions[channel];
36
+ }
37
+ if (this.channels$[channel]) {
38
+ this.channels$[channel].complete();
39
+ delete this.channels$[channel];
40
+ }
41
+ }
42
+ connect() {
43
+ if (!this.initializeEngineSubject) {
44
+ this.initializeEngineSubject = new ReplaySubject(1);
45
+ this.httpClient.get('/api/v1/centrifugo/')
46
+ .subscribe(config => {
47
+ this.initializeEngine({
48
+ url: this.configService.get('centrifugoUrl'),
49
+ user: config.user,
50
+ timestamp: config.timestamp,
51
+ token: config.token,
52
+ transports: ['websocket']
53
+ });
54
+ this.centrifuge.connect();
55
+ this.centrifuge.on('connect', () => {
56
+ this.initializeEngineSubject.next(true);
57
+ });
58
+ });
59
+ }
60
+ return this.initializeEngineSubject;
61
+ }
62
+ publish(channel, message) {
63
+ return new Observable(observer => {
64
+ this.connect().subscribe(() => {
65
+ if (!this.subscriptions[channel]) {
66
+ this.subscriptions[channel] = this.addEngineSubscription(channel);
67
+ }
68
+ this.subscriptions[channel].publish(message).then(res => {
69
+ observer.next(res);
70
+ observer.complete();
71
+ }, error => {
72
+ throw error;
73
+ });
74
+ });
75
+ });
76
+ }
77
+ disconnect() {
78
+ this.centrifuge.disconnect();
79
+ this.initializeEngineSubject = undefined;
80
+ this.channels$ = {};
81
+ this.subscriptions = {};
82
+ }
83
+ initializeEngine(config) {
84
+ console.log(config);
85
+ this.centrifuge = new Centrifuge(config);
86
+ }
87
+ addEngineSubscription(channel) {
88
+ return this.centrifuge.subscribe(channel, this.resolveMessage.bind(this));
89
+ }
90
+ resolveMessage(response) {
91
+ const channel = response.channel;
92
+ if (!this.channels$[channel]) {
93
+ return;
94
+ }
95
+ this.channels$[channel].next(response.data);
96
+ }
97
+ };
98
+ CentrifugoService.ctorParameters = () => [
99
+ { type: HttpClient },
100
+ { type: ConfigService }
101
+ ];
102
+ CentrifugoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CentrifugoService_Factory() { return new CentrifugoService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: CentrifugoService, providedIn: "root" });
103
+ CentrifugoService = __decorate([
104
+ Injectable({ providedIn: 'root' })
105
+ ], CentrifugoService);
106
+ export { CentrifugoService };
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsic2VydmljZXMvY2VudHJpZnVnby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBTTVCLFlBQ1UsVUFBc0IsRUFDdEIsYUFBNEI7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVA5QixjQUFTLEdBQW9DLEVBQUUsQ0FBQztRQUNoRCxrQkFBYSxHQUEyQixFQUFFLENBQUM7SUFPL0MsQ0FBQztJQUVMLE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FB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QUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQU14QjtRQUNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8scUJBQXFCLENBQUMsT0FBZTtRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBYTtRQUNsQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YsQ0FBQTs7WUFwR3VCLFVBQVU7WUFDUCxhQUFhOzs7QUFSM0IsaUJBQWlCO0lBRDdCLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztHQUNwQixpQkFBaUIsQ0EyRzdCO1NBM0dZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL1N1YmplY3QnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdCc7XG5cbmltcG9ydCAqIGFzIENlbnRyaWZ1Z2UgZnJvbSAnY2VudHJpZnVnZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XG5cbmludGVyZmFjZSBDZW50cmlmdWdvQ29uZmlnIHtcbiAgdXNlcjogc3RyaW5nO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ2VudHJpZnVnb1NlcnZpY2Uge1xuICBwcml2YXRlIGNoYW5uZWxzJDogeyBba2V5OiBzdHJpbmddOiBTdWJqZWN0PGFueT4gfSA9IHt9O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgcHJpdmF0ZSBjZW50cmlmdWdlO1xuICBwcml2YXRlIGluaXRpYWxpemVFbmdpbmVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkgeyB9XG5cbiAgbGlzdGVuKGNoYW5uZWwpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChjaGFubmVsIGluIHRoaXMuY2hhbm5lbHMkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jb25uZWN0KCkuc3Vic2NyaWJlKGNvbm5lY3RlZCA9PiB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0gPSB0aGlzLmFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdO1xuICB9XG5cbiAgdW5zdWJzY3JpYmUoY2hhbm5lbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXS51bnN1YnNjcmliZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdKSB7XG4gICAgICB0aGlzLmNoYW5uZWxzJFtjaGFubmVsXS5jb21wbGV0ZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdO1xuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0KSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG5cbiAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8Q2VudHJpZnVnb0NvbmZpZz4oJy9hcGkvdjEvY2VudHJpZnVnby8nKVxuICAgICAgICAuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lKHtcbiAgICAgICAgICAgIHVybDogdGhpcy5jb25maWdTZXJ2aWNlLmdldCgnY2VudHJpZnVnb1VybCcpLFxuICAgICAgICAgICAgdXNlcjogY29uZmlnLnVzZXIsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IGNvbmZpZy50aW1lc3RhbXAsXG4gICAgICAgICAgICB0b2tlbjogY29uZmlnLnRva2VuLFxuICAgICAgICAgICAgdHJhbnNwb3J0czogWyd3ZWJzb2NrZXQnXVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2VudHJpZnVnZS5jb25uZWN0KCk7XG4gICAgICAgICAgdGhpcy5jZW50cmlmdWdlLm9uKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdDtcbiAgfVxuXG4gIHB1Ymxpc2goY2hhbm5lbDogc3RyaW5nLCBtZXNzYWdlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdKSB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdID0gdGhpcy5hZGRFbmdpbmVTdWJzY3JpcHRpb24oY2hhbm5lbCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdLnB1Ymxpc2gobWVzc2FnZSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuY2VudHJpZnVnZS5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5pbml0aWFsaXplRW5naW5lU3ViamVjdCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoYW5uZWxzJCA9IHt9O1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRW5naW5lKGNvbmZpZzoge1xuICAgIHVybDogc3RyaW5nLFxuICAgIHVzZXI6IHN0cmluZyxcbiAgICB0aW1lc3RhbXA6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIHRyYW5zcG9ydHM6IHN0cmluZ1tdXG4gIH0pOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhjb25maWcpO1xuICAgIHRoaXMuY2VudHJpZnVnZSA9IG5ldyBDZW50cmlmdWdlKGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNlbnRyaWZ1Z2Uuc3Vic2NyaWJlKGNoYW5uZWwsIHRoaXMucmVzb2x2ZU1lc3NhZ2UuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVNZXNzYWdlKHJlc3BvbnNlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFubmVsID0gcmVzcG9uc2UuY2hhbm5lbDtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0ubmV4dChyZXNwb25zZS5kYXRhKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Inject, Injectable, Optional } from '@angular/core';
3
+ import { BaseService } from './base.service';
4
+ import * as i0 from "@angular/core";
5
+ const CONFIG_STORE_KEY = 'config';
6
+ export const CONFIG_DATA = 'mtg-core-config-data';
7
+ let ConfigService = class ConfigService extends BaseService {
8
+ constructor(configData) {
9
+ super();
10
+ this.configData = configData;
11
+ if (configData) {
12
+ this.initialize(configData);
13
+ }
14
+ }
15
+ get config$() {
16
+ return this.store.get(CONFIG_STORE_KEY);
17
+ }
18
+ get config() {
19
+ return this.store.value(CONFIG_STORE_KEY) || {};
20
+ }
21
+ initialize(data) {
22
+ this.store.save(CONFIG_STORE_KEY, data);
23
+ }
24
+ set(key, value) {
25
+ this.store.save(CONFIG_STORE_KEY, Object.assign(Object.assign({}, this.config), { [key]: value }));
26
+ }
27
+ get(key) {
28
+ return this.store.value(CONFIG_STORE_KEY) && this.store.value(CONFIG_STORE_KEY)[key];
29
+ }
30
+ };
31
+ ConfigService.ctorParameters = () => [
32
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [CONFIG_DATA,] }] }
33
+ ];
34
+ ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject("mtg-core-config-data", 8)); }, token: ConfigService, providedIn: "root" });
35
+ ConfigService = __decorate([
36
+ Injectable({ providedIn: 'root' }),
37
+ __param(0, Optional()), __param(0, Inject(CONFIG_DATA))
38
+ ], ConfigService);
39
+ export { ConfigService };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0MsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDO0FBR2xELElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWMsU0FBUSxXQUFXO0lBQzVDLFlBQzJDLFVBQWU7UUFFeEQsS0FBSyxFQUFFLENBQUM7UUFGaUMsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUd4RCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixrQ0FDM0IsSUFBSSxDQUFDLE1BQU0sS0FDZCxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUNGLENBQUE7OzRDQTlCSSxRQUFRLFlBQUksTUFBTSxTQUFDLFdBQVc7OztBQUZ0QixhQUFhO0lBRHpCLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztJQUc1QixXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7R0FGdkIsYUFBYSxDQWdDekI7U0FoQ1ksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuXG5jb25zdCBDT05GSUdfU1RPUkVfS0VZID0gJ2NvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBDT05GSUdfREFUQSA9ICdtdGctY29yZS1jb25maWctZGF0YSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ09ORklHX0RBVEEpIHByaXZhdGUgY29uZmlnRGF0YTogYW55XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKGNvbmZpZ0RhdGEpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZShjb25maWdEYXRhKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZmlnJCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXQoQ09ORklHX1NUT1JFX0tFWSk7XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnZhbHVlKENPTkZJR19TVE9SRV9LRVkpIHx8IHt9O1xuICB9XG5cbiAgaW5pdGlhbGl6ZShkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLnNhdmUoQ09ORklHX1NUT1JFX0tFWSwgZGF0YSk7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLnNhdmUoQ09ORklHX1NUT1JFX0tFWSwge1xuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICBba2V5XTogdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGdldChrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUudmFsdWUoQ09ORklHX1NUT1JFX0tFWSkgJiYgdGhpcy5zdG9yZS52YWx1ZShDT05GSUdfU1RPUkVfS0VZKVtrZXldO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export { BaseService } from './base.service';
2
+ export { CentrifugoService } from './centrifugo.service';
3
+ export { ConfigService, CONFIG_DATA } from './config.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmV4cG9ydCB7IENlbnRyaWZ1Z29TZXJ2aWNlIH0gZnJvbSAnLi9jZW50cmlmdWdvLnNlcnZpY2UnO1xuZXhwb3J0IHsgQ29uZmlnU2VydmljZSwgQ09ORklHX0RBVEEgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { StorageEngine } from './storage-engine';
2
+ export class LocalStorageEngine extends StorageEngine {
3
+ setItem(key, value) {
4
+ localStorage.setItem(key, JSON.stringify(value));
5
+ }
6
+ getItem(key) {
7
+ try {
8
+ return JSON.parse(localStorage.getItem(key));
9
+ }
10
+ catch (e) {
11
+ return;
12
+ }
13
+ }
14
+ removeItem(key) {
15
+ localStorage.removeItem(key);
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS1lbmdpbmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJzdG9yYWdlL2xvY2FsLXN0b3JhZ2UtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQUN6QyxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFUyxPQUFPLENBQUMsR0FBVztRQUMzQixJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM5QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTztTQUNSO0lBQ0gsQ0FBQztJQUVTLFVBQVUsQ0FBQyxHQUFXO1FBQzlCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RvcmFnZUVuZ2luZSB9IGZyb20gJy4vc3RvcmFnZS1lbmdpbmUnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlRW5naW5lIGV4dGVuZHMgU3RvcmFnZUVuZ2luZSB7XG4gIHByb3RlY3RlZCBzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './local-storage-engine';
2
+ export * from './storage-engine';
3
+ export * from './store';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInN0b3JhZ2UvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xvY2FsLXN0b3JhZ2UtZW5naW5lJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS1lbmdpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZSc7XG4iXX0=
@@ -0,0 +1,61 @@
1
+ export class StorageEngineField {
2
+ constructor(defaultValue, modelClass) {
3
+ this.modelClass = modelClass;
4
+ this.defaultValue = defaultValue;
5
+ }
6
+ toFront(value) {
7
+ if (this.modelClass) {
8
+ return this.modelClass.toFront(value);
9
+ }
10
+ return value;
11
+ }
12
+ toBack(value) {
13
+ if (this.modelClass) {
14
+ return this.modelClass.toBack(value);
15
+ }
16
+ return value;
17
+ }
18
+ }
19
+ export class StorageEngine {
20
+ constructor(name, fields) {
21
+ this.name = name;
22
+ this.fields = fields;
23
+ }
24
+ addField(key, field) {
25
+ this.fields[key] = field;
26
+ }
27
+ save(key, value) {
28
+ if (!this.fields[key]) {
29
+ return;
30
+ }
31
+ this.setItem(`${this.name}_${key}`, this.fields[key].toBack(value));
32
+ }
33
+ get(key) {
34
+ if (!this.fields[key]) {
35
+ return;
36
+ }
37
+ let value = this.getItem(`${this.name}_${key}`);
38
+ if (value === null) {
39
+ value = this.fields[key].defaultValue;
40
+ }
41
+ if (value === null || value === undefined) {
42
+ return value;
43
+ }
44
+ return this.fields[key].toFront(value);
45
+ }
46
+ clear() {
47
+ for (const field of Object.keys(this.fields)) {
48
+ this.removeItem(field);
49
+ }
50
+ }
51
+ getItem(key) {
52
+ throw new Error(`Function getItem for store engine ${typeof this} not implemented`);
53
+ }
54
+ setItem(key, value) {
55
+ throw new Error(`Function setItem for store engine ${typeof this} not implemented`);
56
+ }
57
+ removeItem(key) {
58
+ throw new Error(`Function deleteItem for store engine ${typeof this} not implemented`);
59
+ }
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1lbmdpbmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJzdG9yYWdlL3N0b3JhZ2UtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBWSxZQUFrQixFQUFZLFVBQTJCO1FBQTNCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQ25FLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBZ0IsYUFBYTtJQUNqQyxZQUFzQixJQUFZLEVBQVksTUFBMkM7UUFBbkUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFZLFdBQU0sR0FBTixNQUFNLENBQXFDO0lBQ3pGLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVyxFQUFFLEtBQXlCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDdkM7UUFDRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSztRQUNILEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFUyxPQUFPLENBQUMsR0FBVztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxPQUFPLElBQUksa0JBQWtCLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRVMsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFUyxVQUFVLENBQUMsR0FBVztRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxPQUFPLElBQUksa0JBQWtCLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEludGVyZmFjZSB9IGZyb20gJy4uL21vZGVscy91dGlsJztcblxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VFbmdpbmVGaWVsZCB7XG4gIGRlZmF1bHRWYWx1ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRWYWx1ZT86IGFueSwgcHJvdGVjdGVkIG1vZGVsQ2xhc3M/OiBNb2RlbEludGVyZmFjZSkge1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgdG9Gcm9udCh2YWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAodGhpcy5tb2RlbENsYXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbENsYXNzLnRvRnJvbnQodmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICB0b0JhY2sodmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHRoaXMubW9kZWxDbGFzcykge1xuICAgICAgcmV0dXJuIHRoaXMubW9kZWxDbGFzcy50b0JhY2sodmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0b3JhZ2VFbmdpbmUge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLCBwcm90ZWN0ZWQgZmllbGRzOiB7W2tleTogc3RyaW5nXTogU3RvcmFnZUVuZ2luZUZpZWxkfSkge1xuICB9XG5cbiAgYWRkRmllbGQoa2V5OiBzdHJpbmcsIGZpZWxkOiBTdG9yYWdlRW5naW5lRmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkc1trZXldID0gZmllbGQ7XG4gIH1cblxuICBzYXZlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZpZWxkc1trZXldKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2V0SXRlbShgJHt0aGlzLm5hbWV9XyR7a2V5fWAsIHRoaXMuZmllbGRzW2tleV0udG9CYWNrKHZhbHVlKSk7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICghdGhpcy5maWVsZHNba2V5XSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgdmFsdWUgPSB0aGlzLmdldEl0ZW0oYCR7dGhpcy5uYW1lfV8ke2tleX1gKTtcbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5maWVsZHNba2V5XS5kZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpZWxkc1trZXldLnRvRnJvbnQodmFsdWUpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3Qua2V5cyh0aGlzLmZpZWxkcykpIHtcbiAgICAgIHRoaXMucmVtb3ZlSXRlbShmaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRnVuY3Rpb24gZ2V0SXRlbSBmb3Igc3RvcmUgZW5naW5lICR7dHlwZW9mIHRoaXN9IG5vdCBpbXBsZW1lbnRlZGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRnVuY3Rpb24gc2V0SXRlbSBmb3Igc3RvcmUgZW5naW5lICR7dHlwZW9mIHRoaXN9IG5vdCBpbXBsZW1lbnRlZGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZ1bmN0aW9uIGRlbGV0ZUl0ZW0gZm9yIHN0b3JlIGVuZ2luZSAke3R5cGVvZiB0aGlzfSBub3QgaW1wbGVtZW50ZWRgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,63 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { filter } from 'rxjs/operators';
3
+ import { addItemInArray, addItemsInArray, deleteItemFromArray, updateItemInArray, updateItemsInArray } from '../utils/data';
4
+ export class Store {
5
+ constructor(engine) {
6
+ this.engine = engine;
7
+ this.data = {};
8
+ }
9
+ get(key) {
10
+ return this.getSubject(key).pipe(filter(item => item !== undefined));
11
+ }
12
+ value(key) {
13
+ return this.getSubject(key).value;
14
+ }
15
+ save(key, value) {
16
+ this.getSubject(key).next(value);
17
+ if (this.engine) {
18
+ this.engine.save(key, value);
19
+ }
20
+ }
21
+ appendItem(key, value, checkFunction) {
22
+ this.save(key, addItemInArray(this.value(key) || [], value, true, checkFunction));
23
+ }
24
+ appendItems(key, value, checkFunction) {
25
+ this.save(key, addItemsInArray(this.value(key) || [], value, true));
26
+ }
27
+ prependItem(key, value, checkFunction) {
28
+ this.save(key, addItemInArray(this.value(key) || [], value, false, checkFunction));
29
+ }
30
+ prependItems(key, value, checkFunction) {
31
+ this.save(key, addItemsInArray(this.value(key) || [], value, false, checkFunction));
32
+ }
33
+ updateItem(key, value, force, checkFunction) {
34
+ this.save(key, updateItemInArray(this.value(key) || [], value, force, checkFunction));
35
+ }
36
+ updateItems(key, value, force, checkFunction) {
37
+ this.save(key, updateItemsInArray(this.value(key) || [], value, force, checkFunction));
38
+ }
39
+ deleteItem(key, value) {
40
+ this.save(key, deleteItemFromArray(this.value(key) || [], value));
41
+ }
42
+ dispose() {
43
+ for (const key of Object.keys(this.data)) {
44
+ this.data[key].complete();
45
+ delete this.data[key];
46
+ }
47
+ }
48
+ clearStorageData() {
49
+ if (this.engine) {
50
+ this.engine.clear();
51
+ }
52
+ }
53
+ getEngine() {
54
+ return this.engine;
55
+ }
56
+ getSubject(key) {
57
+ if (!this.data[key]) {
58
+ this.data[key] = new BehaviorSubject(this.engine ? this.engine.get(key) : undefined);
59
+ }
60
+ return this.data[key];
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJzdG9yYWdlL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVILE1BQU0sT0FBTyxLQUFLO0lBR2hCLFlBQW9CLE1BQXNCO1FBQXRCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRmxDLFNBQUksR0FBMEMsRUFBRSxDQUFDO0lBR3pELENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFXO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxhQUFzQztRQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcs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QUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgYWRkSXRlbUluQXJyYXksIGFkZEl0ZW1zSW5BcnJheSwgZGVsZXRlSXRlbUZyb21BcnJheSwgdXBkYXRlSXRlbUluQXJyYXksIHVwZGF0ZUl0ZW1zSW5BcnJheSB9IGZyb20gJy4uL3V0aWxzL2RhdGEnO1xuaW1wb3J0IHsgU3RvcmFnZUVuZ2luZSB9IGZyb20gJy4vc3RvcmFnZS1lbmdpbmUnO1xuXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuICBwcml2YXRlIGRhdGE6IHtba2V5OiBzdHJpbmddOiBCZWhhdmlvclN1YmplY3Q8YW55Pn0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVuZ2luZT86IFN0b3JhZ2VFbmdpbmUpIHtcbiAgfVxuXG4gIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3ViamVjdChrZXkpLnBpcGUoZmlsdGVyKGl0ZW0gPT4gaXRlbSAhPT0gdW5kZWZpbmVkKSk7XG4gIH1cblxuICB2YWx1ZShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3ViamVjdChrZXkpLnZhbHVlO1xuICB9XG5cbiAgc2F2ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3ViamVjdChrZXkpLm5leHQodmFsdWUpO1xuICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgdGhpcy5lbmdpbmUuc2F2ZShrZXksIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBhcHBlbmRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBjaGVja0Z1bmN0aW9uPzogKGl0ZW06IGFueSkgPT4gYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2F2ZShrZXksIGFkZEl0ZW1JbkFycmF5KHRoaXMudmFsdWUoa2V5KSB8fCBbXSwgdmFsdWUsIHRydWUsIGNoZWNrRnVuY3Rpb24pKTtcbiAgfVxuXG4gIGFwcGVuZEl0ZW1zKGtleTogc3RyaW5nLCB2YWx1ZTogYW55W10sIGNoZWNrRnVuY3Rpb24/OiAoaXRlbTogYW55KSA9PiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlKGtleSwgYWRkSXRlbXNJbkFycmF5KHRoaXMudmFsdWUoa2V5KSB8fCBbXSwgdmFsdWUsIHRydWUpKTtcbiAgfVxuXG4gIHByZXBlbmRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBjaGVja0Z1bmN0aW9uPzogKGl0ZW06IGFueSkgPT4gYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2F2ZShrZXksIGFkZEl0ZW1JbkFycmF5KHRoaXMudmFsdWUoa2V5KSB8fCBbXSwgdmFsdWUsIGZhbHNlLCBjaGVja0Z1bmN0aW9uKSk7XG4gIH1cblxuICBwcmVwZW5kSXRlbXMoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnlbXSwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmUoa2V5LCBhZGRJdGVtc0luQXJyYXkodGhpcy52YWx1ZShrZXkpIHx8IFtdLCB2YWx1ZSwgZmFsc2UsIGNoZWNrRnVuY3Rpb24pKTtcbiAgfVxuXG4gIHVwZGF0ZUl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIGZvcmNlPzogYm9vbGVhbiwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmUoa2V5LCB1cGRhdGVJdGVtSW5BcnJheSh0aGlzLnZhbHVlKGtleSkgfHwgW10sIHZhbHVlLCBmb3JjZSwgY2hlY2tGdW5jdGlvbikpO1xuICB9XG5cbiAgdXBkYXRlSXRlbXMoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIGZvcmNlPzogYm9vbGVhbiwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmUoa2V5LCB1cGRhdGVJdGVtc0luQXJyYXkodGhpcy52YWx1ZShrZXkpIHx8IFtdLCB2YWx1ZSwgZm9yY2UsIGNoZWNrRnVuY3Rpb24pKTtcbiAgfVxuXG4gIGRlbGV0ZUl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmUoa2V5LCBkZWxldGVJdGVtRnJvbUFycmF5KHRoaXMudmFsdWUoa2V5KSB8fCBbXSwgdmFsdWUpKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5kYXRhKSkge1xuICAgICAgdGhpcy5kYXRhW2tleV0uY29tcGxldGUoKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG4gIH1cblxuICBjbGVhclN0b3JhZ2VEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgdGhpcy5lbmdpbmUuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBnZXRFbmdpbmUoKTogU3RvcmFnZUVuZ2luZSB7XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJqZWN0KGtleTogc3RyaW5nKTogQmVoYXZpb3JTdWJqZWN0PGFueT4ge1xuICAgIGlmICghdGhpcy5kYXRhW2tleV0pIHtcbiAgICAgIHRoaXMuZGF0YVtrZXldID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHRoaXMuZW5naW5lID8gdGhpcy5lbmdpbmUuZ2V0KGtleSkgOiB1bmRlZmluZWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kYXRhW2tleV07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export function generateArray(length) {
2
+ if (length <= 0) {
3
+ return [];
4
+ }
5
+ return Array.apply(null, Array(length)).map((_, i) => i + 1);
6
+ }
7
+ export function getArrayChunks(array, length) {
8
+ const chunks = [];
9
+ const chunkLength = Math.ceil(array.length / length);
10
+ if (chunkLength === 0) {
11
+ return [array];
12
+ }
13
+ for (let i = 0; i < chunkLength; i++) {
14
+ chunks.push(array.slice(i * length, (i + 1) * length));
15
+ }
16
+ return chunks;
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJ1dGlscy9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWM7SUFDMUMsSUFBSSxNQUFNLElBQUksQ0FBQyxFQUFFO1FBQ2YsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVksRUFBRSxNQUFjO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDckQsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQjtJQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztLQUN4RDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBcnJheShsZW5ndGg6IG51bWJlcik6IG51bWJlcltdIHtcbiAgaWYgKGxlbmd0aCA8PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBBcnJheS5hcHBseShudWxsLCBBcnJheShsZW5ndGgpKS5tYXAoKF8sIGkpID0+IGkgKyAxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFycmF5Q2h1bmtzKGFycmF5OiBhbnlbXSwgbGVuZ3RoOiBudW1iZXIpOiBhbnlbXVtdIHtcbiAgY29uc3QgY2h1bmtzID0gW107XG4gIGNvbnN0IGNodW5rTGVuZ3RoID0gTWF0aC5jZWlsKGFycmF5Lmxlbmd0aCAvIGxlbmd0aCk7XG4gIGlmIChjaHVua0xlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbYXJyYXldO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2h1bmtMZW5ndGg7IGkrKykge1xuICAgIGNodW5rcy5wdXNoKGFycmF5LnNsaWNlKGkgKiBsZW5ndGgsIChpICsgMSkgKiBsZW5ndGgpKTtcbiAgfVxuICByZXR1cm4gY2h1bmtzO1xufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Subject } from 'rxjs/internal/Subject';
2
+ export function componentDestroyed(component) {
3
+ if (component.constructor.__componentDestroyed$) {
4
+ return component.constructor.__componentDestroyed$;
5
+ }
6
+ throw new Error('Use @UntilDestroy decorator in class');
7
+ }
8
+ export function UntilDestroy(cmpType) {
9
+ const def = getDef(cmpType);
10
+ const original = def.onDestroy;
11
+ cmpType.__componentDestroyed$ = new Subject();
12
+ def.onDestroy = function () {
13
+ cmpType.__componentDestroyed$.next();
14
+ cmpType.__componentDestroyed$.complete();
15
+ original.apply(this);
16
+ };
17
+ }
18
+ function getDef(type) {
19
+ return type.ɵcmp || type.ɵdir;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWRlc3Ryb3llZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL2NvbXBvbmVudC1kZXN0cm95ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT2hELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUF3QjtJQUN6RCxJQUFLLFNBQVMsQ0FBQyxXQUFtQixDQUFDLHFCQUFxQixFQUFFO1FBQ3hELE9BQVEsU0FBUyxDQUFDLFdBQW1CLENBQUMscUJBQXFCLENBQUM7S0FDN0Q7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBWTtJQUN2QyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBYyxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUksR0FBVyxDQUFDLFNBQVMsQ0FBQztJQUN4QyxPQUFPLENBQUMscUJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNuRCxHQUFXLENBQUMsU0FBUyxHQUFHO1FBQ3ZCLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQ2IsSUFBeUM7SUFFekMsT0FBUSxJQUF5QixDQUFDLElBQUksSUFBSyxJQUF5QixDQUFDLElBQUksQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgybVDb21wb25lbnRUeXBlIGFzIENvbXBvbmVudFR5cGUsXG4gIMm1RGlyZWN0aXZlVHlwZSBhcyBEaXJlY3RpdmVUeXBlLFxuICDJtUNvbXBvbmVudERlZiBhcyBDb21wb25lbnREZWYsXG4gIMm1RGlyZWN0aXZlRGVmIGFzIERpcmVjdGl2ZURlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25EZXN0cm95TGlrZSB7XG4gIG5nT25EZXN0cm95KCk6IHZvaWQ7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudERlc3Ryb3llZChjb21wb25lbnQ6IE9uRGVzdHJveUxpa2UpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgaWYgKChjb21wb25lbnQuY29uc3RydWN0b3IgYXMgYW55KS5fX2NvbXBvbmVudERlc3Ryb3llZCQpIHtcbiAgICByZXR1cm4gKGNvbXBvbmVudC5jb25zdHJ1Y3RvciBhcyBhbnkpLl9fY29tcG9uZW50RGVzdHJveWVkJDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ1VzZSBAVW50aWxEZXN0cm95IGRlY29yYXRvciBpbiBjbGFzcycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVW50aWxEZXN0cm95KGNtcFR5cGU6IGFueSkge1xuICBjb25zdCBkZWYgPSBnZXREZWYoY21wVHlwZSBhcyBhbnkpO1xuICBjb25zdCBvcmlnaW5hbCA9IChkZWYgYXMgYW55KS5vbkRlc3Ryb3k7XG4gIGNtcFR5cGUuX19jb21wb25lbnREZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgKGRlZiBhcyBhbnkpLm9uRGVzdHJveSA9IGZ1bmN0aW9uKCkge1xuICAgIGNtcFR5cGUuX19jb21wb25lbnREZXN0cm95ZWQkLm5leHQoKTtcbiAgICBjbXBUeXBlLl9fY29tcG9uZW50RGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIG9yaWdpbmFsLmFwcGx5KHRoaXMpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXREZWY8VD4oXG4gIHR5cGU6IERpcmVjdGl2ZVR5cGU8VD4gfCBDb21wb25lbnRUeXBlPFQ+XG4pOiBEaXJlY3RpdmVEZWY8VD4gfCBDb21wb25lbnREZWY8VD4ge1xuICByZXR1cm4gKHR5cGUgYXMgQ29tcG9uZW50VHlwZTxUPikuybVjbXAgfHwgKHR5cGUgYXMgRGlyZWN0aXZlVHlwZTxUPikuybVkaXI7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export function getCookie(name) {
2
+ const value = `; ${document.cookie}`;
3
+ const parts = value.split(`; ${name}=`);
4
+ if (parts.length === 2) {
5
+ return parts.pop().split(';').shift();
6
+ }
7
+ return null;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsidXRpbHMvY29va2llLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBWTtJQUNwQyxNQUFNLEtBQUssR0FBRyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN4QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUN2QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRDb29raWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdmFsdWUgPSBgOyAke2RvY3VtZW50LmNvb2tpZX1gO1xuICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KGA7ICR7bmFtZX09YCk7XG4gIGlmIChwYXJ0cy5sZW5ndGggPT09IDIpIHtcbiAgICByZXR1cm4gcGFydHMucG9wKCkuc3BsaXQoJzsnKS5zaGlmdCgpO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuIl19
@@ -0,0 +1,75 @@
1
+ export function updateItemInArray(data, item, force = false, checkFunction) {
2
+ if (!Array.isArray(data)) {
3
+ return data;
4
+ }
5
+ return data.map(v => {
6
+ if (checkFunction && isFunction(checkFunction)) {
7
+ if (!checkFunction(v)) {
8
+ return v;
9
+ }
10
+ }
11
+ else if (v.id !== item.id) {
12
+ return v;
13
+ }
14
+ if (v.updatedAt && item.updatedAt && !force) {
15
+ return v.updatedAt > item.updatedAt ? v : item;
16
+ }
17
+ return item;
18
+ });
19
+ }
20
+ export function updateItemsInArray(data, items, force = false, checkFunction) {
21
+ items.forEach(item => {
22
+ data = updateItemInArray(data, item, force, checkFunction);
23
+ });
24
+ return data;
25
+ }
26
+ export function patchItemInArray(data, item, checkFunction) {
27
+ if (!Array.isArray(data)) {
28
+ return data;
29
+ }
30
+ return data.map(v => {
31
+ if (checkFunction && isFunction(checkFunction)) {
32
+ if (!checkFunction(v)) {
33
+ return v;
34
+ }
35
+ }
36
+ else if (v.id !== item.id) {
37
+ return v;
38
+ }
39
+ return Object.assign(v, item);
40
+ });
41
+ }
42
+ export function addItemInArray(data, item, atEnd = false, checkFunction) {
43
+ if (!Array.isArray(data)) {
44
+ return [item];
45
+ }
46
+ if (data.find(i => isFunction(checkFunction) ? checkFunction(i) : i.id === item.id)) {
47
+ return data;
48
+ }
49
+ return atEnd
50
+ ? [...data, item]
51
+ : [item, ...data];
52
+ }
53
+ export function addItemsInArray(data, items, atEnd = false, checkFunction) {
54
+ (!atEnd
55
+ ? Object.assign([], items).reverse()
56
+ : items).forEach(item => {
57
+ data = addItemInArray(data, item, atEnd, checkFunction);
58
+ });
59
+ return data;
60
+ }
61
+ export function deleteItemFromArray(data, item) {
62
+ if (!Array.isArray(data)) {
63
+ return [];
64
+ }
65
+ if (isFunction(item)) {
66
+ return data.filter(i => !item(i));
67
+ }
68
+ else {
69
+ return data.filter(v => v.id !== item.id);
70
+ }
71
+ }
72
+ function isFunction(functionToCheck) {
73
+ return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVcsRUFBRSxJQUFTLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxhQUFzQztJQUM3RyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN4QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2xCLElBQUksYUFBYSxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNyQixPQUFPLENBQUMsQ0FBQzthQUNWO1NBQ0Y7YUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0MsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBVyxFQUFFLEtBQVksRUFBRSxRQUFpQixLQUFLLEVBQUUsYUFBc0M7SUFDMUgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixJQUFJLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7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dCI6WyJleHBvcnQgZnVuY3Rpb24gdXBkYXRlSXRlbUluQXJyYXkoZGF0YTogYW55W10sIGl0ZW06IGFueSwgZm9yY2UgPSBmYWxzZSwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiBhbnlbXSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIHJldHVybiBkYXRhLm1hcCh2ID0+IHtcbiAgICBpZiAoY2hlY2tGdW5jdGlvbiAmJiBpc0Z1bmN0aW9uKGNoZWNrRnVuY3Rpb24pKSB7XG4gICAgICBpZiAoIWNoZWNrRnVuY3Rpb24odikpIHtcbiAgICAgICAgcmV0dXJuIHY7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh2LmlkICE9PSBpdGVtLmlkKSB7XG4gICAgICByZXR1cm4gdjtcbiAgICB9XG4gICAgaWYgKHYudXBkYXRlZEF0ICYmIGl0ZW0udXBkYXRlZEF0ICYmICFmb3JjZSkge1xuICAgICAgcmV0dXJuIHYudXBkYXRlZEF0ID4gaXRlbS51cGRhdGVkQXQgPyB2IDogaXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW07XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlSXRlbXNJbkFycmF5KGRhdGE6IGFueVtdLCBpdGVtczogYW55W10sIGZvcmNlOiBib29sZWFuID0gZmFsc2UsIGNoZWNrRnVuY3Rpb24/OiAoaXRlbTogYW55KSA9PiBib29sZWFuKTogYW55W10ge1xuICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgIGRhdGEgPSB1cGRhdGVJdGVtSW5BcnJheShkYXRhLCBpdGVtLCBmb3JjZSwgY2hlY2tGdW5jdGlvbik7XG4gIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoSXRlbUluQXJyYXkoZGF0YTogYW55W10sIGl0ZW06IGFueSwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiBhbnlbXSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIHJldHVybiBkYXRhLm1hcCh2ID0+IHtcbiAgICBpZiAoY2hlY2tGdW5jdGlvbiAmJiBpc0Z1bmN0aW9uKGNoZWNrRnVuY3Rpb24pKSB7XG4gICAgICBpZiAoIWNoZWNrRnVuY3Rpb24odikpIHtcbiAgICAgICAgcmV0dXJuIHY7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh2LmlkICE9PSBpdGVtLmlkKSB7XG4gICAgICByZXR1cm4gdjtcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24odiwgaXRlbSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkSXRlbUluQXJyYXkoZGF0YTogYW55W10sIGl0ZW06IGFueSwgYXRFbmQ6IGJvb2xlYW4gPSBmYWxzZSwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiBhbnlbXSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBbaXRlbV07XG4gIH1cbiAgaWYgKGRhdGEuZmluZChpID0+IGlzRnVuY3Rpb24oY2hlY2tGdW5jdGlvbikgPyBjaGVja0Z1bmN0aW9uKGkpIDogaS5pZCA9PT0gaXRlbS5pZCkpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHJldHVybiBhdEVuZFxuICAgID8gWy4uLmRhdGEsIGl0ZW1dXG4gICAgOiBbaXRlbSwgLi4uZGF0YV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRJdGVtc0luQXJyYXkoZGF0YTogYW55W10sIGl0ZW1zOiBhbnlbXSwgYXRFbmQ6IGJvb2xlYW4gPSBmYWxzZSwgY2hlY2tGdW5jdGlvbj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiBhbnlbXSB7XG4gICghYXRFbmRcbiAgICA/IE9iamVjdC5hc3NpZ24oW10sIGl0ZW1zKS5yZXZlcnNlKClcbiAgICA6IGl0ZW1zXG4gICkuZm9yRWFjaChpdGVtID0+IHtcbiAgICBkYXRhID0gYWRkSXRlbUluQXJyYXkoZGF0YSwgaXRlbSwgYXRFbmQsIGNoZWNrRnVuY3Rpb24pO1xuICB9KTtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVJdGVtRnJvbUFycmF5KGRhdGE6IGFueVtdLCBpdGVtOiBhbnkpOiBhbnlbXSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoaXNGdW5jdGlvbihpdGVtKSkge1xuICAgIHJldHVybiBkYXRhLmZpbHRlcihpID0+ICFpdGVtKGkpKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIodiA9PiB2LmlkICE9PSBpdGVtLmlkKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKGZ1bmN0aW9uVG9DaGVjaykge1xuICByZXR1cm4gZnVuY3Rpb25Ub0NoZWNrICYmIHt9LnRvU3RyaW5nLmNhbGwoZnVuY3Rpb25Ub0NoZWNrKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJztcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ export function isTouchDevice() {
2
+ const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');
3
+ const mq = (q) => {
4
+ return window.matchMedia(q).matches;
5
+ };
6
+ if (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch) {
7
+ return true;
8
+ }
9
+ // include the 'heartz' as a way to have a non matching MQ to help terminate the join
10
+ // https://git.io/vznFH
11
+ const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');
12
+ return mq(query);
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsidXRpbHMvZGV2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2YsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxJQUFLLE1BQWMsQ0FBQyxhQUFhLElBQUksUUFBUSxZQUFhLE1BQWMsQ0FBQyxhQUFhLEVBQUU7UUFDcEgsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELHFGQUFxRjtJQUNyRix1QkFBdUI7SUFDdkIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0UsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc1RvdWNoRGV2aWNlKCkge1xuICBjb25zdCBwcmVmaXhlcyA9ICcgLXdlYmtpdC0gLW1vei0gLW8tIC1tcy0gJy5zcGxpdCgnICcpO1xuICBjb25zdCBtcSA9IChxKSA9PiB7XG4gICAgcmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKHEpLm1hdGNoZXM7XG4gIH07XG5cbiAgaWYgKCgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHx8ICh3aW5kb3cgYXMgYW55KS5Eb2N1bWVudFRvdWNoICYmIGRvY3VtZW50IGluc3RhbmNlb2YgKHdpbmRvdyBhcyBhbnkpLkRvY3VtZW50VG91Y2gpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIGluY2x1ZGUgdGhlICdoZWFydHonIGFzIGEgd2F5IHRvIGhhdmUgYSBub24gbWF0Y2hpbmcgTVEgdG8gaGVscCB0ZXJtaW5hdGUgdGhlIGpvaW5cbiAgLy8gaHR0cHM6Ly9naXQuaW8vdnpuRkhcbiAgY29uc3QgcXVlcnkgPSBbJygnLCBwcmVmaXhlcy5qb2luKCd0b3VjaC1lbmFibGVkKSwoJyksICdoZWFydHonLCAnKSddLmpvaW4oJycpO1xuICByZXR1cm4gbXEocXVlcnkpO1xufVxuIl19