volleyballsimtypes 0.0.131 → 0.0.133

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 (85) hide show
  1. package/dist/cjs/src/data/transformers/coach.d.ts +1 -3
  2. package/dist/cjs/src/data/transformers/coach.js +2 -13
  3. package/dist/cjs/src/data/transformers/draft.js +1 -3
  4. package/dist/cjs/src/data/transformers/index.d.ts +0 -7
  5. package/dist/cjs/src/data/transformers/index.js +0 -7
  6. package/dist/cjs/src/data/transformers/league.d.ts +1 -3
  7. package/dist/cjs/src/data/transformers/league.js +1 -9
  8. package/dist/cjs/src/data/transformers/match-set-stats.d.ts +1 -3
  9. package/dist/cjs/src/data/transformers/match-set-stats.js +1 -35
  10. package/dist/cjs/src/data/transformers/match-set.d.ts +1 -3
  11. package/dist/cjs/src/data/transformers/match-set.js +3 -32
  12. package/dist/cjs/src/data/transformers/match.d.ts +2 -4
  13. package/dist/cjs/src/data/transformers/match.js +6 -21
  14. package/dist/cjs/src/data/transformers/player.d.ts +1 -3
  15. package/dist/cjs/src/data/transformers/player.js +1 -66
  16. package/dist/cjs/src/data/transformers/rally.d.ts +1 -3
  17. package/dist/cjs/src/data/transformers/rally.js +3 -42
  18. package/dist/cjs/src/data/transformers/role.d.ts +1 -3
  19. package/dist/cjs/src/data/transformers/role.js +1 -6
  20. package/dist/cjs/src/data/transformers/season.d.ts +1 -3
  21. package/dist/cjs/src/data/transformers/season.js +1 -43
  22. package/dist/cjs/src/data/transformers/team.d.ts +1 -3
  23. package/dist/cjs/src/data/transformers/team.js +1 -13
  24. package/dist/cjs/src/data/transformers/tournament-match.d.ts +1 -3
  25. package/dist/cjs/src/data/transformers/tournament-match.js +1 -9
  26. package/dist/cjs/src/data/transformers/tournament.d.ts +1 -3
  27. package/dist/cjs/src/data/transformers/tournament.js +1 -11
  28. package/dist/cjs/src/data/transformers/trait.d.ts +1 -3
  29. package/dist/cjs/src/data/transformers/trait.js +1 -23
  30. package/dist/cjs/src/index.d.ts +0 -1
  31. package/dist/cjs/src/index.js +0 -1
  32. package/dist/cjs/src/service/match/match-rating.d.ts +2 -2
  33. package/dist/cjs/src/service/match/match-set.d.ts +10 -6
  34. package/dist/cjs/src/service/match/match.d.ts +3 -3
  35. package/dist/cjs/src/service/match/rally.d.ts +3 -3
  36. package/dist/cjs/src/service/player/performance-stats.d.ts +4 -3
  37. package/dist/cjs/src/service/player/performance-stats.js +15 -0
  38. package/dist/cjs/src/service/player/player.d.ts +3 -3
  39. package/dist/cjs/src/service/player/role.d.ts +2 -1
  40. package/dist/cjs/src/service/player/role.js +6 -6
  41. package/dist/cjs/src/service/player/stats.d.ts +4 -4
  42. package/dist/cjs/src/service/player/stats.js +4 -4
  43. package/dist/esm/src/data/transformers/coach.d.ts +1 -3
  44. package/dist/esm/src/data/transformers/coach.js +2 -12
  45. package/dist/esm/src/data/transformers/draft.js +1 -3
  46. package/dist/esm/src/data/transformers/index.d.ts +0 -7
  47. package/dist/esm/src/data/transformers/index.js +0 -7
  48. package/dist/esm/src/data/transformers/league.d.ts +1 -3
  49. package/dist/esm/src/data/transformers/league.js +1 -8
  50. package/dist/esm/src/data/transformers/match-set-stats.d.ts +1 -3
  51. package/dist/esm/src/data/transformers/match-set-stats.js +1 -34
  52. package/dist/esm/src/data/transformers/match-set.d.ts +1 -3
  53. package/dist/esm/src/data/transformers/match-set.js +6 -34
  54. package/dist/esm/src/data/transformers/match.d.ts +2 -4
  55. package/dist/esm/src/data/transformers/match.js +3 -17
  56. package/dist/esm/src/data/transformers/player.d.ts +1 -3
  57. package/dist/esm/src/data/transformers/player.js +3 -67
  58. package/dist/esm/src/data/transformers/rally.d.ts +1 -3
  59. package/dist/esm/src/data/transformers/rally.js +2 -40
  60. package/dist/esm/src/data/transformers/role.d.ts +1 -3
  61. package/dist/esm/src/data/transformers/role.js +1 -5
  62. package/dist/esm/src/data/transformers/season.d.ts +1 -3
  63. package/dist/esm/src/data/transformers/season.js +2 -43
  64. package/dist/esm/src/data/transformers/team.d.ts +1 -3
  65. package/dist/esm/src/data/transformers/team.js +2 -13
  66. package/dist/esm/src/data/transformers/tournament-match.d.ts +1 -3
  67. package/dist/esm/src/data/transformers/tournament-match.js +2 -9
  68. package/dist/esm/src/data/transformers/tournament.d.ts +1 -3
  69. package/dist/esm/src/data/transformers/tournament.js +2 -11
  70. package/dist/esm/src/data/transformers/trait.d.ts +1 -3
  71. package/dist/esm/src/data/transformers/trait.js +1 -22
  72. package/dist/esm/src/index.d.ts +0 -1
  73. package/dist/esm/src/index.js +0 -1
  74. package/dist/esm/src/service/match/match-rating.d.ts +2 -2
  75. package/dist/esm/src/service/match/match-set.d.ts +10 -6
  76. package/dist/esm/src/service/match/match.d.ts +3 -3
  77. package/dist/esm/src/service/match/rally.d.ts +3 -3
  78. package/dist/esm/src/service/player/performance-stats.d.ts +4 -3
  79. package/dist/esm/src/service/player/performance-stats.js +15 -0
  80. package/dist/esm/src/service/player/player.d.ts +3 -3
  81. package/dist/esm/src/service/player/role.d.ts +2 -1
  82. package/dist/esm/src/service/player/role.js +6 -6
  83. package/dist/esm/src/service/player/stats.d.ts +4 -4
  84. package/dist/esm/src/service/player/stats.js +4 -4
  85. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { GeneralStat, Player } from '../../service';
