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.
- package/dist/cjs/src/data/transformers/coach.d.ts +1 -3
- package/dist/cjs/src/data/transformers/coach.js +2 -13
- package/dist/cjs/src/data/transformers/draft.js +1 -3
- package/dist/cjs/src/data/transformers/index.d.ts +0 -7
- package/dist/cjs/src/data/transformers/index.js +0 -7
- package/dist/cjs/src/data/transformers/league.d.ts +1 -3
- package/dist/cjs/src/data/transformers/league.js +1 -9
- package/dist/cjs/src/data/transformers/match-set-stats.d.ts +1 -3
- package/dist/cjs/src/data/transformers/match-set-stats.js +1 -35
- package/dist/cjs/src/data/transformers/match-set.d.ts +1 -3
- package/dist/cjs/src/data/transformers/match-set.js +3 -32
- package/dist/cjs/src/data/transformers/match.d.ts +2 -4
- package/dist/cjs/src/data/transformers/match.js +6 -21
- package/dist/cjs/src/data/transformers/player.d.ts +1 -3
- package/dist/cjs/src/data/transformers/player.js +1 -66
- package/dist/cjs/src/data/transformers/rally.d.ts +1 -3
- package/dist/cjs/src/data/transformers/rally.js +3 -42
- package/dist/cjs/src/data/transformers/role.d.ts +1 -3
- package/dist/cjs/src/data/transformers/role.js +1 -6
- package/dist/cjs/src/data/transformers/season.d.ts +1 -3
- package/dist/cjs/src/data/transformers/season.js +1 -43
- package/dist/cjs/src/data/transformers/team.d.ts +1 -3
- package/dist/cjs/src/data/transformers/team.js +1 -13
- package/dist/cjs/src/data/transformers/tournament-match.d.ts +1 -3
- package/dist/cjs/src/data/transformers/tournament-match.js +1 -9
- package/dist/cjs/src/data/transformers/tournament.d.ts +1 -3
- package/dist/cjs/src/data/transformers/tournament.js +1 -11
- package/dist/cjs/src/data/transformers/trait.d.ts +1 -3
- package/dist/cjs/src/data/transformers/trait.js +1 -23
- package/dist/cjs/src/index.d.ts +0 -1
- package/dist/cjs/src/index.js +0 -1
- package/dist/cjs/src/service/match/match-rating.d.ts +2 -2
- package/dist/cjs/src/service/match/match-set.d.ts +10 -6
- package/dist/cjs/src/service/match/match.d.ts +3 -3
- package/dist/cjs/src/service/match/rally.d.ts +3 -3
- package/dist/cjs/src/service/player/performance-stats.d.ts +4 -3
- package/dist/cjs/src/service/player/performance-stats.js +15 -0
- package/dist/cjs/src/service/player/player.d.ts +3 -3
- package/dist/cjs/src/service/player/role.d.ts +2 -1
- package/dist/cjs/src/service/player/role.js +6 -6
- package/dist/cjs/src/service/player/stats.d.ts +4 -4
- package/dist/cjs/src/service/player/stats.js +4 -4
- package/dist/esm/src/data/transformers/coach.d.ts +1 -3
- package/dist/esm/src/data/transformers/coach.js +2 -12
- package/dist/esm/src/data/transformers/draft.js +1 -3
- package/dist/esm/src/data/transformers/index.d.ts +0 -7
- package/dist/esm/src/data/transformers/index.js +0 -7
- package/dist/esm/src/data/transformers/league.d.ts +1 -3
- package/dist/esm/src/data/transformers/league.js +1 -8
- package/dist/esm/src/data/transformers/match-set-stats.d.ts +1 -3
- package/dist/esm/src/data/transformers/match-set-stats.js +1 -34
- package/dist/esm/src/data/transformers/match-set.d.ts +1 -3
- package/dist/esm/src/data/transformers/match-set.js +6 -34
- package/dist/esm/src/data/transformers/match.d.ts +2 -4
- package/dist/esm/src/data/transformers/match.js +3 -17
- package/dist/esm/src/data/transformers/player.d.ts +1 -3
- package/dist/esm/src/data/transformers/player.js +3 -67
- package/dist/esm/src/data/transformers/rally.d.ts +1 -3
- package/dist/esm/src/data/transformers/rally.js +2 -40
- package/dist/esm/src/data/transformers/role.d.ts +1 -3
- package/dist/esm/src/data/transformers/role.js +1 -5
- package/dist/esm/src/data/transformers/season.d.ts +1 -3
- package/dist/esm/src/data/transformers/season.js +2 -43
- package/dist/esm/src/data/transformers/team.d.ts +1 -3
- package/dist/esm/src/data/transformers/team.js +2 -13
- package/dist/esm/src/data/transformers/tournament-match.d.ts +1 -3
- package/dist/esm/src/data/transformers/tournament-match.js +2 -9
- package/dist/esm/src/data/transformers/tournament.d.ts +1 -3
- package/dist/esm/src/data/transformers/tournament.js +2 -11
- package/dist/esm/src/data/transformers/trait.d.ts +1 -3
- package/dist/esm/src/data/transformers/trait.js +1 -22
- package/dist/esm/src/index.d.ts +0 -1
- package/dist/esm/src/index.js +0 -1
- package/dist/esm/src/service/match/match-rating.d.ts +2 -2
- package/dist/esm/src/service/match/match-set.d.ts +10 -6
- package/dist/esm/src/service/match/match.d.ts +3 -3
- package/dist/esm/src/service/match/rally.d.ts +3 -3
- package/dist/esm/src/service/player/performance-stats.d.ts +4 -3
- package/dist/esm/src/service/player/performance-stats.js +15 -0
- package/dist/esm/src/service/player/player.d.ts +3 -3
- package/dist/esm/src/service/player/role.d.ts +2 -1
- package/dist/esm/src/service/player/role.js +6 -6
- package/dist/esm/src/service/player/stats.d.ts +4 -4
- package/dist/esm/src/service/player/stats.js +4 -4
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { transformFromPerformanceStats, transformFromRole,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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,
|
|
15
|
+
export { transformToObject as transformToTrait, transformToAttributes as transformFromTrait };
|
package/dist/esm/src/index.d.ts
CHANGED
package/dist/esm/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Match, MatchTeam } from '.';
|
|
2
2
|
import { CompetitionType } from '../../data';
|
|
3
|
-
interface
|
|
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 }:
|
|
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
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }:
|
|
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
|
|
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 }:
|
|
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
|
|
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 }:
|
|
19
|
+
constructor({ id, order, servingTeam, events }: RallyParams);
|
|
20
20
|
addEvent(event: RallyEvent): void;
|
|
21
21
|
}
|
|
22
22
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface
|
|
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:
|
|
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
|
|
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 }:
|
|
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:
|
|
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('
|
|
33
|
-
Role.LIBERO = new Role('
|
|
34
|
-
Role.OUTSIDE_HITTER = new Role('
|
|
35
|
-
Role.OPPOSITE_HITTER = new Role('
|
|
36
|
-
Role.MIDDLE_BLOCKER = new Role('
|
|
37
|
-
Role.DEFENSIVE_SPECIALIST = new Role('
|
|
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 = "
|
|
4
|
-
DEFENSE = "
|
|
5
|
-
SERVE = "
|
|
6
|
-
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"] = "
|
|
5
|
-
GeneralStat["DEFENSE"] = "
|
|
6
|
-
GeneralStat["SERVE"] = "
|
|
7
|
-
GeneralStat["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) {
|