@mtgame/core 0.2.26 → 2.0.0

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 (522) hide show
  1. package/api/basketball-game-api.d.ts +3 -0
  2. package/api/feedback-api.d.ts +5 -2
  3. package/api/file-api.d.ts +3 -0
  4. package/api/football-game-api.d.ts +3 -0
  5. package/api/game-base-api.d.ts +3 -0
  6. package/api/handball-game-api.d.ts +3 -0
  7. package/api/hockey-game-api.d.ts +3 -0
  8. package/api/league-api.d.ts +3 -0
  9. package/api/league-news-api.d.ts +3 -0
  10. package/api/league-player-api.d.ts +3 -0
  11. package/api/media-api.d.ts +5 -2
  12. package/api/notification-api.d.ts +3 -0
  13. package/api/notification-base-api.d.ts +3 -0
  14. package/api/org-notification-api.d.ts +3 -0
  15. package/api/public-team-api.d.ts +3 -2
  16. package/api/public-user-api.d.ts +3 -0
  17. package/api/reference-api.d.ts +3 -0
  18. package/api/rugby-game-api.d.ts +3 -0
  19. package/api/team-api.d.ts +4 -1
  20. package/api/team-event-api.d.ts +3 -0
  21. package/api/tournament-api.d.ts +3 -2
  22. package/api/tournament-join-api.d.ts +3 -0
  23. package/api/tournament-round-api.d.ts +3 -0
  24. package/api/tournament-season-api.d.ts +3 -0
  25. package/api/tournament-stage-api.d.ts +3 -0
  26. package/api/user-api.d.ts +5 -2
  27. package/api/volleyball-game-api.d.ts +3 -1
  28. package/api/waterpolo-game-api.d.ts +3 -0
  29. package/esm2020/api/basketball-game-api.mjs +44 -0
  30. package/esm2020/api/feedback-api.mjs +29 -0
  31. package/esm2020/api/file-api.mjs +41 -0
  32. package/esm2020/api/football-game-api.mjs +49 -0
  33. package/esm2020/api/game-base-api.mjs +40 -0
  34. package/esm2020/api/handball-game-api.mjs +49 -0
  35. package/esm2020/api/hockey-game-api.mjs +49 -0
  36. package/esm2020/api/league-api.mjs +119 -0
  37. package/esm2020/api/league-news-api.mjs +57 -0
  38. package/esm2020/api/league-player-api.mjs +31 -0
  39. package/esm2020/api/media-api.mjs +124 -0
  40. package/esm2020/api/notification-api.mjs +16 -0
  41. package/esm2020/api/notification-base-api.mjs +62 -0
  42. package/esm2020/api/org-notification-api.mjs +16 -0
  43. package/{esm2015/api/paginated-response.interface.js → esm2020/api/paginated-response.interface.mjs} +0 -0
  44. package/{esm2015/api/public-api.js → esm2020/api/public-api.mjs} +0 -0
  45. package/esm2020/api/public-team-api.mjs +28 -0
  46. package/esm2020/api/public-user-api.mjs +38 -0
  47. package/esm2020/api/reference-api.mjs +30 -0
  48. package/esm2020/api/rugby-game-api.mjs +47 -0
  49. package/esm2020/api/team-api.mjs +302 -0
  50. package/esm2020/api/team-event-api.mjs +61 -0
  51. package/esm2020/api/tournament-api.mjs +391 -0
  52. package/esm2020/api/tournament-join-api.mjs +55 -0
  53. package/esm2020/api/tournament-round-api.mjs +57 -0
  54. package/esm2020/api/tournament-season-api.mjs +92 -0
  55. package/esm2020/api/tournament-stage-api.mjs +48 -0
  56. package/esm2020/api/user-api.mjs +219 -0
  57. package/esm2020/api/volleyball-game-api.mjs +49 -0
  58. package/esm2020/api/waterpolo-game-api.mjs +49 -0
  59. package/esm2020/http-cookie.interceptor.mjs +38 -0
  60. package/{esm2015/localization/basketball-game-log-types.js → esm2020/localization/basketball-game-log-types.mjs} +0 -0
  61. package/{esm2015/localization/basketball-game-sub-log-types.js → esm2020/localization/basketball-game-sub-log-types.mjs} +2 -5
  62. package/{esm2015/localization/football-game-log-types.js → esm2020/localization/football-game-log-types.mjs} +0 -0
  63. package/{esm2015/localization/handball-game-log-types.js → esm2020/localization/handball-game-log-types.mjs} +0 -0
  64. package/{esm2015/localization/hockey-game-log-types.js → esm2020/localization/hockey-game-log-types.mjs} +2 -5
  65. package/esm2020/localization/hockey-penalty-types.mjs +50 -0
  66. package/{esm2015/localization/organization-statuses.js → esm2020/localization/organization-statuses.mjs} +0 -0
  67. package/{esm2015/localization/overtime-types.js → esm2020/localization/overtime-types.mjs} +0 -0
  68. package/{esm2015/localization/public-api.js → esm2020/localization/public-api.mjs} +0 -0
  69. package/{esm2015/localization/rugby-foul-game-stage.js → esm2020/localization/rugby-foul-game-stage.mjs} +0 -0
  70. package/{esm2015/localization/rugby-foul-sanction.js → esm2020/localization/rugby-foul-sanction.mjs} +0 -0
  71. package/{esm2015/localization/rugby-game-log-types.js → esm2020/localization/rugby-game-log-types.mjs} +0 -0
  72. package/{esm2015/localization/team-event-type.js → esm2020/localization/team-event-type.mjs} +0 -0
  73. package/{esm2015/localization/team-user-role.js → esm2020/localization/team-user-role.mjs} +0 -0
  74. package/{esm2015/localization/user-profile.js → esm2020/localization/user-profile.mjs} +0 -0
  75. package/{esm2015/localization/volleyball-game-log-types.js → esm2020/localization/volleyball-game-log-types.mjs} +0 -0
  76. package/{esm2015/localization/waterpolo-game-log-types.js → esm2020/localization/waterpolo-game-log-types.mjs} +3 -3
  77. package/esm2020/models/achievement.mjs +18 -0
  78. package/esm2020/models/base-statistic.mjs +4 -0
  79. package/esm2020/models/basketball-game-config.mjs +18 -0
  80. package/esm2020/models/basketball-game-log.mjs +158 -0
  81. package/esm2020/models/basketball-game-statistic.mjs +47 -0
  82. package/esm2020/models/basketball-game-team-statistic.mjs +15 -0
  83. package/esm2020/models/basketball-profile.mjs +27 -0
  84. package/esm2020/models/basketball-statistic.mjs +62 -0
  85. package/esm2020/models/city.mjs +9 -0
  86. package/esm2020/models/feedback.mjs +14 -0
  87. package/esm2020/models/file.mjs +31 -0
  88. package/esm2020/models/football-game-config.mjs +22 -0
  89. package/esm2020/models/football-game-log.mjs +83 -0
  90. package/esm2020/models/football-game-statistic.mjs +93 -0
  91. package/esm2020/models/football-game-team-statistic.mjs +15 -0
  92. package/esm2020/models/football-profile.mjs +27 -0
  93. package/esm2020/models/football-statistic.mjs +76 -0
  94. package/esm2020/models/game-bill.mjs +30 -0
  95. package/esm2020/models/game-config-base.mjs +4 -0
  96. package/esm2020/models/game-invite.mjs +22 -0
  97. package/esm2020/models/game-log-base.mjs +4 -0
  98. package/esm2020/models/game-statistic-base.mjs +7 -0
  99. package/{esm2015/models/game-team-statistic-base.js → esm2020/models/game-team-statistic-base.mjs} +0 -0
  100. package/esm2020/models/game-timeline-stages.mjs +19 -0
  101. package/esm2020/models/game-user-disqualification.mjs +14 -0
  102. package/esm2020/models/game-user-limitation.mjs +19 -0
  103. package/esm2020/models/game-user.mjs +20 -0
  104. package/esm2020/models/game.mjs +188 -0
  105. package/esm2020/models/handball-game-config.mjs +16 -0
  106. package/esm2020/models/handball-game-log.mjs +71 -0
  107. package/esm2020/models/handball-game-statistic.mjs +67 -0
  108. package/esm2020/models/handball-game-team-statistic.mjs +15 -0
  109. package/esm2020/models/handball-profile.mjs +23 -0
  110. package/esm2020/models/handball-statistic.mjs +37 -0
  111. package/esm2020/models/hockey-game-config.mjs +25 -0
  112. package/esm2020/models/hockey-game-log.mjs +102 -0
  113. package/esm2020/models/hockey-game-statistic.mjs +101 -0
  114. package/esm2020/models/hockey-game-team-statistic.mjs +15 -0
  115. package/esm2020/models/hockey-penalty-types.mjs +6 -0
  116. package/esm2020/models/hockey-profile.mjs +25 -0
  117. package/esm2020/models/hockey-statistic.mjs +49 -0
  118. package/esm2020/models/league-banner.mjs +21 -0
  119. package/esm2020/models/league-court.mjs +9 -0
  120. package/esm2020/models/league-document.mjs +14 -0
  121. package/esm2020/models/league-news.mjs +25 -0
  122. package/esm2020/models/league-partner.mjs +14 -0
  123. package/esm2020/models/league-player.mjs +81 -0
  124. package/esm2020/models/league-playlist.mjs +14 -0
  125. package/esm2020/models/league-user.mjs +38 -0
  126. package/esm2020/models/league.mjs +38 -0
  127. package/esm2020/models/media-item.mjs +20 -0
  128. package/esm2020/models/notification-settings.mjs +20 -0
  129. package/esm2020/models/notification.mjs +105 -0
  130. package/esm2020/models/organization-bill.mjs +31 -0
  131. package/esm2020/models/organization-statistic.mjs +9 -0
  132. package/esm2020/models/organization-tariff.mjs +16 -0
  133. package/esm2020/models/organization.mjs +21 -0
  134. package/esm2020/models/playoff.mjs +56 -0
  135. package/esm2020/models/poll.mjs +83 -0
  136. package/esm2020/models/public-api.mjs +110 -0
  137. package/esm2020/models/rugby-foul-type.mjs +39 -0
  138. package/esm2020/models/rugby-game-config.mjs +23 -0
  139. package/esm2020/models/rugby-game-log.mjs +120 -0
  140. package/esm2020/models/rugby-game-statistic.mjs +29 -0
  141. package/esm2020/models/rugby-game-team-statistic.mjs +15 -0
  142. package/esm2020/models/rugby-profile.mjs +22 -0
  143. package/esm2020/models/rugby-statistic.mjs +37 -0
  144. package/esm2020/models/season-tournament.mjs +9 -0
  145. package/esm2020/models/sport.mjs +96 -0
  146. package/esm2020/models/team-access.mjs +14 -0
  147. package/esm2020/models/team-achievement.mjs +18 -0
  148. package/esm2020/models/team-event-invite.mjs +18 -0
  149. package/{esm2015/models/team-event-type.js → esm2020/models/team-event-type.mjs} +0 -0
  150. package/esm2020/models/team-event.mjs +27 -0
  151. package/esm2020/models/team-invite-external.mjs +9 -0
  152. package/esm2020/models/team-invite.mjs +18 -0
  153. package/esm2020/models/team-permission.mjs +23 -0
  154. package/esm2020/models/team-user.mjs +30 -0
  155. package/esm2020/models/team.mjs +46 -0
  156. package/esm2020/models/teams-and-users.mjs +20 -0
  157. package/esm2020/models/tournament-disqualification.mjs +14 -0
  158. package/esm2020/models/tournament-division.mjs +14 -0
  159. package/esm2020/models/tournament-event.mjs +28 -0
  160. package/esm2020/models/tournament-group.mjs +9 -0
  161. package/esm2020/models/tournament-invite.mjs +21 -0
  162. package/esm2020/models/tournament-join-team.mjs +27 -0
  163. package/esm2020/models/tournament-join1x1-data.mjs +15 -0
  164. package/esm2020/models/tournament-news.mjs +17 -0
  165. package/esm2020/models/tournament-round-team.mjs +40 -0
  166. package/esm2020/models/tournament-round.mjs +22 -0
  167. package/esm2020/models/tournament-season.mjs +25 -0
  168. package/esm2020/models/tournament-stage-team.mjs +22 -0
  169. package/esm2020/models/tournament-stage.mjs +20 -0
  170. package/esm2020/models/tournament-team-user-invite.mjs +14 -0
  171. package/esm2020/models/tournament-team-user.mjs +20 -0
  172. package/esm2020/models/tournament-team.mjs +28 -0
  173. package/esm2020/models/tournament.mjs +153 -0
  174. package/esm2020/models/user-access.mjs +9 -0
  175. package/esm2020/models/user-permission.mjs +23 -0
  176. package/esm2020/models/user-profile.mjs +9 -0
  177. package/esm2020/models/user.mjs +55 -0
  178. package/esm2020/models/util.mjs +143 -0
  179. package/esm2020/models/volleyball-game-config.mjs +27 -0
  180. package/esm2020/models/volleyball-game-log.mjs +124 -0
  181. package/esm2020/models/volleyball-game-statistic.mjs +34 -0
  182. package/esm2020/models/volleyball-game-team-statistic.mjs +15 -0
  183. package/esm2020/models/volleyball-profile.mjs +27 -0
  184. package/esm2020/models/volleyball-statistic.mjs +44 -0
  185. package/esm2020/models/waterpolo-game-config.mjs +25 -0
  186. package/esm2020/models/waterpolo-game-log.mjs +142 -0
  187. package/esm2020/models/waterpolo-game-statistic.mjs +472 -0
  188. package/esm2020/models/waterpolo-game-team-statistic.mjs +15 -0
  189. package/esm2020/models/waterpolo-profile.mjs +26 -0
  190. package/esm2020/models/waterpolo-statistic.mjs +57 -0
  191. package/{esm2015/mtgame-core.js → esm2020/mtgame-core.mjs} +0 -0
  192. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -1
  193. package/esm2020/services/base.controller.mjs +19 -0
  194. package/esm2020/services/base.service.mjs +18 -0
  195. package/esm2020/services/centrifugo.service.mjs +105 -0
  196. package/esm2020/services/config.service.mjs +44 -0
  197. package/{esm2015/services/public-api.js → esm2020/services/public-api.mjs} +2 -1
  198. package/esm2020/storage/local-storage-engine.mjs +18 -0
  199. package/esm2020/storage/new.mjs +46 -0
  200. package/esm2020/storage/old-local-storage-engine.mjs +18 -0
  201. package/esm2020/storage/old-storage-engine.mjs +49 -0
  202. package/esm2020/storage/public-api.mjs +7 -0
  203. package/esm2020/storage/storage-engine.mjs +47 -0
  204. package/{esm2015/storage/store.js → esm2020/storage/store.mjs} +1 -1
  205. package/{esm2015/utils/array.js → esm2020/utils/array.mjs} +0 -0
  206. package/esm2020/utils/component-destroyed.mjs +27 -0
  207. package/{esm2015/utils/cookie.js → esm2020/utils/cookie.mjs} +0 -0
  208. package/esm2020/utils/data.mjs +164 -0
  209. package/{esm2015/utils/date.js → esm2020/utils/date.mjs} +0 -0
  210. package/{esm2015/utils/device.js → esm2020/utils/device.mjs} +0 -0
  211. package/{esm2015/utils/enum.js → esm2020/utils/enum.mjs} +0 -0
  212. package/{esm2015/utils/errors.js → esm2020/utils/errors.mjs} +2 -4
  213. package/{esm2015/utils/favicon.js → esm2020/utils/favicon.mjs} +0 -0
  214. package/{esm2015/utils/form.js → esm2020/utils/form.mjs} +0 -0
  215. package/{esm2015/utils/public-api.js → esm2020/utils/public-api.mjs} +0 -0
  216. package/{esm2015/utils/validators.js → esm2020/utils/validators.mjs} +0 -0
  217. package/esm2020/websocket/game.websocket.mjs +61 -0
  218. package/esm2020/websocket/public-api.mjs +2 -0
  219. package/fesm2015/{mtgame-core.js → mtgame-core.mjs} +1665 -4848
  220. package/fesm2015/mtgame-core.mjs.map +1 -0
  221. package/fesm2020/mtgame-core.mjs +7270 -0
  222. package/fesm2020/mtgame-core.mjs.map +1 -0
  223. package/http-cookie.interceptor.d.ts +3 -0
  224. package/localization/basketball-game-sub-log-types.d.ts +0 -3
  225. package/localization/football-game-log-types.d.ts +29 -29
  226. package/localization/hockey-game-log-types.d.ts +0 -3
  227. package/localization/hockey-penalty-types.d.ts +2 -5
  228. package/models/achievement.d.ts +0 -2
  229. package/models/base-statistic.d.ts +2 -1
  230. package/models/basketball-game-config.d.ts +2 -4
  231. package/models/basketball-game-log.d.ts +2 -9
  232. package/models/basketball-game-statistic.d.ts +1 -4
  233. package/models/basketball-game-team-statistic.d.ts +0 -2
  234. package/models/basketball-profile.d.ts +0 -2
  235. package/models/basketball-statistic.d.ts +1 -4
  236. package/models/city.d.ts +0 -2
  237. package/models/feedback.d.ts +2 -3
  238. package/models/file.d.ts +2 -3
  239. package/models/football-game-config.d.ts +2 -4
  240. package/models/football-game-log.d.ts +30 -33
  241. package/models/football-game-statistic.d.ts +1 -4
  242. package/models/football-game-team-statistic.d.ts +0 -2
  243. package/models/football-profile.d.ts +0 -2
  244. package/models/football-statistic.d.ts +1 -4
  245. package/models/game-bill.d.ts +0 -2
  246. package/models/game-config-base.d.ts +3 -0
  247. package/models/game-invite.d.ts +0 -2
  248. package/models/game-log-base.d.ts +3 -2
  249. package/models/game-statistic-base.d.ts +3 -1
  250. package/models/game-timeline-stages.d.ts +1 -5
  251. package/models/game-user-disqualification.d.ts +0 -2
  252. package/models/game-user-limitation.d.ts +0 -4
  253. package/models/game-user.d.ts +0 -2
  254. package/models/game.d.ts +10 -21
  255. package/models/handball-game-config.d.ts +2 -4
  256. package/models/handball-game-log.d.ts +1 -4
  257. package/models/handball-game-statistic.d.ts +1 -4
  258. package/models/handball-game-team-statistic.d.ts +0 -2
  259. package/models/handball-profile.d.ts +0 -2
  260. package/models/handball-statistic.d.ts +1 -4
  261. package/models/hockey-game-config.d.ts +2 -4
  262. package/models/hockey-game-log.d.ts +4 -15
  263. package/models/hockey-game-statistic.d.ts +1 -18
  264. package/models/hockey-game-team-statistic.d.ts +0 -2
  265. package/models/hockey-penalty-types.d.ts +7 -0
  266. package/models/hockey-profile.d.ts +0 -2
  267. package/models/hockey-statistic.d.ts +1 -18
  268. package/models/league-banner.d.ts +0 -2
  269. package/models/league-court.d.ts +0 -2
  270. package/models/league-document.d.ts +0 -2
  271. package/models/league-news.d.ts +0 -2
  272. package/models/league-partner.d.ts +0 -2
  273. package/models/league-player.d.ts +2 -13
  274. package/models/league-playlist.d.ts +0 -2
  275. package/models/league-user.d.ts +0 -2
  276. package/models/league.d.ts +1 -6
  277. package/models/media-item.d.ts +0 -2
  278. package/models/notification-settings.d.ts +0 -2
  279. package/models/notification.d.ts +0 -2
  280. package/models/organization-bill.d.ts +0 -2
  281. package/models/organization-statistic.d.ts +0 -2
  282. package/models/organization-tariff.d.ts +0 -2
  283. package/models/organization.d.ts +0 -2
  284. package/models/playoff.d.ts +0 -4
  285. package/models/poll.d.ts +0 -6
  286. package/models/public-api.d.ts +0 -6
  287. package/models/rugby-foul-type.d.ts +0 -2
  288. package/models/rugby-game-config.d.ts +2 -4
  289. package/models/rugby-game-log.d.ts +1 -4
  290. package/models/rugby-game-statistic.d.ts +7 -10
  291. package/models/rugby-game-team-statistic.d.ts +0 -2
  292. package/models/rugby-profile.d.ts +0 -2
  293. package/models/rugby-statistic.d.ts +1 -4
  294. package/models/season-tournament.d.ts +0 -2
  295. package/models/sport.d.ts +0 -2
  296. package/models/team-access.d.ts +0 -2
  297. package/models/team-achievement.d.ts +0 -2
  298. package/models/team-event-invite.d.ts +2 -3
  299. package/models/team-event.d.ts +0 -2
  300. package/models/team-invite-external.d.ts +0 -2
  301. package/models/team-invite.d.ts +0 -2
  302. package/models/team-permission.d.ts +0 -2
  303. package/models/team-user.d.ts +0 -2
  304. package/models/team.d.ts +0 -2
  305. package/models/teams-and-users.d.ts +0 -2
  306. package/models/tournament-disqualification.d.ts +0 -2
  307. package/models/tournament-division.d.ts +0 -2
  308. package/models/tournament-event.d.ts +0 -2
  309. package/models/tournament-group.d.ts +0 -2
  310. package/models/tournament-invite.d.ts +0 -2
  311. package/models/tournament-join-team.d.ts +0 -4
  312. package/models/tournament-join1x1-data.d.ts +0 -2
  313. package/models/tournament-news.d.ts +0 -2
  314. package/models/tournament-round-team.d.ts +4 -14
  315. package/models/tournament-round.d.ts +0 -2
  316. package/models/tournament-season.d.ts +0 -2
  317. package/models/tournament-stage-team.d.ts +0 -2
  318. package/models/tournament-stage.d.ts +0 -2
  319. package/models/tournament-team-user-invite.d.ts +0 -2
  320. package/models/tournament-team-user.d.ts +0 -5
  321. package/models/tournament-team.d.ts +0 -16
  322. package/models/tournament.d.ts +5 -21
  323. package/models/user-access.d.ts +0 -2
  324. package/models/user-permission.d.ts +0 -2
  325. package/models/user-profile.d.ts +2 -3
  326. package/models/user.d.ts +2 -6
  327. package/models/util.d.ts +22 -46
  328. package/models/volleyball-game-config.d.ts +2 -4
  329. package/models/volleyball-game-log.d.ts +1 -4
  330. package/models/volleyball-game-statistic.d.ts +1 -4
  331. package/models/volleyball-game-team-statistic.d.ts +0 -2
  332. package/models/volleyball-profile.d.ts +0 -2
  333. package/models/volleyball-statistic.d.ts +1 -4
  334. package/models/waterpolo-game-config.d.ts +2 -4
  335. package/models/waterpolo-game-log.d.ts +1 -4
  336. package/models/waterpolo-game-statistic.d.ts +1 -4
  337. package/models/waterpolo-game-team-statistic.d.ts +0 -2
  338. package/models/waterpolo-profile.d.ts +0 -2
  339. package/models/waterpolo-statistic.d.ts +1 -4
  340. package/mtgame-core.d.ts +1 -0
  341. package/package.json +23 -10
  342. package/public-api.d.ts +1 -0
  343. package/services/base.controller.d.ts +12 -0
  344. package/services/base.service.d.ts +3 -0
  345. package/services/centrifugo.service.d.ts +6 -4
  346. package/services/config.service.d.ts +3 -0
  347. package/services/public-api.d.ts +1 -0
  348. package/storage/local-storage-engine.d.ts +2 -2
  349. package/storage/new.d.ts +17 -0
  350. package/storage/old-local-storage-engine.d.ts +6 -0
  351. package/storage/old-storage-engine.d.ts +24 -0
  352. package/storage/public-api.d.ts +5 -2
  353. package/storage/storage-engine.d.ts +25 -18
  354. package/storage/store.d.ts +3 -3
  355. package/utils/component-destroyed.d.ts +1 -1
  356. package/utils/data.d.ts +36 -6
  357. package/websocket/game.websocket.d.ts +24 -0
  358. package/websocket/public-api.d.ts +1 -0
  359. package/bundles/mtgame-core.umd.js +0 -14010
  360. package/bundles/mtgame-core.umd.js.map +0 -1
  361. package/esm2015/api/basketball-game-api.js +0 -61
  362. package/esm2015/api/feedback-api.js +0 -38
  363. package/esm2015/api/file-api.js +0 -49
  364. package/esm2015/api/football-game-api.js +0 -65
  365. package/esm2015/api/game-base-api.js +0 -54
  366. package/esm2015/api/handball-game-api.js +0 -65
  367. package/esm2015/api/hockey-game-api.js +0 -65
  368. package/esm2015/api/league-api.js +0 -151
  369. package/esm2015/api/league-news-api.js +0 -71
  370. package/esm2015/api/league-player-api.js +0 -34
  371. package/esm2015/api/media-api.js +0 -131
  372. package/esm2015/api/notification-api.js +0 -16
  373. package/esm2015/api/notification-base-api.js +0 -82
  374. package/esm2015/api/org-notification-api.js +0 -16
  375. package/esm2015/api/public-team-api.js +0 -41
  376. package/esm2015/api/public-user-api.js +0 -41
  377. package/esm2015/api/reference-api.js +0 -39
  378. package/esm2015/api/rugby-game-api.js +0 -63
  379. package/esm2015/api/team-api.js +0 -393
  380. package/esm2015/api/team-event-api.js +0 -80
  381. package/esm2015/api/tournament-api.js +0 -471
  382. package/esm2015/api/tournament-join-api.js +0 -72
  383. package/esm2015/api/tournament-round-api.js +0 -71
  384. package/esm2015/api/tournament-season-api.js +0 -112
  385. package/esm2015/api/tournament-stage-api.js +0 -63
  386. package/esm2015/api/user-api.js +0 -283
  387. package/esm2015/api/volleyball-game-api.js +0 -73
  388. package/esm2015/api/waterpolo-game-api.js +0 -65
  389. package/esm2015/http-cookie.interceptor.js +0 -37
  390. package/esm2015/localization/hockey-penalty-types.js +0 -50
  391. package/esm2015/models/achievement.js +0 -33
  392. package/esm2015/models/base-statistic.js +0 -2
  393. package/esm2015/models/basketball-game-config.js +0 -41
  394. package/esm2015/models/basketball-game-log.js +0 -192
  395. package/esm2015/models/basketball-game-statistic.js +0 -81
  396. package/esm2015/models/basketball-game-team-statistic.js +0 -27
  397. package/esm2015/models/basketball-profile.js +0 -43
  398. package/esm2015/models/basketball-statistic.js +0 -114
  399. package/esm2015/models/city.js +0 -22
  400. package/esm2015/models/feedback.js +0 -34
  401. package/esm2015/models/file.js +0 -54
  402. package/esm2015/models/football-game-config.js +0 -44
  403. package/esm2015/models/football-game-log.js +0 -104
  404. package/esm2015/models/football-game-statistic.js +0 -137
  405. package/esm2015/models/football-game-team-statistic.js +0 -27
  406. package/esm2015/models/football-profile.js +0 -43
  407. package/esm2015/models/football-statistic.js +0 -150
  408. package/esm2015/models/game-bill.js +0 -47
  409. package/esm2015/models/game-invite.js +0 -37
  410. package/esm2015/models/game-log-base.js +0 -2
  411. package/esm2015/models/game-statistic-base.js +0 -2
  412. package/esm2015/models/game-timeline-stages.js +0 -53
  413. package/esm2015/models/game-user-disqualification.js +0 -28
  414. package/esm2015/models/game-user-limitation.js +0 -51
  415. package/esm2015/models/game-user.js +0 -37
  416. package/esm2015/models/game.js +0 -281
  417. package/esm2015/models/handball-game-config.js +0 -34
  418. package/esm2015/models/handball-game-log.js +0 -92
  419. package/esm2015/models/handball-game-statistic.js +0 -101
  420. package/esm2015/models/handball-game-team-statistic.js +0 -27
  421. package/esm2015/models/handball-profile.js +0 -39
  422. package/esm2015/models/handball-statistic.js +0 -95
  423. package/esm2015/models/hockey-game-config.js +0 -48
  424. package/esm2015/models/hockey-game-log.js +0 -128
  425. package/esm2015/models/hockey-game-statistic.js +0 -159
  426. package/esm2015/models/hockey-game-team-statistic.js +0 -27
  427. package/esm2015/models/hockey-profile.js +0 -41
  428. package/esm2015/models/hockey-statistic.js +0 -143
  429. package/esm2015/models/league-banner.js +0 -39
  430. package/esm2015/models/league-court.js +0 -25
  431. package/esm2015/models/league-document.js +0 -26
  432. package/esm2015/models/league-field-base-value.js +0 -4
  433. package/esm2015/models/league-field-base.js +0 -25
  434. package/esm2015/models/league-news.js +0 -50
  435. package/esm2015/models/league-partner.js +0 -29
  436. package/esm2015/models/league-player-field-value.js +0 -32
  437. package/esm2015/models/league-player-field.js +0 -30
  438. package/esm2015/models/league-player.js +0 -116
  439. package/esm2015/models/league-playlist.js +0 -28
  440. package/esm2015/models/league-team-field.js +0 -30
  441. package/esm2015/models/league-user.js +0 -52
  442. package/esm2015/models/league.js +0 -71
  443. package/esm2015/models/media-item.js +0 -41
  444. package/esm2015/models/notification-settings.js +0 -35
  445. package/esm2015/models/notification.js +0 -134
  446. package/esm2015/models/organization-bill.js +0 -50
  447. package/esm2015/models/organization-statistic.js +0 -26
  448. package/esm2015/models/organization-tariff.js +0 -30
  449. package/esm2015/models/organization.js +0 -40
  450. package/esm2015/models/playoff.js +0 -91
  451. package/esm2015/models/poll.js +0 -132
  452. package/esm2015/models/public-api.js +0 -116
  453. package/esm2015/models/rugby-foul-type.js +0 -53
  454. package/esm2015/models/rugby-game-config.js +0 -42
  455. package/esm2015/models/rugby-game-log.js +0 -144
  456. package/esm2015/models/rugby-game-statistic.js +0 -89
  457. package/esm2015/models/rugby-game-team-statistic.js +0 -27
  458. package/esm2015/models/rugby-profile.js +0 -37
  459. package/esm2015/models/rugby-statistic.js +0 -123
  460. package/esm2015/models/season-tournament.js +0 -22
  461. package/esm2015/models/sport.js +0 -115
  462. package/esm2015/models/team-access.js +0 -45
  463. package/esm2015/models/team-achievement.js +0 -34
  464. package/esm2015/models/team-event-invite.js +0 -32
  465. package/esm2015/models/team-event.js +0 -45
  466. package/esm2015/models/team-invite-external.js +0 -25
  467. package/esm2015/models/team-invite.js +0 -41
  468. package/esm2015/models/team-permission.js +0 -38
  469. package/esm2015/models/team-user.js +0 -48
  470. package/esm2015/models/team.js +0 -71
  471. package/esm2015/models/teams-and-users.js +0 -32
  472. package/esm2015/models/tournament-disqualification.js +0 -30
  473. package/esm2015/models/tournament-division.js +0 -27
  474. package/esm2015/models/tournament-event.js +0 -45
  475. package/esm2015/models/tournament-group.js +0 -26
  476. package/esm2015/models/tournament-invite.js +0 -39
  477. package/esm2015/models/tournament-join-team.js +0 -55
  478. package/esm2015/models/tournament-join1x1-data.js +0 -32
  479. package/esm2015/models/tournament-news.js +0 -33
  480. package/esm2015/models/tournament-round-team.js +0 -95
  481. package/esm2015/models/tournament-round.js +0 -36
  482. package/esm2015/models/tournament-season.js +0 -45
  483. package/esm2015/models/tournament-stage-team.js +0 -47
  484. package/esm2015/models/tournament-stage.js +0 -35
  485. package/esm2015/models/tournament-team-field-value.js +0 -32
  486. package/esm2015/models/tournament-team-user-invite.js +0 -29
  487. package/esm2015/models/tournament-team-user.js +0 -39
  488. package/esm2015/models/tournament-team.js +0 -103
  489. package/esm2015/models/tournament.js +0 -266
  490. package/esm2015/models/user-access.js +0 -25
  491. package/esm2015/models/user-permission.js +0 -38
  492. package/esm2015/models/user-profile.js +0 -24
  493. package/esm2015/models/user.js +0 -91
  494. package/esm2015/models/util.js +0 -237
  495. package/esm2015/models/volleyball-game-config.js +0 -44
  496. package/esm2015/models/volleyball-game-log.js +0 -145
  497. package/esm2015/models/volleyball-game-statistic.js +0 -64
  498. package/esm2015/models/volleyball-game-team-statistic.js +0 -27
  499. package/esm2015/models/volleyball-profile.js +0 -43
  500. package/esm2015/models/volleyball-statistic.js +0 -92
  501. package/esm2015/models/waterpolo-game-config.js +0 -45
  502. package/esm2015/models/waterpolo-game-log.js +0 -167
  503. package/esm2015/models/waterpolo-game-statistic.js +0 -641
  504. package/esm2015/models/waterpolo-game-team-statistic.js +0 -27
  505. package/esm2015/models/waterpolo-profile.js +0 -42
  506. package/esm2015/models/waterpolo-statistic.js +0 -336
  507. package/esm2015/services/base.service.js +0 -16
  508. package/esm2015/services/centrifugo.service.js +0 -123
  509. package/esm2015/services/config.service.js +0 -37
  510. package/esm2015/storage/local-storage-engine.js +0 -18
  511. package/esm2015/storage/public-api.js +0 -4
  512. package/esm2015/storage/storage-engine.js +0 -61
  513. package/esm2015/utils/component-destroyed.js +0 -26
  514. package/esm2015/utils/data.js +0 -75
  515. package/fesm2015/mtgame-core.js.map +0 -1
  516. package/models/league-field-base-value.d.ts +0 -7
  517. package/models/league-field-base.d.ts +0 -24
  518. package/models/league-player-field-value.d.ts +0 -8
  519. package/models/league-player-field.d.ts +0 -5
  520. package/models/league-team-field.d.ts +0 -5
  521. package/models/tournament-team-field-value.d.ts +0 -8
  522. package/mtgame-core.metadata.json +0 -1