2
- import { transformFromPerformanceStats, transformFromRole, transformToAPIMatchSetStats, transformToAPIRole, transformToAPITrait, transformToCountry, transformToPerformanceStats, transformToRole, transformToTrait } from '.';
1
+ import { Player } from '../../service';
2
+ import { transformFromPerformanceStats, transformFromRole, transformToCountry, transformToPerformanceStats, transformToRole, transformToTrait } from '.';
3
3
  function transformToAttributes(player) {
4
4
  return {
5
5
  player_id: player.id,
@@ -23,68 +23,4 @@ function transformToObject(model) {
23
23
  stats: transformToPerformanceStats(model.PerformanceStat)
24
24
  });
25
25
  }
26
- function transformToAPIObject(model, team, jerseyNumber) {
27
- const generalStats = model.PerformanceStat != null
28
- ? GeneralStat.getStats().map(stat => ({
29
- name: stat,
30
- value: GeneralStat.calculateScore(transformToPerformanceStats(model.PerformanceStat), stat)
31
- }))
32
- : [];
33
- const gameStats = model.MatchSetStats != null ? model.MatchSetStats.map(transformToAPIMatchSetStats) : [];
34
- if (gameStats.length > 0) {
35
- gameStats.push(calculateMatchStats(gameStats));
36
- }
37
- return {
38
- id: model.player_id,
39
- name: {
40
- first: model.first_name,
41
- last: model.last_name
42
- },
43
- country: model.country != null ? transformToCountry(model.country) : undefined,
44
- roles: model.roles.map(transformToAPIRole),
45
- traits: model.Traits != null ? model.Traits.map(transformToAPITrait) : [],
46
- generalStats,
47
- gameStats,
48
- team,
49
- jerseyNumber
50
- };
51
- }
52
- function calculateMatchStats(gameStats) {
53
- const emptyStats = {
54
- playerId: gameStats[0].playerId,
55
- attempts: 0,
56
- contacts: 0,
57
- ralliesPlayed: 0,
58
- serve: { success: 0, error: 0 },
59
- reception: { success: 0, error: 0 },
60
- set: { success: 0, error: 0 },
61
- attack: { success: 0, error: 0 },
62
- block: { success: 0, error: 0 },
63
- kills: 0,
64
- killBlocks: 0,
65
- ace: 0,
66
- assists: 0,
67
- order: gameStats.length
68
- };
69
- return gameStats.reduce((acc, current) => {
70
- acc.attempts += current.attempts;
71
- acc.contacts += current.contacts;
72
- acc.ralliesPlayed += current.ralliesPlayed;
73
- acc.kills += current.kills;
74
- acc.killBlocks += current.killBlocks;
75
- acc.ace += current.ace;
76
- acc.assists += current.assists;
77
- acc.serve.success += current.serve.success;
78
- acc.serve.error += current.serve.error;
79
- acc.reception.success += current.reception.success;
80
- acc.reception.error += current.reception.error;
81
- acc.set.success += current.set.success;
82
- acc.set.error += current.set.error;
83
- acc.attack.success += current.attack.success;
84
- acc.attack.error += current.attack.error;
85
- acc.block.success += current.block.success;
86
- acc.block.error += current.block.error;
87
- return acc;
88
- }, emptyStats);
89
- }
90
- export { transformToObject as transformToPlayer, transformToAPIObject as transformToAPIPlayer, transformToAttributes as transformFromPlayer };
26
+ export { transformToObject as transformToPlayer, transformToAttributes as transformFromPlayer };
@@ -1,7 +1,5 @@
1
1
  import { RallyAttributes, RallyModel } from '../models';
