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