volleyballsimtypes 0.0.7 → 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.
Files changed (132) hide show
  1. package/package.json +5 -5
  2. package/src/data/index.ts +0 -2
  3. package/src/data/models/block.ts +0 -159
  4. package/src/data/models/coach.ts +0 -94
  5. package/src/data/models/country.ts +0 -105
  6. package/src/data/models/event.ts +0 -83
  7. package/src/data/models/index.ts +0 -22
  8. package/src/data/models/league.ts +0 -90
  9. package/src/data/models/libero-replacement.ts +0 -104
  10. package/src/data/models/match-set-stats.ts +0 -204
  11. package/src/data/models/match-set.ts +0 -152
  12. package/src/data/models/match.ts +0 -106
  13. package/src/data/models/performance-stats.ts +0 -136
  14. package/src/data/models/player.ts +0 -370
  15. package/src/data/models/rally-position.ts +0 -79
  16. package/src/data/models/rally.ts +0 -229
  17. package/src/data/models/reception.ts +0 -113
  18. package/src/data/models/score.ts +0 -99
  19. package/src/data/models/season-teams.ts +0 -67
  20. package/src/data/models/season.ts +0 -103
  21. package/src/data/models/serve.ts +0 -113
  22. package/src/data/models/set.ts +0 -113
  23. package/src/data/models/spike.ts +0 -113
  24. package/src/data/models/substitution.ts +0 -98
  25. package/src/data/models/team.ts +0 -193
  26. package/src/data/transformers/block.ts +0 -117
  27. package/src/data/transformers/coach.ts +0 -33
  28. package/src/data/transformers/country.ts +0 -23
  29. package/src/data/transformers/court-position.ts +0 -43
  30. package/src/data/transformers/court-target.ts +0 -58
  31. package/src/data/transformers/event-type.ts +0 -35
  32. package/src/data/transformers/formation.ts +0 -16
  33. package/src/data/transformers/index.ts +0 -27
  34. package/src/data/transformers/league.ts +0 -26
  35. package/src/data/transformers/libero-replacement.ts +0 -62
  36. package/src/data/transformers/match-set-stats.ts +0 -101
  37. package/src/data/transformers/match-set.ts +0 -59
  38. package/src/data/transformers/match.ts +0 -48
  39. package/src/data/transformers/performance-stats.ts +0 -40
  40. package/src/data/transformers/player.ts +0 -109
  41. package/src/data/transformers/rally-position.ts +0 -24
  42. package/src/data/transformers/rally.ts +0 -139
  43. package/src/data/transformers/reception.ts +0 -98
  44. package/src/data/transformers/role.ts +0 -31
  45. package/src/data/transformers/score.ts +0 -43
  46. package/src/data/transformers/season.ts +0 -42
  47. package/src/data/transformers/serve.ts +0 -100
  48. package/src/data/transformers/set.ts +0 -98
  49. package/src/data/transformers/spike.ts +0 -102
  50. package/src/data/transformers/substitution.ts +0 -42
  51. package/src/data/transformers/team.ts +0 -45
  52. package/src/data/transformers/trait.ts +0 -37
  53. package/src/index.ts +0 -7
  54. package/src/routing/events.ts +0 -60
  55. package/src/routing/index.ts +0 -5
  56. package/src/routing/league.ts +0 -15
  57. package/src/routing/match.ts +0 -52
  58. package/src/routing/player.ts +0 -24
  59. package/src/routing/team.ts +0 -14
  60. package/src/service/coach/__stubs__/index.ts +0 -46
  61. package/src/service/coach/coach.test.ts +0 -10
  62. package/src/service/coach/coach.ts +0 -30
  63. package/src/service/coach/formation.test.ts +0 -10
  64. package/src/service/coach/formation.ts +0 -160
  65. package/src/service/coach/index.ts +0 -2
  66. package/src/service/country/__stubs__/index.ts +0 -13
  67. package/src/service/country/country.test.ts +0 -10
  68. package/src/service/country/country.ts +0 -23
  69. package/src/service/country/index.ts +0 -1
  70. package/src/service/event/__stubs__/index.ts +0 -25
  71. package/src/service/event/block.test.ts +0 -100
  72. package/src/service/event/block.ts +0 -69
  73. package/src/service/event/in-play-event.ts +0 -37
  74. package/src/service/event/libero-replacement.test.ts +0 -37
  75. package/src/service/event/libero-replacement.ts +0 -25
  76. package/src/service/event/rally-event.ts +0 -33
  77. package/src/service/event/reception.test.ts +0 -50
  78. package/src/service/event/reception.ts +0 -38
  79. package/src/service/event/score.test.ts +0 -29
  80. package/src/service/event/score.ts +0 -22
  81. package/src/service/event/serve.test.ts +0 -50
  82. package/src/service/event/serve.ts +0 -39
  83. package/src/service/event/set.test.ts +0 -50
  84. package/src/service/event/set.ts +0 -38
  85. package/src/service/event/spike.test.ts +0 -64
  86. package/src/service/event/spike.ts +0 -46
  87. package/src/service/event/substitution.ts +0 -16
  88. package/src/service/index.ts +0 -17
  89. package/src/service/league/index.ts +0 -3
  90. package/src/service/league/league.ts +0 -112
  91. package/src/service/league/season.ts +0 -41
  92. package/src/service/league/standing.ts +0 -82
  93. package/src/service/main.ts +0 -52
  94. package/src/service/match/__stubs__/index.ts +0 -119
  95. package/src/service/match/court-position.test.ts +0 -73
  96. package/src/service/match/court-position.ts +0 -46
  97. package/src/service/match/court-target.test.ts +0 -39
  98. package/src/service/match/court-target.ts +0 -30
  99. package/src/service/match/index.ts +0 -6
  100. package/src/service/match/match-set.test.ts +0 -174
  101. package/src/service/match/match-set.ts +0 -140
  102. package/src/service/match/match-team.test.ts +0 -16
  103. package/src/service/match/match-team.ts +0 -13
  104. package/src/service/match/match.test.ts +0 -80
  105. package/src/service/match/match.ts +0 -63
  106. package/src/service/match/rally.test.ts +0 -94
  107. package/src/service/match/rally.ts +0 -79
  108. package/src/service/player/__stubs__/index.ts +0 -1433
  109. package/src/service/player/index.ts +0 -5
  110. package/src/service/player/performance-stats.test.ts +0 -24
  111. package/src/service/player/performance-stats.ts +0 -47
  112. package/src/service/player/player.test.ts +0 -51
  113. package/src/service/player/player.ts +0 -101
  114. package/src/service/player/role.test.ts +0 -29
  115. package/src/service/player/role.ts +0 -33
  116. package/src/service/player/stats.test.ts +0 -23
  117. package/src/service/player/stats.ts +0 -29
  118. package/src/service/player/trait.test.ts +0 -10
  119. package/src/service/player/trait.ts +0 -124
  120. package/src/service/team/__stubs__/index.ts +0 -290
  121. package/src/service/team/index.ts +0 -1
  122. package/src/service/team/team.test.ts +0 -30
  123. package/src/service/team/team.ts +0 -45
  124. package/src/service/utils/enum-utils.test.ts +0 -10
  125. package/src/service/utils/enum-utils.ts +0 -6
  126. package/src/service/utils/index.ts +0 -4
  127. package/src/service/utils/object-utils.ts +0 -1
  128. package/src/service/utils/rng-utils.test.ts +0 -32
  129. package/src/service/utils/rng-utils.ts +0 -41
  130. package/src/service/utils/string-utils.test.ts +0 -28
  131. package/src/service/utils/string-utils.ts +0 -13
  132. 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
- }