2
2
  import { Rally } from '../../service';
3
- import { APIRally } from '../../api';
4
3
  declare function transformToAttributes(rally: Rally, setId: string): RallyAttributes;
5
4
  declare function transformToObject(model: RallyModel): Rally;
6
- declare function transformToAPIObject(model: RallyModel): APIRally;
7
- export { transformToObject as transformToRally, transformToAPIObject as transformToAPIRally, transformToAttributes as transformFromRally };
5
+ export { transformToObject as transformToRally, transformToAttributes as transformFromRally };
@@ -1,6 +1,6 @@
1
1
  import { EventTypeEnum, Rally } from '../../service';
2
- import { transformToAPIBlock, transformToAPILiberoReplacement, transformToAPIReception, transformToAPIServe, transformToAPISet, transformToAPISpike, transformToAPISubstitution, transformToTeam } from '.';
3
2
  import { compressToBase64, decompressFromBase64 } from 'lz-string';
3
+ import { transformToTeam } from './team';
4
4
  function transformToAttributes(rally, setId) {
5
5
  const events = `[${rally.events.map(e => {
6
6
  switch (e.eventType) {
@@ -68,42 +68,4 @@ function transformToObject(model) {
68
68
  events
69
69
  });
70
70
  }
71
- function transformToAPIObject(model) {
72
- const decompressed = decompressFromBase64(model.events);
73
- const parsed = JSON.parse(decompressed);
74
- const events = [];
75
- parsed.forEach(event => {
76
- switch (event.eventType) {
77
- case 0:
78
- events.push(transformToAPILiberoReplacement(event));
79
- break;
80
- case 1:
81
- events.push(transformToAPISubstitution(event));
82
- break;
83
- case 2:
84
- events.push(transformToAPIServe(event));
85
- break;
86
- case 3:
87
- events.push(transformToAPIReception(event));
88
- break;
89
- case 4:
90
- events.push(transformToAPISet(event));
91
- break;
92
- case 5:
93
- events.push(transformToAPISpike(event));
94
- break;
95
- case 6:
96
- events.push(transformToAPIBlock(event));
97
- break;
98
- default:
99
- throw new Error('UNKNOWN_EVENT');
100
- }
101
- });
102
- return {
103
- id: model.rally_id,
104
- order: model.order,
105
- servingTeamId: model.serving_team,
106
- events
107
- };
108
- }
109
- export { transformToObject as transformToRally, transformToAPIObject as transformToAPIRally, transformToAttributes as transformFromRally };
71
+ export { transformToObject as transformToRally, transformToAttributes as transformFromRally };
@@ -1,7 +1,5 @@
1
1
  import { Role } from '../../service';
2
2
  import { RoleType } from '../models';
3
- import { APIRole } from '../../api';
4
3
  declare function transformToType(role: Role): RoleType;
5
4
  declare function transformFromType(role: RoleType): Role;
6
- declare function transformToAPIType(role: RoleType): APIRole;
7
- export { transformToType as transformFromRole, transformToAPIType as transformToAPIRole, transformFromType as transformToRole };
5
+ export { transformToType as transformFromRole, transformFromType as transformToRole };
@@ -1,5 +1,4 @@
1
1
  import { Role } from '../../service';
2
- import { APIRole } from '../../api';
3
2
  function transformToType(role) {
4
3
  switch (role) {
5
4
  case Role.SETTER:
@@ -21,7 +20,4 @@ function transformToType(role) {
21
20
  function transformFromType(role) {
22
21
  return Role[role];
23
22
  }
24
- function transformToAPIType(role) {
25
- return APIRole[role];
26
- }
27
- export { transformToType as transformFromRole, transformToAPIType as transformToAPIRole, transformFromType as transformToRole };
23
+ export { transformToType as transformFromRole, transformFromType as transformToRole };
@@ -1,7 +1,5 @@
1
1
  import { CompetitionAttributes, CompetitionModel } from '../models';
2
2
  import { Season } from '../../service';
3
- import { APISeason } from '../../api';
4
3
  declare function transformToAttributes(season: Season, leagueId: string): CompetitionAttributes;
5
4
  declare function transformToObject(model: CompetitionModel): Season;
6
- declare function transformToAPIObject(model: CompetitionModel): APISeason;
7
- export { transformToObject as transformToSeason, transformToAPIObject as transformToAPISeason, transformToAttributes as transformFromSeason };
5
+ export { transformToObject as transformToSeason, transformToAttributes as transformFromSeason };
@@ -1,4 +1,4 @@
1
- import { transformFromSeasonMatch, transformToAPILeague, transformToAPIMatch, transformToAPITeam, transformToIteration, transformToMatch, transformToTeam } from '.';
1
+ import { transformFromSeasonMatch, transformToIteration, transformToMatch, transformToTeam } from '.';
2
2
  import { Season } from '../../service';
3
3
  function transformToAttributes(season, leagueId) {
4
4
  const matches = season.matches != null
@@ -36,45 +36,4 @@ function transformToObject(model) {
36
36
  champion: model.CompetitionChampion != null ? transformToTeam(model.CompetitionChampion.team) : undefined
37
37
  });
38
38
  }
39
- function transformToAPIObject(model) {
40
- const season = transformToObject(model);
41
- const matches = model.CompetitionMatches != null
42
- ? model.CompetitionMatches.map(matches => transformToAPIMatch(matches.Match))
43
- : [];
44
- const teams = model.Teams != null ? model.Teams.map(transformToAPITeam) : [];
45
- const standings = season.standings.map(standing => {
46
- const team = teams.find(t => standing.team.id === t.id);
47
- if (team == null) {
48
- throw new Error('TEAM_NOT_FOUND');
49
- }
50
- return {
51
- team,
52
- lost03: standing.lost03,
53
- lost13: standing.lost13,
54
- lost23: standing.lost23,
55
- matchesLost: standing.matchesLost,
56
- matchesWon: standing.matchesWon,
57
- points: standing.points,
58
- pointsLost: standing.pointsLost,
59
- pointsRatio: standing.pointsRatio,
60
- pointsWon: standing.pointsWon,
61
- setsLost: standing.setsLost,
62
- setsRatio: standing.setsRatio,
63
- setsWon: standing.setsWon,
64
- won30: standing.won30,
65
- won31: standing.won31,
66
- won32: standing.won32,
67
- totalMatches: standing.totalMatches
68
- };
69
- });
70
- return {
71
- id: model.competition_id,
72
- matches,
73
- iteration: model.iteration,
74
- league: model.LeagueSeason?.league != null ? transformToAPILeague(model.LeagueSeason.league) : undefined,
75
- champion: model.CompetitionChampion != null ? transformToAPITeam(model.CompetitionChampion.team) : undefined,
76
- teams,
77
- standings
78
- };
79
- }
80
- export { transformToObject as transformToSeason, transformToAPIObject as transformToAPISeason, transformToAttributes as transformFromSeason };
39
+ export { transformToObject as transformToSeason, transformToAttributes as transformFromSeason };
@@ -1,7 +1,5 @@
1
1
  import { Team } from '../../service';
2
2
  import { TeamAttributes, TeamModel } from '../models';
3
- import { APITeam } from '../../api';
4
3
  declare function transformToAttributes(team: Team): TeamAttributes;
5
4
  declare function transformToObject(team: TeamModel): Team;
6
- declare function transformToAPIObject(model: TeamModel): APITeam;
7
- export { transformToObject as transformToTeam, transformToAPIObject as transformToAPITeam, transformToAttributes as transformFromTeam };
5
+ export { transformToObject as transformToTeam, transformToAttributes as transformFromTeam };
@@ -1,5 +1,5 @@
1
1
  import { Team } from '../../service';
2
- import { transformFromCoach, transformToAPICoach, transformToAPIPlayer, transformToCoach, transformToCountry, transformToPlayer } from '.';
2
+ import { transformFromCoach, transformToCoach, transformToCountry, transformToPlayer } from '.';
3
3
  function transformToAttributes(team) {
4
4
  return {
5
5
  team_id: team.id,
@@ -23,15 +23,4 @@ function transformToObject(team) {
23
23
  rating: team.rating
24
24
  });
25
25
  }
26
- function transformToAPIObject(model) {
27
- return {
28
- id: model.team_id,
29
- name: model.name,
30
- shortName: model.short_name,
31
- country: model.country != null ? transformToCountry(model.country) : undefined,
32
- coach: model.coach != null ? transformToAPICoach(model.coach) : undefined,
33
- roster: model.PlayerTeams != null ? model.PlayerTeams.map(pt => transformToAPIPlayer(pt.player, model.team_id, pt.jersey_number)) : [],
34
- league: model.league != null ? model.league.name : undefined
35
- };
36
- }
37
- export { transformToObject as transformToTeam, transformToAPIObject as transformToAPITeam, transformToAttributes as transformFromTeam };
26
+ export { transformToObject as transformToTeam, transformToAttributes as transformFromTeam };
@@ -1,7 +1,5 @@
1
1
  import { TournamentMatch } from '../../service';
2
- import { APITournamentMatch } from '../../api';
3
2
  import { CompetitionMatchAttributes, CompetitionMatchModel } from '../models';
4
3
  declare function transformToAttributes(tournamentMatch: TournamentMatch, tournamentId: string): CompetitionMatchAttributes;
5
4
  declare function transformToObject(model: CompetitionMatchModel): TournamentMatch;
6
- declare function transformToAPIObject(model: CompetitionMatchModel): APITournamentMatch;
7
- export { transformToObject as transformToTournamentMatch, transformToAPIObject as transformToAPITournamentMatch, transformToAttributes as transformFromTournamentMatch };
5
+ export { transformToObject as transformToTournamentMatch, transformToAttributes as transformFromTournamentMatch };
@@ -1,5 +1,5 @@
1
1
  import { TournamentMatch } from '../../service';
2
- import { transformFromMatch, transformFromStage, transformToAPIMatch, transformToMatch, transformToStage } from '.';
2
+ import { transformFromMatch, transformFromStage, transformToMatch, transformToStage } from '.';
3
3
  function transformToAttributes(tournamentMatch, tournamentId) {
4
4
  return {
5
5
  competition_id: tournamentId,
@@ -16,11 +16,4 @@ function transformToObject(model) {
16
16
  index: model.index
17
17
  });
18
18
  }
19
- function transformToAPIObject(model) {
20
- return {
21
- index: model.index,
22
- stage: transformToStage(model.stage),
23
- match: transformToAPIMatch(model.Match, model.Competition)
24
- };
25
- }
26
- export { transformToObject as transformToTournamentMatch, transformToAPIObject as transformToAPITournamentMatch, transformToAttributes as transformFromTournamentMatch };
19
+ export { transformToObject as transformToTournamentMatch, transformToAttributes as transformFromTournamentMatch };
@@ -1,7 +1,5 @@
1
1
  import { CompetitionAttributes, CompetitionModel } from '../models';
2
2
  import { Tournament } from '../../service';
3
- import { APITournament } from '../../api';
4
3
  declare function transformToAttributes(tournament: Tournament): CompetitionAttributes;
5
4
  declare function transformToObject(model: CompetitionModel): Tournament;
6
- declare function transformToAPIObject(model: CompetitionModel): APITournament;
7
- export { transformToObject as transformToTournament, transformToAPIObject as transformToAPITournament, transformToAttributes as transformFromTournament };
5
+ export { transformToObject as transformToTournament, transformToAttributes as transformFromTournament };
@@ -1,4 +1,4 @@
1
- import { transformFromTournamentMatch, transformToAPITeam, transformToAPITournamentMatch, transformToIteration, transformToTeam, transformToTournamentMatch } from '.';
1
+ import { transformFromTournamentMatch, transformToIteration, transformToTeam, transformToTournamentMatch } from '.';
2
2
  import { Tournament } from '../../service';
3
3
  function transformToAttributes(tournament) {
4
4
  const matches = tournament.matches.map(match => transformFromTournamentMatch(match, tournament.id));
@@ -30,13 +30,4 @@ function transformToObject(model) {
30
30
  champion: model.CompetitionChampion != null ? transformToTeam(model.CompetitionChampion.team) : undefined
31
31
  });
32
32
  }
33
- function transformToAPIObject(model) {
34
- return {
35
- id: model.competition_id,
36
- iteration: model.iteration,
37
- champion: model.CompetitionChampion != null ? transformToAPITeam(model.CompetitionChampion.team) : undefined,
38
- matches: model.CompetitionMatches != null ? model.CompetitionMatches.map(transformToAPITournamentMatch) : [],
39
- teams: model.Teams != null ? model.Teams.map(transformToAPITeam) : []
40
- };
41
- }
42
- export { transformToObject as transformToTournament, transformToAPIObject as transformToAPITournament, transformToAttributes as transformFromTournament };
33
+ export { transformToObject as transformToTournament, transformToAttributes as transformFromTournament };
@@ -1,7 +1,5 @@
1
1
  import { Trait } from '../../service';
2
2
  import { TraitAttributes, TraitModel } from '../models';
3
- import { APITrait } from '../../api';
4
3
  declare function transformToAttributes(trait: Trait): TraitAttributes;
5
- declare function transformToAPIObject(model: TraitModel): APITrait;
6
4
  declare function transformToObject(model: TraitModel): Trait;
7
- export { transformToObject as transformToTrait, transformToAPIObject as transformToAPITrait, transformToAttributes as transformFromTrait };
5
+ export { transformToObject as transformToTrait, transformToAttributes as transformFromTrait };
@@ -1,31 +1,10 @@
1
1
  import { Trait } from '../../service';
2
- import { APITrait } from '../../api';
3
2
  function transformToAttributes(trait) {
4
3
  return {
5
4
  trait_id: trait.id,
6
5
  name: trait.name
7
6
  };
8
7
  }
9
- function transformToAPIObject(model) {
10
- switch (model.name) {
11
- case 'Master Mind':
12
- return APITrait.MASTER_MIND;
13
- case 'Moving Wall':
14
- return APITrait.MOVING_WALL;
15
- case 'Marksman':
16
- return APITrait.MARKSMAN;
17
- case 'Meteor Serve':
18
- return APITrait.METEOR_SERVE;
19
- case 'Squad Leader':
20
- return APITrait.SQUAD_LEADER;
21
- case 'Vigorous':
22
- return APITrait.VIGOROUS;
23
- case 'Guardian':
24
- return APITrait.GUARDIAN;
25
- default:
26
- throw new Error('TRAIT_ERROR');
27
- }
28
- }
29
8
  function transformToObject(model) {
30
9
  const trait = Trait.getTraits().find(trait => trait.id === model.trait_id);
31
10
  if (trait == null) {
@@ -33,4 +12,4 @@ function transformToObject(model) {
33
12
  }
34
13
  return trait;
35
14
  }
36
- export { transformToObject as transformToTrait, transformToAPIObject as transformToAPITrait, transformToAttributes as transformFromTrait };
15
+ export { transformToObject as transformToTrait, transformToAttributes as transformFromTrait };
@@ -1,3 +1,2 @@
1
1
  export * from './service';
2
- export * from './api';
3
2
  export * from './data';
@@ -1,3 +1,2 @@
1
1
  export * from './service';
2
- export * from './api';
3
2
  export * from './data';
@@ -1,6 +1,6 @@
1
1
  import { Match, MatchTeam } from '.';
2
2
  import { CompetitionType } from '../../data';
3
- interface MatchRatingOpts {
3
+ interface MatchRatingParams {
4
4
  readonly match: Match;
5
5
  readonly competitionType: CompetitionType;
6
6
  }
@@ -27,7 +27,7 @@ export declare class MatchRating {
27
27
  static MWF: MatchWeightFactor;
28
28
  readonly match: Match;
29
29
  readonly weight: number;
30
- constructor({ match, competitionType }: MatchRatingOpts);
30
+ constructor({ match, competitionType }: MatchRatingParams);
31
31
  getPoints(team: MatchTeam): number;
32
32
  static calculateProbability(z: number): number;
33
33
  getExpectedResult(): number;
@@ -1,7 +1,11 @@
1
1
  import { PlayerPosition, Rally } from './rally';
2
2
  import { MatchTeam } from './match-team';
3
3
  import { Player } from '../player';
4
- interface MatchSetOpts {
4
+ declare enum ScoreThreshold {
5
+ SET = 25,
6
+ TIE_BREAK = 15
7
+ }
8
+ interface MatchSetParams {
5
9
  readonly id: string;
6
10
  readonly order: number;
7
11
  readonly isTieBreak: boolean;
@@ -31,7 +35,7 @@ export interface SetStatistics {
31
35
  killBlocks: number;
32
36
  assists: number;
33
37
  }
34
- export declare class MatchSet {
38
+ export declare class MatchSet implements MatchSetParams {
35
39
  readonly id: string;
36
40
  readonly order: number;
37
41
  readonly isTieBreak: boolean;
@@ -39,10 +43,10 @@ export declare class MatchSet {
39
43
  readonly awayPlayerPosition: PlayerPosition[];
40
44
  readonly stats: SetStatistics[];
41
45
  readonly rallies: Rally[];
42
- private readonly scoreThreshold;
43
- private homeScore;
44
- private awayScore;
45
- constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }: MatchSetOpts);
46
+ readonly scoreThreshold: ScoreThreshold;
47
+ homeScore: number;
48
+ awayScore: number;
49
+ constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }: MatchSetParams);
46
50
  getHomeScore(): number;
47
51
  getAwayScore(): number;
48
52
  increaseScore(team: MatchTeam): void;
@@ -1,7 +1,7 @@
1
1
  import { MatchSet } from './match-set';
2
2
  import { Team } from '../team';
3
3
  import { MatchTeam } from './match-team';
4
- interface MatchOpts {
4
+ interface MatchParams {
5
5
  readonly id: string;
6
6
  readonly homeTeam: Team;
7
7
  readonly awayTeam: Team;
@@ -17,7 +17,7 @@ export declare enum MatchScore {
17
17
  '1-3' = "1-3",
18
18
  '0-3' = "0-3"
19
19
  }
20
- export declare class Match {
20
+ export declare class Match implements MatchParams {
21
21
  static readonly BEST_OF = 5;
22
22
  readonly id: string;
23
23
  readonly homeTeam: Team;
@@ -25,7 +25,7 @@ export declare class Match {
25
25
  readonly sets: MatchSet[];
26
26
  readonly scheduledDate: Date;
27
27
  isSimulated: boolean;
28
- constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }: MatchOpts);
28
+ constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }: MatchParams);
29
29
  addSet(set: MatchSet): void;
30
30
  getTeamSets(team: MatchTeam): number;
31
31
  getScore(): MatchScore;
@@ -1,7 +1,7 @@
1
1
  import { Team } from '../team';
2
2
  import { CourtPosition } from './court-position';
3
3
  import { RallyEvent } from '../event';
4
- interface RallyOpts {
4
+ interface RallyParams {
5
5
  readonly id: string;
6
6
  readonly order: number;
7
7
  readonly servingTeam: Team;
@@ -11,12 +11,12 @@ export interface PlayerPosition {
11
11
  position: CourtPosition;
12
12
  playerId: string;
13
13
  }
14
- export declare class Rally {
14
+ export declare class Rally implements RallyParams {
15
15
  readonly id: string;
16
16
  readonly servingTeam: Team;
17
17
  readonly events: RallyEvent[];
18
18
  readonly order: number;
19
- constructor({ id, order, servingTeam, events }: RallyOpts);
19
+ constructor({ id, order, servingTeam, events }: RallyParams);
20
20
  addEvent(event: RallyEvent): void;
21
21
  }
22
22
  export {};
@@ -1,4 +1,4 @@
1
- interface PerformanceStatsOpts {
1
+ interface PerformanceStatsParams {
2
2
  readonly setting: number;
3
3
  readonly pass: number;
4
4
  readonly reception: number;
@@ -11,7 +11,7 @@ interface PerformanceStatsOpts {
11
11
  readonly defense: number;
12
12
  readonly stamina: number;
13
13
  }
14
- export declare class PerformanceStats {
14
+ export declare class PerformanceStats implements PerformanceStatsParams {
15
15
  readonly setting: number;
16
16
  readonly pass: number;
17
17
  readonly reception: number;
@@ -23,7 +23,8 @@ export declare class PerformanceStats {
23
23
  readonly serve: number;
24
24
  readonly defense: number;
25
25
  readonly stamina: number;
26
- constructor(opts: PerformanceStatsOpts);
26
+ constructor(opts: PerformanceStatsParams);
27
27
  toString(): string;
28
+ static fromAverage(average: number): PerformanceStats;
28
29
  }
29
30
  export {};
@@ -16,4 +16,19 @@ export class PerformanceStats {
16
16
  toString() {
17
17
  return getKeys(this).map(key => `${key}: ${this[key]}`).join(', ');
18
18
  }
19
+ static fromAverage(average) {
20
+ return new PerformanceStats({
21
+ setting: average,
22
+ pass: average,
23
+ reception: average,
24
+ spike: average,
25
+ backAttack: average,
26
+ jump: average,
27
+ block: average,
28
+ awareness: average,
29
+ serve: average,
30
+ defense: average,
31
+ stamina: average
32
+ });
33
+ }
19
34
  }
@@ -7,7 +7,7 @@ export interface Stat {
7
7
  name: GeneralStat;
8
8
  value: number;
9
9
  }
10
- interface PlayerOpts {
10
+ interface PlayerParams {
11
11
  readonly id: string;
12
12
  readonly name: Name;
13
13
  readonly country: Country;
@@ -19,7 +19,7 @@ export interface Name {
19
19
  first: string;
20
20
  last: string;
21
21
  }
22
- export declare class Player {
22
+ export declare class Player implements PlayerParams {
23
23
  readonly id: string;
24
24
  readonly name: Name;
25
25
  readonly country: Country;
@@ -27,7 +27,7 @@ export declare class Player {
27
27
  readonly roles: Role[];
28
28
  readonly traits: Trait[];
29
29
  readonly generalStats: Stat[];
30
- constructor({ id, name, country, stats, roles, traits }: PlayerOpts);
30
+ constructor({ id, name, country, stats, roles, traits }: PlayerParams);
31
31
  static sortPlayers(roles: Role[]): (p1: Player, p2: Player) => number;
32
32
  static compareStats(p1: Player, p2: Player): number;
33
33
  canPlayLibero(): boolean;
@@ -1,4 +1,5 @@
1
1
  import { PerformanceStats } from './performance-stats';
2
+ import { RoleType } from '../../data';
2
3
  export declare class Role {
3
4
  static readonly SETTER: Role;
4
5
  static readonly LIBERO: Role;
@@ -7,7 +8,7 @@ export declare class Role {
7
8
  static readonly MIDDLE_BLOCKER: Role;
8
9
  static readonly DEFENSIVE_SPECIALIST: Role;
9
10
  private static readonly ROLES;
10
- readonly name: string;
11
+ readonly name: RoleType;
11
12
  private constructor();
12
13
  static getRoles(): Role[];
13
14
  static calculateScore(stats: PerformanceStats, role: Role): number;
@@ -29,11 +29,11 @@ export class Role {
29
29
  return out;
30
30
  }
31
31
  }
32
- Role.SETTER = new Role('Setter');
33
- Role.LIBERO = new Role('Libero');
34
- Role.OUTSIDE_HITTER = new Role('Outside Hitter');
35
- Role.OPPOSITE_HITTER = new Role('Opposite Hitter');
36
- Role.MIDDLE_BLOCKER = new Role('Middle Blocker');
37
- Role.DEFENSIVE_SPECIALIST = new Role('Defensive Specialist');
32
+ Role.SETTER = new Role('SETTER');
33
+ Role.LIBERO = new Role('LIBERO');
34
+ Role.OUTSIDE_HITTER = new Role('OUTSIDE_HITTER');
35
+ Role.OPPOSITE_HITTER = new Role('OPPOSITE_HITTER');
36
+ Role.MIDDLE_BLOCKER = new Role('MIDDLE_BLOCKER');
37
+ Role.DEFENSIVE_SPECIALIST = new Role('DEFENSIVE_SPECIALIST');
38
38
  Role.ROLES = [Role.LIBERO, Role.SETTER, Role.OPPOSITE_HITTER, Role.OUTSIDE_HITTER, Role.MIDDLE_BLOCKER,
39
39
  Role.DEFENSIVE_SPECIALIST];
@@ -1,9 +1,9 @@
1
1
  import { PerformanceStats } from './performance-stats';
2
2
  export declare enum GeneralStat {
3
- ATTACK = "Attack",
4
- DEFENSE = "Defense",
5
- SERVE = "Serve",
6
- PHYSICAL = "Physical"
3
+ ATTACK = "ATTACK",
4
+ DEFENSE = "DEFENSE",
5
+ SERVE = "SERVE",
6
+ PHYSICAL = "PHYSICAL"
7
7
  }
8
8
  export declare namespace GeneralStat {
9
9
  function getStats(): GeneralStat[];
@@ -1,10 +1,10 @@
1
1
  import stats from '../../../data/stat.formula.json';
2
2
  export var GeneralStat;
3
3
  (function (GeneralStat) {
4
- GeneralStat["ATTACK"] = "Attack";
5
- GeneralStat["DEFENSE"] = "Defense";
6
- GeneralStat["SERVE"] = "Serve";
7
- GeneralStat["PHYSICAL"] = "Physical";
4
+ GeneralStat["ATTACK"] = "ATTACK";
5
+ GeneralStat["DEFENSE"] = "DEFENSE";
6
+ GeneralStat["SERVE"] = "SERVE";
7
+ GeneralStat["PHYSICAL"] = "PHYSICAL";
8
8
  })(GeneralStat || (GeneralStat = {}));
9
9
  // eslint-disable-next-line @typescript-eslint/no-namespace
10
10
  (function (GeneralStat) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volleyballsimtypes",
3
- "version": "0.0.131",
3
+ "version": "0.0.133",
4
4
  "description": "vbsim types",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/src/index.js",