@@ -0,0 +1,28 @@
1
+ import { __decorate } from "tslib";
2
+ import { Model, BaseModel, nestedModel } from './util';
3
+ import { Team } from './team';
4
+ import { TournamentGroup } from './tournament-group';
5
+ import { File } from './file';
6
+ import { TournamentDivision } from './tournament-division';
7
+ let TournamentTeam = class TournamentTeam extends BaseModel {
8
+ get gamesWonPercent() {
9
+ if (!this.gamesCount) {
10
+ return 0;
11
+ }
12
+ return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;
13
+ }
14
+ };
15
+ TournamentTeam = __decorate([
16
+ Model({
17
+ relation: {
18
+ logo: nestedModel(File),
19
+ teamPhoto: nestedModel(File),
20
+ teamUniform: nestedModel(File),
21
+ team: nestedModel(Team),
22
+ group: nestedModel(TournamentGroup),
23
+ division: nestedModel(TournamentDivision),
24
+ }
25
+ })
26
+ ], TournamentTeam);
27
+ export { TournamentTeam };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC10ZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3RvdXJuYW1lbnQtdGVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFZM0QsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBZSxTQUFRLFNBQVM7SUFtQzNDLElBQUksZUFBZTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdEUsQ0FBQztDQUNGLENBQUE7QUF6Q1ksY0FBYztJQVYxQixLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixTQUFTLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUM1QixXQUFXLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUM5QixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUNuQyxRQUFRLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDO1NBQzFDO0tBQ0YsQ0FBQztHQUNXLGNBQWMsQ0F5QzFCO1NBekNZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbCwgQmFzZU1vZGVsLCBuZXN0ZWRNb2RlbCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBUZWFtIH0gZnJvbSAnLi90ZWFtJztcbmltcG9ydCB7IFRvdXJuYW1lbnRHcm91cCB9IGZyb20gJy4vdG91cm5hbWVudC1ncm91cCc7XG5pbXBvcnQgeyBGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IFRvdXJuYW1lbnREaXZpc2lvbiB9IGZyb20gJy4vdG91cm5hbWVudC1kaXZpc2lvbic7XG5cbkBNb2RlbCh7XG4gIHJlbGF0aW9uOiB7XG4gICAgbG9nbzogbmVzdGVkTW9kZWwoRmlsZSksXG4gICAgdGVhbVBob3RvOiBuZXN0ZWRNb2RlbChGaWxlKSxcbiAgICB0ZWFtVW5pZm9ybTogbmVzdGVkTW9kZWwoRmlsZSksXG4gICAgdGVhbTogbmVzdGVkTW9kZWwoVGVhbSksXG4gICAgZ3JvdXA6IG5lc3RlZE1vZGVsKFRvdXJuYW1lbnRHcm91cCksXG4gICAgZGl2aXNpb246IG5lc3RlZE1vZGVsKFRvdXJuYW1lbnREaXZpc2lvbiksXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudFRlYW0gZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxvZ286IEZpbGU7XG4gIHRlYW1QaG90bzogRmlsZTtcbiAgdGVhbVVuaWZvcm06IEZpbGU7XG4gIHRlYW1JZDogbnVtYmVyO1xuICB0b3VybmFtZW50SWQ6IG51bWJlcjtcbiAgdGVhbTogVGVhbTtcbiAgZ3JvdXA6IFRvdXJuYW1lbnRHcm91cDtcbiAgZGl2aXNpb246IFRvdXJuYW1lbnREaXZpc2lvbjtcbiAgZmluYWxTdGFuZGluZzogbnVtYmVyO1xuICBnYW1lc0NvdW50OiBudW1iZXI7XG4gIHdvbkdhbWVzQ291bnQ6IG51bWJlcjtcbiAgbG9zZUdhbWVzQ291bnQ6IG51bWJlcjtcbiAgZHJhd0dhbWVzQ291bnQ6IG51bWJlcjtcbiAgbGFzdEdhbWVzQ291bnQ6IG51bWJlcjtcbiAgbGFzdEdhbWVzV29uOiBudW1iZXI7XG4gIHNjb3JlU3VtOiBudW1iZXI7XG4gIG1pc3NlZFN1bTogbnVtYmVyO1xuICBzY29yZVBvaW50c1N1bTogbnVtYmVyO1xuICBtaXNzZWRQb2ludHNTdW06IG51bWJlcjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIG10UG9pbnRzOiBudW1iZXI7XG4gIHVzZXJzQ291bnQ6IG51bWJlcjtcbiAgbm90aWZpY2F0aW9uc0NvdW50OiBudW1iZXI7XG4gIHdpbk5vcm1hbFRpbWVHYW1lc0NvdW50OiBudW1iZXI7XG4gIGxvc2VOb3JtYWxUaW1lR2FtZXNDb3VudDogbnVtYmVyO1xuICB3aW5PdmVydGltZUdhbWVzQ291bnQ6IG51bWJlcjtcbiAgbG9zZU92ZXJ0aW1lR2FtZXNDb3VudDogbnVtYmVyO1xuICB0cmllc1Njb3JlZDogbnVtYmVyO1xuICB0cmllc01pc3NlZDogbnVtYmVyO1xuICBhdHRhY2tCb251c2VzOiBudW1iZXI7XG4gIGRlZmVuc2VCb251c2VzOiBudW1iZXI7XG5cbiAgZ2V0IGdhbWVzV29uUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5nYW1lc0NvdW50KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoMTAwMCAqIHRoaXMud29uR2FtZXNDb3VudCAvIHRoaXMuZ2FtZXNDb3VudCkgLyAxMDtcbiAgfVxufVxuIl19
@@ -0,0 +1,153 @@
1
+ import { __decorate } from "tslib";
2
+ import { BaseModel, enumField, Model, dateTimeField, nestedModel } from './util';
3
+ import { City } from './city';
4
+ import { File } from './file';
5
+ import { League } from './league';
6
+ import { Sport } from './sport';
7
+ import { TournamentSeason } from './tournament-season';
8
+ import { TournamentTeam } from './tournament-team';
9
+ export var TournamentTypes;
10
+ (function (TournamentTypes) {
11
+ TournamentTypes["group"] = "group";
12
+ TournamentTypes["elimination"] = "elimination";
13
+ TournamentTypes["fiba"] = "fiba";
14
+ })(TournamentTypes || (TournamentTypes = {}));
15
+ export var TournamentStatuses;
16
+ (function (TournamentStatuses) {
17
+ TournamentStatuses[TournamentStatuses["open"] = 0] = "open";
18
+ TournamentStatuses[TournamentStatuses["in_progress"] = 1] = "in_progress";
19
+ TournamentStatuses[TournamentStatuses["closed"] = 2] = "closed";
20
+ })(TournamentStatuses || (TournamentStatuses = {}));
21
+ export var TournamentGender;
22
+ (function (TournamentGender) {
23
+ TournamentGender[TournamentGender["male"] = 1] = "male";
24
+ TournamentGender[TournamentGender["female"] = 2] = "female";
25
+ TournamentGender[TournamentGender["all"] = 3] = "all";
26
+ })(TournamentGender || (TournamentGender = {}));
27
+ export var BasketballStatisticTypes;
28
+ (function (BasketballStatisticTypes) {
29
+ BasketballStatisticTypes[BasketballStatisticTypes["standard"] = 1] = "standard";
30
+ BasketballStatisticTypes[BasketballStatisticTypes["light"] = 2] = "light";
31
+ BasketballStatisticTypes[BasketballStatisticTypes["advanced"] = 3] = "advanced";
32
+ })(BasketballStatisticTypes || (BasketballStatisticTypes = {}));
33
+ export var VolleyballStatisticTypes;
34
+ (function (VolleyballStatisticTypes) {
35
+ VolleyballStatisticTypes[VolleyballStatisticTypes["standard"] = 1] = "standard";
36
+ VolleyballStatisticTypes[VolleyballStatisticTypes["light"] = 2] = "light";
37
+ VolleyballStatisticTypes[VolleyballStatisticTypes["advanced"] = 3] = "advanced";
38
+ })(VolleyballStatisticTypes || (VolleyballStatisticTypes = {}));
39
+ export var RugbyStatisticTypes;
40
+ (function (RugbyStatisticTypes) {
41
+ RugbyStatisticTypes[RugbyStatisticTypes["light"] = 1] = "light";
42
+ RugbyStatisticTypes[RugbyStatisticTypes["standard"] = 2] = "standard";
43
+ })(RugbyStatisticTypes || (RugbyStatisticTypes = {}));
44
+ export var GameTimeTypes;
45
+ (function (GameTimeTypes) {
46
+ GameTimeTypes[GameTimeTypes["clean"] = 1] = "clean";
47
+ GameTimeTypes[GameTimeTypes["dirty"] = 2] = "dirty";
48
+ })(GameTimeTypes || (GameTimeTypes = {}));
49
+ export var OvertimeTypes;
50
+ (function (OvertimeTypes) {
51
+ OvertimeTypes[OvertimeTypes["to_score_total"] = 1] = "to_score_total";
52
+ OvertimeTypes[OvertimeTypes["to_score_diff"] = 2] = "to_score_diff";
53
+ OvertimeTypes[OvertimeTypes["time"] = 3] = "time";
54
+ OvertimeTypes[OvertimeTypes["without_overtime"] = 4] = "without_overtime";
55
+ OvertimeTypes[OvertimeTypes["to_first_goal"] = 5] = "to_first_goal";
56
+ OvertimeTypes[OvertimeTypes["to_first_goal_and_bullitts"] = 6] = "to_first_goal_and_bullitts";
57
+ OvertimeTypes[OvertimeTypes["bullitts"] = 7] = "bullitts";
58
+ OvertimeTypes[OvertimeTypes["penalties"] = 8] = "penalties";
59
+ OvertimeTypes[OvertimeTypes["time_and_penalties"] = 9] = "time_and_penalties";
60
+ })(OvertimeTypes || (OvertimeTypes = {}));
61
+ export var TimerTypes;
62
+ (function (TimerTypes) {
63
+ TimerTypes[TimerTypes["backward"] = 1] = "backward";
64
+ TimerTypes[TimerTypes["forward"] = 2] = "forward";
65
+ })(TimerTypes || (TimerTypes = {}));
66
+ let TournamentSettings = class TournamentSettings extends BaseModel {
67
+ get genderTitle() {
68
+ const yearDiff = new Date().getFullYear() - this.birthYearFrom;
69
+ if (this.gender === TournamentGender.male) {
70
+ if (yearDiff < 15) {
71
+ return 'Мальчики';
72
+ }
73
+ if (yearDiff < 21) {
74
+ return 'Юноши';
75
+ }
76
+ return 'Мужчины';
77
+ }
78
+ if (this.gender === TournamentGender.female) {
79
+ if (yearDiff < 15) {
80
+ return 'Девочки';
81
+ }
82
+ if (yearDiff < 21) {
83
+ return 'Девушки';
84
+ }
85
+ return 'Женщины';
86
+ }
87
+ return 'Смешанный';
88
+ }
89
+ };
90
+ TournamentSettings = __decorate([
91
+ Model({
92
+ relation: {
93
+ type: enumField(TournamentTypes),
94
+ gender: enumField(TournamentGender),
95
+ basketballStatisticType: enumField(BasketballStatisticTypes),
96
+ volleyballStatisticType: enumField(VolleyballStatisticTypes),
97
+ rugbyStatisticType: enumField(RugbyStatisticTypes),
98
+ gameTimeType: enumField(GameTimeTypes),
99
+ overtimeType: enumField(OvertimeTypes),
100
+ timerType: enumField(TimerTypes),
101
+ }
102
+ })
103
+ ], TournamentSettings);
104
+ export { TournamentSettings };
105
+ let Tournament = class Tournament extends BaseModel {
106
+ getEmptyLogoClass() {
107
+ const classList = ['empty-logo'];
108
+ if (this.sport.isBasketball()) {
109
+ classList.push('empty-logo-basketball');
110
+ }
111
+ if (this.sport.isVolleyball()) {
112
+ classList.push('empty-logo-volleyball');
113
+ }
114
+ if (this.sport.isHockey()) {
115
+ classList.push('empty-logo-hockey');
116
+ }
117
+ if (this.sport.isFootball()) {
118
+ classList.push('empty-logo-football');
119
+ }
120
+ if (this.sport.isHandball()) {
121
+ classList.push('empty-logo-handball');
122
+ }
123
+ if (this.sport.isRugby()) {
124
+ classList.push('empty-logo-rugby');
125
+ }
126
+ if (this.sport.isWaterpolo()) {
127
+ classList.push('empty-logo-waterpolo');
128
+ }
129
+ return classList.join(' ');
130
+ }
131
+ };
132
+ Tournament = __decorate([
133
+ Model({
134
+ relation: {
135
+ logo: nestedModel(File),
136
+ cover: nestedModel(File),
137
+ previewImage: nestedModel(File),
138
+ city: nestedModel(City),
139
+ sport: nestedModel(Sport),
140
+ regulationFile: nestedModel(File),
141
+ settings: nestedModel(TournamentSettings),
142
+ date: dateTimeField,
143
+ league: nestedModel(League),
144
+ status: enumField(TournamentStatuses),
145
+ teamWinner: nestedModel(TournamentTeam, ['id', 'teamId', 'tournamentId', 'name', 'logo', 'team', 'points']),
146
+ teamSecond: nestedModel(TournamentTeam, ['id', 'teamId', 'tournamentId', 'name', 'logo', 'team', 'points']),
147
+ teamThird: nestedModel(TournamentTeam, ['id', 'teamId', 'tournamentId', 'name', 'logo', 'team', 'points']),
148
+ season: nestedModel(TournamentSeason),
149
+ }
150
+ })
151
+ ], Tournament);
152
+ export { Tournament };
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy90b3VybmFtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLGtDQUFlLENBQUE7SUFDZiw4Q0FBMkIsQ0FBQTtJQUMzQixnQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyREFBSSxDQUFBO0lBQ0oseUVBQVcsQ0FBQTtJQUNYLCtEQUFNLENBQUE7QUFDUixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsdURBQU8sQ0FBQTtJQUNQLDJEQUFNLENBQUE7SUFDTixxREFBRyxDQUFBO0FBQ0wsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0I7QUFFRCxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdB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LFlBQVksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQy9CLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3pCLGNBQWMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUM7WUFDekMsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDM0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztZQUNyQyxVQUFVLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNHLFVBQVUsRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDM0csU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxRyxNQUFNLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1NBQ3RDO0tBQ0YsQ0FBQztHQUNXLFVBQVUsQ0FxRHRCO1NBckRZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwsIGVudW1GaWVsZCwgTW9kZWwsIGRhdGVUaW1lRmllbGQsIG5lc3RlZE1vZGVsIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IENpdHkgfSBmcm9tICcuL2NpdHknO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBMZWFndWUgfSBmcm9tICcuL2xlYWd1ZSc7XG5pbXBvcnQgeyBTcG9ydCB9IGZyb20gJy4vc3BvcnQnO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50U2Vhc29uIH0gZnJvbSAnLi90b3VybmFtZW50LXNlYXNvbic7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4vdG91cm5hbWVudC10ZWFtJztcblxuZXhwb3J0IGVudW0gVG91cm5hbWVudFR5cGVzIHtcbiAgZ3JvdXAgPSAnZ3JvdXAnLFxuICBlbGltaW5hdGlvbiA9ICdlbGltaW5hdGlvbicsXG4gIGZpYmEgPSAnZmliYSdcbn1cblxuZXhwb3J0IGVudW0gVG91cm5hbWVudFN0YXR1c2VzIHtcbiAgb3BlbixcbiAgaW5fcHJvZ3Jlc3MsXG4gIGNsb3NlZCxcbn1cblxuZXhwb3J0IGVudW0gVG91cm5hbWVudEdlbmRlciB7XG4gIG1hbGU9IDEsXG4gIGZlbWFsZSxcbiAgYWxsXG59XG5cbmV4cG9ydCBlbnVtIEJhc2tldGJhbGxTdGF0aXN0aWNUeXBlcyB7XG4gIHN0YW5kYXJkID0gMSxcbiAgbGlnaHQsXG4gIGFkdmFuY2VkXG59XG5cbmV4cG9ydCBlbnVtIFZvbGxleWJhbGxTdGF0aXN0aWNUeXBlcyB7XG4gIHN0YW5kYXJkID0gMSxcbiAgbGlnaHQsXG4gIGFkdmFuY2VkXG59XG5cbmV4cG9ydCBlbnVtIFJ1Z2J5U3RhdGlzdGljVHlwZXMge1xuICBsaWdodCA9IDEsXG4gIHN0YW5kYXJkLFxufVxuXG5leHBvcnQgZW51bSBHYW1lVGltZVR5cGVzIHtcbiAgY2xlYW4gPSAxLFxuICBkaXJ0eSxcbn1cblxuZXhwb3J0IGVudW0gT3ZlcnRpbWVUeXBlcyB7XG4gIHRvX3Njb3JlX3RvdGFsID0gMSxcbiAgdG9fc2NvcmVfZGlmZixcbiAgdGltZSxcbiAgd2l0aG91dF9vdmVydGltZSxcbiAgdG9fZmlyc3RfZ29hbCxcbiAgdG9fZmlyc3RfZ29hbF9hbmRfYnVsbGl0dHMsXG4gIGJ1bGxpdHRzLFxuICBwZW5hbHRpZXMsXG4gIHRpbWVfYW5kX3BlbmFsdGllc1xufVxuXG5cbmV4cG9ydCBlbnVtIFRpbWVyVHlwZXMge1xuICBiYWNrd2FyZCA9IDEsXG4gIGZvcndhcmQsXG59XG5cbkBNb2RlbCh7XG4gIHJlbGF0aW9uOiB7XG4gICAgdHlwZTogZW51bUZpZWxkKFRvdXJuYW1lbnRUeXBlcyksXG4gICAgZ2VuZGVyOiBlbnVtRmllbGQoVG91cm5hbWVudEdlbmRlciksXG4gICAgYmFza2V0YmFsbFN0YXRpc3RpY1R5cGU6IGVudW1GaWVsZChCYXNrZXRiYWxsU3RhdGlzdGljVHlwZXMpLFxuICAgIHZvbGxleWJhbGxTdGF0aXN0aWNUeXBlOiBlbnVtRmllbGQoVm9sbGV5YmFsbFN0YXRpc3RpY1R5cGVzKSxcbiAgICBydWdieVN0YXRpc3RpY1R5cGU6IGVudW1GaWVsZChSdWdieVN0YXRpc3RpY1R5cGVzKSxcbiAgICBnYW1lVGltZVR5cGU6IGVudW1GaWVsZChHYW1lVGltZVR5cGVzKSxcbiAgICBvdmVydGltZVR5cGU6IGVudW1GaWVsZChPdmVydGltZVR5cGVzKSxcbiAgICB0aW1lclR5cGU6IGVudW1GaWVsZChUaW1lclR5cGVzKSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50U2V0dGluZ3MgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBnZW5kZXI6IFRvdXJuYW1lbnRHZW5kZXI7XG4gIGJpcnRoWWVhckZyb206IG51bWJlcjtcbiAgYmlydGhZZWFyVG86IG51bWJlcjtcbiAgbWF4VGVhbVBsYXllcnM6IG51bWJlcjtcbiAgbWF4R2FtZVBsYXllcnM6IG51bWJlcjtcbiAgdHlwZTogVG91cm5hbWVudFR5cGVzO1xuICB0b3Vyc0NvdW50OiBudW1iZXI7XG4gIHBlcmlvZHNDb3VudDogbnVtYmVyO1xuICBwZXJpb2RUaW1lOiBudW1iZXI7XG4gIG92ZXJ0aW1lVHlwZTogT3ZlcnRpbWVUeXBlcztcbiAgb3ZlcnRpbWVUaW1lOiBudW1iZXI7XG4gIG92ZXJ0aW1lU2NvcmU6IG51bWJlcjtcbiAgZ2FtZVR5cGU6IHN0cmluZztcbiAgdGltZW91dENvdW50OiBudW1iZXI7XG4gIHRpbWVvdXRUaW1lOiBudW1iZXI7XG4gIHN1YnN0aXR1dGVDb3VudDogbnVtYmVyO1xuICBnYW1lVXBUb1Njb3JlOiBudW1iZXI7XG4gIHZvbGxleWJhbGxTY29yZUluU2V0OiBudW1iZXI7XG4gIHZvbGxleWJhbGxTY29yZUluTGFzdFNldDogbnVtYmVyO1xuICBtYW5hZ2VUZWFtQXBwbGljYXRpb246IGJvb2xlYW47XG4gIHJlY3J1aXRtZW50SXNPcGVuOiBib29sZWFuO1xuICB0cmFuc2ZlcklzT3BlbjogYm9vbGVhbjtcbiAgYmFza2V0YmFsbFN0YXRpc3RpY1R5cGU6IEJhc2tldGJhbGxTdGF0aXN0aWNUeXBlcztcbiAgdm9sbGV5YmFsbFN0YXRpc3RpY1R5cGU6IFZvbGxleWJhbGxTdGF0aXN0aWNUeXBlcztcbiAgcnVnYnlTdGF0aXN0aWNUeXBlOiBSdWdieVN0YXRpc3RpY1R5cGVzO1xuICBzaG90Q2xvY2tFbmFibGVkOiBib29sZWFuO1xuICBnYW1lVGltZVR5cGU6IEdhbWVUaW1lVHlwZXM7XG4gIHdpdGhSZXN1bHRUYWJsZTogYm9vbGVhbjtcbiAgZnJlZVN1YnN0aXR1dGVFbmFibGVkOiBib29sZWFuO1xuICBib251c1BvaW50c0VuYWJsZWQ6IGJvb2xlYW47XG4gIHN1YnN0aXR1dGVNYW5hZ2VFbmFibGVkOiBib29sZWFuO1xuICBtaW5vclBlbmFsdHlUaW1lOiBudW1iZXI7XG4gIG1ham9yUGVuYWx0eVRpbWU6IG51bWJlcjtcbiAgbWlzY29uZHVjdFBlbmFsdHlUaW1lOiBudW1iZXI7XG4gIGdhbWVNaXNjb25kdWN0UGVuYWx0eVRpbWU6IG51bWJlcjtcbiAgdGltZXJUeXBlOiBUaW1lclR5cGVzO1xuXG4gIGdldCBnZW5kZXJUaXRsZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHllYXJEaWZmID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpIC0gdGhpcy5iaXJ0aFllYXJGcm9tO1xuICAgIGlmICh0aGlzLmdlbmRlciA9PT0gVG91cm5hbWVudEdlbmRlci5tYWxlKSB7XG4gICAgICBpZiAoeWVhckRpZmYgPCAxNSkge1xuICAgICAgICByZXR1cm4gJ9Cc0LDQu9GM0YfQuNC60LgnO1xuICAgICAgfVxuICAgICAgaWYgKHllYXJEaWZmIDwgMjEpIHtcbiAgICAgICAgcmV0dXJuICfQrtC90L7RiNC4JztcbiAgICAgIH1cbiAgICAgIHJldHVybiAn0JzRg9C20YfQuNC90YsnO1xuICAgIH1cbiAgICBpZiAodGhpcy5nZW5kZXIgPT09IFRvdXJuYW1lbnRHZW5kZXIuZmVtYWxlKSB7XG4gICAgICBpZiAoeWVhckRpZmYgPCAxNSkge1xuICAgICAgICByZXR1cm4gJ9CU0LXQstC+0YfQutC4JztcbiAgICAgIH1cbiAgICAgIGlmICh5ZWFyRGlmZiA8IDIxKSB7XG4gICAgICAgIHJldHVybiAn0JTQtdCy0YPRiNC60LgnO1xuICAgICAgfVxuICAgICAgcmV0dXJuICfQltC10L3RidC40L3Riyc7XG4gICAgfVxuICAgIHJldHVybiAn0KHQvNC10YjQsNC90L3Ri9C5JztcbiAgfVxufVxuXG5ATW9kZWwoe1xuICByZWxhdGlvbjoge1xuICAgIGxvZ286IG5lc3RlZE1vZGVsKEZpbGUpLFxuICAgIGNvdmVyOiBuZXN0ZWRNb2RlbChGaWxlKSxcbiAgICBwcmV2aWV3SW1hZ2U6IG5lc3RlZE1vZGVsKEZpbGUpLFxuICAgIGNpdHk6IG5lc3RlZE1vZGVsKENpdHkpLFxuICAgIHNwb3J0OiBuZXN0ZWRNb2RlbChTcG9ydCksXG4gICAgcmVndWxhdGlvbkZpbGU6IG5lc3RlZE1vZGVsKEZpbGUpLFxuICAgIHNldHRpbmdzOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50U2V0dGluZ3MpLFxuICAgIGRhdGU6IGRhdGVUaW1lRmllbGQsXG4gICAgbGVhZ3VlOiBuZXN0ZWRNb2RlbChMZWFndWUpLFxuICAgIHN0YXR1czogZW51bUZpZWxkKFRvdXJuYW1lbnRTdGF0dXNlcyksXG4gICAgdGVhbVdpbm5lcjogbmVzdGVkTW9kZWwoVG91cm5hbWVudFRlYW0sIFsnaWQnLCAndGVhbUlkJywgJ3RvdXJuYW1lbnRJZCcsICduYW1lJywgJ2xvZ28nLCAndGVhbScsICdwb2ludHMnXSksXG4gICAgdGVhbVNlY29uZDogbmVzdGVkTW9kZWwoVG91cm5hbWVudFRlYW0sIFsnaWQnLCAndGVhbUlkJywgJ3RvdXJuYW1lbnRJZCcsICduYW1lJywgJ2xvZ28nLCAndGVhbScsICdwb2ludHMnXSksXG4gICAgdGVhbVRoaXJkOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50VGVhbSwgWydpZCcsICd0ZWFtSWQnLCAndG91cm5hbWVudElkJywgJ25hbWUnLCAnbG9nbycsICd0ZWFtJywgJ3BvaW50cyddKSxcbiAgICBzZWFzb246IG5lc3RlZE1vZGVsKFRvdXJuYW1lbnRTZWFzb24pLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGFsaWFzOiBzdHJpbmc7XG4gIGxvZ286IEZpbGU7XG4gIGNvdmVyOiBGaWxlO1xuICBwcmV2aWV3SW1hZ2U6IEZpbGU7XG4gIGNpdHk6IENpdHk7XG4gIHNwb3J0OiBTcG9ydDtcbiAgbG9jYXRpb246IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGF0ZTogRGF0ZTtcbiAgcHJpY2U6IG51bWJlcjtcbiAgcmVndWxhdGlvbkZpbGVzOiBGaWxlW107XG4gIHNldHRpbmdzOiBUb3VybmFtZW50U2V0dGluZ3M7XG4gIGxlYWd1ZTogTGVhZ3VlO1xuICB0ZWFtc0NvdW50OiBudW1iZXI7XG4gIGNsb3Nlc3RHYW1lRGF0ZXRpbWU6IHN0cmluZztcbiAgc3RhdHVzOiBUb3VybmFtZW50U3RhdHVzZXM7XG4gIHRlYW1XaW5uZXI6IFRvdXJuYW1lbnRUZWFtO1xuICB0ZWFtU2Vjb25kOiBUb3VybmFtZW50VGVhbTtcbiAgdGVhbVRoaXJkOiBUb3VybmFtZW50VGVhbTtcbiAgc2Vhc29uOiBUb3VybmFtZW50U2Vhc29uO1xuICBzZWFzb25JZDogbnVtYmVyO1xuICBnYW1lUHJpY2U6IG51bWJlcjtcbiAgc2Vhc29uVG91cm5hbWVudElkOiBudW1iZXI7XG4gIGxlYWd1ZUlkOiBudW1iZXI7XG5cbiAgZ2V0RW1wdHlMb2dvQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbJ2VtcHR5LWxvZ28nXTtcbiAgICBpZiAodGhpcy5zcG9ydC5pc0Jhc2tldGJhbGwoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tYmFza2V0YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc1ZvbGxleWJhbGwoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tdm9sbGV5YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc0hvY2tleSgpKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZW1wdHktbG9nby1ob2NrZXknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvcnQuaXNGb290YmFsbCgpKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZW1wdHktbG9nby1mb290YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc0hhbmRiYWxsKCkpIHtcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdlbXB0eS1sb2dvLWhhbmRiYWxsJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNwb3J0LmlzUnVnYnkoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tcnVnYnknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvcnQuaXNXYXRlcnBvbG8oKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28td2F0ZXJwb2xvJyk7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc0xpc3Quam9pbignICcpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { __decorate } from "tslib";
2
+ import { Model, BaseModel } from './util';
3
+ let UserAccess = class UserAccess extends BaseModel {
4
+ };
5
+ UserAccess = __decorate([
6
+ Model()
7
+ ], UserAccess);
8
+ export { UserAccess };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2RlbHMvdXNlci1hY2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzFDLElBQWEsVUFBVSxHQUF2QixNQUFhLFVBQVcsU0FBUSxTQUFTO0NBTXhDLENBQUE7QUFOWSxVQUFVO0lBRHRCLEtBQUssRUFBRTtHQUNLLFVBQVUsQ0FNdEI7U0FOWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWwsIEJhc2VNb2RlbCB9IGZyb20gJy4vdXRpbCc7XG5cbkBNb2RlbCgpXG5leHBvcnQgY2xhc3MgVXNlckFjY2VzcyBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIGVkaXQ6IGJvb2xlYW47XG4gIHBlcnNvbmFsRGF0YTogYm9vbGVhbjtcbiAgdGVhbXM6IGJvb2xlYW47XG4gIHN0YXRpc3RpYzogYm9vbGVhbjtcbiAgZ2FtZXM6IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { __decorate } from "tslib";
2
+ import { Model, BaseModel, enumField } from './util';
3
+ export var UserPermissionTypes;
4
+ (function (UserPermissionTypes) {
5
+ UserPermissionTypes[UserPermissionTypes["denied"] = 1] = "denied";
6
+ UserPermissionTypes[UserPermissionTypes["for_all"] = 2] = "for_all";
7
+ UserPermissionTypes[UserPermissionTypes["for_users"] = 3] = "for_users";
8
+ UserPermissionTypes[UserPermissionTypes["for_team"] = 4] = "for_team";
9
+ })(UserPermissionTypes || (UserPermissionTypes = {}));
10
+ let UserPermission = class UserPermission extends BaseModel {
11
+ };
12
+ UserPermission = __decorate([
13
+ Model({
14
+ relation: {
15
+ personalData: enumField(UserPermissionTypes),
16
+ games: enumField(UserPermissionTypes),
17
+ teams: enumField(UserPermissionTypes),
18
+ statistic: enumField(UserPermissionTypes)
19
+ }
20
+ })
21
+ ], UserPermission);
22
+ export { UserPermission };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wZXJtaXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3VzZXItcGVybWlzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXJELE1BQU0sQ0FBTixJQUFZLG1CQUtYO0FBTEQsV0FBWSxtQkFBbUI7SUFDN0IsaUVBQVUsQ0FBQTtJQUNWLG1FQUFPLENBQUE7SUFDUCx1RUFBUyxDQUFBO0lBQ1QscUVBQVEsQ0FBQTtBQUNWLENBQUMsRUFMVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSzlCO0FBVUQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBZSxTQUFRLFNBQVM7Q0FNNUMsQ0FBQTtBQU5ZLGNBQWM7SUFSMUIsS0FBSyxDQUFDO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztZQUM1QyxLQUFLLEVBQUUsU0FBUyxDQUFDLG1CQUFtQixDQUFDO1lBQ3JDLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUM7WUFDckMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztTQUMxQztLQUNGLENBQUM7R0FDVyxjQUFjLENBTTFCO1NBTlksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsLCBCYXNlTW9kZWwsIGVudW1GaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBlbnVtIFVzZXJQZXJtaXNzaW9uVHlwZXMge1xuICBkZW5pZWQgPSAxLFxuICBmb3JfYWxsLFxuICBmb3JfdXNlcnMsXG4gIGZvcl90ZWFtXG59XG5cbkBNb2RlbCh7XG4gIHJlbGF0aW9uOiB7XG4gICAgcGVyc29uYWxEYXRhOiBlbnVtRmllbGQoVXNlclBlcm1pc3Npb25UeXBlcyksXG4gICAgZ2FtZXM6IGVudW1GaWVsZChVc2VyUGVybWlzc2lvblR5cGVzKSxcbiAgICB0ZWFtczogZW51bUZpZWxkKFVzZXJQZXJtaXNzaW9uVHlwZXMpLFxuICAgIHN0YXRpc3RpYzogZW51bUZpZWxkKFVzZXJQZXJtaXNzaW9uVHlwZXMpXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclBlcm1pc3Npb24gZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBwZXJzb25hbERhdGE6IFVzZXJQZXJtaXNzaW9uVHlwZXM7XG4gIGdhbWVzOiBVc2VyUGVybWlzc2lvblR5cGVzO1xuICB0ZWFtczogVXNlclBlcm1pc3Npb25UeXBlcztcbiAgc3RhdGlzdGljOiBVc2VyUGVybWlzc2lvblR5cGVzO1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { __decorate } from "tslib";
2
+ import { BaseModel, Model } from './util';
3
+ let UserProfile = class UserProfile extends BaseModel {
4
+ };
5
+ UserProfile = __decorate([
6
+ Model()
7
+ ], UserProfile);
8
+ export { UserProfile };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3VzZXItcHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHMUMsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBWSxTQUFRLFNBQVM7Q0FLekMsQ0FBQTtBQUxZLFdBQVc7SUFEdkIsS0FBSyxFQUFFO0dBQ0ssV0FBVyxDQUt2QjtTQUxZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwsIE1vZGVsIH0gZnJvbSAnLi91dGlsJztcblxuQE1vZGVsKClcbmV4cG9ydCBjbGFzcyBVc2VyUHJvZmlsZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIGlkOiBudW1iZXI7XG4gIHVzZXJJZDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgd2VpZ2h0OiBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { __decorate } from "tslib";
2
+ import { BaseModel, dateField, enumField, Model, nestedModel } from './util';
3
+ import { UserProfile } from './user-profile';
4
+ import { File } from './file';
5
+ import { City } from './city';
6
+ import { BasketballProfile } from './basketball-profile';
7
+ import { VolleyballProfile } from './volleyball-profile';
8
+ import { HockeyProfile } from './hockey-profile';
9
+ import { FootballProfile } from './football-profile';
10
+ import { HandballProfile } from './handball-profile';
11
+ import { RugbyProfile } from './rugby-profile';
12
+ import { WaterpoloProfile } from './waterpolo-profile';
13
+ export var UserGender;
14
+ (function (UserGender) {
15
+ UserGender["male"] = "male";
16
+ UserGender["female"] = "female";
17
+ })(UserGender || (UserGender = {}));
18
+ let User = class User extends BaseModel {
19
+ get fullName() {
20
+ return [this.lastName, this.firstName].filter(s => s).join(' ');
21
+ }
22
+ get shortName() {
23
+ return [this.lastName, this.firstName].filter(s => s).join(' ');
24
+ }
25
+ get initials() {
26
+ return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');
27
+ }
28
+ get age() {
29
+ if (!this.birthDate) {
30
+ return null;
31
+ }
32
+ const diff = (new Date()).getTime() - this.birthDate.getTime();
33
+ return Math.floor(diff / (365 * 86400 * 1000));
34
+ }
35
+ };
36
+ User = __decorate([
37
+ Model({
38
+ relation: {
39
+ birthDate: dateField,
40
+ photo: nestedModel(File),
41
+ profile: nestedModel(UserProfile),
42
+ basketballProfile: nestedModel(BasketballProfile),
43
+ volleyballProfile: nestedModel(VolleyballProfile),
44
+ hockeyProfile: nestedModel(HockeyProfile),
45
+ footballProfile: nestedModel(FootballProfile),
46
+ handballProfile: nestedModel(HandballProfile),
47
+ rugbyProfile: nestedModel(RugbyProfile),
48
+ waterpoloProfile: nestedModel(WaterpoloProfile),
49
+ city: nestedModel(City),
50
+ gender: enumField(UserGender),
51
+ }
52
+ })
53
+ ], User);
54
+ export { User };
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLDJCQUFhLENBQUE7SUFDYiwrQkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUFrQkQsSUFBYSxJQUFJLEdBQWpCLE1BQWEsSUFBSyxTQUFRLFNBQVM7SUFzQmpDLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YsQ0FBQTtBQXpDWSxJQUFJO0lBaEJoQixLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUNqQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDakQsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1lBQ2pELGFBQWEsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQ3pDLGVBQWUsRUFBRSxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQzdDLGVBQWUsRUFBRSxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQzdDLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQ3ZDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUMvQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN2QixNQUFNLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUM5QjtLQUNGLENBQUM7R0FDVyxJQUFJLENBeUNoQjtTQXpDWSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsLCBkYXRlRmllbGQsIGVudW1GaWVsZCwgTW9kZWwsIG5lc3RlZE1vZGVsIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFVzZXJQcm9maWxlIH0gZnJvbSAnLi91c2VyLXByb2ZpbGUnO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBDaXR5IH0gZnJvbSAnLi9jaXR5JztcbmltcG9ydCB7IEJhc2tldGJhbGxQcm9maWxlIH0gZnJvbSAnLi9iYXNrZXRiYWxsLXByb2ZpbGUnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFByb2ZpbGUgfSBmcm9tICcuL3ZvbGxleWJhbGwtcHJvZmlsZSc7XG5pbXBvcnQgeyBIb2NrZXlQcm9maWxlIH0gZnJvbSAnLi9ob2NrZXktcHJvZmlsZSc7XG5pbXBvcnQgeyBGb290YmFsbFByb2ZpbGUgfSBmcm9tICcuL2Zvb3RiYWxsLXByb2ZpbGUnO1xuaW1wb3J0IHsgSGFuZGJhbGxQcm9maWxlIH0gZnJvbSAnLi9oYW5kYmFsbC1wcm9maWxlJztcbmltcG9ydCB7IFJ1Z2J5UHJvZmlsZSB9IGZyb20gJy4vcnVnYnktcHJvZmlsZSc7XG5pbXBvcnQgeyBXYXRlcnBvbG9Qcm9maWxlIH0gZnJvbSAnLi93YXRlcnBvbG8tcHJvZmlsZSc7XG5cbmV4cG9ydCBlbnVtIFVzZXJHZW5kZXIge1xuICBtYWxlID0gJ21hbGUnLFxuICBmZW1hbGUgPSAnZmVtYWxlJyxcbn1cblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICBiaXJ0aERhdGU6IGRhdGVGaWVsZCxcbiAgICBwaG90bzogbmVzdGVkTW9kZWwoRmlsZSksXG4gICAgcHJvZmlsZTogbmVzdGVkTW9kZWwoVXNlclByb2ZpbGUpLFxuICAgIGJhc2tldGJhbGxQcm9maWxlOiBuZXN0ZWRNb2RlbChCYXNrZXRiYWxsUHJvZmlsZSksXG4gICAgdm9sbGV5YmFsbFByb2ZpbGU6IG5lc3RlZE1vZGVsKFZvbGxleWJhbGxQcm9maWxlKSxcbiAgICBob2NrZXlQcm9maWxlOiBuZXN0ZWRNb2RlbChIb2NrZXlQcm9maWxlKSxcbiAgICBmb290YmFsbFByb2ZpbGU6IG5lc3RlZE1vZGVsKEZvb3RiYWxsUHJvZmlsZSksXG4gICAgaGFuZGJhbGxQcm9maWxlOiBuZXN0ZWRNb2RlbChIYW5kYmFsbFByb2ZpbGUpLFxuICAgIHJ1Z2J5UHJvZmlsZTogbmVzdGVkTW9kZWwoUnVnYnlQcm9maWxlKSxcbiAgICB3YXRlcnBvbG9Qcm9maWxlOiBuZXN0ZWRNb2RlbChXYXRlcnBvbG9Qcm9maWxlKSxcbiAgICBjaXR5OiBuZXN0ZWRNb2RlbChDaXR5KSxcbiAgICBnZW5kZXI6IGVudW1GaWVsZChVc2VyR2VuZGVyKSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgbGFzdE5hbWU6IHN0cmluZztcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gIG1pZGRsZU5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbiAgYmlydGhEYXRlOiBEYXRlO1xuICBwcm9maWxlOiBVc2VyUHJvZmlsZTtcbiAgYmFza2V0YmFsbFByb2ZpbGU6IEJhc2tldGJhbGxQcm9maWxlO1xuICB2b2xsZXliYWxsUHJvZmlsZTogVm9sbGV5YmFsbFByb2ZpbGU7XG4gIGhvY2tleVByb2ZpbGU6IEhvY2tleVByb2ZpbGU7XG4gIGZvb3RiYWxsUHJvZmlsZTogRm9vdGJhbGxQcm9maWxlO1xuICBoYW5kYmFsbFByb2ZpbGU6IEhhbmRiYWxsUHJvZmlsZTtcbiAgcnVnYnlQcm9maWxlOiBSdWdieVByb2ZpbGU7XG4gIHdhdGVycG9sb1Byb2ZpbGU6IFdhdGVycG9sb1Byb2ZpbGU7XG4gIHBob3RvOiBGaWxlO1xuICB3aXphcmRzOiBzdHJpbmdbXTtcbiAgY2l0eTogQ2l0eTtcbiAgZ2VuZGVyOiBVc2VyR2VuZGVyO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW3RoaXMubGFzdE5hbWUsIHRoaXMuZmlyc3ROYW1lXS5maWx0ZXIocyA9PiBzKS5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgc2hvcnROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmxhc3ROYW1lLCB0aGlzLmZpcnN0TmFtZV0uZmlsdGVyKHMgPT4gcykuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmxhc3ROYW1lLCB0aGlzLmZpcnN0TmFtZV0uZmlsdGVyKHMgPT4gcykubWFwKHMgPT4gcy5zdWJzdHIoMCwgMSkpLmpvaW4oJycpO1xuICB9XG5cbiAgZ2V0IGFnZSgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5iaXJ0aERhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBkaWZmID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAtIHRoaXMuYmlydGhEYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmIC8gKDM2NSAqIDg2NDAwICogMTAwMCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,143 @@
1
+ export class BaseModel {
2
+ constructor(data, fields) {
3
+ }
4
+ json(fields) {
5
+ throw new Error('Add decorator @Model');
6
+ }
7
+ update(data) {
8
+ return Object.assign(Object.create(this), this, data);
9
+ }
10
+ }
11
+ export function toJson(data, fields) {
12
+ const jsonData = {};
13
+ const keys = fields && fields.length > 0 ? fields : Object.keys(data);
14
+ for (const key of keys) {
15
+ let value = null;
16
+ let relationKeys = null;
17
+ let relationKey = null;
18
+ let backKey = null;
19
+ if (key instanceof Object) {
20
+ [relationKey, relationKeys] = Object.entries(key)[0];
21
+ backKey = toUnderscore(relationKey);
22
+ value = data[relationKey];
23
+ }
24
+ else {
25
+ backKey = toUnderscore(key);
26
+ value = data[key];
27
+ }
28
+ if (Array.isArray(value)) {
29
+ jsonData[backKey] = value.map(v => toJson(v, relationKeys));
30
+ }
31
+ else if (value instanceof BaseModel) {
32
+ jsonData[backKey] = value.json(relationKeys);
33
+ }
34
+ else if (value instanceof Date) {
35
+ jsonData[backKey] = value.toISOString();
36
+ }
37
+ else if (!(value instanceof Object)) {
38
+ jsonData[backKey] = value;
39
+ }
40
+ }
41
+ return jsonData;
42
+ }
43
+ export function listField(relation) {
44
+ return {
45
+ create: (data) => (data || []).map(item => relation.create(item)),
46
+ json: (data) => (data || []).map(item => relation.json(item)),
47
+ };
48
+ }
49
+ export function nestedModel(model, fields) {
50
+ return {
51
+ create: (data) => data ? new model(data, fields) : null,
52
+ json: (data) => data ? data.json() : null,
53
+ };
54
+ }
55
+ export function enumField(enumClass) {
56
+ return {
57
+ create: (value) => {
58
+ if (value === null || value === undefined) {
59
+ return value;
60
+ }
61
+ if (isNaN(+value)) {
62
+ return enumClass[value];
63
+ }
64
+ else {
65
+ return value;
66
+ }
67
+ },
68
+ json: (value) => {
69
+ if (value === null || value === undefined) {
70
+ return value;
71
+ }
72
+ if (isNaN(+value)) {
73
+ return value;
74
+ }
75
+ else {
76
+ return enumClass[value];
77
+ }
78
+ }
79
+ };
80
+ }
81
+ export const dateTimeField = {
82
+ create: (data) => data ? new Date(data) : null,
83
+ json: (data) => data ? data.toISOString() : null,
84
+ };
85
+ export const dateField = {
86
+ create: (data) => data ? new Date(data) : null,
87
+ json: (data) => data
88
+ ? new Date(Date.UTC(data.getFullYear(), data.getMonth(), data.getDate())).toISOString().slice(0, 10)
89
+ : null,
90
+ };
91
+ export function toCamelCase(key) {
92
+ return key.replace(/_([a-z])/g, g => g[1].toUpperCase());
93
+ }
94
+ export function toUnderscore(key) {
95
+ return key.replace(/.([A-Z])/g, g => `${g[0]}_${g[1]}`).toLowerCase();
96
+ }
97
+ export function Model(config = {}) {
98
+ const relations = config.relation || {};
99
+ return (target) => {
100
+ return new Proxy(target, {
101
+ construct(cls, argArray) {
102
+ const instance = new cls();
103
+ const data = argArray[0] || {};
104
+ const fields = argArray[1] || [];
105
+ for (const key of Object.keys(data)) {
106
+ if (fields.length > 0 && !fields.includes(key)) {
107
+ continue;
108
+ }
109
+ const modelKey = toCamelCase(key);
110
+ const relation = relations[modelKey];
111
+ if (relation) {
112
+ instance[modelKey] = relation.create(data[key]);
113
+ }
114
+ else {
115
+ instance[modelKey] = data[key];
116
+ }
117
+ }
118
+ Object.defineProperty(instance, 'json', {
119
+ value() {
120
+ const json = {};
121
+ for (const key of Object.getOwnPropertyNames(this)) {
122
+ const relation = relations[key];
123
+ if (this[key] instanceof Object && !relation) {
124
+ continue;
125
+ }
126
+ const backKey = toUnderscore(key);
127
+ if (relation) {
128
+ json[backKey] = relation.json(this[key]);
129
+ }
130
+ else {
131
+ json[backKey] = this[key];
132
+ }
133
+ }
134
+ return json;
135
+ },
136
+ writable: false,
137
+ });
138
+ return instance;
139
+ }
140
+ });
141
+ };
142
+ }
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsU0FBUztJQUM3QixZQUFZLElBQVUsRUFBRSxNQUFpQjtJQUN6QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUksSUFBMkM7UUFDbkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBTSxDQUFDO0lBQzdELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBUyxFQUFFLE1BQWM7SUFDOUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7WUFDekIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxD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QUs7d0JBQ0gsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNoQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTs0QkFDbEQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNoQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0NBQzVDLFNBQVM7NkJBQ1Y7NEJBQ0QsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNsQyxJQUFJLFFBQVEsRUFBRTtnQ0FDWixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs2QkFDMUM7aUNBQU07Z0NBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs2QkFDM0I7eUJBQ0Y7d0JBQ0QsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztvQkFDRCxRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQyxDQUFDO2dCQUVILE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnksIGZpZWxkcz86IHN0cmluZ1tdKSB7XG4gIH1cblxuICBqc29uKGZpZWxkcz86IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBZGQgZGVjb3JhdG9yIEBNb2RlbCcpXG4gIH1cblxuICB1cGRhdGU8VD4oZGF0YToge1tQcm9wZXJ0eSBpbiBrZXlvZiBUXT86IFRbUHJvcGVydHldfSk6IFQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUodGhpcyksIHRoaXMsIGRhdGEpIGFzIFQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbihkYXRhOiBhbnksIGZpZWxkcz86IGFueVtdKTogb2JqZWN0IHtcbiAgY29uc3QganNvbkRhdGEgPSB7fTtcbiAgY29uc3Qga2V5cyA9IGZpZWxkcyAmJiBmaWVsZHMubGVuZ3RoID4gMCA/IGZpZWxkcyA6IE9iamVjdC5rZXlzKGRhdGEpO1xuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgbGV0IHZhbHVlID0gbnVsbDtcbiAgICBsZXQgcmVsYXRpb25LZXlzID0gbnVsbDtcbiAgICBsZXQgcmVsYXRpb25LZXkgPSBudWxsO1xuICAgIGxldCBiYWNrS2V5ID0gbnVsbDtcbiAgICBpZiAoa2V5IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICBbcmVsYXRpb25LZXksIHJlbGF0aW9uS2V5c10gPSBPYmplY3QuZW50cmllcyhrZXkpWzBdO1xuICAgICAgYmFja0tleSA9IHRvVW5kZXJzY29yZShyZWxhdGlvbktleSk7XG4gICAgICB2YWx1ZSA9IGRhdGFbcmVsYXRpb25LZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYWNrS2V5ID0gdG9VbmRlcnNjb3JlKGtleSk7XG4gICAgICB2YWx1ZSA9IGRhdGFba2V5XTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICBqc29uRGF0YVtiYWNrS2V5XSA9IHZhbHVlLm1hcCh2ID0+IHRvSnNvbih2LCByZWxhdGlvbktleXMpKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgQmFzZU1vZGVsKSB7XG4gICAgICBqc29uRGF0YVtiYWNrS2V5XSA9IHZhbHVlLmpzb24ocmVsYXRpb25LZXlzKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAganNvbkRhdGFbYmFja0tleV0gPSB2YWx1ZS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkpIHtcbiAgICAgIGpzb25EYXRhW2JhY2tLZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBqc29uRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbFJlbGF0aW9uPFQ+IHtcbiAgY3JlYXRlKGRhdGE6IGFueSk6IFQ7XG4gIGpzb24oZGF0YTogVCk6IGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RGaWVsZDxSLCBUIGV4dGVuZHMgTW9kZWxSZWxhdGlvbjxSPj4ocmVsYXRpb246IE1vZGVsUmVsYXRpb248Uj4pOiBNb2RlbFJlbGF0aW9uPFJbXT4ge1xuICByZXR1cm4ge1xuICAgIGNyZWF0ZTogKGRhdGE6IGFueVtdKSA9PiAoZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gcmVsYXRpb24uY3JlYXRlKGl0ZW0pKSxcbiAgICBqc29uOiAoZGF0YTogYW55W10pID0+IChkYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiByZWxhdGlvbi5qc29uKGl0ZW0pKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lc3RlZE1vZGVsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsOiBuZXcoZGF0YSwgZmllbGRzKSA9PiBULCBmaWVsZHM/OiBzdHJpbmdbXSk6IE1vZGVsUmVsYXRpb248VD4ge1xuICByZXR1cm4ge1xuICAgIGNyZWF0ZTogKGRhdGE6IG9iamVjdCk6IFQgPT4gZGF0YSA/IG5ldyBtb2RlbChkYXRhLCBmaWVsZHMpIGFzIFQgOiBudWxsLFxuICAgIGpzb246IChkYXRhOiBUKTogb2JqZWN0ID0+IGRhdGEgPyBkYXRhLmpzb24oKSA6IG51bGwsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtRmllbGQoZW51bUNsYXNzOiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGU6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBqc29uOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVUaW1lRmllbGQ6IE1vZGVsUmVsYXRpb248RGF0ZT4gPSB7XG4gIGNyZWF0ZTogKGRhdGE6IHN0cmluZyk6IERhdGUgPT4gZGF0YSA/IG5ldyBEYXRlKGRhdGEpIDogbnVsbCxcbiAganNvbjogKGRhdGE6IERhdGUpOiBzdHJpbmcgPT4gZGF0YSA/IGRhdGEudG9JU09TdHJpbmcoKSA6IG51bGwsXG59O1xuXG5leHBvcnQgY29uc3QgZGF0ZUZpZWxkOiBNb2RlbFJlbGF0aW9uPERhdGU+ID0ge1xuICBjcmVhdGU6IChkYXRhOiBzdHJpbmcpOiBEYXRlID0+IGRhdGEgPyBuZXcgRGF0ZShkYXRhKSA6IG51bGwsXG4gIGpzb246IChkYXRhOiBEYXRlKTogc3RyaW5nID0+IGRhdGFcbiAgICA/IG5ldyBEYXRlKERhdGUuVVRDKFxuICAgICAgZGF0YS5nZXRGdWxsWWVhcigpLFxuICAgICAgZGF0YS5nZXRNb250aCgpLFxuICAgICAgZGF0YS5nZXREYXRlKCksXG4gICAgKSkudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMClcbiAgICA6IG51bGwsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9DYW1lbENhc2Uoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4ga2V5LnJlcGxhY2UoL18oW2Etel0pL2csIGcgPT4gZ1sxXS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvVW5kZXJzY29yZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBrZXkucmVwbGFjZSgvLihbQS1aXSkvZywgZyA9PiBgJHtnWzBdfV8ke2dbMV19YCkudG9Mb3dlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVsPFQ+KGNvbmZpZzoge1xuICByZWxhdGlvbj86IHtba2V5OiBzdHJpbmddOiBNb2RlbFJlbGF0aW9uPGFueT59LFxufSA9IHt9KSB7XG4gIGNvbnN0IHJlbGF0aW9ucyA9IGNvbmZpZy5yZWxhdGlvbiB8fCB7fTtcblxuICByZXR1cm4gKHRhcmdldDogdHlwZW9mIEJhc2VNb2RlbCkgPT4ge1xuICAgIHJldHVybiBuZXcgUHJveHkodGFyZ2V0LCB7XG4gICAgICBjb25zdHJ1Y3QoY2xzOiBhbnksIGFyZ0FycmF5OiBhbnlbXSkge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBjbHMoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGFyZ0FycmF5WzBdIHx8IHt9O1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBhcmdBcnJheVsxXSB8fCBbXTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDAgJiYgIWZpZWxkcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbW9kZWxLZXkgPSB0b0NhbWVsQ2FzZShrZXkpO1xuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uID0gcmVsYXRpb25zW21vZGVsS2V5XTtcbiAgICAgICAgICBpZiAocmVsYXRpb24pIHtcbiAgICAgICAgICAgaW5zdGFuY2VbbW9kZWxLZXldID0gcmVsYXRpb24uY3JlYXRlKGRhdGFba2V5XSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluc3RhbmNlW21vZGVsS2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5zdGFuY2UsICdqc29uJywge1xuICAgICAgICAgIHZhbHVlKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHtcbiAgICAgICAgICAgICAgY29uc3QgcmVsYXRpb24gPSByZWxhdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgaWYgKHRoaXNba2V5XSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhcmVsYXRpb24pIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBiYWNrS2V5ID0gdG9VbmRlcnNjb3JlKGtleSk7XG4gICAgICAgICAgICAgIGlmIChyZWxhdGlvbikge1xuICAgICAgICAgICAgICAgIGpzb25bYmFja0tleV0gPSByZWxhdGlvbi5qc29uKHRoaXNba2V5XSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAganNvbltiYWNrS2V5XSA9IHRoaXNba2V5XTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICAgICAgfSxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { __decorate } from "tslib";
2
+ import { Model, enumField } from './util';
3
+ import { VolleyballStatisticTypes } from './tournament';
4
+ import { GameConfigBase } from './game-config-base';
5
+ export var VolleyballGameTypes;
6
+ (function (VolleyballGameTypes) {
7
+ VolleyballGameTypes[VolleyballGameTypes["best_of_five"] = 1] = "best_of_five";
8
+ VolleyballGameTypes[VolleyballGameTypes["best_of_three"] = 2] = "best_of_three";
9
+ })(VolleyballGameTypes || (VolleyballGameTypes = {}));
10
+ let VolleyballGameConfig = class VolleyballGameConfig extends GameConfigBase {
11
+ get setsCount() {
12
+ return this.gameType === VolleyballGameTypes.best_of_three ? 3 : 5;
13
+ }
14
+ getSetMaxScore(set) {
15
+ return set === this.setsCount ? this.scoreInLastSet : this.scoreInSet;
16
+ }
17
+ };
18
+ VolleyballGameConfig = __decorate([
19
+ Model({
20
+ relation: {
21
+ gameType: enumField(VolleyballGameTypes),
22
+ statisticType: enumField(VolleyballStatisticTypes),
23
+ }
24
+ })
25
+ ], VolleyballGameConfig);
26
+ export { VolleyballGameConfig };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sbGV5YmFsbC1nYW1lLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy92b2xsZXliYWxsLWdhbWUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0IsNkVBQWdCLENBQUE7SUFDaEIsK0VBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCO0FBUUQsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBcUIsU0FBUSxjQUFjO0lBVXRELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hFLENBQUM7Q0FDRixDQUFBO0FBakJZLG9CQUFvQjtJQU5oQyxLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsU0FBUyxDQUFDLG1CQUFtQixDQUFDO1lBQ3hDLGFBQWEsRUFBRSxTQUFTLENBQUMsd0JBQXdCLENBQUM7U0FDbkQ7S0FDRixDQUFDO0dBQ1csb0JBQW9CLENBaUJoQztTQWpCWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbCwgZW51bUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFZvbGxleWJhbGxTdGF0aXN0aWNUeXBlcyB9IGZyb20gJy4vdG91cm5hbWVudCc7XG5pbXBvcnQgeyBHYW1lQ29uZmlnQmFzZSB9IGZyb20gJy4vZ2FtZS1jb25maWctYmFzZSc7XG5cbmV4cG9ydCBlbnVtIFZvbGxleWJhbGxHYW1lVHlwZXMge1xuICBiZXN0X29mX2ZpdmUgPSAxLFxuICBiZXN0X29mX3RocmVlXG59XG5cbkBNb2RlbCh7XG4gIHJlbGF0aW9uOiB7XG4gICAgZ2FtZVR5cGU6IGVudW1GaWVsZChWb2xsZXliYWxsR2FtZVR5cGVzKSxcbiAgICBzdGF0aXN0aWNUeXBlOiBlbnVtRmllbGQoVm9sbGV5YmFsbFN0YXRpc3RpY1R5cGVzKSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBWb2xsZXliYWxsR2FtZUNvbmZpZyBleHRlbmRzIEdhbWVDb25maWdCYXNlIHtcbiAgZ2FtZVR5cGU6IFZvbGxleWJhbGxHYW1lVHlwZXM7XG4gIHRpbWVvdXRDb3VudDogbnVtYmVyO1xuICB0aW1lb3V0VGltZTogbnVtYmVyO1xuICBzdWJzdGl0dXRlQ291bnQ6IG51bWJlcjtcbiAgc2NvcmVJblNldDogbnVtYmVyO1xuICBzY29yZUluTGFzdFNldDogbnVtYmVyO1xuICBzdGF0aXN0aWNUeXBlOiBWb2xsZXliYWxsU3RhdGlzdGljVHlwZXM7XG4gIGxpYmVyb1VzZXJJZHM6IG51bWJlcltdO1xuXG4gIGdldCBzZXRzQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lVHlwZSA9PT0gVm9sbGV5YmFsbEdhbWVUeXBlcy5iZXN0X29mX3RocmVlID8gMyA6IDU7XG4gIH1cblxuICBnZXRTZXRNYXhTY29yZShzZXQ6IG51bWJlcikge1xuICAgIHJldHVybiBzZXQgPT09IHRoaXMuc2V0c0NvdW50ID8gdGhpcy5zY29yZUluTGFzdFNldCA6IHRoaXMuc2NvcmVJblNldDtcbiAgfVxufVxuIl19