volleyballsimtypes 0.0.6 → 0.0.8
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/src/service/event/in-play-event.js.map +1 -1
- package/package.json +5 -5
- package/src/data/index.ts +0 -2
- package/src/data/models/block.ts +0 -159
- package/src/data/models/coach.ts +0 -94
- package/src/data/models/country.ts +0 -105
- package/src/data/models/event.ts +0 -83
- package/src/data/models/index.ts +0 -22
- package/src/data/models/league.ts +0 -90
- package/src/data/models/libero-replacement.ts +0 -104
- package/src/data/models/match-set-stats.ts +0 -204
- package/src/data/models/match-set.ts +0 -152
- package/src/data/models/match.ts +0 -106
- package/src/data/models/performance-stats.ts +0 -136
- package/src/data/models/player.ts +0 -370
- package/src/data/models/rally-position.ts +0 -79
- package/src/data/models/rally.ts +0 -229
- package/src/data/models/reception.ts +0 -113
- package/src/data/models/score.ts +0 -99
- package/src/data/models/season-teams.ts +0 -67
- package/src/data/models/season.ts +0 -103
- package/src/data/models/serve.ts +0 -113
- package/src/data/models/set.ts +0 -113
- package/src/data/models/spike.ts +0 -113
- package/src/data/models/substitution.ts +0 -98
- package/src/data/models/team.ts +0 -193
- package/src/data/transformers/block.ts +0 -117
- package/src/data/transformers/coach.ts +0 -33
- package/src/data/transformers/country.ts +0 -23
- package/src/data/transformers/court-position.ts +0 -43
- package/src/data/transformers/court-target.ts +0 -58
- package/src/data/transformers/event-type.ts +0 -35
- package/src/data/transformers/formation.ts +0 -16
- package/src/data/transformers/index.ts +0 -27
- package/src/data/transformers/league.ts +0 -26
- package/src/data/transformers/libero-replacement.ts +0 -62
- package/src/data/transformers/match-set-stats.ts +0 -101
- package/src/data/transformers/match-set.ts +0 -59
- package/src/data/transformers/match.ts +0 -48
- package/src/data/transformers/performance-stats.ts +0 -40
- package/src/data/transformers/player.ts +0 -109
- package/src/data/transformers/rally-position.ts +0 -24
- package/src/data/transformers/rally.ts +0 -139
- package/src/data/transformers/reception.ts +0 -98
- package/src/data/transformers/role.ts +0 -31
- package/src/data/transformers/score.ts +0 -43
- package/src/data/transformers/season.ts +0 -42
- package/src/data/transformers/serve.ts +0 -100
- package/src/data/transformers/set.ts +0 -98
- package/src/data/transformers/spike.ts +0 -102
- package/src/data/transformers/substitution.ts +0 -42
- package/src/data/transformers/team.ts +0 -45
- package/src/data/transformers/trait.ts +0 -37
- package/src/index.ts +0 -7
- package/src/routing/events.ts +0 -60
- package/src/routing/index.ts +0 -5
- package/src/routing/league.ts +0 -15
- package/src/routing/match.ts +0 -52
- package/src/routing/player.ts +0 -24
- package/src/routing/team.ts +0 -14
- package/src/service/coach/__stubs__/index.ts +0 -46
- package/src/service/coach/coach.test.ts +0 -10
- package/src/service/coach/coach.ts +0 -30
- package/src/service/coach/formation.test.ts +0 -10
- package/src/service/coach/formation.ts +0 -160
- package/src/service/coach/index.ts +0 -2
- package/src/service/country/__stubs__/index.ts +0 -13
- package/src/service/country/country.test.ts +0 -10
- package/src/service/country/country.ts +0 -23
- package/src/service/country/index.ts +0 -1
- package/src/service/event/__stubs__/index.ts +0 -25
- package/src/service/event/block.test.ts +0 -100
- package/src/service/event/block.ts +0 -69
- package/src/service/event/in-play-event.ts +0 -37
- package/src/service/event/libero-replacement.test.ts +0 -37
- package/src/service/event/libero-replacement.ts +0 -25
- package/src/service/event/rally-event.ts +0 -33
- package/src/service/event/reception.test.ts +0 -50
- package/src/service/event/reception.ts +0 -38
- package/src/service/event/score.test.ts +0 -29
- package/src/service/event/score.ts +0 -22
- package/src/service/event/serve.test.ts +0 -50
- package/src/service/event/serve.ts +0 -39
- package/src/service/event/set.test.ts +0 -50
- package/src/service/event/set.ts +0 -38
- package/src/service/event/spike.test.ts +0 -64
- package/src/service/event/spike.ts +0 -46
- package/src/service/event/substitution.ts +0 -16
- package/src/service/index.ts +0 -17
- package/src/service/league/index.ts +0 -3
- package/src/service/league/league.ts +0 -112
- package/src/service/league/season.ts +0 -41
- package/src/service/league/standing.ts +0 -82
- package/src/service/main.ts +0 -52
- package/src/service/match/__stubs__/index.ts +0 -119
- package/src/service/match/court-position.test.ts +0 -73
- package/src/service/match/court-position.ts +0 -46
- package/src/service/match/court-target.test.ts +0 -39
- package/src/service/match/court-target.ts +0 -30
- package/src/service/match/index.ts +0 -6
- package/src/service/match/match-set.test.ts +0 -174
- package/src/service/match/match-set.ts +0 -140
- package/src/service/match/match-team.test.ts +0 -16
- package/src/service/match/match-team.ts +0 -13
- package/src/service/match/match.test.ts +0 -80
- package/src/service/match/match.ts +0 -63
- package/src/service/match/rally.test.ts +0 -94
- package/src/service/match/rally.ts +0 -79
- package/src/service/player/__stubs__/index.ts +0 -1433
- package/src/service/player/index.ts +0 -5
- package/src/service/player/performance-stats.test.ts +0 -24
- package/src/service/player/performance-stats.ts +0 -47
- package/src/service/player/player.test.ts +0 -51
- package/src/service/player/player.ts +0 -101
- package/src/service/player/role.test.ts +0 -29
- package/src/service/player/role.ts +0 -33
- package/src/service/player/stats.test.ts +0 -23
- package/src/service/player/stats.ts +0 -29
- package/src/service/player/trait.test.ts +0 -10
- package/src/service/player/trait.ts +0 -124
- package/src/service/team/__stubs__/index.ts +0 -290
- package/src/service/team/index.ts +0 -1
- package/src/service/team/team.test.ts +0 -30
- package/src/service/team/team.ts +0 -45
- package/src/service/utils/enum-utils.test.ts +0 -10
- package/src/service/utils/enum-utils.ts +0 -6
- package/src/service/utils/index.ts +0 -4
- package/src/service/utils/object-utils.ts +0 -1
- package/src/service/utils/rng-utils.test.ts +0 -32
- package/src/service/utils/rng-utils.ts +0 -41
- package/src/service/utils/string-utils.test.ts +0 -28
- package/src/service/utils/string-utils.ts +0 -13
- package/src/service/utils/testing-utils.ts +0 -2
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { PerformanceStatsAttributes, PerformanceStatsModel } from '../models'
|
|
2
|
-
import { PerformanceStats, Player } from '../../service'
|
|
3
|
-
|
|
4
|
-
function transformToAttributes (player: Player): PerformanceStatsAttributes {
|
|
5
|
-
return {
|
|
6
|
-
player_id: player.id,
|
|
7
|
-
back_attack: player.stats.backAttack,
|
|
8
|
-
block: player.stats.block,
|
|
9
|
-
awareness: player.stats.awareness,
|
|
10
|
-
defense: player.stats.defense,
|
|
11
|
-
jump: player.stats.jump,
|
|
12
|
-
pass: player.stats.pass,
|
|
13
|
-
serve: player.stats.serve,
|
|
14
|
-
reception: player.stats.reception,
|
|
15
|
-
setting: player.stats.setting,
|
|
16
|
-
spike: player.stats.spike,
|
|
17
|
-
stamina: player.stats.stamina
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function transformToObject (model: PerformanceStatsModel): PerformanceStats {
|
|
22
|
-
return new PerformanceStats({
|
|
23
|
-
awareness: model.awareness,
|
|
24
|
-
defense: model.defense,
|
|
25
|
-
jump: model.jump,
|
|
26
|
-
pass: model.pass,
|
|
27
|
-
serve: model.serve,
|
|
28
|
-
reception: model.reception,
|
|
29
|
-
setting: model.setting,
|
|
30
|
-
spike: model.spike,
|
|
31
|
-
stamina: model.stamina,
|
|
32
|
-
block: model.block,
|
|
33
|
-
backAttack: model.back_attack
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export {
|
|
38
|
-
transformToObject as transformToPerformanceStats,
|
|
39
|
-
transformToAttributes as transformFromPerformanceStats
|
|
40
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { PlayerAttributes, PlayerModel } from '../models'
|
|
2
|
-
import { Player, Team } from '../../service'
|
|
3
|
-
import { transformFromTrait, transformToAPITrait, transformToTrait } from './trait'
|
|
4
|
-
import { transformFromRole, transformToRole } from './role'
|
|
5
|
-
import { transformToPerformanceStats } from './performance-stats'
|
|
6
|
-
import { transformToCountry } from './country'
|
|
7
|
-
import { APIPlayer, APISetStatistics } from '../../routing'
|
|
8
|
-
import { GeneralStat } from '../../service/player/stats'
|
|
9
|
-
import { transformToAPIMatchSetStats } from './match-set-stats'
|
|
10
|
-
|
|
11
|
-
function transformToAttributes (player: Player, team: Team): PlayerAttributes {
|
|
12
|
-
return {
|
|
13
|
-
player_id: player.id,
|
|
14
|
-
team_id: team.id,
|
|
15
|
-
country_id: player.country.id,
|
|
16
|
-
jersey_number: player.jerseyNumber,
|
|
17
|
-
first_name: player.name.first,
|
|
18
|
-
last_name: player.name.last,
|
|
19
|
-
traits: player.traits.map(transformFromTrait),
|
|
20
|
-
roles: player.roles.map(transformFromRole)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function transformToObject (model: PlayerModel): Player {
|
|
25
|
-
return new Player({
|
|
26
|
-
id: model.player_id,
|
|
27
|
-
name: {
|
|
28
|
-
first: model.first_name,
|
|
29
|
-
last: model.last_name
|
|
30
|
-
},
|
|
31
|
-
country: transformToCountry(model.country),
|
|
32
|
-
roles: model.roles.map(transformToRole),
|
|
33
|
-
traits: model.traits.map(transformToTrait),
|
|
34
|
-
jerseyNumber: model.jersey_number,
|
|
35
|
-
stats: transformToPerformanceStats(model.PerformanceStat),
|
|
36
|
-
team: model.team_id
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function transformToAPIObject (model: PlayerModel): APIPlayer {
|
|
41
|
-
const generalStats = GeneralStat.getStats().map(stat => ({
|
|
42
|
-
name: stat,
|
|
43
|
-
value: GeneralStat.calculateScore(transformToPerformanceStats(model.PerformanceStat), stat)
|
|
44
|
-
}))
|
|
45
|
-
const gameStats = model.MatchSetStats.map(transformToAPIMatchSetStats)
|
|
46
|
-
|
|
47
|
-
gameStats.push(calculateMatchStats(gameStats))
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
id: model.player_id,
|
|
51
|
-
name: {
|
|
52
|
-
first: model.first_name,
|
|
53
|
-
last: model.last_name
|
|
54
|
-
},
|
|
55
|
-
country: transformToCountry(model.country),
|
|
56
|
-
roles: model.roles.map(transformToRole),
|
|
57
|
-
traits: model.traits.map(transformToAPITrait),
|
|
58
|
-
jerseyNumber: model.jersey_number,
|
|
59
|
-
team: model.team_id,
|
|
60
|
-
generalStats,
|
|
61
|
-
gameStats
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function calculateMatchStats (gameStats: APISetStatistics[]): APISetStatistics {
|
|
66
|
-
const emptyStats: APISetStatistics = {
|
|
67
|
-
playerId: gameStats[0].playerId,
|
|
68
|
-
attempts: 0,
|
|
69
|
-
contacts: 0,
|
|
70
|
-
ralliesPlayed: 0,
|
|
71
|
-
serve: { success: 0, error: 0 },
|
|
72
|
-
reception: { success: 0, error: 0 },
|
|
73
|
-
set: { success: 0, error: 0 },
|
|
74
|
-
attack: { success: 0, error: 0 },
|
|
75
|
-
block: { success: 0, error: 0 },
|
|
76
|
-
kills: 0,
|
|
77
|
-
killBlocks: 0,
|
|
78
|
-
ace: 0,
|
|
79
|
-
assists: 0,
|
|
80
|
-
order: gameStats.length
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return gameStats.reduce((acc, current) => {
|
|
84
|
-
acc.attempts += current.attempts
|
|
85
|
-
acc.contacts += current.contacts
|
|
86
|
-
acc.ralliesPlayed += current.ralliesPlayed
|
|
87
|
-
acc.kills += current.kills
|
|
88
|
-
acc.killBlocks += current.killBlocks
|
|
89
|
-
acc.ace += current.ace
|
|
90
|
-
acc.assists += current.assists
|
|
91
|
-
acc.serve.success += current.serve.success
|
|
92
|
-
acc.serve.error += current.serve.error
|
|
93
|
-
acc.reception.success += current.reception.success
|
|
94
|
-
acc.reception.error += current.reception.error
|
|
95
|
-
acc.set.success += current.set.success
|
|
96
|
-
acc.set.error += current.set.error
|
|
97
|
-
acc.attack.success += current.attack.success
|
|
98
|
-
acc.attack.error += current.attack.error
|
|
99
|
-
acc.block.success += current.block.success
|
|
100
|
-
acc.block.error += current.block.error
|
|
101
|
-
return acc
|
|
102
|
-
}, emptyStats)
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export {
|
|
106
|
-
transformToObject as transformToPlayer,
|
|
107
|
-
transformToAPIObject as transformToAPIPlayer,
|
|
108
|
-
transformToAttributes as transformFromPlayer
|
|
109
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { PlayerPosition, Rally } from '../../service'
|
|
2
|
-
import { RallyPositionAttributes, RallyPositionModel } from '../models'
|
|
3
|
-
import { transformFromCourtPosition, transformToCourtPosition } from './court-position'
|
|
4
|
-
|
|
5
|
-
function transformToAttributes (playerPosition: PlayerPosition, side: 'Home' | 'Away', rally: Rally): RallyPositionAttributes {
|
|
6
|
-
return {
|
|
7
|
-
rally_id: rally.id,
|
|
8
|
-
side,
|
|
9
|
-
court_position: transformFromCourtPosition(playerPosition.position),
|
|
10
|
-
player_id: playerPosition.playerId
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function transformToObject (model: RallyPositionModel): PlayerPosition {
|
|
15
|
-
return {
|
|
16
|
-
playerId: model.player_id,
|
|
17
|
-
position: transformToCourtPosition(model.court_position)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
transformToObject as transformToPlayerPosition,
|
|
23
|
-
transformToAttributes as transformFromPlayerPosition
|
|
24
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { RallyAttributes, RallyModel as RallyModel } from '../models/Rally'
|
|
2
|
-
import {
|
|
3
|
-
Block,
|
|
4
|
-
EventType,
|
|
5
|
-
LiberoReplacement,
|
|
6
|
-
MatchSet,
|
|
7
|
-
Rally,
|
|
8
|
-
RallyEvent,
|
|
9
|
-
Reception,
|
|
10
|
-
Score,
|
|
11
|
-
Serve,
|
|
12
|
-
Set,
|
|
13
|
-
Spike,
|
|
14
|
-
Substitution
|
|
15
|
-
} from '../../service'
|
|
16
|
-
import { transformToTeam } from './team'
|
|
17
|
-
import { transformFromPlayerPosition, transformToPlayerPosition } from './rally-position'
|
|
18
|
-
import {
|
|
19
|
-
transformFromLiberoReplacement,
|
|
20
|
-
transformToAPILiberoReplacement,
|
|
21
|
-
transformToLiberoReplacement
|
|
22
|
-
} from './libero-replacement'
|
|
23
|
-
import { transformFromSubstitution, transformToAPISubstitution, transformToSubstitution } from './substitution'
|
|
24
|
-
import { transformFromServe, transformToAPIServe, transformToServe } from './serve'
|
|
25
|
-
import { transformFromReception, transformToAPIReception, transformToReception } from './reception'
|
|
26
|
-
import { transformFromSet, transformToAPISet, transformToSet } from './set'
|
|
27
|
-
import { transformFromSpike, transformToAPISpike, transformToSpike } from './spike'
|
|
28
|
-
import { transformFromBlock, transformToAPIBlock, transformToBlock } from './block'
|
|
29
|
-
import { transformFromScore, transformToAPIScore, transformToScore } from './score'
|
|
30
|
-
import { RallyPositionAttributes } from '../models'
|
|
31
|
-
import {
|
|
32
|
-
APIBlock,
|
|
33
|
-
APIEvent,
|
|
34
|
-
APILiberoReplacement,
|
|
35
|
-
APIRally,
|
|
36
|
-
APIReception,
|
|
37
|
-
APIScore,
|
|
38
|
-
APIServe,
|
|
39
|
-
APISet,
|
|
40
|
-
APISpike,
|
|
41
|
-
APISubstitution
|
|
42
|
-
} from '../../routing'
|
|
43
|
-
|
|
44
|
-
function transformToAttributes (rally: Rally, set: MatchSet): RallyAttributes {
|
|
45
|
-
const rallyPositions: RallyPositionAttributes[] = [
|
|
46
|
-
...rally.awayPlayerPosition.map(pp => transformFromPlayerPosition(pp, 'Away', rally)),
|
|
47
|
-
...rally.homePlayerPosition.map(pp => transformFromPlayerPosition(pp, 'Home', rally))
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
const temp = {}
|
|
51
|
-
|
|
52
|
-
for (const p of rallyPositions) {
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
if (temp[p.player_id] != null) {
|
|
55
|
-
throw new Error('DUPLICATE_KEY')
|
|
56
|
-
} else {
|
|
57
|
-
// @ts-ignore
|
|
58
|
-
temp[p.player_id] = p.rally_id
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return {
|
|
63
|
-
rally_id: rally.id,
|
|
64
|
-
match_set_id: set.id,
|
|
65
|
-
order: rally.order,
|
|
66
|
-
serving_team: rally.servingTeam.id,
|
|
67
|
-
RallyPositions: rallyPositions,
|
|
68
|
-
LiberoReplacements: rally.events.filter(event => event.eventType === EventType.LIBERO_REPLACEMENT)
|
|
69
|
-
.map(event => transformFromLiberoReplacement(event as LiberoReplacement, rally)),
|
|
70
|
-
Substitutions: rally.events.filter(event => event.eventType === EventType.SUBSTITUTION)
|
|
71
|
-
.map(event => transformFromSubstitution(event as Substitution, rally)),
|
|
72
|
-
Serves: rally.events.filter(event => event.eventType === EventType.SERVE)
|
|
73
|
-
.map(event => transformFromServe(event as Serve, rally)),
|
|
74
|
-
Receptions: rally.events.filter(event => event.eventType === EventType.RECEPTION)
|
|
75
|
-
.map(event => transformFromReception(event as Reception, rally)),
|
|
76
|
-
Sets: rally.events.filter(event => event.eventType === EventType.SET)
|
|
77
|
-
.map(event => transformFromSet(event as Set, rally)),
|
|
78
|
-
Spikes: rally.events.filter(event => event.eventType === EventType.SPIKE)
|
|
79
|
-
.map(event => transformFromSpike(event as Spike, rally)),
|
|
80
|
-
Blocks: rally.events.filter(event => event.eventType === EventType.BLOCK)
|
|
81
|
-
.map(event => transformFromBlock(event as Block, rally)),
|
|
82
|
-
Scores: rally.events.filter(event => event.eventType === EventType.SCORE)
|
|
83
|
-
.map(event => transformFromScore(event as Score, rally))
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function transformToObject (model: RallyModel): Rally {
|
|
88
|
-
const liberoReplacements: LiberoReplacement[] = model.LiberoReplacements.map(transformToLiberoReplacement)
|
|
89
|
-
const substitutions: Substitution[] = model.Substitutions.map(transformToSubstitution)
|
|
90
|
-
const serves: Serve[] = model.Serves.map(transformToServe)
|
|
91
|
-
const receptions: Reception[] = model.Receptions.map(transformToReception)
|
|
92
|
-
const sets: Set[] = model.Sets.map(transformToSet)
|
|
93
|
-
const spikes: Spike[] = model.Spikes.map(transformToSpike)
|
|
94
|
-
const blocks: Block[] = model.Blocks.map(transformToBlock)
|
|
95
|
-
const scores: Score[] = model.Scores.map(transformToScore)
|
|
96
|
-
const events: RallyEvent[] = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks, ...scores]
|
|
97
|
-
.sort((e1, e2) => e1.order - e2.order)
|
|
98
|
-
|
|
99
|
-
return new Rally({
|
|
100
|
-
id: model.rally_id,
|
|
101
|
-
order: model.order,
|
|
102
|
-
servingTeam: transformToTeam(model.serving_team_Team),
|
|
103
|
-
awayPlayerPosition: model.RallyPositions.filter(rp => rp.side === 'Away')
|
|
104
|
-
.map(transformToPlayerPosition),
|
|
105
|
-
homePlayerPosition: model.RallyPositions.filter(rp => rp.side === 'Home')
|
|
106
|
-
.map(transformToPlayerPosition),
|
|
107
|
-
events: events
|
|
108
|
-
})
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function transformToAPIObject (model: RallyModel): APIRally {
|
|
112
|
-
const liberoReplacements: APILiberoReplacement[] = model.LiberoReplacements.map(transformToAPILiberoReplacement)
|
|
113
|
-
const substitutions: APISubstitution[] = model.Substitutions.map(transformToAPISubstitution)
|
|
114
|
-
const serves: APIServe[] = model.Serves.map(transformToAPIServe)
|
|
115
|
-
const receptions: APIReception[] = model.Receptions.map(transformToAPIReception)
|
|
116
|
-
const sets: APISet[] = model.Sets.map(transformToAPISet)
|
|
117
|
-
const spikes: APISpike[] = model.Spikes.map(transformToAPISpike)
|
|
118
|
-
const blocks: APIBlock[] = model.Blocks.map(transformToAPIBlock)
|
|
119
|
-
const scores: APIScore[] = model.Scores.map(transformToAPIScore)
|
|
120
|
-
const events: APIEvent[] = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks, ...scores]
|
|
121
|
-
.sort((e1, e2) => e1.order - e2.order)
|
|
122
|
-
|
|
123
|
-
return {
|
|
124
|
-
id: model.rally_id,
|
|
125
|
-
order: model.order,
|
|
126
|
-
servingTeamId: model.serving_team,
|
|
127
|
-
awayPlayerPosition: model.RallyPositions.filter(rp => rp.side === 'Away')
|
|
128
|
-
.map(transformToPlayerPosition),
|
|
129
|
-
homePlayerPosition: model.RallyPositions.filter(rp => rp.side === 'Home')
|
|
130
|
-
.map(transformToPlayerPosition),
|
|
131
|
-
events: events
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
export {
|
|
136
|
-
transformToObject as transformToRally,
|
|
137
|
-
transformToAPIObject as transformToAPIRally,
|
|
138
|
-
transformToAttributes as transformFromRally
|
|
139
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { Rally, Reception, ReceptionFailure, ReceptionType } from '../../service'
|
|
2
|
-
import { ReceptionAttributes, ReceptionModel } from '../models'
|
|
3
|
-
import { transformFromEventType, transformToEventType } from './event-type'
|
|
4
|
-
import { transformFromCourtTarget, transformToCourtTarget } from './court-target'
|
|
5
|
-
import { transformToPlayer } from './player'
|
|
6
|
-
import { APIReception } from '../../routing'
|
|
7
|
-
|
|
8
|
-
type receptionType = 'DIG' | 'OVERHAND' | 'ONE_HAND' | 'OTHER_BODY_PART'
|
|
9
|
-
type receptionFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'BAD_PASS'
|
|
10
|
-
|
|
11
|
-
function transformToReceptionFailure (failure: ReceptionFailure): receptionFailure {
|
|
12
|
-
switch (failure) {
|
|
13
|
-
case ReceptionFailure.NO_FAILURE:
|
|
14
|
-
return 'NO_FAILURE'
|
|
15
|
-
case ReceptionFailure.FAULT:
|
|
16
|
-
return 'FAULT'
|
|
17
|
-
case ReceptionFailure.MISS:
|
|
18
|
-
return 'MISS'
|
|
19
|
-
case ReceptionFailure.OUT_OF_BOUNDS:
|
|
20
|
-
return 'OUT_OF_BOUNDS'
|
|
21
|
-
case ReceptionFailure.BAD_PASS:
|
|
22
|
-
return 'BAD_PASS'
|
|
23
|
-
default:
|
|
24
|
-
throw new Error('UNKNOWN_ROLE')
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function transformFromReceptionFailure (failure: receptionFailure): ReceptionFailure {
|
|
29
|
-
return ReceptionFailure[failure]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function transformToReceptionType (type: ReceptionType): receptionType {
|
|
33
|
-
switch (type) {
|
|
34
|
-
case ReceptionType.DIG:
|
|
35
|
-
return 'DIG'
|
|
36
|
-
case ReceptionType.OVERHAND:
|
|
37
|
-
return 'OVERHAND'
|
|
38
|
-
case ReceptionType.ONE_HAND:
|
|
39
|
-
return 'ONE_HAND'
|
|
40
|
-
case ReceptionType.OTHER_BODY_PART:
|
|
41
|
-
return 'OTHER_BODY_PART'
|
|
42
|
-
default:
|
|
43
|
-
throw new Error('UNKNOWN_ROLE')
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function transformFromReceptionType (type: receptionType): ReceptionType {
|
|
48
|
-
return ReceptionType[type]
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function transformToAttributes (event: Reception, rally: Rally): ReceptionAttributes {
|
|
52
|
-
return {
|
|
53
|
-
event_id: event.id,
|
|
54
|
-
player_id: event.player.id,
|
|
55
|
-
rally_id: rally.id,
|
|
56
|
-
order: event.order,
|
|
57
|
-
modifier: event.modifier,
|
|
58
|
-
score: event.score,
|
|
59
|
-
target: transformFromCourtTarget(event.target),
|
|
60
|
-
failure: transformToReceptionFailure(event.failure),
|
|
61
|
-
type: transformToReceptionType(event.type),
|
|
62
|
-
event_type: transformFromEventType(event.eventType)
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function transformToObject (event: ReceptionModel): Reception {
|
|
67
|
-
return new Reception({
|
|
68
|
-
id: event.event_id,
|
|
69
|
-
eventType: transformToEventType(event.event_type),
|
|
70
|
-
failure: transformFromReceptionFailure(event.failure),
|
|
71
|
-
type: transformFromReceptionType(event.type),
|
|
72
|
-
player: transformToPlayer(event.player),
|
|
73
|
-
target: transformToCourtTarget(event.target),
|
|
74
|
-
modifier: event.modifier,
|
|
75
|
-
order: event.order,
|
|
76
|
-
score: event.score
|
|
77
|
-
})
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function transformToAPIObject (event: ReceptionModel): APIReception {
|
|
81
|
-
return {
|
|
82
|
-
id: event.event_id,
|
|
83
|
-
eventType: transformToEventType(event.event_type),
|
|
84
|
-
failure: transformFromReceptionFailure(event.failure),
|
|
85
|
-
type: transformFromReceptionType(event.type),
|
|
86
|
-
playerId: event.player_id,
|
|
87
|
-
target: transformToCourtTarget(event.target),
|
|
88
|
-
modifier: event.modifier,
|
|
89
|
-
order: event.order,
|
|
90
|
-
score: event.score
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export {
|
|
95
|
-
transformToObject as transformToReception,
|
|
96
|
-
transformToAPIObject as transformToAPIReception,
|
|
97
|
-
transformToAttributes as transformFromReception
|
|
98
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Role } from '../../service'
|
|
2
|
-
|
|
3
|
-
type role = 'SETTER' | 'LIBERO' | 'OUTSIDE_HITTER' | 'OPPOSITE_HITTER' | 'MIDDLE_BLOCKER' | 'DEFENSIVE_SPECIALIST'
|
|
4
|
-
|
|
5
|
-
function transformToType (role: Role): role {
|
|
6
|
-
switch (role) {
|
|
7
|
-
case Role.SETTER:
|
|
8
|
-
return 'SETTER'
|
|
9
|
-
case Role.DEFENSIVE_SPECIALIST:
|
|
10
|
-
return 'DEFENSIVE_SPECIALIST'
|
|
11
|
-
case Role.LIBERO:
|
|
12
|
-
return 'LIBERO'
|
|
13
|
-
case Role.MIDDLE_BLOCKER:
|
|
14
|
-
return 'MIDDLE_BLOCKER'
|
|
15
|
-
case Role.OUTSIDE_HITTER:
|
|
16
|
-
return 'OUTSIDE_HITTER'
|
|
17
|
-
case Role.OPPOSITE_HITTER:
|
|
18
|
-
return 'OPPOSITE_HITTER'
|
|
19
|
-
default:
|
|
20
|
-
throw new Error('UNKNOWN_ROLE')
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function transformFromType (role: role): Role {
|
|
25
|
-
return Role[role]
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export {
|
|
29
|
-
transformToType as transformFromRole,
|
|
30
|
-
transformFromType as transformToRole
|
|
31
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Rally, Score } from '../../service'
|
|
2
|
-
import { ScoreAttributes, ScoreModel } from '../models'
|
|
3
|
-
import { transformFromEventType, transformToEventType } from './event-type'
|
|
4
|
-
import { transformToPlayer } from './player'
|
|
5
|
-
import { transformToTeam } from './team'
|
|
6
|
-
import { APIScore } from '../../routing'
|
|
7
|
-
|
|
8
|
-
function transformToAttributes (event: Score, rally: Rally): ScoreAttributes {
|
|
9
|
-
return {
|
|
10
|
-
player_id: event.player.id,
|
|
11
|
-
event_id: event.id,
|
|
12
|
-
order: event.order,
|
|
13
|
-
event_type: transformFromEventType(event.eventType),
|
|
14
|
-
rally_id: rally.id,
|
|
15
|
-
team_id: event.team.id
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function transformToObject (event: ScoreModel): Score {
|
|
20
|
-
return new Score({
|
|
21
|
-
id: event.event_id,
|
|
22
|
-
player: transformToPlayer(event.player),
|
|
23
|
-
order: event.order,
|
|
24
|
-
eventType: transformToEventType(event.event_type),
|
|
25
|
-
team: transformToTeam(event.team)
|
|
26
|
-
})
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function transformToAPIObject (event: ScoreModel): APIScore {
|
|
30
|
-
return {
|
|
31
|
-
id: event.event_id,
|
|
32
|
-
eventType: transformToEventType(event.event_type),
|
|
33
|
-
playerId: event.player_id,
|
|
34
|
-
order: event.order,
|
|
35
|
-
teamId: event.team_id
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export {
|
|
40
|
-
transformToObject as transformToScore,
|
|
41
|
-
transformToAPIObject as transformToAPIScore,
|
|
42
|
-
transformToAttributes as transformFromScore
|
|
43
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { SeasonAttributes, SeasonModel } from '../models'
|
|
2
|
-
import { transformToAPITeam, transformToTeam } from './team'
|
|
3
|
-
import { League, Season } from '../../service/league'
|
|
4
|
-
import { transformToAPIMatch, transformToMatch } from './match'
|
|
5
|
-
import { APISeason } from '../../routing'
|
|
6
|
-
import { transformToLeague } from './league'
|
|
7
|
-
|
|
8
|
-
function transformToAttributes (season: Season, league: League): SeasonAttributes {
|
|
9
|
-
return {
|
|
10
|
-
season_id: season.id,
|
|
11
|
-
iteration: season.iteration,
|
|
12
|
-
league_id: league.id
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function transformToObject (model: SeasonModel): Season {
|
|
17
|
-
return new Season({
|
|
18
|
-
id: model.season_id,
|
|
19
|
-
matches: model.Matches != null ? model.Matches.map(transformToMatch) : [],
|
|
20
|
-
iteration: model.iteration,
|
|
21
|
-
teams: model.seasonTeams != null ? model.seasonTeams.map(transformToTeam) : [],
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function transformToAPIObject (model: SeasonModel): APISeason {
|
|
26
|
-
const season = transformToObject(model)
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
id: model.season_id,
|
|
30
|
-
matches: model.Matches != null ? model.Matches.map(transformToAPIMatch) : [],
|
|
31
|
-
iteration: model.iteration,
|
|
32
|
-
teams: model.seasonTeams != null ? model.seasonTeams.map(transformToAPITeam) : [],
|
|
33
|
-
league: transformToLeague(model.league),
|
|
34
|
-
standings: season.standings
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export {
|
|
39
|
-
transformToObject as transformToSeason,
|
|
40
|
-
transformToAPIObject as transformToAPISeason,
|
|
41
|
-
transformToAttributes as transformFromSeason
|
|
42
|
-
}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Rally, Serve, ServeFailure, ServeType } from '../../service'
|
|
2
|
-
import { ServeAttributes, ServeModel } from '../models'
|
|
3
|
-
import { transformFromEventType, transformToEventType } from './event-type'
|
|
4
|
-
import { transformFromCourtTarget, transformToCourtTarget } from './court-target'
|
|
5
|
-
import { transformToPlayer } from './player'
|
|
6
|
-
import { APIServe } from '../../routing'
|
|
7
|
-
|
|
8
|
-
type serveFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'NET' | 'OUT_OF_BOUNDS'
|
|
9
|
-
type serveType = 'UNDERHAND' | 'OVERHAND_TOPSPIN' | 'OVERHAND_FLOAT' | 'JUMP_TOPSPIN' | 'JUMP_FLOAT'
|
|
10
|
-
|
|
11
|
-
function transformToServeFailure (failure: ServeFailure): serveFailure {
|
|
12
|
-
switch (failure) {
|
|
13
|
-
case ServeFailure.NO_FAILURE:
|
|
14
|
-
return 'NO_FAILURE'
|
|
15
|
-
case ServeFailure.FAULT:
|
|
16
|
-
return 'FAULT'
|
|
17
|
-
case ServeFailure.MISS:
|
|
18
|
-
return 'MISS'
|
|
19
|
-
case ServeFailure.OUT_OF_BOUNDS:
|
|
20
|
-
return 'OUT_OF_BOUNDS'
|
|
21
|
-
case ServeFailure.NET:
|
|
22
|
-
return 'NET'
|
|
23
|
-
default:
|
|
24
|
-
throw new Error('UNKNOWN_ROLE')
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function transformFromServeFailure (failure: serveFailure): ServeFailure {
|
|
29
|
-
return ServeFailure[failure]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function transformToServeType (type: ServeType): serveType {
|
|
33
|
-
switch (type) {
|
|
34
|
-
case ServeType.UNDERHAND:
|
|
35
|
-
return 'UNDERHAND'
|
|
36
|
-
case ServeType.OVERHAND_TOPSPIN:
|
|
37
|
-
return 'OVERHAND_TOPSPIN'
|
|
38
|
-
case ServeType.OVERHAND_FLOAT:
|
|
39
|
-
return 'OVERHAND_FLOAT'
|
|
40
|
-
case ServeType.JUMP_TOPSPIN:
|
|
41
|
-
return 'JUMP_TOPSPIN'
|
|
42
|
-
case ServeType.JUMP_FLOAT:
|
|
43
|
-
return 'JUMP_FLOAT'
|
|
44
|
-
default:
|
|
45
|
-
throw new Error('UNKNOWN_ROLE')
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function transformFromServeType (type: serveType): ServeType {
|
|
50
|
-
return ServeType[type]
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function transformToAttributes (event: Serve, rally: Rally): ServeAttributes {
|
|
54
|
-
return {
|
|
55
|
-
event_id: event.id,
|
|
56
|
-
player_id: event.player.id,
|
|
57
|
-
rally_id: rally.id,
|
|
58
|
-
order: event.order,
|
|
59
|
-
modifier: event.modifier,
|
|
60
|
-
score: event.score,
|
|
61
|
-
target: transformFromCourtTarget(event.target),
|
|
62
|
-
failure: transformToServeFailure(event.failure),
|
|
63
|
-
type: transformToServeType(event.type),
|
|
64
|
-
event_type: transformFromEventType(event.eventType)
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function transformToObject (serve: ServeModel): Serve {
|
|
69
|
-
return new Serve({
|
|
70
|
-
id: serve.event_id,
|
|
71
|
-
eventType: transformToEventType(serve.event_type),
|
|
72
|
-
failure: transformFromServeFailure(serve.failure),
|
|
73
|
-
type: transformFromServeType(serve.type),
|
|
74
|
-
player: transformToPlayer(serve.player),
|
|
75
|
-
target: transformToCourtTarget(serve.target),
|
|
76
|
-
modifier: serve.modifier,
|
|
77
|
-
order: serve.order,
|
|
78
|
-
score: serve.score
|
|
79
|
-
})
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function transformToAPIObject (event: ServeModel): APIServe {
|
|
83
|
-
return {
|
|
84
|
-
id: event.event_id,
|
|
85
|
-
eventType: transformToEventType(event.event_type),
|
|
86
|
-
failure: transformFromServeFailure(event.failure),
|
|
87
|
-
type: transformFromServeType(event.type),
|
|
88
|
-
playerId: event.player_id,
|
|
89
|
-
target: transformToCourtTarget(event.target),
|
|
90
|
-
modifier: event.modifier,
|
|
91
|
-
order: event.order,
|
|
92
|
-
score: event.score
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export {
|
|
97
|
-
transformToObject as transformToServe,
|
|
98
|
-
transformToAPIObject as transformToAPIServe,
|
|
99
|
-
transformToAttributes as transformFromServe
|
|
100
|
-
}
|