volleyballsimtypes 0.0.1
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/data/formula/event.formula.json +124 -0
- package/dist/data/formula/role.formula.json +98 -0
- package/dist/data/formula/stat.formula.json +66 -0
- package/dist/src/data/index.d.ts +2 -0
- package/dist/src/data/index.js +19 -0
- package/dist/src/data/index.js.map +1 -0
- package/dist/src/data/models/block.d.ts +59 -0
- package/dist/src/data/models/block.js +99 -0
- package/dist/src/data/models/block.js.map +1 -0
- package/dist/src/data/models/coach.d.ts +40 -0
- package/dist/src/data/models/coach.js +56 -0
- package/dist/src/data/models/coach.js.map +1 -0
- package/dist/src/data/models/country.d.ts +64 -0
- package/dist/src/data/models/country.js +41 -0
- package/dist/src/data/models/country.js.map +1 -0
- package/dist/src/data/models/event.d.ts +30 -0
- package/dist/src/data/models/event.js +55 -0
- package/dist/src/data/models/event.js.map +1 -0
- package/dist/src/data/models/index.d.ts +22 -0
- package/dist/src/data/models/index.js +39 -0
- package/dist/src/data/models/index.js.map +1 -0
- package/dist/src/data/models/league.d.ts +48 -0
- package/dist/src/data/models/league.js +43 -0
- package/dist/src/data/models/league.js.map +1 -0
- package/dist/src/data/models/libero-replacement.d.ts +38 -0
- package/dist/src/data/models/libero-replacement.js +67 -0
- package/dist/src/data/models/libero-replacement.js.map +1 -0
- package/dist/src/data/models/match-set-stats.d.ts +59 -0
- package/dist/src/data/models/match-set-stats.js +130 -0
- package/dist/src/data/models/match-set-stats.js.map +1 -0
- package/dist/src/data/models/match-set.d.ts +78 -0
- package/dist/src/data/models/match-set.js +72 -0
- package/dist/src/data/models/match-set.js.map +1 -0
- package/dist/src/data/models/match.d.ts +47 -0
- package/dist/src/data/models/match.js +59 -0
- package/dist/src/data/models/match.js.map +1 -0
- package/dist/src/data/models/performance-stats.d.ts +40 -0
- package/dist/src/data/models/performance-stats.js +89 -0
- package/dist/src/data/models/performance-stats.js.map +1 -0
- package/dist/src/data/models/player.d.ts +278 -0
- package/dist/src/data/models/player.js +67 -0
- package/dist/src/data/models/player.js.map +1 -0
- package/dist/src/data/models/rally-position.d.ts +28 -0
- package/dist/src/data/models/rally-position.js +53 -0
- package/dist/src/data/models/rally-position.js.map +1 -0
- package/dist/src/data/models/rally.d.ts +169 -0
- package/dist/src/data/models/rally.js +51 -0
- package/dist/src/data/models/rally.js.map +1 -0
- package/dist/src/data/models/reception.d.ts +40 -0
- package/dist/src/data/models/reception.js +75 -0
- package/dist/src/data/models/reception.js.map +1 -0
- package/dist/src/data/models/score.d.ts +37 -0
- package/dist/src/data/models/score.js +63 -0
- package/dist/src/data/models/score.js.map +1 -0
- package/dist/src/data/models/season-teams.d.ts +24 -0
- package/dist/src/data/models/season-teams.js +45 -0
- package/dist/src/data/models/season-teams.js.map +1 -0
- package/dist/src/data/models/season.d.ts +60 -0
- package/dist/src/data/models/season.js +43 -0
- package/dist/src/data/models/season.js.map +1 -0
- package/dist/src/data/models/serve.d.ts +40 -0
- package/dist/src/data/models/serve.js +75 -0
- package/dist/src/data/models/serve.js.map +1 -0
- package/dist/src/data/models/set.d.ts +40 -0
- package/dist/src/data/models/set.js +75 -0
- package/dist/src/data/models/set.js.map +1 -0
- package/dist/src/data/models/spike.d.ts +40 -0
- package/dist/src/data/models/spike.js +75 -0
- package/dist/src/data/models/spike.js.map +1 -0
- package/dist/src/data/models/substitution.d.ts +36 -0
- package/dist/src/data/models/substitution.js +63 -0
- package/dist/src/data/models/substitution.js.map +1 -0
- package/dist/src/data/models/team.d.ts +122 -0
- package/dist/src/data/models/team.js +65 -0
- package/dist/src/data/models/team.js.map +1 -0
- package/dist/src/data/transformers/block.d.ts +7 -0
- package/dist/src/data/transformers/block.js +109 -0
- package/dist/src/data/transformers/block.js.map +1 -0
- package/dist/src/data/transformers/coach.d.ts +5 -0
- package/dist/src/data/transformers/coach.js +31 -0
- package/dist/src/data/transformers/coach.js.map +1 -0
- package/dist/src/data/transformers/country.d.ts +5 -0
- package/dist/src/data/transformers/country.js +21 -0
- package/dist/src/data/transformers/country.js.map +1 -0
- package/dist/src/data/transformers/court-position.d.ts +5 -0
- package/dist/src/data/transformers/court-position.js +32 -0
- package/dist/src/data/transformers/court-position.js.map +1 -0
- package/dist/src/data/transformers/court-target.d.ts +5 -0
- package/dist/src/data/transformers/court-target.js +42 -0
- package/dist/src/data/transformers/court-target.js.map +1 -0
- package/dist/src/data/transformers/event-type.d.ts +5 -0
- package/dist/src/data/transformers/event-type.js +32 -0
- package/dist/src/data/transformers/event-type.js.map +1 -0
- package/dist/src/data/transformers/formation.d.ts +5 -0
- package/dist/src/data/transformers/formation.js +13 -0
- package/dist/src/data/transformers/formation.js.map +1 -0
- package/dist/src/data/transformers/index.d.ts +26 -0
- package/dist/src/data/transformers/index.js +43 -0
- package/dist/src/data/transformers/index.js.map +1 -0
- package/dist/src/data/transformers/league.d.ts +5 -0
- package/dist/src/data/transformers/league.js +24 -0
- package/dist/src/data/transformers/league.js.map +1 -0
- package/dist/src/data/transformers/libero-replacement.d.ts +7 -0
- package/dist/src/data/transformers/libero-replacement.js +54 -0
- package/dist/src/data/transformers/libero-replacement.js.map +1 -0
- package/dist/src/data/transformers/match-set-stats.d.ts +7 -0
- package/dist/src/data/transformers/match-set-stats.js +96 -0
- package/dist/src/data/transformers/match-set-stats.js.map +1 -0
- package/dist/src/data/transformers/match-set.d.ts +7 -0
- package/dist/src/data/transformers/match-set.js +54 -0
- package/dist/src/data/transformers/match-set.js.map +1 -0
- package/dist/src/data/transformers/match.d.ts +8 -0
- package/dist/src/data/transformers/match.js +41 -0
- package/dist/src/data/transformers/match.js.map +1 -0
- package/dist/src/data/transformers/performance-stats.d.ts +5 -0
- package/dist/src/data/transformers/performance-stats.js +38 -0
- package/dist/src/data/transformers/performance-stats.js.map +1 -0
- package/dist/src/data/transformers/player.d.ts +7 -0
- package/dist/src/data/transformers/player.js +101 -0
- package/dist/src/data/transformers/player.js.map +1 -0
- package/dist/src/data/transformers/rally-position.d.ts +5 -0
- package/dist/src/data/transformers/rally-position.js +21 -0
- package/dist/src/data/transformers/rally-position.js.map +1 -0
- package/dist/src/data/transformers/rally.d.ts +7 -0
- package/dist/src/data/transformers/rally.js +102 -0
- package/dist/src/data/transformers/rally.js.map +1 -0
- package/dist/src/data/transformers/reception.d.ts +7 -0
- package/dist/src/data/transformers/reception.js +87 -0
- package/dist/src/data/transformers/reception.js.map +1 -0
- package/dist/src/data/transformers/role.d.ts +5 -0
- package/dist/src/data/transformers/role.js +28 -0
- package/dist/src/data/transformers/role.js.map +1 -0
- package/dist/src/data/transformers/score.d.ts +7 -0
- package/dist/src/data/transformers/score.js +39 -0
- package/dist/src/data/transformers/score.js.map +1 -0
- package/dist/src/data/transformers/season.d.ts +7 -0
- package/dist/src/data/transformers/season.js +37 -0
- package/dist/src/data/transformers/season.js.map +1 -0
- package/dist/src/data/transformers/serve.d.ts +7 -0
- package/dist/src/data/transformers/serve.js +89 -0
- package/dist/src/data/transformers/serve.js.map +1 -0
- package/dist/src/data/transformers/set.d.ts +7 -0
- package/dist/src/data/transformers/set.js +87 -0
- package/dist/src/data/transformers/set.js.map +1 -0
- package/dist/src/data/transformers/spike.d.ts +7 -0
- package/dist/src/data/transformers/spike.js +91 -0
- package/dist/src/data/transformers/spike.js.map +1 -0
- package/dist/src/data/transformers/substitution.d.ts +7 -0
- package/dist/src/data/transformers/substitution.js +38 -0
- package/dist/src/data/transformers/substitution.js.map +1 -0
- package/dist/src/data/transformers/team.d.ts +7 -0
- package/dist/src/data/transformers/team.js +41 -0
- package/dist/src/data/transformers/team.js.map +1 -0
- package/dist/src/data/transformers/trait.d.ts +7 -0
- package/dist/src/data/transformers/trait.js +33 -0
- package/dist/src/data/transformers/trait.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +22 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/routing/events.d.ts +50 -0
- package/dist/src/routing/events.js +3 -0
- package/dist/src/routing/events.js.map +1 -0
- package/dist/src/routing/index.d.ts +5 -0
- package/dist/src/routing/index.js +22 -0
- package/dist/src/routing/index.js.map +1 -0
- package/dist/src/routing/league.d.ts +13 -0
- package/dist/src/routing/league.js +3 -0
- package/dist/src/routing/league.js.map +1 -0
- package/dist/src/routing/match.d.ts +46 -0
- package/dist/src/routing/match.js +3 -0
- package/dist/src/routing/match.js.map +1 -0
- package/dist/src/routing/player.d.ts +22 -0
- package/dist/src/routing/player.js +13 -0
- package/dist/src/routing/player.js.map +1 -0
- package/dist/src/routing/team.d.ts +12 -0
- package/dist/src/routing/team.js +3 -0
- package/dist/src/routing/team.js.map +1 -0
- package/dist/src/service/coach/__stubs__/index.d.ts +3 -0
- package/dist/src/service/coach/__stubs__/index.js +47 -0
- package/dist/src/service/coach/__stubs__/index.js.map +1 -0
- package/dist/src/service/coach/coach.d.ts +18 -0
- package/dist/src/service/coach/coach.js +16 -0
- package/dist/src/service/coach/coach.js.map +1 -0
- package/dist/src/service/coach/coach.test.d.ts +1 -0
- package/dist/src/service/coach/coach.test.js +12 -0
- package/dist/src/service/coach/coach.test.js.map +1 -0
- package/dist/src/service/coach/formation.d.ts +31 -0
- package/dist/src/service/coach/formation.js +127 -0
- package/dist/src/service/coach/formation.js.map +1 -0
- package/dist/src/service/coach/formation.test.d.ts +1 -0
- package/dist/src/service/coach/formation.test.js +11 -0
- package/dist/src/service/coach/formation.test.js.map +1 -0
- package/dist/src/service/coach/index.d.ts +2 -0
- package/dist/src/service/coach/index.js +19 -0
- package/dist/src/service/coach/index.js.map +1 -0
- package/dist/src/service/country/__stubs__/index.d.ts +3 -0
- package/dist/src/service/country/__stubs__/index.js +16 -0
- package/dist/src/service/country/__stubs__/index.js.map +1 -0
- package/dist/src/service/country/country.d.ts +15 -0
- package/dist/src/service/country/country.js +14 -0
- package/dist/src/service/country/country.js.map +1 -0
- package/dist/src/service/country/country.test.d.ts +1 -0
- package/dist/src/service/country/country.test.js +12 -0
- package/dist/src/service/country/country.test.js.map +1 -0
- package/dist/src/service/country/index.d.ts +1 -0
- package/dist/src/service/country/index.js +18 -0
- package/dist/src/service/country/index.js.map +1 -0
- package/dist/src/service/event/__stubs__/index.d.ts +4 -0
- package/dist/src/service/event/__stubs__/index.js +28 -0
- package/dist/src/service/event/__stubs__/index.js.map +1 -0
- package/dist/src/service/event/block.d.ts +29 -0
- package/dist/src/service/event/block.js +56 -0
- package/dist/src/service/event/block.js.map +1 -0
- package/dist/src/service/event/block.test.d.ts +1 -0
- package/dist/src/service/event/block.test.js +99 -0
- package/dist/src/service/event/block.test.js.map +1 -0
- package/dist/src/service/event/in-play-event.d.ts +17 -0
- package/dist/src/service/event/in-play-event.js +28 -0
- package/dist/src/service/event/in-play-event.js.map +1 -0
- package/dist/src/service/event/libero-replacement.d.ts +16 -0
- package/dist/src/service/event/libero-replacement.js +18 -0
- package/dist/src/service/event/libero-replacement.js.map +1 -0
- package/dist/src/service/event/libero-replacement.test.d.ts +1 -0
- package/dist/src/service/event/libero-replacement.test.js +37 -0
- package/dist/src/service/event/libero-replacement.test.js.map +1 -0
- package/dist/src/service/event/rally-event.d.ts +24 -0
- package/dist/src/service/event/rally-event.js +24 -0
- package/dist/src/service/event/rally-event.js.map +1 -0
- package/dist/src/service/event/reception.d.ts +26 -0
- package/dist/src/service/event/reception.js +31 -0
- package/dist/src/service/event/reception.js.map +1 -0
- package/dist/src/service/event/reception.test.d.ts +1 -0
- package/dist/src/service/event/reception.test.js +50 -0
- package/dist/src/service/event/reception.test.js.map +1 -0
- package/dist/src/service/event/score.d.ts +13 -0
- package/dist/src/service/event/score.js +15 -0
- package/dist/src/service/event/score.js.map +1 -0
- package/dist/src/service/event/score.test.d.ts +1 -0
- package/dist/src/service/event/score.test.js +29 -0
- package/dist/src/service/event/score.test.js.map +1 -0
- package/dist/src/service/event/serve.d.ts +27 -0
- package/dist/src/service/event/serve.js +32 -0
- package/dist/src/service/event/serve.js.map +1 -0
- package/dist/src/service/event/serve.test.d.ts +1 -0
- package/dist/src/service/event/serve.test.js +50 -0
- package/dist/src/service/event/serve.test.js.map +1 -0
- package/dist/src/service/event/set.d.ts +26 -0
- package/dist/src/service/event/set.js +31 -0
- package/dist/src/service/event/set.js.map +1 -0
- package/dist/src/service/event/set.test.d.ts +1 -0
- package/dist/src/service/event/set.test.js +50 -0
- package/dist/src/service/event/set.test.js.map +1 -0
- package/dist/src/service/event/spike.d.ts +28 -0
- package/dist/src/service/event/spike.js +37 -0
- package/dist/src/service/event/spike.js.map +1 -0
- package/dist/src/service/event/spike.test.d.ts +1 -0
- package/dist/src/service/event/spike.test.js +64 -0
- package/dist/src/service/event/spike.test.js.map +1 -0
- package/dist/src/service/event/substitution.d.ts +9 -0
- package/dist/src/service/event/substitution.js +12 -0
- package/dist/src/service/event/substitution.js.map +1 -0
- package/dist/src/service/index.d.ts +17 -0
- package/dist/src/service/index.js +34 -0
- package/dist/src/service/index.js.map +1 -0
- package/dist/src/service/league/index.d.ts +3 -0
- package/dist/src/service/league/index.js +20 -0
- package/dist/src/service/league/index.js.map +1 -0
- package/dist/src/service/league/league.d.ts +19 -0
- package/dist/src/service/league/league.js +88 -0
- package/dist/src/service/league/league.js.map +1 -0
- package/dist/src/service/league/season.d.ts +19 -0
- package/dist/src/service/league/season.js +27 -0
- package/dist/src/service/league/season.js.map +1 -0
- package/dist/src/service/league/standing.d.ts +26 -0
- package/dist/src/service/league/standing.js +81 -0
- package/dist/src/service/league/standing.js.map +1 -0
- package/dist/src/service/main.d.ts +1 -0
- package/dist/src/service/main.js +56 -0
- package/dist/src/service/main.js.map +1 -0
- package/dist/src/service/match/__stubs__/index.d.ts +11 -0
- package/dist/src/service/match/__stubs__/index.js +117 -0
- package/dist/src/service/match/__stubs__/index.js.map +1 -0
- package/dist/src/service/match/court-position.d.ts +21 -0
- package/dist/src/service/match/court-position.js +57 -0
- package/dist/src/service/match/court-position.js.map +1 -0
- package/dist/src/service/match/court-position.test.d.ts +1 -0
- package/dist/src/service/match/court-position.test.js +70 -0
- package/dist/src/service/match/court-position.test.js.map +1 -0
- package/dist/src/service/match/court-target.d.ts +21 -0
- package/dist/src/service/match/court-target.js +43 -0
- package/dist/src/service/match/court-target.js.map +1 -0
- package/dist/src/service/match/court-target.test.d.ts +1 -0
- package/dist/src/service/match/court-target.test.js +38 -0
- package/dist/src/service/match/court-target.test.js.map +1 -0
- package/dist/src/service/match/index.d.ts +6 -0
- package/dist/src/service/match/index.js +23 -0
- package/dist/src/service/match/index.js.map +1 -0
- package/dist/src/service/match/match-set.d.ts +71 -0
- package/dist/src/service/match/match-set.js +90 -0
- package/dist/src/service/match/match-set.js.map +1 -0
- package/dist/src/service/match/match-set.test.d.ts +1 -0
- package/dist/src/service/match/match-set.test.js +153 -0
- package/dist/src/service/match/match-set.test.js.map +1 -0
- package/dist/src/service/match/match-team.d.ts +7 -0
- package/dist/src/service/match/match-team.js +21 -0
- package/dist/src/service/match/match-team.js.map +1 -0
- package/dist/src/service/match/match-team.test.d.ts +1 -0
- package/dist/src/service/match/match-team.test.js +17 -0
- package/dist/src/service/match/match-team.test.js.map +1 -0
- package/dist/src/service/match/match.d.ts +24 -0
- package/dist/src/service/match/match.js +43 -0
- package/dist/src/service/match/match.js.map +1 -0
- package/dist/src/service/match/match.test.d.ts +1 -0
- package/dist/src/service/match/match.test.js +73 -0
- package/dist/src/service/match/match.test.js.map +1 -0
- package/dist/src/service/match/rally.d.ts +41 -0
- package/dist/src/service/match/rally.js +52 -0
- package/dist/src/service/match/rally.js.map +1 -0
- package/dist/src/service/match/rally.test.d.ts +1 -0
- package/dist/src/service/match/rally.test.js +91 -0
- package/dist/src/service/match/rally.test.js.map +1 -0
- package/dist/src/service/player/__stubs__/index.d.ts +28 -0
- package/dist/src/service/player/__stubs__/index.js +1426 -0
- package/dist/src/service/player/__stubs__/index.js.map +1 -0
- package/dist/src/service/player/index.d.ts +3 -0
- package/dist/src/service/player/index.js +20 -0
- package/dist/src/service/player/index.js.map +1 -0
- package/dist/src/service/player/performance-stats.d.ts +28 -0
- package/dist/src/service/player/performance-stats.js +24 -0
- package/dist/src/service/player/performance-stats.js.map +1 -0
- package/dist/src/service/player/performance-stats.test.d.ts +1 -0
- package/dist/src/service/player/performance-stats.test.js +24 -0
- package/dist/src/service/player/performance-stats.test.js.map +1 -0
- package/dist/src/service/player/player.d.ts +38 -0
- package/dist/src/service/player/player.js +62 -0
- package/dist/src/service/player/player.js.map +1 -0
- package/dist/src/service/player/player.test.d.ts +1 -0
- package/dist/src/service/player/player.test.js +50 -0
- package/dist/src/service/player/player.test.js.map +1 -0
- package/dist/src/service/player/role.d.ts +13 -0
- package/dist/src/service/player/role.js +35 -0
- package/dist/src/service/player/role.js.map +1 -0
- package/dist/src/service/player/role.test.d.ts +1 -0
- package/dist/src/service/player/role.test.js +31 -0
- package/dist/src/service/player/role.test.js.map +1 -0
- package/dist/src/service/player/stats.d.ts +11 -0
- package/dist/src/service/player/stats.js +32 -0
- package/dist/src/service/player/stats.js.map +1 -0
- package/dist/src/service/player/stats.test.d.ts +1 -0
- package/dist/src/service/player/stats.test.js +25 -0
- package/dist/src/service/player/stats.test.js.map +1 -0
- package/dist/src/service/player/trait.d.ts +21 -0
- package/dist/src/service/player/trait.js +98 -0
- package/dist/src/service/player/trait.js.map +1 -0
- package/dist/src/service/player/trait.test.d.ts +1 -0
- package/dist/src/service/player/trait.test.js +12 -0
- package/dist/src/service/player/trait.test.js.map +1 -0
- package/dist/src/service/team/__stubs__/index.d.ts +6 -0
- package/dist/src/service/team/__stubs__/index.js +290 -0
- package/dist/src/service/team/__stubs__/index.js.map +1 -0
- package/dist/src/service/team/index.d.ts +1 -0
- package/dist/src/service/team/index.js +18 -0
- package/dist/src/service/team/index.js.map +1 -0
- package/dist/src/service/team/team.d.ts +25 -0
- package/dist/src/service/team/team.js +25 -0
- package/dist/src/service/team/team.js.map +1 -0
- package/dist/src/service/team/team.test.d.ts +1 -0
- package/dist/src/service/team/team.test.js +29 -0
- package/dist/src/service/team/team.test.js.map +1 -0
- package/dist/src/service/utils/enum-utils.d.ts +1 -0
- package/dist/src/service/utils/enum-utils.js +10 -0
- package/dist/src/service/utils/enum-utils.js.map +1 -0
- package/dist/src/service/utils/enum-utils.test.d.ts +1 -0
- package/dist/src/service/utils/enum-utils.test.js +14 -0
- package/dist/src/service/utils/enum-utils.test.js.map +1 -0
- package/dist/src/service/utils/index.d.ts +4 -0
- package/dist/src/service/utils/index.js +21 -0
- package/dist/src/service/utils/index.js.map +1 -0
- package/dist/src/service/utils/object-utils.d.ts +1 -0
- package/dist/src/service/utils/object-utils.js +5 -0
- package/dist/src/service/utils/object-utils.js.map +1 -0
- package/dist/src/service/utils/rng-utils.d.ts +8 -0
- package/dist/src/service/utils/rng-utils.js +42 -0
- package/dist/src/service/utils/rng-utils.js.map +1 -0
- package/dist/src/service/utils/rng-utils.test.d.ts +1 -0
- package/dist/src/service/utils/rng-utils.test.js +32 -0
- package/dist/src/service/utils/rng-utils.test.js.map +1 -0
- package/dist/src/service/utils/string-utils.d.ts +2 -0
- package/dist/src/service/utils/string-utils.js +17 -0
- package/dist/src/service/utils/string-utils.js.map +1 -0
- package/dist/src/service/utils/string-utils.test.d.ts +1 -0
- package/dist/src/service/utils/string-utils.test.js +28 -0
- package/dist/src/service/utils/string-utils.test.js.map +1 -0
- package/dist/src/service/utils/testing-utils.d.ts +1 -0
- package/dist/src/service/utils/testing-utils.js +3 -0
- package/dist/src/service/utils/testing-utils.js.map +1 -0
- package/package.json +40 -0
- package/src/data/index.ts +2 -0
- package/src/data/models/block.ts +159 -0
- package/src/data/models/coach.ts +94 -0
- package/src/data/models/country.ts +105 -0
- package/src/data/models/event.ts +83 -0
- package/src/data/models/index.ts +22 -0
- package/src/data/models/league.ts +90 -0
- package/src/data/models/libero-replacement.ts +104 -0
- package/src/data/models/match-set-stats.ts +204 -0
- package/src/data/models/match-set.ts +152 -0
- package/src/data/models/match.ts +106 -0
- package/src/data/models/performance-stats.ts +136 -0
- package/src/data/models/player.ts +370 -0
- package/src/data/models/rally-position.ts +79 -0
- package/src/data/models/rally.ts +229 -0
- package/src/data/models/reception.ts +113 -0
- package/src/data/models/score.ts +99 -0
- package/src/data/models/season-teams.ts +67 -0
- package/src/data/models/season.ts +103 -0
- package/src/data/models/serve.ts +113 -0
- package/src/data/models/set.ts +113 -0
- package/src/data/models/spike.ts +113 -0
- package/src/data/models/substitution.ts +98 -0
- package/src/data/models/team.ts +193 -0
- package/src/data/transformers/block.ts +117 -0
- package/src/data/transformers/coach.ts +33 -0
- package/src/data/transformers/country.ts +23 -0
- package/src/data/transformers/court-position.ts +43 -0
- package/src/data/transformers/court-target.ts +58 -0
- package/src/data/transformers/event-type.ts +35 -0
- package/src/data/transformers/formation.ts +16 -0
- package/src/data/transformers/index.ts +27 -0
- package/src/data/transformers/league.ts +26 -0
- package/src/data/transformers/libero-replacement.ts +62 -0
- package/src/data/transformers/match-set-stats.ts +101 -0
- package/src/data/transformers/match-set.ts +59 -0
- package/src/data/transformers/match.ts +48 -0
- package/src/data/transformers/performance-stats.ts +40 -0
- package/src/data/transformers/player.ts +109 -0
- package/src/data/transformers/rally-position.ts +24 -0
- package/src/data/transformers/rally.ts +139 -0
- package/src/data/transformers/reception.ts +98 -0
- package/src/data/transformers/role.ts +31 -0
- package/src/data/transformers/score.ts +43 -0
- package/src/data/transformers/season.ts +42 -0
- package/src/data/transformers/serve.ts +100 -0
- package/src/data/transformers/set.ts +98 -0
- package/src/data/transformers/spike.ts +102 -0
- package/src/data/transformers/substitution.ts +42 -0
- package/src/data/transformers/team.ts +45 -0
- package/src/data/transformers/trait.ts +37 -0
- package/src/index.ts +7 -0
- package/src/routing/events.ts +60 -0
- package/src/routing/index.ts +5 -0
- package/src/routing/league.ts +15 -0
- package/src/routing/match.ts +52 -0
- package/src/routing/player.ts +24 -0
- package/src/routing/team.ts +14 -0
- package/src/service/coach/__stubs__/index.ts +46 -0
- package/src/service/coach/coach.test.ts +10 -0
- package/src/service/coach/coach.ts +30 -0
- package/src/service/coach/formation.test.ts +10 -0
- package/src/service/coach/formation.ts +160 -0
- package/src/service/coach/index.ts +2 -0
- package/src/service/country/__stubs__/index.ts +13 -0
- package/src/service/country/country.test.ts +10 -0
- package/src/service/country/country.ts +23 -0
- package/src/service/country/index.ts +1 -0
- package/src/service/event/__stubs__/index.ts +25 -0
- package/src/service/event/block.test.ts +100 -0
- package/src/service/event/block.ts +69 -0
- package/src/service/event/in-play-event.ts +37 -0
- package/src/service/event/libero-replacement.test.ts +37 -0
- package/src/service/event/libero-replacement.ts +25 -0
- package/src/service/event/rally-event.ts +33 -0
- package/src/service/event/reception.test.ts +50 -0
- package/src/service/event/reception.ts +38 -0
- package/src/service/event/score.test.ts +29 -0
- package/src/service/event/score.ts +22 -0
- package/src/service/event/serve.test.ts +50 -0
- package/src/service/event/serve.ts +39 -0
- package/src/service/event/set.test.ts +50 -0
- package/src/service/event/set.ts +38 -0
- package/src/service/event/spike.test.ts +64 -0
- package/src/service/event/spike.ts +46 -0
- package/src/service/event/substitution.ts +16 -0
- package/src/service/index.ts +17 -0
- package/src/service/league/index.ts +3 -0
- package/src/service/league/league.ts +112 -0
- package/src/service/league/season.ts +41 -0
- package/src/service/league/standing.ts +82 -0
- package/src/service/main.ts +52 -0
- package/src/service/match/__stubs__/index.ts +119 -0
- package/src/service/match/court-position.test.ts +73 -0
- package/src/service/match/court-position.ts +46 -0
- package/src/service/match/court-target.test.ts +39 -0
- package/src/service/match/court-target.ts +30 -0
- package/src/service/match/index.ts +6 -0
- package/src/service/match/match-set.test.ts +174 -0
- package/src/service/match/match-set.ts +140 -0
- package/src/service/match/match-team.test.ts +16 -0
- package/src/service/match/match-team.ts +13 -0
- package/src/service/match/match.test.ts +80 -0
- package/src/service/match/match.ts +63 -0
- package/src/service/match/rally.test.ts +94 -0
- package/src/service/match/rally.ts +79 -0
- package/src/service/player/__stubs__/index.ts +1433 -0
- package/src/service/player/index.ts +3 -0
- package/src/service/player/performance-stats.test.ts +24 -0
- package/src/service/player/performance-stats.ts +47 -0
- package/src/service/player/player.test.ts +51 -0
- package/src/service/player/player.ts +101 -0
- package/src/service/player/role.test.ts +29 -0
- package/src/service/player/role.ts +33 -0
- package/src/service/player/stats.test.ts +23 -0
- package/src/service/player/stats.ts +29 -0
- package/src/service/player/trait.test.ts +10 -0
- package/src/service/player/trait.ts +124 -0
- package/src/service/team/__stubs__/index.ts +290 -0
- package/src/service/team/index.ts +1 -0
- package/src/service/team/team.test.ts +30 -0
- package/src/service/team/team.ts +45 -0
- package/src/service/utils/enum-utils.test.ts +10 -0
- package/src/service/utils/enum-utils.ts +6 -0
- package/src/service/utils/index.ts +4 -0
- package/src/service/utils/object-utils.ts +1 -0
- package/src/service/utils/rng-utils.test.ts +32 -0
- package/src/service/utils/rng-utils.ts +41 -0
- package/src/service/utils/string-utils.test.ts +28 -0
- package/src/service/utils/string-utils.ts +13 -0
- package/src/service/utils/testing-utils.ts +2 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Rally, Set, SetFailure, SetType } from '../../service'
|
|
2
|
+
import { SetAttributes, SetModel } from '../models'
|
|
3
|
+
import { transformFromEventType, transformToEventType } from './event-type'
|
|
4
|
+
import { transformFromCourtTarget, transformToCourtTarget } from './court-target'
|
|
5
|
+
import { transformToPlayer } from './player'
|
|
6
|
+
import { APISet } from '../../routing'
|
|
7
|
+
|
|
8
|
+
type setFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'BAD_PASS'
|
|
9
|
+
type serveType = 'OVERHAND' | 'UNDERHAND' | 'SPIKE' | 'DUMP'
|
|
10
|
+
|
|
11
|
+
function transformToSetFailure (failure: SetFailure): setFailure {
|
|
12
|
+
switch (failure) {
|
|
13
|
+
case SetFailure.NO_FAILURE:
|
|
14
|
+
return 'NO_FAILURE'
|
|
15
|
+
case SetFailure.FAULT:
|
|
16
|
+
return 'FAULT'
|
|
17
|
+
case SetFailure.MISS:
|
|
18
|
+
return 'MISS'
|
|
19
|
+
case SetFailure.OUT_OF_BOUNDS:
|
|
20
|
+
return 'OUT_OF_BOUNDS'
|
|
21
|
+
case SetFailure.BAD_PASS:
|
|
22
|
+
return 'BAD_PASS'
|
|
23
|
+
default:
|
|
24
|
+
throw new Error('UNKNOWN_ROLE')
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function transformFromSetFailure (failure: setFailure): SetFailure {
|
|
29
|
+
return SetFailure[failure]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function transformToSetType (type: SetType): serveType {
|
|
33
|
+
switch (type) {
|
|
34
|
+
case SetType.OVERHAND:
|
|
35
|
+
return 'OVERHAND'
|
|
36
|
+
case SetType.UNDERHAND:
|
|
37
|
+
return 'UNDERHAND'
|
|
38
|
+
case SetType.SPIKE:
|
|
39
|
+
return 'SPIKE'
|
|
40
|
+
case SetType.DUMP:
|
|
41
|
+
return 'DUMP'
|
|
42
|
+
default:
|
|
43
|
+
throw new Error('UNKNOWN_ROLE')
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function transformFromSetType (type: serveType): SetType {
|
|
48
|
+
return SetType[type]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function transformToAttributes (event: Set, rally: Rally): SetAttributes {
|
|
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: transformToSetFailure(event.failure),
|
|
61
|
+
type: transformToSetType(event.type),
|
|
62
|
+
event_type: transformFromEventType(event.eventType)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function transformToObject (set: SetModel): Set {
|
|
67
|
+
return new Set({
|
|
68
|
+
id: set.event_id,
|
|
69
|
+
eventType: transformToEventType(set.event_type),
|
|
70
|
+
failure: transformFromSetFailure(set.failure),
|
|
71
|
+
type: transformFromSetType(set.type),
|
|
72
|
+
player: transformToPlayer(set.player),
|
|
73
|
+
target: transformToCourtTarget(set.target),
|
|
74
|
+
modifier: set.modifier,
|
|
75
|
+
order: set.order,
|
|
76
|
+
score: set.score
|
|
77
|
+
})
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function transformToAPIObject (event: SetModel): APISet {
|
|
81
|
+
return {
|
|
82
|
+
id: event.event_id,
|
|
83
|
+
eventType: transformToEventType(event.event_type),
|
|
84
|
+
failure: transformFromSetFailure(event.failure),
|
|
85
|
+
type: transformFromSetType(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 transformToSet,
|
|
96
|
+
transformToAPIObject as transformToAPISet,
|
|
97
|
+
transformToAttributes as transformFromSet
|
|
98
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Rally, Spike, SpikeFailure, SpikeType } from '../../service'
|
|
2
|
+
import { SpikeAttributes, SpikeModel } from '../models'
|
|
3
|
+
import { transformFromEventType, transformToEventType } from './event-type'
|
|
4
|
+
import { transformFromCourtTarget, transformToCourtTarget } from './court-target'
|
|
5
|
+
import { transformToPlayer } from './player'
|
|
6
|
+
import { APISpike } from '../../routing'
|
|
7
|
+
|
|
8
|
+
type spikeFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'NET'
|
|
9
|
+
type spikeType = 'CROSS_SHOT' | 'LINE_SHOT' | 'TOOL_SHOT' | 'TIP' | 'DOWN_BALL' | 'OVERHAND'
|
|
10
|
+
|
|
11
|
+
function transformToSpikeFailure (failure: SpikeFailure): spikeFailure {
|
|
12
|
+
switch (failure) {
|
|
13
|
+
case SpikeFailure.NO_FAILURE:
|
|
14
|
+
return 'NO_FAILURE'
|
|
15
|
+
case SpikeFailure.FAULT:
|
|
16
|
+
return 'FAULT'
|
|
17
|
+
case SpikeFailure.MISS:
|
|
18
|
+
return 'MISS'
|
|
19
|
+
case SpikeFailure.OUT_OF_BOUNDS:
|
|
20
|
+
return 'OUT_OF_BOUNDS'
|
|
21
|
+
case SpikeFailure.NET:
|
|
22
|
+
return 'NET'
|
|
23
|
+
default:
|
|
24
|
+
throw new Error('UNKNOWN_ROLE')
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function transformFromSpikeFailure (failure: spikeFailure): SpikeFailure {
|
|
29
|
+
return SpikeFailure[failure]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function transformToSpikeType (type: SpikeType): spikeType {
|
|
33
|
+
switch (type) {
|
|
34
|
+
case SpikeType.CROSS_SHOT:
|
|
35
|
+
return 'CROSS_SHOT'
|
|
36
|
+
case SpikeType.LINE_SHOT:
|
|
37
|
+
return 'LINE_SHOT'
|
|
38
|
+
case SpikeType.TOOL_SHOT:
|
|
39
|
+
return 'TOOL_SHOT'
|
|
40
|
+
case SpikeType.TIP:
|
|
41
|
+
return 'TIP'
|
|
42
|
+
case SpikeType.DOWN_BALL:
|
|
43
|
+
return 'DOWN_BALL'
|
|
44
|
+
case SpikeType.OVERHAND:
|
|
45
|
+
return 'OVERHAND'
|
|
46
|
+
default:
|
|
47
|
+
throw new Error('UNKNOWN_ROLE')
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function transformFromSpikeType (type: spikeType): SpikeType {
|
|
52
|
+
return SpikeType[type]
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function transformToAttributes (event: Spike, rally: Rally): SpikeAttributes {
|
|
56
|
+
return {
|
|
57
|
+
event_id: event.id,
|
|
58
|
+
player_id: event.player.id,
|
|
59
|
+
rally_id: rally.id,
|
|
60
|
+
order: event.order,
|
|
61
|
+
modifier: event.modifier,
|
|
62
|
+
score: event.score,
|
|
63
|
+
target: transformFromCourtTarget(event.target),
|
|
64
|
+
failure: transformToSpikeFailure(event.failure),
|
|
65
|
+
type: transformToSpikeType(event.type),
|
|
66
|
+
event_type: transformFromEventType(event.eventType)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function transformToObject (spike: SpikeModel): Spike {
|
|
71
|
+
return new Spike({
|
|
72
|
+
id: spike.event_id,
|
|
73
|
+
eventType: transformToEventType(spike.event_type),
|
|
74
|
+
failure: transformFromSpikeFailure(spike.failure),
|
|
75
|
+
type: transformFromSpikeType(spike.type),
|
|
76
|
+
player: transformToPlayer(spike.player),
|
|
77
|
+
target: transformToCourtTarget(spike.target),
|
|
78
|
+
modifier: spike.modifier,
|
|
79
|
+
order: spike.order,
|
|
80
|
+
score: spike.score
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function transformToAPIObject (event: SpikeModel): APISpike {
|
|
85
|
+
return {
|
|
86
|
+
id: event.event_id,
|
|
87
|
+
eventType: transformToEventType(event.event_type),
|
|
88
|
+
failure: transformFromSpikeFailure(event.failure),
|
|
89
|
+
type: transformFromSpikeType(event.type),
|
|
90
|
+
playerId: event.player_id,
|
|
91
|
+
target: transformToCourtTarget(event.target),
|
|
92
|
+
modifier: event.modifier,
|
|
93
|
+
order: event.order,
|
|
94
|
+
score: event.score
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export {
|
|
99
|
+
transformToObject as transformToSpike,
|
|
100
|
+
transformToAPIObject as transformToAPISpike,
|
|
101
|
+
transformToAttributes as transformFromSpike
|
|
102
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Rally, Substitution } from '../../service'
|
|
2
|
+
import { SubstitutionAttributes, SubstitutionModel } from '../models'
|
|
3
|
+
import { transformFromEventType, transformToEventType } from './event-type'
|
|
4
|
+
import { transformToPlayer } from './player'
|
|
5
|
+
import { APISubstitution } from '../../routing'
|
|
6
|
+
|
|
7
|
+
function transformToAttributes (event: Substitution, rally: Rally): SubstitutionAttributes {
|
|
8
|
+
return {
|
|
9
|
+
player_id: event.player.id,
|
|
10
|
+
event_id: event.id,
|
|
11
|
+
order: event.order,
|
|
12
|
+
event_type: transformFromEventType(event.eventType),
|
|
13
|
+
player_out: event.playerOut.id,
|
|
14
|
+
rally_id: rally.id
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function transformToObject (event: SubstitutionModel): Substitution {
|
|
19
|
+
return new Substitution({
|
|
20
|
+
id: event.event_id,
|
|
21
|
+
player: transformToPlayer(event.player),
|
|
22
|
+
playerOut: transformToPlayer(event.player_out_Player),
|
|
23
|
+
order: event.order,
|
|
24
|
+
eventType: transformToEventType(event.event_type)
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function transformToAPIObject (event: SubstitutionModel): APISubstitution {
|
|
29
|
+
return {
|
|
30
|
+
id: event.event_id,
|
|
31
|
+
eventType: transformToEventType(event.event_type),
|
|
32
|
+
playerId: event.player_id,
|
|
33
|
+
order: event.order,
|
|
34
|
+
playerOutId: event.player_out
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
transformToObject as transformToSubstitution,
|
|
40
|
+
transformToAPIObject as transformToAPISubstitution,
|
|
41
|
+
transformToAttributes as transformFromSubstitution
|
|
42
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Team } from '../../service'
|
|
2
|
+
import { TeamAttributes, TeamModel } from '../models'
|
|
3
|
+
import { transformToCountry } from './country'
|
|
4
|
+
import { transformToCoach } from './coach'
|
|
5
|
+
import { transformToAPIPlayer, transformToPlayer } from './player'
|
|
6
|
+
import { APITeam } from '../../routing'
|
|
7
|
+
|
|
8
|
+
function transformToAttributes (team: Team): TeamAttributes {
|
|
9
|
+
return {
|
|
10
|
+
team_id: team.id,
|
|
11
|
+
name: team.name,
|
|
12
|
+
short_name: team.shortName,
|
|
13
|
+
coach_id: team.coach!.id,
|
|
14
|
+
country_id: team.country!.id,
|
|
15
|
+
league_id: team.league!.id
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function transformToObject (team: TeamModel): Team {
|
|
20
|
+
return new Team({
|
|
21
|
+
id: team.team_id,
|
|
22
|
+
name: team.name,
|
|
23
|
+
shortName: team.short_name,
|
|
24
|
+
country: team.country != null ? transformToCountry(team.country) : undefined,
|
|
25
|
+
coach: team.coach != null ? transformToCoach(team.coach) : undefined,
|
|
26
|
+
roster: team.Players != null ? team.Players.map(transformToPlayer) : []
|
|
27
|
+
})
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function transformToAPIObject (team: TeamModel): APITeam {
|
|
31
|
+
return {
|
|
32
|
+
id: team.team_id,
|
|
33
|
+
name: team.name,
|
|
34
|
+
shortName: team.short_name,
|
|
35
|
+
country: transformToCountry(team.country),
|
|
36
|
+
coach: transformToCoach(team.coach),
|
|
37
|
+
roster: team.Players != null ? team.Players.map(transformToAPIPlayer) : []
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
transformToObject as transformToTeam,
|
|
43
|
+
transformToAPIObject as transformToAPITeam,
|
|
44
|
+
transformToAttributes as transformFromTeam
|
|
45
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Trait } from '../../service/player/trait'
|
|
2
|
+
import { APITrait } from '../../routing'
|
|
3
|
+
|
|
4
|
+
type trait = 'MARKSMAN' | 'MOVING_WALL' | 'MASTER_MIND' | 'METEOR_SERVE' | 'VIGOROUS' | 'GUARDIAN'
|
|
5
|
+
|
|
6
|
+
function transformToType (trait: Trait): trait {
|
|
7
|
+
switch (trait.name) {
|
|
8
|
+
case 'Marksman':
|
|
9
|
+
return 'MARKSMAN'
|
|
10
|
+
case 'Master Mind':
|
|
11
|
+
return 'MASTER_MIND'
|
|
12
|
+
case 'Moving Wall':
|
|
13
|
+
return 'MOVING_WALL'
|
|
14
|
+
case 'Meteor Serve':
|
|
15
|
+
return 'METEOR_SERVE'
|
|
16
|
+
case 'Vigorous':
|
|
17
|
+
return 'VIGOROUS'
|
|
18
|
+
case 'Guardian':
|
|
19
|
+
return 'GUARDIAN'
|
|
20
|
+
default:
|
|
21
|
+
throw new Error('UNKNOWN_TRAIT')
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function transformFromType (trait: trait): Trait {
|
|
26
|
+
return Trait[trait]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function transformToEnum (trait: trait): APITrait {
|
|
30
|
+
return APITrait[trait]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
transformToType as transformFromTrait,
|
|
35
|
+
transformFromType as transformToTrait,
|
|
36
|
+
transformToEnum as transformToAPITrait
|
|
37
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { EventType } from '../service/event/rally-event'
|
|
2
|
+
import { LiberoReplacementType } from '../service/event/libero-replacement'
|
|
3
|
+
import { CourtTarget } from '../service/match'
|
|
4
|
+
import { SpikeFailure, SpikeType } from '../service/event/spike'
|
|
5
|
+
import { SetFailure, SetType } from '../service/event/set'
|
|
6
|
+
import { ServeFailure, ServeType } from '../service/event/serve'
|
|
7
|
+
import { BlockFailure, BlockType } from '../service/event/block'
|
|
8
|
+
import { ReceptionFailure, ReceptionType } from '../service/event/reception'
|
|
9
|
+
|
|
10
|
+
export interface APIEvent {
|
|
11
|
+
id: string
|
|
12
|
+
order: number
|
|
13
|
+
playerId: string
|
|
14
|
+
eventType: EventType
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface APILiberoReplacement extends APIEvent {
|
|
18
|
+
type: LiberoReplacementType
|
|
19
|
+
liberoId: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface APISubstitution extends APIEvent {
|
|
23
|
+
playerOutId: string
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface APIInPlayEvent extends APIEvent {
|
|
27
|
+
target: CourtTarget
|
|
28
|
+
modifier: number
|
|
29
|
+
score: number
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface APIScore extends APIEvent {
|
|
33
|
+
teamId: string
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface APIServe extends APIInPlayEvent {
|
|
37
|
+
type: ServeType
|
|
38
|
+
failure: ServeFailure
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface APISet extends APIInPlayEvent {
|
|
42
|
+
type: SetType
|
|
43
|
+
failure: SetFailure
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface APISpike extends APIInPlayEvent {
|
|
47
|
+
failure: SpikeFailure
|
|
48
|
+
type: SpikeType
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface APIReception extends APIInPlayEvent {
|
|
52
|
+
type: ReceptionType
|
|
53
|
+
failure: ReceptionFailure
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface APIBlock extends APIInPlayEvent {
|
|
57
|
+
failure: BlockFailure
|
|
58
|
+
type: BlockType
|
|
59
|
+
blockers: string[]
|
|
60
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { League, Standing } from '../service/league'
|
|
2
|
+
import { APITeam } from './team'
|
|
3
|
+
import { APIMatch } from './match'
|
|
4
|
+
|
|
5
|
+
export interface APILeague {
|
|
6
|
+
|
|
7
|
+
}
|
|
8
|
+
export interface APISeason {
|
|
9
|
+
id: string
|
|
10
|
+
teams: APITeam[]
|
|
11
|
+
matches: APIMatch[]
|
|
12
|
+
iteration: number
|
|
13
|
+
standings: Standing[]
|
|
14
|
+
league: League
|
|
15
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { EventStat, PlayerPosition, SetStatistics } from '../service/match'
|
|
2
|
+
import { APIEvent } from './events'
|
|
3
|
+
import { Team } from '../service/team'
|
|
4
|
+
import { Player } from '../service/player'
|
|
5
|
+
import { APITeam } from './team'
|
|
6
|
+
|
|
7
|
+
export interface APIMatch {
|
|
8
|
+
id: string
|
|
9
|
+
homeTeam: APITeam
|
|
10
|
+
awayTeam: APITeam
|
|
11
|
+
sets: APIMatchSet[]
|
|
12
|
+
scheduledDate: Date
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface APIMatchSet {
|
|
16
|
+
id: string
|
|
17
|
+
order: number
|
|
18
|
+
isTieBreak: boolean
|
|
19
|
+
homeLiberoId: string | undefined
|
|
20
|
+
awayLiberoId: string | undefined
|
|
21
|
+
homeScore: number
|
|
22
|
+
awayScore: number
|
|
23
|
+
stats: APISetStatistics[]
|
|
24
|
+
rallies: APIRally[]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface APIRally {
|
|
28
|
+
id: string
|
|
29
|
+
servingTeamId: string
|
|
30
|
+
events: APIEvent[]
|
|
31
|
+
homePlayerPosition: PlayerPosition[]
|
|
32
|
+
awayPlayerPosition: PlayerPosition[]
|
|
33
|
+
order: number
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface APISetStatistics {
|
|
37
|
+
order: number
|
|
38
|
+
playerId: string
|
|
39
|
+
ace: number
|
|
40
|
+
attempts: number
|
|
41
|
+
contacts: number
|
|
42
|
+
ralliesPlayed: number
|
|
43
|
+
serve: EventStat
|
|
44
|
+
reception: EventStat
|
|
45
|
+
set: EventStat
|
|
46
|
+
attack: EventStat
|
|
47
|
+
block: EventStat
|
|
48
|
+
kills: number
|
|
49
|
+
killBlocks: number
|
|
50
|
+
assists: number
|
|
51
|
+
setsPlayed?: number
|
|
52
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Country } from '../service/country'
|
|
2
|
+
import { Name, Role, Stat } from '../service/player'
|
|
3
|
+
import { APISetStatistics } from './match'
|
|
4
|
+
|
|
5
|
+
export enum APITrait {
|
|
6
|
+
MASTER_MIND = 'Master Mind',
|
|
7
|
+
MOVING_WALL = 'Moving Wall',
|
|
8
|
+
MARKSMAN = 'Marksman',
|
|
9
|
+
METEOR_SERVE = 'Meteor Serve',
|
|
10
|
+
VIGOROUS = 'Vigorous',
|
|
11
|
+
GUARDIAN = 'Guardian'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface APIPlayer {
|
|
15
|
+
id: string
|
|
16
|
+
name: Name
|
|
17
|
+
country: Country
|
|
18
|
+
gameStats: APISetStatistics[]
|
|
19
|
+
roles: Role[]
|
|
20
|
+
traits: APITrait[]
|
|
21
|
+
jerseyNumber: number
|
|
22
|
+
team: string
|
|
23
|
+
generalStats: Stat[]
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Coach } from '../service/coach'
|
|
2
|
+
import { Country } from '../service/country'
|
|
3
|
+
import { APIPlayer } from './player'
|
|
4
|
+
import { APILeague } from './league'
|
|
5
|
+
|
|
6
|
+
export interface APITeam {
|
|
7
|
+
id: string
|
|
8
|
+
roster: APIPlayer[]
|
|
9
|
+
name: string
|
|
10
|
+
shortName: string
|
|
11
|
+
coach: Coach
|
|
12
|
+
country: Country
|
|
13
|
+
league?: string
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Coach } from '../coach'
|
|
2
|
+
import { Formation } from '../formation'
|
|
3
|
+
import { countries, country } from '../../country/__stubs__'
|
|
4
|
+
|
|
5
|
+
export const coaches = [
|
|
6
|
+
new Coach({
|
|
7
|
+
name: { first: 'Jameson', last: 'Richardson' },
|
|
8
|
+
id: '8cd3a3fb-2034-487c-a041-fb06de0e374b',
|
|
9
|
+
country: countries[0],
|
|
10
|
+
formation: Formation['4-2'],
|
|
11
|
+
substitutionTolerance: 5
|
|
12
|
+
}),
|
|
13
|
+
new Coach({
|
|
14
|
+
id: '1be93fd6-62c4-4434-aaa0-730212ab72d7',
|
|
15
|
+
name: { first: 'Hunter', last: 'Rivera' },
|
|
16
|
+
country: countries[1],
|
|
17
|
+
formation: Formation['5-1'],
|
|
18
|
+
substitutionTolerance: 5
|
|
19
|
+
}),
|
|
20
|
+
new Coach({
|
|
21
|
+
id: 'a96b6732-2a71-451e-8973-c264446c594d',
|
|
22
|
+
name: {
|
|
23
|
+
first: 'Jonathan',
|
|
24
|
+
last: 'Jenkins'
|
|
25
|
+
},
|
|
26
|
+
country: countries[2],
|
|
27
|
+
formation: Formation['5-1'],
|
|
28
|
+
substitutionTolerance: 5
|
|
29
|
+
}),
|
|
30
|
+
new Coach({
|
|
31
|
+
id: '34086150-9692-4371-a5a4-0349170339e7',
|
|
32
|
+
name: { first: 'Noah', last: 'Adams' },
|
|
33
|
+
country: countries[3],
|
|
34
|
+
formation: Formation['6-2'],
|
|
35
|
+
substitutionTolerance: 5
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
export const coach: Coach = new Coach({
|
|
41
|
+
id: '1ad40ceb-b5ad-4e20-953c-3c1f050ac61d',
|
|
42
|
+
formation: Formation['6-2'],
|
|
43
|
+
name: { first: 'Julio', last: 'Velasco' },
|
|
44
|
+
country,
|
|
45
|
+
substitutionTolerance: 5
|
|
46
|
+
})
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { describe, expect, test } from '@jest/globals'
|
|
2
|
+
import { coach } from './__stubs__'
|
|
3
|
+
|
|
4
|
+
describe('Coach Test Module', () => {
|
|
5
|
+
test('Should instantiate object properly', () => {
|
|
6
|
+
expect(coach.id).toEqual('1ad40ceb-b5ad-4e20-953c-3c1f050ac61d')
|
|
7
|
+
expect(coach.name.first).toEqual('Julio')
|
|
8
|
+
expect(coach.name.last).toEqual('Velasco')
|
|
9
|
+
})
|
|
10
|
+
})
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Formation } from './formation'
|
|
2
|
+
import { validateUUID } from '../utils'
|
|
3
|
+
import { Name } from '../player'
|
|
4
|
+
import { Country } from '../country'
|
|
5
|
+
|
|
6
|
+
export interface CoachOpts {
|
|
7
|
+
readonly id: string
|
|
8
|
+
readonly name: Name
|
|
9
|
+
readonly country: Country
|
|
10
|
+
readonly formation?: Formation
|
|
11
|
+
readonly substitutionTolerance?: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class Coach {
|
|
15
|
+
readonly id: string
|
|
16
|
+
readonly name: Name
|
|
17
|
+
readonly country: Country
|
|
18
|
+
readonly formation?: Formation
|
|
19
|
+
readonly substitutionTolerance?: number
|
|
20
|
+
|
|
21
|
+
constructor ({ id, name, country, formation, substitutionTolerance }: CoachOpts) {
|
|
22
|
+
validateUUID(id)
|
|
23
|
+
|
|
24
|
+
this.id = id
|
|
25
|
+
this.name = name
|
|
26
|
+
this.country = country
|
|
27
|
+
this.formation = formation
|
|
28
|
+
this.substitutionTolerance = substitutionTolerance
|
|
29
|
+
}
|
|
30
|
+
}
|