@mtgame/core 0.1.114 → 0.1.117

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 (40) hide show
  1. package/api/public-api.d.ts +1 -0
  2. package/api/tournament-api.d.ts +5 -0
  3. package/api/waterpolo-game-api.d.ts +18 -0
  4. package/bundles/mtgame-core.umd.js +1116 -155
  5. package/bundles/mtgame-core.umd.js.map +1 -1
  6. package/esm2015/api/public-api.js +2 -1
  7. package/esm2015/api/tournament-api.js +24 -1
  8. package/esm2015/api/waterpolo-game-api.js +65 -0
  9. package/esm2015/localization/public-api.js +2 -1
  10. package/esm2015/localization/user-profile.js +18 -1
  11. package/esm2015/localization/waterpolo-game-log-types.js +33 -0
  12. package/esm2015/models/game.js +18 -2
  13. package/esm2015/models/public-api.js +7 -1
  14. package/esm2015/models/sport.js +13 -1
  15. package/esm2015/models/team.js +7 -1
  16. package/esm2015/models/tournament.js +10 -1
  17. package/esm2015/models/user.js +4 -1
  18. package/esm2015/models/waterpolo-game-config.js +45 -0
  19. package/esm2015/models/waterpolo-game-log.js +135 -0
  20. package/esm2015/models/waterpolo-game-statistic.js +198 -0
  21. package/esm2015/models/waterpolo-game-team-statistic.js +27 -0
  22. package/esm2015/models/waterpolo-profile.js +42 -0
  23. package/esm2015/models/waterpolo-statistic.js +156 -0
  24. package/fesm2015/mtgame-core.js +744 -1
  25. package/fesm2015/mtgame-core.js.map +1 -1
  26. package/localization/public-api.d.ts +1 -0
  27. package/localization/user-profile.d.ts +16 -0
  28. package/localization/waterpolo-game-log-types.d.ts +31 -0
  29. package/models/game.d.ts +5 -1
  30. package/models/public-api.d.ts +6 -0
  31. package/models/sport.d.ts +7 -1
  32. package/models/user.d.ts +2 -0
  33. package/models/waterpolo-game-config.d.ts +20 -0
  34. package/models/waterpolo-game-log.d.ts +81 -0
  35. package/models/waterpolo-game-statistic.d.ts +96 -0
  36. package/models/waterpolo-game-team-statistic.d.ts +9 -0
  37. package/models/waterpolo-profile.d.ts +19 -0
  38. package/models/waterpolo-statistic.d.ts +115 -0
  39. package/mtgame-core.metadata.json +1 -1
  40. package/package.json +1 -1
@@ -369,6 +369,9 @@ var SportTypes;
369
369
  SportTypes[SportTypes["rugby7"] = 16] = "rugby7";
370
370
  SportTypes[SportTypes["rugby15"] = 17] = "rugby15";
371
371
  SportTypes[SportTypes["basketball_1x1"] = 18] = "basketball_1x1";
372
+ SportTypes[SportTypes["waterpolo"] = 19] = "waterpolo";
373
+ SportTypes[SportTypes["classic_waterpolo"] = 20] = "classic_waterpolo";
374
+ SportTypes[SportTypes["mini_waterpolo"] = 21] = "mini_waterpolo";
372
375
  })(SportTypes || (SportTypes = {}));
373
376
  let Sport = class Sport extends BaseModel {
374
377
  isBasketball() {
@@ -425,6 +428,15 @@ let Sport = class Sport extends BaseModel {
425
428
  isRugby7() {
426
429
  return this.id === SportTypes.rugby7;
427
430
  }
431
+ isWaterpolo() {
432
+ return this.id === SportTypes.waterpolo || this.parentId === SportTypes.waterpolo;
433
+ }
434
+ isClassicWaterpolo() {
435
+ return this.id === SportTypes.classic_waterpolo;
436
+ }
437
+ isMiniWaterpolo() {
438
+ return this.id === SportTypes.mini_waterpolo;
439
+ }
428
440
  static toFront(data) {
429
441
  return null;
430
442
  }
@@ -716,6 +728,45 @@ RugbyProfile = __decorate([
716
728
  })
717
729
  ], RugbyProfile);
718
730
 
731
+ var GameWaterpoloPosition;
732
+ (function (GameWaterpoloPosition) {
733
+ GameWaterpoloPosition[GameWaterpoloPosition["goalkeeper"] = 1] = "goalkeeper";
734
+ GameWaterpoloPosition[GameWaterpoloPosition["defensemen"] = 2] = "defensemen";
735
+ GameWaterpoloPosition[GameWaterpoloPosition["center_forward"] = 3] = "center_forward";
736
+ GameWaterpoloPosition[GameWaterpoloPosition["mobile_forward"] = 4] = "mobile_forward";
737
+ })(GameWaterpoloPosition || (GameWaterpoloPosition = {}));
738
+ var WaterpoloWorkHand;
739
+ (function (WaterpoloWorkHand) {
740
+ WaterpoloWorkHand[WaterpoloWorkHand["left"] = 1] = "left";
741
+ WaterpoloWorkHand[WaterpoloWorkHand["right"] = 2] = "right";
742
+ })(WaterpoloWorkHand || (WaterpoloWorkHand = {}));
743
+ let WaterpoloProfile = class WaterpoloProfile extends BaseModel {
744
+ static toFront(value) {
745
+ }
746
+ static toBack(value) {
747
+ }
748
+ };
749
+ __decorate([
750
+ ToFrontHook
751
+ ], WaterpoloProfile, "toFront", null);
752
+ __decorate([
753
+ ToBackHook
754
+ ], WaterpoloProfile, "toBack", null);
755
+ WaterpoloProfile = __decorate([
756
+ ModelInstance({
757
+ mappingFields: {
758
+ id: 'id',
759
+ user_id: 'userId',
760
+ position: 'position',
761
+ work_hand: 'workHand'
762
+ },
763
+ relation: {
764
+ position: enumField(GameWaterpoloPosition),
765
+ workHand: enumField(WaterpoloWorkHand)
766
+ }
767
+ })
768
+ ], WaterpoloProfile);
769
+
719
770
  var UserGender;
720
771
  (function (UserGender) {
721
772
  UserGender[UserGender["male"] = 1] = "male";
@@ -769,6 +820,7 @@ User = __decorate([
769
820
  football_profile: 'footballProfile',
770
821
  handball_profile: 'handballProfile',
771
822
  rugby_profile: 'rugbyProfile',
823
+ wateprolo_profile: 'waterpoloProfile',
772
824
  wizards: 'wizards',
773
825
  city: 'city',
774
826
  gender: 'gender',
@@ -784,6 +836,7 @@ User = __decorate([
784
836
  footballProfile: FootballProfile,
785
837
  handballProfile: HandballProfile,
786
838
  rugbyProfile: RugbyProfile,
839
+ waterpoloProfile: WaterpoloProfile,
787
840
  city: City,
788
841
  gender: enumField(UserGender)
789
842
  }
@@ -808,6 +861,12 @@ let Team = class Team extends BaseModel {
808
861
  if (this.sport.isHandball()) {
809
862
  classList.push('empty-logo-handball');
810
863
  }
864
+ if (this.sport.isRugby()) {
865
+ classList.push('empty-logo-rugby');
866
+ }
867
+ if (this.sport.isWaterpolo()) {
868
+ classList.push('empty-logo-waterpolo');
869
+ }
811
870
  return classList.join(' ');
812
871
  }
813
872
  static toFront(data) {
@@ -1156,6 +1215,15 @@ let Tournament = class Tournament extends BaseModel {
1156
1215
  if (this.sport.isFootball()) {
1157
1216
  classList.push('empty-logo-football');
1158
1217
  }
1218
+ if (this.sport.isHandball()) {
1219
+ classList.push('empty-logo-handball');
1220
+ }
1221
+ if (this.sport.isRugby()) {
1222
+ classList.push('empty-logo-rugby');
1223
+ }
1224
+ if (this.sport.isWaterpolo()) {
1225
+ classList.push('empty-logo-waterpolo');
1226
+ }
1159
1227
  return classList.join(' ');
1160
1228
  }
1161
1229
  static toFront(data) { }
@@ -1618,6 +1686,47 @@ RugbyGameConfig = __decorate([
1618
1686
  })
1619
1687
  ], RugbyGameConfig);
1620
1688
 
1689
+ let WaterpoloGameConfig = class WaterpoloGameConfig extends BaseModel {
1690
+ static toFront(data) { }
1691
+ static toBack(data) { }
1692
+ get overtimePeriod() {
1693
+ return this.periodsCount + 1;
1694
+ }
1695
+ get bullitsPeriod() {
1696
+ return this.periodsCount + 2;
1697
+ }
1698
+ get playoffBullitsPeriod() {
1699
+ return this.periodsCount + 3;
1700
+ }
1701
+ };
1702
+ __decorate([
1703
+ ToFrontHook
1704
+ ], WaterpoloGameConfig, "toFront", null);
1705
+ __decorate([
1706
+ ToBackHook
1707
+ ], WaterpoloGameConfig, "toBack", null);
1708
+ WaterpoloGameConfig = __decorate([
1709
+ ModelInstance({
1710
+ mappingFields: {
1711
+ periods_count: 'periodsCount',
1712
+ period_time: 'periodTime',
1713
+ overtime_type: 'overtimeType',
1714
+ overtime_time: 'overtimeTime',
1715
+ max_game_players: 'maxGamePlayers',
1716
+ timeout_count: 'timeoutCount',
1717
+ overtime_timeout_count: 'overtimeTimeoutCount',
1718
+ timeout_time: 'timeoutTime',
1719
+ game_time_type: 'gameTimeType',
1720
+ substitute_manage_enabled: 'substituteManageEnabled',
1721
+ shot_clock_enabled: 'shotClockEnabled',
1722
+ },
1723
+ relation: {
1724
+ overtimeType: enumField(OvertimeTypes),
1725
+ gameTimeType: enumField(GameTimeTypes),
1726
+ }
1727
+ })
1728
+ ], WaterpoloGameConfig);
1729
+
1621
1730
  var GameStatuses;
1622
1731
  (function (GameStatuses) {
1623
1732
  GameStatuses[GameStatuses["open"] = 1] = "open";
@@ -1728,6 +1837,18 @@ let Game = class Game extends BaseModel {
1728
1837
  set rugbyGameConfig(value) {
1729
1838
  this._rugbyGameConfig = value;
1730
1839
  }
1840
+ get waterpoloGameConfig() {
1841
+ if (this._waterpoloGameConfig && this._waterpoloGameConfig.periodsCount) {
1842
+ return this._waterpoloGameConfig;
1843
+ }
1844
+ if (this.gameConfig) {
1845
+ this._waterpoloGameConfig = WaterpoloGameConfig.toFront(this.gameConfig);
1846
+ }
1847
+ return this._waterpoloGameConfig;
1848
+ }
1849
+ set waterpoloGameConfig(value) {
1850
+ this._waterpoloGameConfig = value;
1851
+ }
1731
1852
  get scoreByPeriodList() {
1732
1853
  if (!this.scoreByPeriod) {
1733
1854
  return [];
@@ -1797,6 +1918,7 @@ Game = __decorate([
1797
1918
  football_game_config: 'footballGameConfig',
1798
1919
  handball_game_config: 'handballGameConfig',
1799
1920
  rugby_game_config: 'rugbyGameConfig',
1921
+ waterpolo_game_config: 'waterpoloGameConfig',
1800
1922
  score_by_period: 'scoreByPeriod',
1801
1923
  playoff_stage: 'playoffStage',
1802
1924
  playoff_round: 'playoffRound',
@@ -1823,6 +1945,8 @@ Game = __decorate([
1823
1945
  hockeyGameConfig: HockeyGameConfig,
1824
1946
  footballGameConfig: FootballGameConfig,
1825
1947
  handballGameConfig: HandballGameConfig,
1948
+ rugbyGameConfig: RugbyGameConfig,
1949
+ waterpoloGameConfig: WaterpoloGameConfig,
1826
1950
  tournamentPlayoff: Playoff,
1827
1951
  tournamentCourt: LeagueCourt,
1828
1952
  media: listField(MediaItem),
@@ -4680,6 +4804,153 @@ TeamAchievement = __decorate([
4680
4804
  })
4681
4805
  ], TeamAchievement);
4682
4806
 
4807
+ let WaterpoloStatistic = class WaterpoloStatistic extends BaseModel {
4808
+ get assists() {
4809
+ return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);
4810
+ }
4811
+ get goalpass() {
4812
+ return (this.totalGoals || 0) + (this.assists || 0);
4813
+ }
4814
+ get userMinutes() {
4815
+ if (!this.gameTime) {
4816
+ return '00:00';
4817
+ }
4818
+ const minutes = Math.floor(this.gameTime / 60);
4819
+ const seconds = Math.floor(this.gameTime - minutes * 60);
4820
+ return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;
4821
+ }
4822
+ get gamesWonPercent() {
4823
+ if (!this.gamesCount) {
4824
+ return 0;
4825
+ }
4826
+ return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;
4827
+ }
4828
+ get tournamentTeamPoints() {
4829
+ return this.tournamentTeam && this.tournamentTeam.points;
4830
+ }
4831
+ static toFront(data) { }
4832
+ static toBack(data) { }
4833
+ };
4834
+ __decorate([
4835
+ ToFrontHook
4836
+ ], WaterpoloStatistic, "toFront", null);
4837
+ __decorate([
4838
+ ToBackHook
4839
+ ], WaterpoloStatistic, "toBack", null);
4840
+ WaterpoloStatistic = __decorate([
4841
+ ModelInstance({
4842
+ mappingFields: {
4843
+ league_player: 'leaguePlayer',
4844
+ tournament_team_user: 'tournamentTeamUser',
4845
+ team: 'team',
4846
+ team_user: 'teamUser',
4847
+ user: 'user',
4848
+ tournament_team: 'tournamentTeam',
4849
+ month: 'month',
4850
+ win_lose: 'winLose',
4851
+ games_count: 'gamesCount',
4852
+ won_games_count: 'wonGamesCount',
4853
+ lose_games_count: 'loseGamesCount',
4854
+ points: 'points',
4855
+ pp_shots: 'ppShots',
4856
+ pp_shot_misses: 'ppShotMisses',
4857
+ pp_shots_on_goal: 'ppShotsOnGoal',
4858
+ pp_shots_blocked: 'ppShotsBlocked',
4859
+ ev_shots: 'evShots',
4860
+ ev_shot_misses: 'evShotMisses',
4861
+ ev_shots_on_goal: 'evShotsOnGoal',
4862
+ ev_shots_blocked: 'evShotsBlocked',
4863
+ sh_shots: 'shShots',
4864
+ sh_shot_misses: 'shShotMisses',
4865
+ sh_shots_on_goal: 'shShotsOnGoal',
4866
+ sh_shots_blocked: 'shShotsBlocked',
4867
+ pp_goals_percent: 'ppGoalsPercent',
4868
+ pp_goals: 'ppGoals',
4869
+ ev_goals_percent: 'evGoalsPercent',
4870
+ ev_goals: 'evGoals',
4871
+ sh_goals_percent: 'shGoalsPercent',
4872
+ goals: 'goals',
4873
+ total_goals: 'totalGoals',
4874
+ sh_goals: 'shGoals',
4875
+ shot_misses: 'shotMisses',
4876
+ shots_on_goal: 'shotsOnGoal',
4877
+ shots_blocked: 'shotsBlocked',
4878
+ shots: 'shots',
4879
+ total_shots: 'totalShots',
4880
+ goals_percent: 'goalsPercent',
4881
+ total_goals_percent: 'totalGoalsPercent',
4882
+ pp_assists: 'ppAssists',
4883
+ ev_assists: 'evAssists',
4884
+ sh_assists: 'shAssists',
4885
+ shootout_attempts: 'shootoutAttempts',
4886
+ shootout_goals: 'shootoutGoals',
4887
+ after_game_shootout_attempts: 'afterGameShootoutAttempts',
4888
+ after_game_shootout_goals: 'afterGameShootoutGoals',
4889
+ block_shots: 'blockShots',
4890
+ face_off_losses: 'faceOffLosses',
4891
+ face_off_wins: 'faceOffWins',
4892
+ face_offs: 'faceOffs',
4893
+ face_off_percent: 'faceOffPercent',
4894
+ saves: 'saves',
4895
+ total_saves: 'totalSaves',
4896
+ shootout_saves: 'shootoutSaves',
4897
+ shots_against: 'shotsAgainst',
4898
+ shootout_shots_against: 'shootoutShotsAgainst',
4899
+ total_shots_against: 'totalShotsAgainst',
4900
+ saves_percent: 'savesPercent',
4901
+ total_saves_percent: 'totalSavesPercent',
4902
+ goals_against: 'goalsAgainst',
4903
+ shootout_goals_against: 'shootoutGoalsAgainst',
4904
+ total_goals_against: 'totalGoalsAgainst',
4905
+ safety_rate: 'safetyRate',
4906
+ penalty_minutes: 'penaltyMinutes',
4907
+ game_time: 'gameTime',
4908
+ plus_minus: 'plusMinus',
4909
+ yellow_cards: 'yellowCards',
4910
+ red_cards: 'redCards',
4911
+ fouls: 'fouls',
4912
+ losses: 'losses',
4913
+ steals: 'steals',
4914
+ drawn_fouls: 'drawnFouls',
4915
+ pp_free_kick_goals: 'ppFreeKickGoals',
4916
+ pp_free_kick_on_goals: 'ppFreeKickOnGoals',
4917
+ pp_free_kick_misses: 'ppFreeKickMisses',
4918
+ sh_free_kick_goals: 'shFreeKickGoals',
4919
+ sh_free_kick_on_goals: 'shFreeKickOnGoals',
4920
+ sh_free_kick_misses: 'shFreeKickMisses',
4921
+ ev_free_kick_goals: 'evFreeKickGoals',
4922
+ ev_free_kick_on_goals: 'evFreeKickOnGoals',
4923
+ ev_free_kick_misses: 'evFreeKickMisses',
4924
+ free_kick_passes: 'freeKickPasses',
4925
+ free_kick_selfs: 'freeKickSelfs',
4926
+ pp_corner_goals: 'ppCornerGoals',
4927
+ pp_corner_on_goals: 'ppCornerOnGoals',
4928
+ pp_corner_misses: 'ppCornerMisses',
4929
+ sh_corner_goals: 'shCornerGoals',
4930
+ sh_corner_on_goals: 'shCornerOnGoals',
4931
+ sh_corner_misses: 'shCornerMisses',
4932
+ ev_corner_goals: 'evCornerGoals',
4933
+ ev_corner_on_goals: 'evCornerOnGoals',
4934
+ ev_corner_misses: 'evCornerMisses',
4935
+ corner_passes: 'cornerPasses',
4936
+ corner_selfs: 'cornerSelfs',
4937
+ total_corners: 'totalCorners',
4938
+ total_free_kicks: 'totalFreeKicks',
4939
+ newbie: 'newbie',
4940
+ rank: 'rank',
4941
+ },
4942
+ relation: {
4943
+ leaguePlayer: LeaguePlayer,
4944
+ tournamentTeamUser: TournamentTeamUser,
4945
+ team: Team,
4946
+ teamUser: TeamUser,
4947
+ user: User,
4948
+ tournamentTeam: TournamentTeam,
4949
+ month: DateField
4950
+ }
4951
+ })
4952
+ ], WaterpoloStatistic);
4953
+
4683
4954
  class TournamentApi {
4684
4955
  constructor(httpClient, configService) {
4685
4956
  this.httpClient = httpClient;
@@ -4902,6 +5173,18 @@ class TournamentApi {
4902
5173
  })).toPromise();
4903
5174
  });
4904
5175
  }
5176
+ getWaterpoloStatisticLeaders(filters) {
5177
+ return __awaiter(this, void 0, void 0, function* () {
5178
+ let params = new HttpParams();
5179
+ params = applyStatisticLeadersFilters(filters, params);
5180
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/waterpolo_statistic_leaders/`, { params }).pipe(map((result) => {
5181
+ for (const key of Object.keys(result)) {
5182
+ result[key] = WaterpoloStatistic.toFront(result[key]);
5183
+ }
5184
+ return result;
5185
+ })).toPromise();
5186
+ });
5187
+ }
4905
5188
  getBasketballStatistic(filters) {
4906
5189
  return __awaiter(this, void 0, void 0, function* () {
4907
5190
  let params = new HttpParams();
@@ -4962,6 +5245,16 @@ class TournamentApi {
4962
5245
  }))).toPromise();
4963
5246
  });
4964
5247
  }
5248
+ getWaterpoloStatistic(filters) {
5249
+ return __awaiter(this, void 0, void 0, function* () {
5250
+ let params = new HttpParams();
5251
+ params = applyStatisticFilters(filters, params);
5252
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/waterpolo_statistic/`, { params, observe: 'response' }).pipe(map(result => ({
5253
+ total: +result.headers.get('X-Page-Count'),
5254
+ data: WaterpoloStatistic.toFront(result.body)
5255
+ }))).toPromise();
5256
+ });
5257
+ }
4965
5258
  getTournamentTeamUsers(tournamentTeamId) {
4966
5259
  return __awaiter(this, void 0, void 0, function* () {
4967
5260
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(map(result => TournamentTeamUser.toFront(result))).toPromise();
@@ -7815,6 +8108,408 @@ VolleyballGameApi.ctorParameters = () => [
7815
8108
  { type: ConfigService }
7816
8109
  ];
7817
8110
 
8111
+ var WaterpoloGameLogTypes;
8112
+ (function (WaterpoloGameLogTypes) {
8113
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["enter_game"] = 1] = "enter_game";
8114
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["exit_game"] = 2] = "exit_game";
8115
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["shot_miss"] = 3] = "shot_miss";
8116
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["shot_on_goal"] = 4] = "shot_on_goal";
8117
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["shot_blocked"] = 5] = "shot_blocked";
8118
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["goal"] = 6] = "goal";
8119
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["shootout_attempt"] = 7] = "shootout_attempt";
8120
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["shootout_goal"] = 8] = "shootout_goal";
8121
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["assist"] = 9] = "assist";
8122
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["block_shot"] = 10] = "block_shot";
8123
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["free_kick_on_goal"] = 11] = "free_kick_on_goal";
8124
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["minor_penalty"] = 12] = "minor_penalty";
8125
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["major_penalty"] = 13] = "major_penalty";
8126
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["match_penalty"] = 14] = "match_penalty";
8127
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["foul"] = 15] = "foul";
8128
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["yellow_card"] = 16] = "yellow_card";
8129
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["red_card"] = 17] = "red_card";
8130
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["penalty_shot"] = 18] = "penalty_shot";
8131
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["face_off_lose"] = 19] = "face_off_lose";
8132
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["face_off_win"] = 20] = "face_off_win";
8133
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["save"] = 21] = "save";
8134
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["timeout"] = 22] = "timeout";
8135
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["penalty_start"] = 23] = "penalty_start";
8136
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["penalty_end"] = 24] = "penalty_end";
8137
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["after_game_shootout_attempt"] = 25] = "after_game_shootout_attempt";
8138
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["after_game_shootout_goal"] = 26] = "after_game_shootout_goal";
8139
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["after_game_shootout_save"] = 27] = "after_game_shootout_save";
8140
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["shootout_save"] = 28] = "shootout_save";
8141
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["loss"] = 29] = "loss";
8142
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["steal"] = 30] = "steal";
8143
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["free_kick_miss"] = 31] = "free_kick_miss";
8144
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["free_kick_goal"] = 32] = "free_kick_goal";
8145
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["free_kick_pass"] = 33] = "free_kick_pass";
8146
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["free_kick_self"] = 34] = "free_kick_self";
8147
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["corner_on_goal"] = 35] = "corner_on_goal";
8148
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["corner_miss"] = 36] = "corner_miss";
8149
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["corner_goal"] = 37] = "corner_goal";
8150
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["corner_pass"] = 38] = "corner_pass";
8151
+ WaterpoloGameLogTypes[WaterpoloGameLogTypes["corner_self"] = 39] = "corner_self";
8152
+ })(WaterpoloGameLogTypes || (WaterpoloGameLogTypes = {}));
8153
+ var WaterpoloAdvantageTypes;
8154
+ (function (WaterpoloAdvantageTypes) {
8155
+ WaterpoloAdvantageTypes[WaterpoloAdvantageTypes["power_play"] = 1] = "power_play";
8156
+ WaterpoloAdvantageTypes[WaterpoloAdvantageTypes["shorthanded"] = 2] = "shorthanded";
8157
+ WaterpoloAdvantageTypes[WaterpoloAdvantageTypes["even_strength"] = 3] = "even_strength";
8158
+ })(WaterpoloAdvantageTypes || (WaterpoloAdvantageTypes = {}));
8159
+ let WaterpoloGameLog = class WaterpoloGameLog extends BaseModel {
8160
+ constructor() {
8161
+ super(...arguments);
8162
+ this.active = true;
8163
+ }
8164
+ get penalizedGameUserId() {
8165
+ if (this._penalizedGameUserId) {
8166
+ return this._penalizedGameUserId;
8167
+ }
8168
+ return this.gameUserId;
8169
+ }
8170
+ set penalizedGameUserId(value) {
8171
+ this._penalizedGameUserId = value;
8172
+ }
8173
+ compare(model) {
8174
+ if (this.time === model.time && this.period === model.period) {
8175
+ return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;
8176
+ }
8177
+ if (this.period === model.period) {
8178
+ return this.time < model.time ? 1 : -1;
8179
+ }
8180
+ return this.period < model.period ? 1 : -1;
8181
+ }
8182
+ get timeFormatted() {
8183
+ const minutes = Math.floor(this.time / 60);
8184
+ const seconds = this.time - minutes * 60;
8185
+ return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
8186
+ }
8187
+ isScoreType() {
8188
+ return [WaterpoloGameLogTypes.goal, WaterpoloGameLogTypes.shootout_goal, WaterpoloGameLogTypes.after_game_shootout_goal,
8189
+ WaterpoloGameLogTypes.free_kick_goal, WaterpoloGameLogTypes.corner_goal].indexOf(this.logType) > -1;
8190
+ }
8191
+ isPenaltyType() {
8192
+ return [
8193
+ WaterpoloGameLogTypes.minor_penalty, WaterpoloGameLogTypes.major_penalty, WaterpoloGameLogTypes.match_penalty
8194
+ ].indexOf(this.logType) > -1;
8195
+ }
8196
+ isAfter(log) {
8197
+ if (this.time === log.time && this.period === log.period) {
8198
+ return this.id > log.id;
8199
+ }
8200
+ if (this.period === log.period) {
8201
+ return this.time > log.time;
8202
+ }
8203
+ return this.period > log.period;
8204
+ }
8205
+ static toFront(value) { }
8206
+ static toBack(value) { }
8207
+ };
8208
+ __decorate([
8209
+ ToFrontHook
8210
+ ], WaterpoloGameLog, "toFront", null);
8211
+ __decorate([
8212
+ ToBackHook
8213
+ ], WaterpoloGameLog, "toBack", null);
8214
+ WaterpoloGameLog = __decorate([
8215
+ ModelInstance({
8216
+ mappingFields: {
8217
+ id: 'id',
8218
+ unique_id: 'uniqueId',
8219
+ game_id: 'gameId',
8220
+ game_user_id: 'gameUserId',
8221
+ team_id: 'teamId',
8222
+ log_type: 'logType',
8223
+ datetime: 'datetime',
8224
+ time: 'time',
8225
+ period: 'period',
8226
+ active: 'active',
8227
+ is_highlight: 'isHighlight',
8228
+ advantage: 'advantage',
8229
+ advantage_num: 'advantageNum',
8230
+ is_goalie: 'isGoalie',
8231
+ penalized_game_user_id: 'penalizedGameUserId',
8232
+ foul_on_game_user_id: 'foulOnGameUserId',
8233
+ mutual_penalty: 'mutualPenalty',
8234
+ },
8235
+ relation: {
8236
+ datetime: DateTimeField,
8237
+ logType: enumField(WaterpoloGameLogTypes),
8238
+ advantage: enumField(WaterpoloAdvantageTypes),
8239
+ }
8240
+ })
8241
+ ], WaterpoloGameLog);
8242
+
8243
+ let WaterpoloGameStatistic = class WaterpoloGameStatistic extends BaseModel {
8244
+ get id() {
8245
+ return this.gameUserId;
8246
+ }
8247
+ get shotsOnGoal() {
8248
+ return (this.evShotsOnGoal || 0) + (this.ppShotsOnGoal || 0) + (this.shShotsOnGoal || 0) +
8249
+ (this.evCornerOnGoals || 0) + (this.ppCornerOnGoals || 0) + (this.shCornerOnGoals || 0) +
8250
+ (this.evFreeKickOnGoals || 0) + (this.ppFreeKickOnGoals || 0) + (this.shFreeKickOnGoals || 0);
8251
+ }
8252
+ get shotsBlocked() {
8253
+ return (this.evShotsBlocked || 0) + (this.ppShotsBlocked || 0) + (this.shShotsBlocked || 0);
8254
+ }
8255
+ get shotMisses() {
8256
+ return (this.evShotMisses || 0) + (this.ppShotMisses || 0) + (this.shShotMisses || 0) +
8257
+ (this.evCornerMisses || 0) + (this.ppCornerMisses || 0) + (this.shCornerMisses || 0) +
8258
+ (this.evFreeKickMisses || 0) + (this.ppFreeKickMisses || 0) + (this.shFreeKickMisses || 0);
8259
+ }
8260
+ get ppShots() {
8261
+ return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0) +
8262
+ (this.ppCornerMisses || 0) + (this.ppCornerOnGoals || 0) +
8263
+ (this.ppFreeKickMisses || 0) + (this.ppFreeKickOnGoals || 0);
8264
+ }
8265
+ get evShots() {
8266
+ return (this.evShotMisses || 0) + (this.evShotsOnGoal || 0) + (this.evShotsBlocked || 0) +
8267
+ (this.evCornerMisses || 0) + (this.evCornerOnGoals || 0) +
8268
+ (this.evFreeKickMisses || 0) + (this.evFreeKickOnGoals || 0);
8269
+ }
8270
+ get shShots() {
8271
+ return (this.shShotMisses || 0) + (this.shShotsOnGoal || 0) + (this.shShotsBlocked || 0) +
8272
+ (this.shCornerMisses || 0) + (this.shCornerOnGoals || 0) +
8273
+ (this.shFreeKickMisses || 0) + (this.shFreeKickOnGoals || 0);
8274
+ ;
8275
+ }
8276
+ get shots() {
8277
+ return this.ppShots + this.evShots + this.shShots + (this.shootoutAttempts || 0);
8278
+ }
8279
+ get totalShots() {
8280
+ return this.shots + (this.shootoutAttempts || 0);
8281
+ }
8282
+ get goals() {
8283
+ return (this.ppGoals || 0) + (this.shGoals || 0) + (this.evGoals || 0) +
8284
+ (this.ppFreeKickGoals || 0) + (this.shFreeKickGoals || 0) + (this.evFreeKickGoals || 0) +
8285
+ (this.ppCornerGoals || 0) + (this.shCornerGoals || 0) + (this.evCornerGoals || 0);
8286
+ }
8287
+ get totalGoals() {
8288
+ return this.goals + (this.shootoutGoals || 0);
8289
+ }
8290
+ get assists() {
8291
+ return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);
8292
+ }
8293
+ get faceOffs() {
8294
+ return (this.faceOffWins || 0) + (this.faceOffLosses || 0);
8295
+ }
8296
+ get shootOuts() {
8297
+ return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);
8298
+ }
8299
+ get shotsAgainst() {
8300
+ return (this.saves || 0) + (this.goalsAgainst || 0);
8301
+ }
8302
+ get shootoutShotsAgainst() {
8303
+ return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);
8304
+ }
8305
+ get totalShotsAgainst() {
8306
+ return this.shotsAgainst + this.shootoutShotsAgainst;
8307
+ }
8308
+ get savesPercent() {
8309
+ if (!this.shotsAgainst || !this.saves) {
8310
+ return 0;
8311
+ }
8312
+ return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
8313
+ }
8314
+ get totalSaves() {
8315
+ return (this.saves || 0) + (this.shootoutSaves || 0);
8316
+ }
8317
+ get totalSavesPercent() {
8318
+ if (!this.totalShotsAgainst || !this.totalSaves) {
8319
+ return 0;
8320
+ }
8321
+ return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;
8322
+ }
8323
+ get totalGoalsAgainst() {
8324
+ return (this.goalsAgainst || 0) + (this.shootoutGoalsAgainst || 0);
8325
+ }
8326
+ get gameMinutes() {
8327
+ return Math.floor(this.gameTime / 60);
8328
+ }
8329
+ get goalsPercent() {
8330
+ if (!this.totalGoals || !this.totalShots) {
8331
+ return 0;
8332
+ }
8333
+ return Math.round(1000 * this.totalGoals / this.totalShots) / 10;
8334
+ }
8335
+ get faceOffPercent() {
8336
+ if (!this.faceOffWins || !this.faceOffs) {
8337
+ return 0;
8338
+ }
8339
+ return Math.round(1000 * this.faceOffWins / this.faceOffs) / 10;
8340
+ }
8341
+ get goalpass() {
8342
+ return (this.totalGoals || 0) + (this.assists || 0);
8343
+ }
8344
+ get totalFreeKicks() {
8345
+ return (this.freeKickPasses || 0) + (this.freeKickSelfs || 0) +
8346
+ (this.ppFreeKickGoals || 0) + (this.ppFreeKickOnGoals || 0) + (this.ppFreeKickMisses || 0) +
8347
+ (this.evFreeKickGoals || 0) + (this.evFreeKickOnGoals || 0) + (this.evFreeKickMisses || 0) +
8348
+ (this.shFreeKickGoals || 0) + (this.shFreeKickOnGoals || 0) + (this.shFreeKickMisses || 0);
8349
+ }
8350
+ get totalCorners() {
8351
+ return (this.cornerPasses || 0) + (this.cornerSelfs || 0) +
8352
+ (this.ppCornerGoals || 0) + (this.ppCornerOnGoals || 0) + (this.ppCornerMisses || 0) +
8353
+ (this.evCornerGoals || 0) + (this.evCornerOnGoals || 0) + (this.evCornerMisses || 0) +
8354
+ (this.shCornerGoals || 0) + (this.shCornerOnGoals || 0) + (this.shCornerMisses || 0);
8355
+ }
8356
+ static toFront(data) { }
8357
+ static toBack(data) { }
8358
+ };
8359
+ __decorate([
8360
+ ToFrontHook
8361
+ ], WaterpoloGameStatistic, "toFront", null);
8362
+ __decorate([
8363
+ ToBackHook
8364
+ ], WaterpoloGameStatistic, "toBack", null);
8365
+ WaterpoloGameStatistic = __decorate([
8366
+ ModelInstance({
8367
+ mappingFields: {
8368
+ game_user_id: 'gameUserId',
8369
+ updated_at: 'updatedAt',
8370
+ points: 'points',
8371
+ pp_shot_misses: 'ppShotMisses',
8372
+ pp_shots_on_goal: 'ppShotsOnGoal',
8373
+ pp_shots_blocked: 'ppShotsBlocked',
8374
+ ev_shot_misses: 'evShotMisses',
8375
+ ev_shots_on_goal: 'evShotsOnGoal',
8376
+ ev_shots_blocked: 'evShotsBlocked',
8377
+ sh_shot_misses: 'shShotMisses',
8378
+ sh_shots_on_goal: 'shShotsOnGoal',
8379
+ sh_shots_blocked: 'shShotsBlocked',
8380
+ pp_goals: 'ppGoals',
8381
+ ev_goals: 'evGoals',
8382
+ sh_goals: 'shGoals',
8383
+ pp_assists: 'ppAssists',
8384
+ ev_assists: 'evAssists',
8385
+ sh_assists: 'shAssists',
8386
+ shootout_attempts: 'shootoutAttempts',
8387
+ shootout_goals: 'shootoutGoals',
8388
+ after_game_shootout_attempts: 'afterGameShootoutAttempts',
8389
+ after_game_shootout_goals: 'afterGameShootoutGoals',
8390
+ block_shots: 'blockShots',
8391
+ face_off_losses: 'faceOffLosses',
8392
+ face_off_wins: 'faceOffWins',
8393
+ saves: 'saves',
8394
+ shootout_save: 'shootoutSaves',
8395
+ after_game_shootout_saves: 'afterGameShootoutSaves',
8396
+ goals_against: 'goalsAgainst',
8397
+ shootout_goals_against: 'shootoutGoalsAgainst',
8398
+ after_game_shootout_goals_against: 'afterGameShootoutGoalsAgainst',
8399
+ safety_rate: 'safetyRate',
8400
+ penalty_minutes: 'penaltyMinutes',
8401
+ game_time: 'gameTime',
8402
+ plus_minus: 'plusMinus',
8403
+ yellow_cards: 'yellowCards',
8404
+ red_cards: 'redCards',
8405
+ fouls: 'fouls',
8406
+ losses: 'losses',
8407
+ steals: 'steals',
8408
+ drawn_fouls: 'drawnFouls',
8409
+ pp_free_kick_goals: 'ppFreeKickGoals',
8410
+ pp_free_kick_on_goals: 'ppFreeKickOnGoals',
8411
+ pp_free_kick_misses: 'ppFreeKickMisses',
8412
+ sh_free_kick_goals: 'shFreeKickGoals',
8413
+ sh_free_kick_on_goals: 'shFreeKickOnGoals',
8414
+ sh_free_kick_misses: 'shFreeKickMisses',
8415
+ ev_free_kick_goals: 'evFreeKickGoals',
8416
+ ev_free_kick_on_goals: 'evFreeKickOnGoals',
8417
+ ev_free_kick_misses: 'evFreeKickMisses',
8418
+ free_kick_passes: 'freeKickPasses',
8419
+ free_kick_selfs: 'freeKickSelfs',
8420
+ pp_corner_goals: 'ppCornerGoals',
8421
+ pp_corner_on_goals: 'ppCornerOnGoals',
8422
+ pp_corner_misses: 'ppCornerMisses',
8423
+ sh_corner_goals: 'shCornerGoals',
8424
+ sh_corner_on_goals: 'shCornerOnGoals',
8425
+ sh_corner_misses: 'shCornerMisses',
8426
+ ev_corner_goals: 'evCornerGoals',
8427
+ ev_corner_on_goals: 'evCornerOnGoals',
8428
+ ev_corner_misses: 'evCornerMisses',
8429
+ corner_passes: 'cornerPasses',
8430
+ corner_selfs: 'cornerSelfs'
8431
+ },
8432
+ relation: {
8433
+ updatedAt: DateTimeField,
8434
+ }
8435
+ })
8436
+ ], WaterpoloGameStatistic);
8437
+
8438
+ let WaterpoloGameTeamStatistic = class WaterpoloGameTeamStatistic extends BaseModel {
8439
+ static toFront(data) { }
8440
+ static toBack(data) { }
8441
+ };
8442
+ __decorate([
8443
+ ToFrontHook
8444
+ ], WaterpoloGameTeamStatistic, "toFront", null);
8445
+ __decorate([
8446
+ ToBackHook
8447
+ ], WaterpoloGameTeamStatistic, "toBack", null);
8448
+ WaterpoloGameTeamStatistic = __decorate([
8449
+ ModelInstance({
8450
+ mappingFields: {
8451
+ team: 'team',
8452
+ competitor_team: 'competitorTeam'
8453
+ },
8454
+ relation: {
8455
+ team: WaterpoloStatistic,
8456
+ competitorTeam: WaterpoloStatistic
8457
+ }
8458
+ })
8459
+ ], WaterpoloGameTeamStatistic);
8460
+
8461
+ class WaterpoloGameApi extends GameBaseApi {
8462
+ constructor(httpClient, configService) {
8463
+ super(httpClient, configService);
8464
+ this.httpClient = httpClient;
8465
+ this.configService = configService;
8466
+ }
8467
+ getById(gameId) {
8468
+ return __awaiter(this, void 0, void 0, function* () {
8469
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_waterpolo_game/${gameId}/`).pipe(map(result => Game.toFront(result))).toPromise();
8470
+ });
8471
+ }
8472
+ getTeamStatistic(gameId) {
8473
+ return __awaiter(this, void 0, void 0, function* () {
8474
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_waterpolo_game/${gameId}/team_statistic/`).pipe(map(result => WaterpoloGameTeamStatistic.toFront(result))).toPromise();
8475
+ });
8476
+ }
8477
+ getUserStatistic(gameId) {
8478
+ return __awaiter(this, void 0, void 0, function* () {
8479
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_waterpolo_game/${gameId}/user_statistic/`).pipe(map(result => WaterpoloGameStatistic.toFront(result))).toPromise();
8480
+ });
8481
+ }
8482
+ getLogs(gameId) {
8483
+ return __awaiter(this, void 0, void 0, function* () {
8484
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_waterpolo_game/${gameId}/logs/`).pipe(map(result => WaterpoloGameLog.toFront(result))).toPromise();
8485
+ });
8486
+ }
8487
+ downloadProtocol(gameId, format) {
8488
+ return __awaiter(this, void 0, void 0, function* () {
8489
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_waterpolo_game/${gameId}/game_protocol/`, {
8490
+ params: new HttpParams().set('file_type', format),
8491
+ responseType: 'blob'
8492
+ }).toPromise();
8493
+ });
8494
+ }
8495
+ downloadApplication(gameId, format, type) {
8496
+ return __awaiter(this, void 0, void 0, function* () {
8497
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_waterpolo_game/${gameId}/game_application_file/`, {
8498
+ params: new HttpParams().set('file_type', format).set('application_type', type),
8499
+ responseType: 'blob'
8500
+ }).toPromise();
8501
+ });
8502
+ }
8503
+ }
8504
+ WaterpoloGameApi.ɵprov = i0.ɵɵdefineInjectable({ factory: function WaterpoloGameApi_Factory() { return new WaterpoloGameApi(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(ConfigService)); }, token: WaterpoloGameApi, providedIn: "root" });
8505
+ WaterpoloGameApi.decorators = [
8506
+ { type: Injectable, args: [{ providedIn: 'root' },] }
8507
+ ];
8508
+ WaterpoloGameApi.ctorParameters = () => [
8509
+ { type: HttpClient },
8510
+ { type: ConfigService }
8511
+ ];
8512
+
7818
8513
  class PublicTeamApi {
7819
8514
  constructor(httpClient, configService) {
7820
8515
  this.httpClient = httpClient;
@@ -8006,6 +8701,38 @@ const HandballGameLogTypeLocalization = {
8006
8701
  [HandballGameLogTypes.timeout]: 'Таймаут'
8007
8702
  };
8008
8703
 
8704
+ const WaterpoloGameLogTypeLocalization = {
8705
+ [WaterpoloGameLogTypes.enter_game]: 'Выход на площадку',
8706
+ [WaterpoloGameLogTypes.exit_game]: 'Ушел с площадки',
8707
+ [WaterpoloGameLogTypes.shot_miss]: 'Бросок мимо',
8708
+ [WaterpoloGameLogTypes.shot_on_goal]: 'Бросок по воротам',
8709
+ [WaterpoloGameLogTypes.shot_blocked]: 'Заблокированный бросок',
8710
+ [WaterpoloGameLogTypes.goal]: 'Гол',
8711
+ [WaterpoloGameLogTypes.shootout_attempt]: 'Пенальти промах',
8712
+ [WaterpoloGameLogTypes.shootout_goal]: 'Пенальти гол',
8713
+ [WaterpoloGameLogTypes.after_game_shootout_attempt]: 'Пенальти промах',
8714
+ [WaterpoloGameLogTypes.after_game_shootout_goal]: 'Пенальти гол',
8715
+ [WaterpoloGameLogTypes.assist]: 'Передача',
8716
+ [WaterpoloGameLogTypes.block_shot]: 'Блокировка броска',
8717
+ [WaterpoloGameLogTypes.minor_penalty]: 'Штраф 20 сек.',
8718
+ [WaterpoloGameLogTypes.major_penalty]: 'Штраф 4 мин.',
8719
+ [WaterpoloGameLogTypes.match_penalty]: 'Матч-штраф',
8720
+ [WaterpoloGameLogTypes.foul]: 'Фол',
8721
+ [WaterpoloGameLogTypes.penalty_shot]: 'Штрафной бросок',
8722
+ [WaterpoloGameLogTypes.face_off_lose]: 'Проигрыш в спринте',
8723
+ [WaterpoloGameLogTypes.face_off_win]: 'Победа в спринте',
8724
+ [WaterpoloGameLogTypes.save]: 'Отражен бросок',
8725
+ [WaterpoloGameLogTypes.shootout_save]: 'Отражен бросок',
8726
+ [WaterpoloGameLogTypes.after_game_shootout_save]: 'Отражен бросок',
8727
+ [WaterpoloGameLogTypes.timeout]: 'Таймаут',
8728
+ [WaterpoloGameLogTypes.penalty_start]: 'Начало штрафного времени',
8729
+ [WaterpoloGameLogTypes.penalty_end]: 'Конец штрафного времени',
8730
+ [WaterpoloGameLogTypes.yellow_card]: 'Желтая карточка',
8731
+ [WaterpoloGameLogTypes.red_card]: 'Красная карточка',
8732
+ [WaterpoloGameLogTypes.loss]: 'Потеря',
8733
+ [WaterpoloGameLogTypes.steal]: 'Перехват'
8734
+ };
8735
+
8009
8736
  const OvertimeTypeLocalization = {
8010
8737
  [OvertimeTypes.to_score_diff]: 'До разницы в N мячей',
8011
8738
  [OvertimeTypes.to_score_total]: 'До N очков',
@@ -8157,6 +8884,22 @@ const GameRugbyPositionLocalization = {
8157
8884
  [GameRugbyPosition.three_quarter]: 'Трехчетвертный',
8158
8885
  [GameRugbyPosition.fullback]: 'Замыкающий'
8159
8886
  };
8887
+ const GameWaterpoloPositionLocalization = {
8888
+ [GameWaterpoloPosition.defensemen]: 'Защитник',
8889
+ [GameWaterpoloPosition.goalkeeper]: 'Вратарь',
8890
+ [GameWaterpoloPosition.center_forward]: 'Центральный нападающий',
8891
+ [GameWaterpoloPosition.mobile_forward]: 'Подвижный нападающий',
8892
+ };
8893
+ const GameWaterpoloPositionShortRuLocalization = {
8894
+ [GameWaterpoloPosition.defensemen]: 'З',
8895
+ [GameWaterpoloPosition.goalkeeper]: 'Вр',
8896
+ [GameWaterpoloPosition.center_forward]: 'ЦН',
8897
+ [GameWaterpoloPosition.mobile_forward]: 'ПН',
8898
+ };
8899
+ const WaterpoloWorkHandLocalization = {
8900
+ [WaterpoloWorkHand.left]: 'Левая',
8901
+ [WaterpoloWorkHand.right]: 'Правая'
8902
+ };
8160
8903
 
8161
8904
  const VolleyballGameLogTypeLocalization = {
8162
8905
  [VolleyballGameLogType.enter_game]: 'Выход на площадку',
@@ -8735,5 +9478,5 @@ HttpCookieInterceptor.ctorParameters = () => [
8735
9478
  * Generated bundle index. Do not edit.
8736
9479
  */
8737
9480
 
8738
- export { Achievement, AchievementTypes, BannerLocation, BaseModel, BaseService, BasketballCourtSides, BasketballCourtZones, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameSubLogTypesLocalization, BasketballGameTeamStatistic, BasketballPenaltyTypes, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, BasketballSubLogTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameBill, GameBillStatusLocalization, GameBillStatuses, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameRugbyPosition, GameRugbyPositionLocalization, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserDisqualification, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HockeyWorkHandLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlayerApi, LeaguePlaylist, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OrganizationBill, OrganizationBillStatusLocalization, OrganizationBillStatuses, OrganizationStatistic, OrganizationStatuses, OrganizationStatusesLocalization, OrganizationTariff, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, Qualification, QualificationLocalization, RUGBY_GAME_LOG_TYPE_POINTS, RUGBY_TEAM_LOG_TYPES, ReferenceApi, RugbyFoulSanctionLocalization, RugbyFoulSanctions, RugbyFoulType, RugbyGameApi, RugbyGameConfig, RugbyGameLog, RugbyGameLogTypeLocalization, RugbyGameLogTypes, RugbyGameStatistic, RugbyGameTeamStatistic, RugbyProfile, RugbyStatistic, RugbyStatisticTypes, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamAchievement, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, TeamsAndUsers, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoin1x1Data, TournamentJoin1x1Status, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamShort, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, addItemsInArray, applyGameMediaFilters, applyGamesFilters, applyStatisticFilters, applyStatisticLeadersFilters, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, parseDate, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
9481
+ export { Achievement, AchievementTypes, BannerLocation, BaseModel, BaseService, BasketballCourtSides, BasketballCourtZones, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameSubLogTypesLocalization, BasketballGameTeamStatistic, BasketballPenaltyTypes, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, BasketballSubLogTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameBill, GameBillStatusLocalization, GameBillStatuses, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameRugbyPosition, GameRugbyPositionLocalization, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserDisqualification, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, GameWaterpoloPosition, GameWaterpoloPositionLocalization, GameWaterpoloPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HockeyWorkHandLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlayerApi, LeaguePlaylist, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OrganizationBill, OrganizationBillStatusLocalization, OrganizationBillStatuses, OrganizationStatistic, OrganizationStatuses, OrganizationStatusesLocalization, OrganizationTariff, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, Qualification, QualificationLocalization, RUGBY_GAME_LOG_TYPE_POINTS, RUGBY_TEAM_LOG_TYPES, ReferenceApi, RugbyFoulSanctionLocalization, RugbyFoulSanctions, RugbyFoulType, RugbyGameApi, RugbyGameConfig, RugbyGameLog, RugbyGameLogTypeLocalization, RugbyGameLogTypes, RugbyGameStatistic, RugbyGameTeamStatistic, RugbyProfile, RugbyStatistic, RugbyStatisticTypes, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamAchievement, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, TeamsAndUsers, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoin1x1Data, TournamentJoin1x1Status, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamShort, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WaterpoloAdvantageTypes, WaterpoloGameApi, WaterpoloGameConfig, WaterpoloGameLog, WaterpoloGameLogTypeLocalization, WaterpoloGameLogTypes, WaterpoloGameStatistic, WaterpoloGameTeamStatistic, WaterpoloProfile, WaterpoloStatistic, WaterpoloWorkHand, WaterpoloWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, addItemsInArray, applyGameMediaFilters, applyGamesFilters, applyStatisticFilters, applyStatisticLeadersFilters, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, parseDate, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
8739
9482
  //# sourceMappingURL=mtgame-core.js.map