volleyballsimtypes 0.0.101 → 0.0.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/data/event.formula.json +124 -124
- package/dist/cjs/data/role.formula.json +98 -98
- package/dist/cjs/data/stat.formula.json +66 -66
- package/dist/cjs/src/api/coach.d.ts +6 -6
- package/dist/cjs/src/api/coach.js +2 -2
- package/dist/cjs/src/api/events.d.ts +41 -41
- package/dist/cjs/src/api/events.js +2 -2
- package/dist/cjs/src/api/index.d.ts +7 -7
- package/dist/cjs/src/api/index.js +23 -23
- package/dist/cjs/src/api/league.d.ts +16 -16
- package/dist/cjs/src/api/league.js +2 -2
- package/dist/cjs/src/api/match.d.ts +45 -47
- package/dist/cjs/src/api/match.js +2 -2
- package/dist/cjs/src/api/player.d.ts +30 -30
- package/dist/cjs/src/api/player.js +22 -22
- package/dist/cjs/src/api/team.d.ts +11 -11
- package/dist/cjs/src/api/team.js +2 -2
- package/dist/cjs/src/api/tournament.d.ts +14 -14
- package/dist/cjs/src/api/tournament.js +2 -2
- package/dist/cjs/src/data/index.d.ts +3 -3
- package/dist/cjs/src/data/index.js +21 -21
- package/dist/cjs/src/data/init-models.d.ts +36 -36
- package/dist/cjs/src/data/init-models.js +255 -285
- package/dist/cjs/src/data/models/block.d.ts +56 -56
- package/dist/cjs/src/data/models/block.js +86 -86
- package/dist/cjs/src/data/models/coach.d.ts +40 -40
- package/dist/cjs/src/data/models/coach.js +55 -55
- package/dist/cjs/src/data/models/competition-champion.d.ts +23 -0
- package/dist/cjs/src/data/models/{season-teams.js → competition-champion.js} +38 -44
- package/dist/cjs/src/data/models/competition-match.d.ts +29 -0
- package/dist/cjs/src/data/models/{tournament-match.js → competition-match.js} +46 -46
- package/dist/cjs/src/data/models/competition-teams.d.ts +23 -0
- package/dist/cjs/src/data/models/{tournament-teams.js → competition-teams.js} +42 -44
- package/dist/cjs/src/data/models/competition.d.ts +67 -0
- package/dist/cjs/src/data/models/competition.js +38 -0
- package/dist/cjs/src/data/models/country.d.ts +61 -61
- package/dist/cjs/src/data/models/country.js +34 -40
- package/dist/cjs/src/data/models/draft-pick.d.ts +31 -32
- package/dist/cjs/src/data/models/draft-pick.js +50 -50
- package/dist/cjs/src/data/models/draft.d.ts +29 -30
- package/dist/cjs/src/data/models/draft.js +34 -34
- package/dist/cjs/src/data/models/event.d.ts +31 -31
- package/dist/cjs/src/data/models/event.js +50 -50
- package/dist/cjs/src/data/models/index.d.ts +32 -34
- package/dist/cjs/src/data/models/index.js +48 -50
- package/dist/cjs/src/data/models/iteration.d.ts +26 -37
- package/dist/cjs/src/data/models/iteration.js +30 -36
- package/dist/cjs/src/data/models/league-season.d.ts +23 -0
- package/dist/cjs/src/data/models/{season-match.js → league-season.js} +38 -39
- package/dist/cjs/src/data/models/league.d.ts +43 -47
- package/dist/cjs/src/data/models/league.js +38 -42
- package/dist/cjs/src/data/models/libero-replacement.d.ts +38 -38
- package/dist/cjs/src/data/models/libero-replacement.js +62 -66
- package/dist/cjs/src/data/models/match-rating.d.ts +27 -28
- package/dist/cjs/src/data/models/match-rating.js +52 -50
- package/dist/cjs/src/data/models/match-set-stats.d.ts +58 -58
- package/dist/cjs/src/data/models/match-set-stats.js +127 -129
- package/dist/cjs/src/data/models/match-set.d.ts +83 -75
- package/dist/cjs/src/data/models/match-set.js +51 -71
- package/dist/cjs/src/data/models/match.d.ts +66 -72
- package/dist/cjs/src/data/models/match.js +51 -50
- package/dist/cjs/src/data/models/performance-stats.d.ts +40 -40
- package/dist/cjs/src/data/models/performance-stats.js +85 -88
- package/dist/cjs/src/data/models/player-team.d.ts +29 -29
- package/dist/cjs/src/data/models/player-team.js +52 -48
- package/dist/cjs/src/data/models/player-trait.d.ts +23 -23
- package/dist/cjs/src/data/models/player-trait.js +42 -42
- package/dist/cjs/src/data/models/player.d.ts +267 -289
- package/dist/cjs/src/data/models/player.js +46 -46
- package/dist/cjs/src/data/models/rally.d.ts +122 -157
- package/dist/cjs/src/data/models/rally.js +46 -50
- package/dist/cjs/src/data/models/reception.d.ts +37 -37
- package/dist/cjs/src/data/models/reception.js +62 -62
- package/dist/cjs/src/data/models/serve.d.ts +37 -37
- package/dist/cjs/src/data/models/serve.js +62 -62
- package/dist/cjs/src/data/models/set-position.d.ts +29 -0
- package/dist/cjs/src/data/models/{rally-position.js → set-position.js} +50 -52
- package/dist/cjs/src/data/models/set.d.ts +37 -37
- package/dist/cjs/src/data/models/set.js +62 -62
- package/dist/cjs/src/data/models/spike.d.ts +37 -37
- package/dist/cjs/src/data/models/spike.js +62 -62
- package/dist/cjs/src/data/models/substitution.d.ts +35 -35
- package/dist/cjs/src/data/models/substitution.js +58 -62
- package/dist/cjs/src/data/models/team.d.ts +162 -206
- package/dist/cjs/src/data/models/team.js +63 -65
- package/dist/cjs/src/data/models/trait.d.ts +37 -37
- package/dist/cjs/src/data/models/trait.js +30 -30
- package/dist/cjs/src/data/models/user.d.ts +22 -22
- package/dist/cjs/src/data/models/user.js +57 -57
- package/dist/cjs/src/data/transformers/block.d.ts +7 -7
- package/dist/cjs/src/data/transformers/block.js +102 -102
- package/dist/cjs/src/data/transformers/coach.d.ts +7 -7
- package/dist/cjs/src/data/transformers/coach.js +40 -40
- package/dist/cjs/src/data/transformers/country.d.ts +5 -5
- package/dist/cjs/src/data/transformers/country.js +20 -20
- package/dist/cjs/src/data/transformers/court-position.d.ts +5 -5
- package/dist/cjs/src/data/transformers/court-position.js +31 -31
- package/dist/cjs/src/data/transformers/court-target.d.ts +5 -5
- package/dist/cjs/src/data/transformers/court-target.js +41 -41
- package/dist/cjs/src/data/transformers/draft-pick.d.ts +5 -5
- package/dist/cjs/src/data/transformers/draft-pick.js +22 -22
- package/dist/cjs/src/data/transformers/draft.d.ts +5 -5
- package/dist/cjs/src/data/transformers/draft.js +25 -25
- package/dist/cjs/src/data/transformers/event-type.d.ts +5 -5
- package/dist/cjs/src/data/transformers/event-type.js +29 -31
- package/dist/cjs/src/data/transformers/formation.d.ts +5 -5
- package/dist/cjs/src/data/transformers/formation.js +12 -12
- package/dist/cjs/src/data/transformers/index.d.ts +34 -35
- package/dist/cjs/src/data/transformers/index.js +50 -51
- package/dist/cjs/src/data/transformers/iteration.d.ts +5 -5
- package/dist/cjs/src/data/transformers/iteration.js +18 -18
- package/dist/cjs/src/data/transformers/league.d.ts +7 -7
- package/dist/cjs/src/data/transformers/league.js +31 -30
- package/dist/cjs/src/data/transformers/libero-replacement.d.ts +7 -7
- package/dist/cjs/src/data/transformers/libero-replacement.js +52 -52
- package/dist/cjs/src/data/transformers/match-rating.d.ts +4 -4
- package/dist/cjs/src/data/transformers/match-rating.js +16 -16
- package/dist/cjs/src/data/transformers/match-set-stats.d.ts +7 -7
- package/dist/cjs/src/data/transformers/match-set-stats.js +95 -95
- package/dist/cjs/src/data/transformers/match-set.d.ts +7 -7
- package/dist/cjs/src/data/transformers/match-set.js +59 -50
- package/dist/cjs/src/data/transformers/match.d.ts +7 -7
- package/dist/cjs/src/data/transformers/match.js +44 -44
- package/dist/cjs/src/data/transformers/performance-stats.d.ts +5 -5
- package/dist/cjs/src/data/transformers/performance-stats.js +37 -37
- package/dist/cjs/src/data/transformers/player-team.d.ts +3 -3
- package/dist/cjs/src/data/transformers/player-team.js +12 -12
- package/dist/cjs/src/data/transformers/player.d.ts +7 -7
- package/dist/cjs/src/data/transformers/player.js +91 -91
- package/dist/cjs/src/data/transformers/rally.d.ts +7 -7
- package/dist/cjs/src/data/transformers/rally.js +68 -100
- package/dist/cjs/src/data/transformers/reception.d.ts +7 -7
- package/dist/cjs/src/data/transformers/reception.js +81 -81
- package/dist/cjs/src/data/transformers/role.d.ts +7 -7
- package/dist/cjs/src/data/transformers/role.js +32 -32
- package/dist/cjs/src/data/transformers/season-match.d.ts +4 -4
- package/dist/cjs/src/data/transformers/season-match.js +16 -12
- package/dist/cjs/src/data/transformers/season.d.ts +7 -7
- package/dist/cjs/src/data/transformers/season.js +54 -47
- package/dist/cjs/src/data/transformers/serve.d.ts +7 -7
- package/dist/cjs/src/data/transformers/serve.js +83 -83
- package/dist/cjs/src/data/transformers/{rally-position.d.ts → set-position.d.ts} +5 -5
- package/dist/cjs/src/data/transformers/{rally-position.js → set-position.js} +20 -20
- package/dist/cjs/src/data/transformers/set.d.ts +7 -7
- package/dist/cjs/src/data/transformers/set.js +81 -81
- package/dist/cjs/src/data/transformers/spike.d.ts +7 -7
- package/dist/cjs/src/data/transformers/spike.js +85 -85
- package/dist/cjs/src/data/transformers/stage.d.ts +5 -5
- package/dist/cjs/src/data/transformers/stage.js +25 -23
- package/dist/cjs/src/data/transformers/substitution.d.ts +7 -7
- package/dist/cjs/src/data/transformers/substitution.js +36 -36
- package/dist/cjs/src/data/transformers/team.d.ts +7 -7
- package/dist/cjs/src/data/transformers/team.js +42 -42
- package/dist/cjs/src/data/transformers/tournament-match.d.ts +7 -7
- package/dist/cjs/src/data/transformers/tournament-match.js +31 -31
- package/dist/cjs/src/data/transformers/tournament.d.ts +7 -7
- package/dist/cjs/src/data/transformers/tournament.js +45 -41
- package/dist/cjs/src/data/transformers/trait.d.ts +7 -7
- package/dist/cjs/src/data/transformers/trait.js +37 -37
- package/dist/cjs/src/index.d.ts +3 -3
- package/dist/cjs/src/index.js +19 -19
- package/dist/cjs/src/service/coach/coach.d.ts +19 -19
- package/dist/cjs/src/service/coach/coach.js +15 -15
- package/dist/cjs/src/service/coach/formation.d.ts +31 -31
- package/dist/cjs/src/service/coach/formation.js +126 -126
- package/dist/cjs/src/service/coach/index.d.ts +2 -2
- package/dist/cjs/src/service/coach/index.js +18 -18
- package/dist/cjs/src/service/competition/index.d.ts +7 -7
- package/dist/cjs/src/service/competition/index.js +23 -23
- package/dist/cjs/src/service/competition/iteration.d.ts +10 -10
- package/dist/cjs/src/service/competition/iteration.js +12 -12
- package/dist/cjs/src/service/competition/league.d.ts +16 -16
- package/dist/cjs/src/service/competition/league.js +12 -12
- package/dist/cjs/src/service/competition/season.d.ts +23 -23
- package/dist/cjs/src/service/competition/season.js +31 -31
- package/dist/cjs/src/service/competition/stage.d.ts +11 -10
- package/dist/cjs/src/service/competition/stage.js +27 -26
- package/dist/cjs/src/service/competition/standing.d.ts +28 -28
- package/dist/cjs/src/service/competition/standing.js +80 -80
- package/dist/cjs/src/service/competition/tournament-match.d.ts +14 -14
- package/dist/cjs/src/service/competition/tournament-match.js +13 -13
- package/dist/cjs/src/service/competition/tournament.d.ts +20 -20
- package/dist/cjs/src/service/competition/tournament.js +22 -22
- package/dist/cjs/src/service/country/country.d.ts +16 -16
- package/dist/cjs/src/service/country/country.js +13 -13
- package/dist/cjs/src/service/country/index.d.ts +1 -1
- package/dist/cjs/src/service/country/index.js +17 -17
- package/dist/cjs/src/service/draft/draft-pick.d.ts +14 -14
- package/dist/cjs/src/service/draft/draft-pick.js +11 -11
- package/dist/cjs/src/service/draft/draft.d.ts +15 -15
- package/dist/cjs/src/service/draft/draft.js +12 -12
- package/dist/cjs/src/service/draft/index.d.ts +2 -2
- package/dist/cjs/src/service/draft/index.js +18 -18
- package/dist/cjs/src/service/event/block.d.ts +29 -29
- package/dist/cjs/src/service/event/block.js +65 -65
- package/dist/cjs/src/service/event/in-play-event.d.ts +19 -19
- package/dist/cjs/src/service/event/in-play-event.js +27 -27
- package/dist/cjs/src/service/event/index.d.ts +9 -10
- package/dist/cjs/src/service/event/index.js +25 -26
- package/dist/cjs/src/service/event/libero-replacement.d.ts +17 -17
- package/dist/cjs/src/service/event/libero-replacement.js +17 -17
- package/dist/cjs/src/service/event/rally-event.d.ts +23 -24
- package/dist/cjs/src/service/event/rally-event.js +22 -23
- package/dist/cjs/src/service/event/reception.d.ts +26 -26
- package/dist/cjs/src/service/event/reception.js +40 -40
- package/dist/cjs/src/service/event/serve.d.ts +27 -27
- package/dist/cjs/src/service/event/serve.js +41 -41
- package/dist/cjs/src/service/event/set.d.ts +26 -26
- package/dist/cjs/src/service/event/set.js +45 -45
- package/dist/cjs/src/service/event/spike.d.ts +28 -28
- package/dist/cjs/src/service/event/spike.js +50 -50
- package/dist/cjs/src/service/event/substitution.d.ts +10 -10
- package/dist/cjs/src/service/event/substitution.js +11 -11
- package/dist/cjs/src/service/index.d.ts +9 -9
- package/dist/cjs/src/service/index.js +25 -25
- package/dist/cjs/src/service/match/court-position.d.ts +21 -21
- package/dist/cjs/src/service/match/court-position.js +56 -56
- package/dist/cjs/src/service/match/court-target-enum.d.ts +21 -21
- package/dist/cjs/src/service/match/court-target-enum.js +42 -42
- package/dist/cjs/src/service/match/index.d.ts +7 -7
- package/dist/cjs/src/service/match/index.js +23 -23
- package/dist/cjs/src/service/match/match-rating.d.ts +12 -12
- package/dist/cjs/src/service/match/match-rating.js +29 -29
- package/dist/cjs/src/service/match/match-set.d.ts +61 -61
- package/dist/cjs/src/service/match/match-set.js +60 -60
- package/dist/cjs/src/service/match/match-team.d.ts +7 -7
- package/dist/cjs/src/service/match/match-team.js +20 -20
- package/dist/cjs/src/service/match/match.d.ts +26 -26
- package/dist/cjs/src/service/match/match.js +43 -43
- package/dist/cjs/src/service/match/rally.d.ts +22 -27
- package/dist/cjs/src/service/match/rally.js +17 -23
- package/dist/cjs/src/service/player/index.d.ts +5 -5
- package/dist/cjs/src/service/player/index.js +21 -21
- package/dist/cjs/src/service/player/performance-stats.d.ts +29 -29
- package/dist/cjs/src/service/player/performance-stats.js +23 -23
- package/dist/cjs/src/service/player/player.d.ts +35 -35
- package/dist/cjs/src/service/player/player.js +59 -59
- package/dist/cjs/src/service/player/role.d.ts +15 -15
- package/dist/cjs/src/service/player/role.js +46 -46
- package/dist/cjs/src/service/player/stats.d.ts +11 -11
- package/dist/cjs/src/service/player/stats.js +31 -31
- package/dist/cjs/src/service/player/trait.d.ts +20 -20
- package/dist/cjs/src/service/player/trait.js +102 -102
- package/dist/cjs/src/service/team/index.d.ts +1 -1
- package/dist/cjs/src/service/team/index.js +17 -17
- package/dist/cjs/src/service/team/team.d.ts +31 -31
- package/dist/cjs/src/service/team/team.js +36 -36
- package/dist/cjs/src/service/utils/index.d.ts +2 -2
- package/dist/cjs/src/service/utils/index.js +18 -18
- package/dist/cjs/src/service/utils/object-utils.d.ts +1 -1
- package/dist/cjs/src/service/utils/object-utils.js +4 -4
- package/dist/cjs/src/service/utils/string-utils.d.ts +2 -2
- package/dist/cjs/src/service/utils/string-utils.js +16 -16
- package/dist/esm/data/event.formula.json +124 -124
- package/dist/esm/data/role.formula.json +98 -98
- package/dist/esm/data/stat.formula.json +66 -66
- package/dist/esm/src/api/coach.d.ts +6 -6
- package/dist/esm/src/api/coach.js +1 -1
- package/dist/esm/src/api/events.d.ts +41 -41
- package/dist/esm/src/api/events.js +1 -1
- package/dist/esm/src/api/index.d.ts +7 -7
- package/dist/esm/src/api/index.js +7 -7
- package/dist/esm/src/api/league.d.ts +16 -16
- package/dist/esm/src/api/league.js +1 -1
- package/dist/esm/src/api/match.d.ts +45 -47
- package/dist/esm/src/api/match.js +1 -1
- package/dist/esm/src/api/player.d.ts +30 -30
- package/dist/esm/src/api/player.js +19 -19
- package/dist/esm/src/api/team.d.ts +11 -11
- package/dist/esm/src/api/team.js +1 -1
- package/dist/esm/src/api/tournament.d.ts +14 -14
- package/dist/esm/src/api/tournament.js +1 -1
- package/dist/esm/src/data/index.d.ts +3 -3
- package/dist/esm/src/data/index.js +3 -3
- package/dist/esm/src/data/init-models.d.ts +36 -36
- package/dist/esm/src/data/init-models.js +251 -281
- package/dist/esm/src/data/models/block.d.ts +56 -56
- package/dist/esm/src/data/models/block.js +82 -82
- package/dist/esm/src/data/models/coach.d.ts +40 -40
- package/dist/esm/src/data/models/coach.js +51 -51
- package/dist/esm/src/data/models/competition-champion.d.ts +23 -0
- package/dist/esm/src/data/models/{season-teams.js → competition-champion.js} +34 -40
- package/dist/esm/src/data/models/competition-match.d.ts +29 -0
- package/dist/esm/src/data/models/{tournament-match.js → competition-match.js} +42 -42
- package/dist/esm/src/data/models/competition-teams.d.ts +23 -0
- package/dist/esm/src/data/models/{tournament-teams.js → competition-teams.js} +38 -40
- package/dist/esm/src/data/models/competition.d.ts +67 -0
- package/dist/esm/src/data/models/competition.js +34 -0
- package/dist/esm/src/data/models/country.d.ts +61 -61
- package/dist/esm/src/data/models/country.js +30 -36
- package/dist/esm/src/data/models/draft-pick.d.ts +31 -32
- package/dist/esm/src/data/models/draft-pick.js +46 -46
- package/dist/esm/src/data/models/draft.d.ts +29 -30
- package/dist/esm/src/data/models/draft.js +30 -30
- package/dist/esm/src/data/models/event.d.ts +31 -31
- package/dist/esm/src/data/models/event.js +46 -46
- package/dist/esm/src/data/models/index.d.ts +32 -34
- package/dist/esm/src/data/models/index.js +32 -34
- package/dist/esm/src/data/models/iteration.d.ts +26 -37
- package/dist/esm/src/data/models/iteration.js +26 -32
- package/dist/esm/src/data/models/league-season.d.ts +23 -0
- package/dist/esm/src/data/models/{season-match.js → league-season.js} +34 -35
- package/dist/esm/src/data/models/league.d.ts +43 -47
- package/dist/esm/src/data/models/league.js +34 -38
- package/dist/esm/src/data/models/libero-replacement.d.ts +38 -38
- package/dist/esm/src/data/models/libero-replacement.js +58 -62
- package/dist/esm/src/data/models/match-rating.d.ts +27 -28
- package/dist/esm/src/data/models/match-rating.js +48 -46
- package/dist/esm/src/data/models/match-set-stats.d.ts +58 -58
- package/dist/esm/src/data/models/match-set-stats.js +123 -125
- package/dist/esm/src/data/models/match-set.d.ts +83 -75
- package/dist/esm/src/data/models/match-set.js +47 -67
- package/dist/esm/src/data/models/match.d.ts +66 -72
- package/dist/esm/src/data/models/match.js +47 -46
- package/dist/esm/src/data/models/performance-stats.d.ts +40 -40
- package/dist/esm/src/data/models/performance-stats.js +81 -84
- package/dist/esm/src/data/models/player-team.d.ts +29 -29
- package/dist/esm/src/data/models/player-team.js +48 -44
- package/dist/esm/src/data/models/player-trait.d.ts +23 -23
- package/dist/esm/src/data/models/player-trait.js +38 -38
- package/dist/esm/src/data/models/player.d.ts +267 -289
- package/dist/esm/src/data/models/player.js +42 -42
- package/dist/esm/src/data/models/rally.d.ts +122 -157
- package/dist/esm/src/data/models/rally.js +42 -46
- package/dist/esm/src/data/models/reception.d.ts +37 -37
- package/dist/esm/src/data/models/reception.js +58 -58
- package/dist/esm/src/data/models/serve.d.ts +37 -37
- package/dist/esm/src/data/models/serve.js +58 -58
- package/dist/esm/src/data/models/set-position.d.ts +29 -0
- package/dist/esm/src/data/models/{rally-position.js → set-position.js} +46 -48
- package/dist/esm/src/data/models/set.d.ts +37 -37
- package/dist/esm/src/data/models/set.js +58 -58
- package/dist/esm/src/data/models/spike.d.ts +37 -37
- package/dist/esm/src/data/models/spike.js +58 -58
- package/dist/esm/src/data/models/substitution.d.ts +35 -35
- package/dist/esm/src/data/models/substitution.js +54 -58
- package/dist/esm/src/data/models/team.d.ts +162 -206
- package/dist/esm/src/data/models/team.js +59 -61
- package/dist/esm/src/data/models/trait.d.ts +37 -37
- package/dist/esm/src/data/models/trait.js +26 -26
- package/dist/esm/src/data/models/user.d.ts +22 -22
- package/dist/esm/src/data/models/user.js +53 -53
- package/dist/esm/src/data/transformers/block.d.ts +7 -7
- package/dist/esm/src/data/transformers/block.js +97 -97
- package/dist/esm/src/data/transformers/coach.d.ts +7 -7
- package/dist/esm/src/data/transformers/coach.js +35 -35
- package/dist/esm/src/data/transformers/country.d.ts +5 -5
- package/dist/esm/src/data/transformers/country.js +16 -16
- package/dist/esm/src/data/transformers/court-position.d.ts +5 -5
- package/dist/esm/src/data/transformers/court-position.js +27 -27
- package/dist/esm/src/data/transformers/court-target.d.ts +5 -5
- package/dist/esm/src/data/transformers/court-target.js +37 -37
- package/dist/esm/src/data/transformers/draft-pick.d.ts +5 -5
- package/dist/esm/src/data/transformers/draft-pick.js +18 -18
- package/dist/esm/src/data/transformers/draft.d.ts +5 -5
- package/dist/esm/src/data/transformers/draft.js +21 -21
- package/dist/esm/src/data/transformers/event-type.d.ts +5 -5
- package/dist/esm/src/data/transformers/event-type.js +25 -27
- package/dist/esm/src/data/transformers/formation.d.ts +5 -5
- package/dist/esm/src/data/transformers/formation.js +8 -8
- package/dist/esm/src/data/transformers/index.d.ts +34 -35
- package/dist/esm/src/data/transformers/index.js +34 -35
- package/dist/esm/src/data/transformers/iteration.d.ts +5 -5
- package/dist/esm/src/data/transformers/iteration.js +14 -14
- package/dist/esm/src/data/transformers/league.d.ts +7 -7
- package/dist/esm/src/data/transformers/league.js +26 -25
- package/dist/esm/src/data/transformers/libero-replacement.d.ts +7 -7
- package/dist/esm/src/data/transformers/libero-replacement.js +47 -47
- package/dist/esm/src/data/transformers/match-rating.d.ts +4 -4
- package/dist/esm/src/data/transformers/match-rating.js +13 -13
- package/dist/esm/src/data/transformers/match-set-stats.d.ts +7 -7
- package/dist/esm/src/data/transformers/match-set-stats.js +90 -90
- package/dist/esm/src/data/transformers/match-set.d.ts +7 -7
- package/dist/esm/src/data/transformers/match-set.js +54 -45
- package/dist/esm/src/data/transformers/match.d.ts +7 -7
- package/dist/esm/src/data/transformers/match.js +39 -39
- package/dist/esm/src/data/transformers/performance-stats.d.ts +5 -5
- package/dist/esm/src/data/transformers/performance-stats.js +33 -33
- package/dist/esm/src/data/transformers/player-team.d.ts +3 -3
- package/dist/esm/src/data/transformers/player-team.js +9 -9
- package/dist/esm/src/data/transformers/player.d.ts +7 -7
- package/dist/esm/src/data/transformers/player.js +86 -86
- package/dist/esm/src/data/transformers/rally.d.ts +7 -7
- package/dist/esm/src/data/transformers/rally.js +63 -95
- package/dist/esm/src/data/transformers/reception.d.ts +7 -7
- package/dist/esm/src/data/transformers/reception.js +76 -76
- package/dist/esm/src/data/transformers/role.d.ts +7 -7
- package/dist/esm/src/data/transformers/role.js +27 -27
- package/dist/esm/src/data/transformers/season-match.d.ts +4 -4
- package/dist/esm/src/data/transformers/season-match.js +13 -9
- package/dist/esm/src/data/transformers/season.d.ts +7 -7
- package/dist/esm/src/data/transformers/season.js +49 -42
- package/dist/esm/src/data/transformers/serve.d.ts +7 -7
- package/dist/esm/src/data/transformers/serve.js +78 -78
- package/dist/esm/src/data/transformers/{rally-position.d.ts → set-position.d.ts} +5 -5
- package/dist/esm/src/data/transformers/{rally-position.js → set-position.js} +16 -16
- package/dist/esm/src/data/transformers/set.d.ts +7 -7
- package/dist/esm/src/data/transformers/set.js +76 -76
- package/dist/esm/src/data/transformers/spike.d.ts +7 -7
- package/dist/esm/src/data/transformers/spike.js +80 -80
- package/dist/esm/src/data/transformers/stage.d.ts +5 -5
- package/dist/esm/src/data/transformers/stage.js +21 -19
- package/dist/esm/src/data/transformers/substitution.d.ts +7 -7
- package/dist/esm/src/data/transformers/substitution.js +31 -31
- package/dist/esm/src/data/transformers/team.d.ts +7 -7
- package/dist/esm/src/data/transformers/team.js +37 -37
- package/dist/esm/src/data/transformers/tournament-match.d.ts +7 -7
- package/dist/esm/src/data/transformers/tournament-match.js +26 -26
- package/dist/esm/src/data/transformers/tournament.d.ts +7 -7
- package/dist/esm/src/data/transformers/tournament.js +40 -36
- package/dist/esm/src/data/transformers/trait.d.ts +7 -7
- package/dist/esm/src/data/transformers/trait.js +32 -32
- package/dist/esm/src/index.d.ts +3 -3
- package/dist/esm/src/index.js +3 -3
- package/dist/esm/src/service/coach/coach.d.ts +19 -19
- package/dist/esm/src/service/coach/coach.js +11 -11
- package/dist/esm/src/service/coach/formation.d.ts +31 -31
- package/dist/esm/src/service/coach/formation.js +122 -122
- package/dist/esm/src/service/coach/index.d.ts +2 -2
- package/dist/esm/src/service/coach/index.js +2 -2
- package/dist/esm/src/service/competition/index.d.ts +7 -7
- package/dist/esm/src/service/competition/index.js +7 -7
- package/dist/esm/src/service/competition/iteration.d.ts +10 -10
- package/dist/esm/src/service/competition/iteration.js +8 -8
- package/dist/esm/src/service/competition/league.d.ts +16 -16
- package/dist/esm/src/service/competition/league.js +8 -8
- package/dist/esm/src/service/competition/season.d.ts +23 -23
- package/dist/esm/src/service/competition/season.js +27 -27
- package/dist/esm/src/service/competition/stage.d.ts +11 -10
- package/dist/esm/src/service/competition/stage.js +24 -23
- package/dist/esm/src/service/competition/standing.d.ts +28 -28
- package/dist/esm/src/service/competition/standing.js +76 -76
- package/dist/esm/src/service/competition/tournament-match.d.ts +14 -14
- package/dist/esm/src/service/competition/tournament-match.js +9 -9
- package/dist/esm/src/service/competition/tournament.d.ts +20 -20
- package/dist/esm/src/service/competition/tournament.js +18 -18
- package/dist/esm/src/service/country/country.d.ts +16 -16
- package/dist/esm/src/service/country/country.js +9 -9
- package/dist/esm/src/service/country/index.d.ts +1 -1
- package/dist/esm/src/service/country/index.js +1 -1
- package/dist/esm/src/service/draft/draft-pick.d.ts +14 -14
- package/dist/esm/src/service/draft/draft-pick.js +7 -7
- package/dist/esm/src/service/draft/draft.d.ts +15 -15
- package/dist/esm/src/service/draft/draft.js +8 -8
- package/dist/esm/src/service/draft/index.d.ts +2 -2
- package/dist/esm/src/service/draft/index.js +2 -2
- package/dist/esm/src/service/event/block.d.ts +29 -29
- package/dist/esm/src/service/event/block.js +61 -61
- package/dist/esm/src/service/event/in-play-event.d.ts +19 -19
- package/dist/esm/src/service/event/in-play-event.js +20 -20
- package/dist/esm/src/service/event/index.d.ts +9 -10
- package/dist/esm/src/service/event/index.js +9 -10
- package/dist/esm/src/service/event/libero-replacement.d.ts +17 -17
- package/dist/esm/src/service/event/libero-replacement.js +13 -13
- package/dist/esm/src/service/event/rally-event.d.ts +23 -24
- package/dist/esm/src/service/event/rally-event.js +18 -19
- package/dist/esm/src/service/event/reception.d.ts +26 -26
- package/dist/esm/src/service/event/reception.js +36 -36
- package/dist/esm/src/service/event/serve.d.ts +27 -27
- package/dist/esm/src/service/event/serve.js +37 -37
- package/dist/esm/src/service/event/set.d.ts +26 -26
- package/dist/esm/src/service/event/set.js +41 -41
- package/dist/esm/src/service/event/spike.d.ts +28 -28
- package/dist/esm/src/service/event/spike.js +46 -46
- package/dist/esm/src/service/event/substitution.d.ts +10 -10
- package/dist/esm/src/service/event/substitution.js +7 -7
- package/dist/esm/src/service/index.d.ts +9 -9
- package/dist/esm/src/service/index.js +9 -9
- package/dist/esm/src/service/match/court-position.d.ts +21 -21
- package/dist/esm/src/service/match/court-position.js +53 -53
- package/dist/esm/src/service/match/court-target-enum.d.ts +21 -21
- package/dist/esm/src/service/match/court-target-enum.js +39 -39
- package/dist/esm/src/service/match/index.d.ts +7 -7
- package/dist/esm/src/service/match/index.js +7 -7
- package/dist/esm/src/service/match/match-rating.d.ts +12 -12
- package/dist/esm/src/service/match/match-rating.js +25 -25
- package/dist/esm/src/service/match/match-set.d.ts +61 -61
- package/dist/esm/src/service/match/match-set.js +56 -56
- package/dist/esm/src/service/match/match-team.d.ts +7 -7
- package/dist/esm/src/service/match/match-team.js +17 -17
- package/dist/esm/src/service/match/match.d.ts +26 -26
- package/dist/esm/src/service/match/match.js +39 -39
- package/dist/esm/src/service/match/rally.d.ts +22 -27
- package/dist/esm/src/service/match/rally.js +13 -19
- package/dist/esm/src/service/player/index.d.ts +5 -5
- package/dist/esm/src/service/player/index.js +5 -5
- package/dist/esm/src/service/player/performance-stats.d.ts +29 -29
- package/dist/esm/src/service/player/performance-stats.js +19 -19
- package/dist/esm/src/service/player/player.d.ts +35 -35
- package/dist/esm/src/service/player/player.js +55 -55
- package/dist/esm/src/service/player/role.d.ts +15 -15
- package/dist/esm/src/service/player/role.js +39 -39
- package/dist/esm/src/service/player/stats.d.ts +11 -11
- package/dist/esm/src/service/player/stats.js +25 -25
- package/dist/esm/src/service/player/trait.d.ts +20 -20
- package/dist/esm/src/service/player/trait.js +98 -98
- package/dist/esm/src/service/team/index.d.ts +1 -1
- package/dist/esm/src/service/team/index.js +1 -1
- package/dist/esm/src/service/team/team.d.ts +31 -31
- package/dist/esm/src/service/team/team.js +32 -32
- package/dist/esm/src/service/utils/index.d.ts +2 -2
- package/dist/esm/src/service/utils/index.js +2 -2
- package/dist/esm/src/service/utils/object-utils.d.ts +1 -1
- package/dist/esm/src/service/utils/object-utils.js +1 -1
- package/dist/esm/src/service/utils/string-utils.d.ts +2 -2
- package/dist/esm/src/service/utils/string-utils.js +11 -11
- package/package.json +43 -43
- package/dist/cjs/src/data/models/rally-position.d.ts +0 -29
- package/dist/cjs/src/data/models/score.d.ts +0 -35
- package/dist/cjs/src/data/models/score.js +0 -62
- package/dist/cjs/src/data/models/season-match.d.ts +0 -25
- package/dist/cjs/src/data/models/season-teams.d.ts +0 -23
- package/dist/cjs/src/data/models/season.d.ts +0 -68
- package/dist/cjs/src/data/models/season.js +0 -57
- package/dist/cjs/src/data/models/tournament-match.d.ts +0 -29
- package/dist/cjs/src/data/models/tournament-teams.d.ts +0 -23
- package/dist/cjs/src/data/models/tournament.d.ts +0 -63
- package/dist/cjs/src/data/models/tournament.js +0 -49
- package/dist/cjs/src/data/transformers/score.d.ts +0 -7
- package/dist/cjs/src/data/transformers/score.js +0 -36
- package/dist/cjs/src/service/coach/__stubs__/index.d.ts +0 -3
- package/dist/cjs/src/service/coach/__stubs__/index.js +0 -46
- package/dist/cjs/src/service/coach/coach.test.d.ts +0 -1
- package/dist/cjs/src/service/coach/coach.test.js +0 -11
- package/dist/cjs/src/service/coach/formation.test.d.ts +0 -1
- package/dist/cjs/src/service/coach/formation.test.js +0 -10
- package/dist/cjs/src/service/country/__stubs__/index.d.ts +0 -3
- package/dist/cjs/src/service/country/__stubs__/index.js +0 -15
- package/dist/cjs/src/service/country/country.test.d.ts +0 -1
- package/dist/cjs/src/service/country/country.test.js +0 -11
- package/dist/cjs/src/service/event/__stubs__/index.d.ts +0 -4
- package/dist/cjs/src/service/event/__stubs__/index.js +0 -28
- package/dist/cjs/src/service/event/block.test.d.ts +0 -1
- package/dist/cjs/src/service/event/block.test.js +0 -103
- package/dist/cjs/src/service/event/libero-replacement.test.d.ts +0 -1
- package/dist/cjs/src/service/event/libero-replacement.test.js +0 -36
- package/dist/cjs/src/service/event/reception.test.d.ts +0 -1
- package/dist/cjs/src/service/event/reception.test.js +0 -51
- package/dist/cjs/src/service/event/score.d.ts +0 -13
- package/dist/cjs/src/service/event/score.js +0 -14
- package/dist/cjs/src/service/event/score.test.d.ts +0 -1
- package/dist/cjs/src/service/event/score.test.js +0 -28
- package/dist/cjs/src/service/event/serve.test.d.ts +0 -1
- package/dist/cjs/src/service/event/serve.test.js +0 -51
- package/dist/cjs/src/service/event/set.test.d.ts +0 -1
- package/dist/cjs/src/service/event/set.test.js +0 -51
- package/dist/cjs/src/service/event/spike.test.d.ts +0 -1
- package/dist/cjs/src/service/event/spike.test.js +0 -66
- package/dist/cjs/src/service/match/__stubs__/index.d.ts +0 -11
- package/dist/cjs/src/service/match/__stubs__/index.js +0 -119
- package/dist/cjs/src/service/match/court-position.test.d.ts +0 -1
- package/dist/cjs/src/service/match/court-position.test.js +0 -69
- package/dist/cjs/src/service/match/court-target.test.d.ts +0 -1
- package/dist/cjs/src/service/match/court-target.test.js +0 -37
- package/dist/cjs/src/service/match/match-set.test.d.ts +0 -1
- package/dist/cjs/src/service/match/match-set.test.js +0 -102
- package/dist/cjs/src/service/match/match-team.test.d.ts +0 -1
- package/dist/cjs/src/service/match/match-team.test.js +0 -16
- package/dist/cjs/src/service/match/match.test.d.ts +0 -1
- package/dist/cjs/src/service/match/match.test.js +0 -73
- package/dist/cjs/src/service/match/rally.test.d.ts +0 -1
- package/dist/cjs/src/service/match/rally.test.js +0 -41
- package/dist/cjs/src/service/player/__stubs__/index.d.ts +0 -28
- package/dist/cjs/src/service/player/__stubs__/index.js +0 -1372
- package/dist/cjs/src/service/player/performance-stats.test.d.ts +0 -1
- package/dist/cjs/src/service/player/performance-stats.test.js +0 -23
- package/dist/cjs/src/service/player/player.test.d.ts +0 -1
- package/dist/cjs/src/service/player/player.test.js +0 -49
- package/dist/cjs/src/service/player/role.test.d.ts +0 -1
- package/dist/cjs/src/service/player/role.test.js +0 -30
- package/dist/cjs/src/service/player/stats.test.d.ts +0 -1
- package/dist/cjs/src/service/player/stats.test.js +0 -24
- package/dist/cjs/src/service/player/trait.test.d.ts +0 -1
- package/dist/cjs/src/service/player/trait.test.js +0 -11
- package/dist/cjs/src/service/team/__stubs__/index.d.ts +0 -6
- package/dist/cjs/src/service/team/__stubs__/index.js +0 -278
- package/dist/cjs/src/service/team/team.test.d.ts +0 -1
- package/dist/cjs/src/service/team/team.test.js +0 -28
- package/dist/cjs/src/service/utils/string-utils.test.d.ts +0 -1
- package/dist/cjs/src/service/utils/string-utils.test.js +0 -27
- package/dist/esm/src/data/models/rally-position.d.ts +0 -29
- package/dist/esm/src/data/models/score.d.ts +0 -35
- package/dist/esm/src/data/models/score.js +0 -58
- package/dist/esm/src/data/models/season-match.d.ts +0 -25
- package/dist/esm/src/data/models/season-teams.d.ts +0 -23
- package/dist/esm/src/data/models/season.d.ts +0 -68
- package/dist/esm/src/data/models/season.js +0 -53
- package/dist/esm/src/data/models/tournament-match.d.ts +0 -29
- package/dist/esm/src/data/models/tournament-teams.d.ts +0 -23
- package/dist/esm/src/data/models/tournament.d.ts +0 -63
- package/dist/esm/src/data/models/tournament.js +0 -45
- package/dist/esm/src/data/transformers/score.d.ts +0 -7
- package/dist/esm/src/data/transformers/score.js +0 -31
- package/dist/esm/src/service/coach/__stubs__/index.d.ts +0 -3
- package/dist/esm/src/service/coach/__stubs__/index.js +0 -43
- package/dist/esm/src/service/coach/coach.test.d.ts +0 -1
- package/dist/esm/src/service/coach/coach.test.js +0 -9
- package/dist/esm/src/service/coach/formation.test.d.ts +0 -1
- package/dist/esm/src/service/coach/formation.test.js +0 -8
- package/dist/esm/src/service/country/__stubs__/index.d.ts +0 -3
- package/dist/esm/src/service/country/__stubs__/index.js +0 -12
- package/dist/esm/src/service/country/country.test.d.ts +0 -1
- package/dist/esm/src/service/country/country.test.js +0 -9
- package/dist/esm/src/service/event/__stubs__/index.d.ts +0 -4
- package/dist/esm/src/service/event/__stubs__/index.js +0 -25
- package/dist/esm/src/service/event/block.test.d.ts +0 -1
- package/dist/esm/src/service/event/block.test.js +0 -101
- package/dist/esm/src/service/event/libero-replacement.test.d.ts +0 -1
- package/dist/esm/src/service/event/libero-replacement.test.js +0 -34
- package/dist/esm/src/service/event/reception.test.d.ts +0 -1
- package/dist/esm/src/service/event/reception.test.js +0 -49
- package/dist/esm/src/service/event/score.d.ts +0 -13
- package/dist/esm/src/service/event/score.js +0 -10
- package/dist/esm/src/service/event/score.test.d.ts +0 -1
- package/dist/esm/src/service/event/score.test.js +0 -26
- package/dist/esm/src/service/event/serve.test.d.ts +0 -1
- package/dist/esm/src/service/event/serve.test.js +0 -49
- package/dist/esm/src/service/event/set.test.d.ts +0 -1
- package/dist/esm/src/service/event/set.test.js +0 -49
- package/dist/esm/src/service/event/spike.test.d.ts +0 -1
- package/dist/esm/src/service/event/spike.test.js +0 -64
- package/dist/esm/src/service/match/__stubs__/index.d.ts +0 -11
- package/dist/esm/src/service/match/__stubs__/index.js +0 -116
- package/dist/esm/src/service/match/court-position.test.d.ts +0 -1
- package/dist/esm/src/service/match/court-position.test.js +0 -67
- package/dist/esm/src/service/match/court-target.test.d.ts +0 -1
- package/dist/esm/src/service/match/court-target.test.js +0 -35
- package/dist/esm/src/service/match/match-set.test.d.ts +0 -1
- package/dist/esm/src/service/match/match-set.test.js +0 -100
- package/dist/esm/src/service/match/match-team.test.d.ts +0 -1
- package/dist/esm/src/service/match/match-team.test.js +0 -14
- package/dist/esm/src/service/match/match.test.d.ts +0 -1
- package/dist/esm/src/service/match/match.test.js +0 -71
- package/dist/esm/src/service/match/rally.test.d.ts +0 -1
- package/dist/esm/src/service/match/rally.test.js +0 -39
- package/dist/esm/src/service/player/__stubs__/index.d.ts +0 -28
- package/dist/esm/src/service/player/__stubs__/index.js +0 -1369
- package/dist/esm/src/service/player/performance-stats.test.d.ts +0 -1
- package/dist/esm/src/service/player/performance-stats.test.js +0 -21
- package/dist/esm/src/service/player/player.test.d.ts +0 -1
- package/dist/esm/src/service/player/player.test.js +0 -47
- package/dist/esm/src/service/player/role.test.d.ts +0 -1
- package/dist/esm/src/service/player/role.test.js +0 -28
- package/dist/esm/src/service/player/stats.test.d.ts +0 -1
- package/dist/esm/src/service/player/stats.test.js +0 -22
- package/dist/esm/src/service/player/trait.test.d.ts +0 -1
- package/dist/esm/src/service/player/trait.test.js +0 -9
- package/dist/esm/src/service/team/__stubs__/index.d.ts +0 -6
- package/dist/esm/src/service/team/__stubs__/index.js +0 -275
- package/dist/esm/src/service/team/team.test.d.ts +0 -1
- package/dist/esm/src/service/team/team.test.js +0 -26
- package/dist/esm/src/service/utils/string-utils.test.d.ts +0 -1
- package/dist/esm/src/service/utils/string-utils.test.js +0 -25
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
export var CourtTargetEnum;
|
|
2
|
-
(function (CourtTargetEnum) {
|
|
3
|
-
CourtTargetEnum[CourtTargetEnum["NO_TARGET"] = 0] = "NO_TARGET";
|
|
4
|
-
CourtTargetEnum[CourtTargetEnum["OPPONENT_RIGHT_BACK"] = 7] = "OPPONENT_RIGHT_BACK";
|
|
5
|
-
CourtTargetEnum[CourtTargetEnum["OPPONENT_MIDDLE_BACK"] = 12] = "OPPONENT_MIDDLE_BACK";
|
|
6
|
-
CourtTargetEnum[CourtTargetEnum["OPPONENT_LEFT_BACK"] = 11] = "OPPONENT_LEFT_BACK";
|
|
7
|
-
CourtTargetEnum[CourtTargetEnum["OPPONENT_RIGHT_FRONT"] = 8] = "OPPONENT_RIGHT_FRONT";
|
|
8
|
-
CourtTargetEnum[CourtTargetEnum["OPPONENT_MIDDLE_FRONT"] = 9] = "OPPONENT_MIDDLE_FRONT";
|
|
9
|
-
CourtTargetEnum[CourtTargetEnum["OPPONENT_LEFT_FRONT"] = 10] = "OPPONENT_LEFT_FRONT";
|
|
10
|
-
// --------------------------------------------------------------------------------
|
|
11
|
-
CourtTargetEnum[CourtTargetEnum["TEAM_LEFT_FRONT"] = 4] = "TEAM_LEFT_FRONT";
|
|
12
|
-
CourtTargetEnum[CourtTargetEnum["TEAM_MIDDLE_FRONT"] = 3] = "TEAM_MIDDLE_FRONT";
|
|
13
|
-
CourtTargetEnum[CourtTargetEnum["TEAM_RIGHT_FRONT"] = 2] = "TEAM_RIGHT_FRONT";
|
|
14
|
-
CourtTargetEnum[CourtTargetEnum["TEAM_LEFT_BACK"] = 5] = "TEAM_LEFT_BACK";
|
|
15
|
-
CourtTargetEnum[CourtTargetEnum["TEAM_MIDDLE_BACK"] = 6] = "TEAM_MIDDLE_BACK";
|
|
16
|
-
CourtTargetEnum[CourtTargetEnum["TEAM_RIGHT_BACK"] = 1] = "TEAM_RIGHT_BACK";
|
|
17
|
-
})(CourtTargetEnum || (CourtTargetEnum = {}));
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
19
|
-
(function (CourtTargetEnum) {
|
|
20
|
-
function getTeamSide() {
|
|
21
|
-
return [CourtTargetEnum.TEAM_RIGHT_BACK, CourtTargetEnum.TEAM_RIGHT_FRONT, CourtTargetEnum.TEAM_MIDDLE_FRONT,
|
|
22
|
-
CourtTargetEnum.TEAM_LEFT_FRONT, CourtTargetEnum.TEAM_LEFT_BACK, CourtTargetEnum.TEAM_MIDDLE_BACK];
|
|
23
|
-
}
|
|
24
|
-
CourtTargetEnum.getTeamSide = getTeamSide;
|
|
25
|
-
function getOpponentSide() {
|
|
26
|
-
return [CourtTargetEnum.OPPONENT_RIGHT_BACK, CourtTargetEnum.OPPONENT_RIGHT_FRONT, CourtTargetEnum.OPPONENT_MIDDLE_FRONT,
|
|
27
|
-
CourtTargetEnum.OPPONENT_LEFT_FRONT, CourtTargetEnum.OPPONENT_LEFT_BACK, CourtTargetEnum.OPPONENT_MIDDLE_BACK];
|
|
28
|
-
}
|
|
29
|
-
CourtTargetEnum.getOpponentSide = getOpponentSide;
|
|
30
|
-
function getSidePosition(position) {
|
|
31
|
-
if (position < 1 || position > 12)
|
|
32
|
-
throw new Error('POSITION_INDEX_OUT_OF_BOUNDS');
|
|
33
|
-
if (position > 6)
|
|
34
|
-
return position - 6;
|
|
35
|
-
else
|
|
36
|
-
return position;
|
|
37
|
-
}
|
|
38
|
-
CourtTargetEnum.getSidePosition = getSidePosition;
|
|
39
|
-
})(CourtTargetEnum || (CourtTargetEnum = {}));
|
|
1
|
+
export var CourtTargetEnum;
|
|
2
|
+
(function (CourtTargetEnum) {
|
|
3
|
+
CourtTargetEnum[CourtTargetEnum["NO_TARGET"] = 0] = "NO_TARGET";
|
|
4
|
+
CourtTargetEnum[CourtTargetEnum["OPPONENT_RIGHT_BACK"] = 7] = "OPPONENT_RIGHT_BACK";
|
|
5
|
+
CourtTargetEnum[CourtTargetEnum["OPPONENT_MIDDLE_BACK"] = 12] = "OPPONENT_MIDDLE_BACK";
|
|
6
|
+
CourtTargetEnum[CourtTargetEnum["OPPONENT_LEFT_BACK"] = 11] = "OPPONENT_LEFT_BACK";
|
|
7
|
+
CourtTargetEnum[CourtTargetEnum["OPPONENT_RIGHT_FRONT"] = 8] = "OPPONENT_RIGHT_FRONT";
|
|
8
|
+
CourtTargetEnum[CourtTargetEnum["OPPONENT_MIDDLE_FRONT"] = 9] = "OPPONENT_MIDDLE_FRONT";
|
|
9
|
+
CourtTargetEnum[CourtTargetEnum["OPPONENT_LEFT_FRONT"] = 10] = "OPPONENT_LEFT_FRONT";
|
|
10
|
+
// --------------------------------------------------------------------------------
|
|
11
|
+
CourtTargetEnum[CourtTargetEnum["TEAM_LEFT_FRONT"] = 4] = "TEAM_LEFT_FRONT";
|
|
12
|
+
CourtTargetEnum[CourtTargetEnum["TEAM_MIDDLE_FRONT"] = 3] = "TEAM_MIDDLE_FRONT";
|
|
13
|
+
CourtTargetEnum[CourtTargetEnum["TEAM_RIGHT_FRONT"] = 2] = "TEAM_RIGHT_FRONT";
|
|
14
|
+
CourtTargetEnum[CourtTargetEnum["TEAM_LEFT_BACK"] = 5] = "TEAM_LEFT_BACK";
|
|
15
|
+
CourtTargetEnum[CourtTargetEnum["TEAM_MIDDLE_BACK"] = 6] = "TEAM_MIDDLE_BACK";
|
|
16
|
+
CourtTargetEnum[CourtTargetEnum["TEAM_RIGHT_BACK"] = 1] = "TEAM_RIGHT_BACK";
|
|
17
|
+
})(CourtTargetEnum || (CourtTargetEnum = {}));
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
19
|
+
(function (CourtTargetEnum) {
|
|
20
|
+
function getTeamSide() {
|
|
21
|
+
return [CourtTargetEnum.TEAM_RIGHT_BACK, CourtTargetEnum.TEAM_RIGHT_FRONT, CourtTargetEnum.TEAM_MIDDLE_FRONT,
|
|
22
|
+
CourtTargetEnum.TEAM_LEFT_FRONT, CourtTargetEnum.TEAM_LEFT_BACK, CourtTargetEnum.TEAM_MIDDLE_BACK];
|
|
23
|
+
}
|
|
24
|
+
CourtTargetEnum.getTeamSide = getTeamSide;
|
|
25
|
+
function getOpponentSide() {
|
|
26
|
+
return [CourtTargetEnum.OPPONENT_RIGHT_BACK, CourtTargetEnum.OPPONENT_RIGHT_FRONT, CourtTargetEnum.OPPONENT_MIDDLE_FRONT,
|
|
27
|
+
CourtTargetEnum.OPPONENT_LEFT_FRONT, CourtTargetEnum.OPPONENT_LEFT_BACK, CourtTargetEnum.OPPONENT_MIDDLE_BACK];
|
|
28
|
+
}
|
|
29
|
+
CourtTargetEnum.getOpponentSide = getOpponentSide;
|
|
30
|
+
function getSidePosition(position) {
|
|
31
|
+
if (position < 1 || position > 12)
|
|
32
|
+
throw new Error('POSITION_INDEX_OUT_OF_BOUNDS');
|
|
33
|
+
if (position > 6)
|
|
34
|
+
return position - 6;
|
|
35
|
+
else
|
|
36
|
+
return position;
|
|
37
|
+
}
|
|
38
|
+
CourtTargetEnum.getSidePosition = getSidePosition;
|
|
39
|
+
})(CourtTargetEnum || (CourtTargetEnum = {}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './match';
|
|
2
|
-
export * from './match-rating';
|
|
3
|
-
export * from './match-set';
|
|
4
|
-
export * from './rally';
|
|
5
|
-
export * from './court-position';
|
|
6
|
-
export * from './court-target-enum';
|
|
7
|
-
export * from './match-team';
|
|
1
|
+
export * from './match';
|
|
2
|
+
export * from './match-rating';
|
|
3
|
+
export * from './match-set';
|
|
4
|
+
export * from './rally';
|
|
5
|
+
export * from './court-position';
|
|
6
|
+
export * from './court-target-enum';
|
|
7
|
+
export * from './match-team';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './match';
|
|
2
|
-
export * from './match-rating';
|
|
3
|
-
export * from './match-set';
|
|
4
|
-
export * from './rally';
|
|
5
|
-
export * from './court-position';
|
|
6
|
-
export * from './court-target-enum';
|
|
7
|
-
export * from './match-team';
|
|
1
|
+
export * from './match';
|
|
2
|
+
export * from './match-rating';
|
|
3
|
+
export * from './match-set';
|
|
4
|
+
export * from './rally';
|
|
5
|
+
export * from './court-position';
|
|
6
|
+
export * from './court-target-enum';
|
|
7
|
+
export * from './match-team';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Match, MatchTeam } from '.';
|
|
2
|
-
interface MatchRatingOpts {
|
|
3
|
-
readonly match: Match;
|
|
4
|
-
}
|
|
5
|
-
export declare class MatchRating {
|
|
6
|
-
static K: number;
|
|
7
|
-
readonly match: Match;
|
|
8
|
-
constructor({ match }: MatchRatingOpts);
|
|
9
|
-
getWinProbability(team: MatchTeam): number;
|
|
10
|
-
getRatingChange(team: MatchTeam): number;
|
|
11
|
-
}
|
|
12
|
-
export {};
|
|
1
|
+
import { Match, MatchTeam } from '.';
|
|
2
|
+
interface MatchRatingOpts {
|
|
3
|
+
readonly match: Match;
|
|
4
|
+
}
|
|
5
|
+
export declare class MatchRating {
|
|
6
|
+
static K: number;
|
|
7
|
+
readonly match: Match;
|
|
8
|
+
constructor({ match }: MatchRatingOpts);
|
|
9
|
+
getWinProbability(team: MatchTeam): number;
|
|
10
|
+
getRatingChange(team: MatchTeam): number;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { MatchTeam } from '.';
|
|
2
|
-
export class MatchRating {
|
|
3
|
-
constructor({ match }) {
|
|
4
|
-
this.match = match;
|
|
5
|
-
}
|
|
6
|
-
getWinProbability(team) {
|
|
7
|
-
let rA;
|
|
8
|
-
let rB;
|
|
9
|
-
if (team === MatchTeam.HOME) {
|
|
10
|
-
rA = this.match.homeTeam.rating;
|
|
11
|
-
rB = this.match.awayTeam.rating;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
rA = this.match.awayTeam.rating;
|
|
15
|
-
rB = this.match.homeTeam.rating;
|
|
16
|
-
}
|
|
17
|
-
return 1 / (1 + Math.pow(10, ((rB - rA) / 400)));
|
|
18
|
-
}
|
|
19
|
-
getRatingChange(team) {
|
|
20
|
-
const t = this.match[team === MatchTeam.HOME ? 'homeTeam' : 'awayTeam'];
|
|
21
|
-
const score = this.match.getWinner().id === t.id ? 1 : 0;
|
|
22
|
-
return MatchRating.K * (score - this.getWinProbability(team));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
MatchRating.K = 32; // I'll fix this here for medium variance
|
|
1
|
+
import { MatchTeam } from '.';
|
|
2
|
+
export class MatchRating {
|
|
3
|
+
constructor({ match }) {
|
|
4
|
+
this.match = match;
|
|
5
|
+
}
|
|
6
|
+
getWinProbability(team) {
|
|
7
|
+
let rA;
|
|
8
|
+
let rB;
|
|
9
|
+
if (team === MatchTeam.HOME) {
|
|
10
|
+
rA = this.match.homeTeam.rating;
|
|
11
|
+
rB = this.match.awayTeam.rating;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
rA = this.match.awayTeam.rating;
|
|
15
|
+
rB = this.match.homeTeam.rating;
|
|
16
|
+
}
|
|
17
|
+
return 1 / (1 + Math.pow(10, ((rB - rA) / 400)));
|
|
18
|
+
}
|
|
19
|
+
getRatingChange(team) {
|
|
20
|
+
const t = this.match[team === MatchTeam.HOME ? 'homeTeam' : 'awayTeam'];
|
|
21
|
+
const score = this.match.getWinner().id === t.id ? 1 : 0;
|
|
22
|
+
return MatchRating.K * (score - this.getWinProbability(team));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
MatchRating.K = 32; // I'll fix this here for medium variance
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
import { Rally } from './rally';
|
|
2
|
-
import { MatchTeam } from './match-team';
|
|
3
|
-
import { Player } from '../player';
|
|
4
|
-
interface MatchSetOpts {
|
|
5
|
-
readonly id: string;
|
|
6
|
-
readonly order: number;
|
|
7
|
-
readonly isTieBreak: boolean;
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly homeScore: number;
|
|
11
|
-
readonly awayScore: number;
|
|
12
|
-
readonly stats: SetStatistics[];
|
|
13
|
-
readonly rallies: Rally[];
|
|
14
|
-
}
|
|
15
|
-
export interface EventStat {
|
|
16
|
-
success: number;
|
|
17
|
-
error: number;
|
|
18
|
-
}
|
|
19
|
-
export interface SetStatistics {
|
|
20
|
-
player: Player;
|
|
21
|
-
ace: number;
|
|
22
|
-
attempts: number;
|
|
23
|
-
contacts: number;
|
|
24
|
-
ralliesPlayed: number;
|
|
25
|
-
serve: EventStat;
|
|
26
|
-
reception: EventStat;
|
|
27
|
-
set: EventStat;
|
|
28
|
-
attack: EventStat;
|
|
29
|
-
block: EventStat;
|
|
30
|
-
kills: number;
|
|
31
|
-
killBlocks: number;
|
|
32
|
-
assists: number;
|
|
33
|
-
}
|
|
34
|
-
export declare class MatchSet {
|
|
35
|
-
readonly id: string;
|
|
36
|
-
readonly order: number;
|
|
37
|
-
readonly isTieBreak: boolean;
|
|
38
|
-
readonly
|
|
39
|
-
readonly
|
|
40
|
-
readonly stats: SetStatistics[];
|
|
41
|
-
readonly rallies: Rally[];
|
|
42
|
-
private readonly scoreThreshold;
|
|
43
|
-
private homeScore;
|
|
44
|
-
private awayScore;
|
|
45
|
-
constructor({ id, order, isTieBreak,
|
|
46
|
-
getHomeScore(): number;
|
|
47
|
-
getAwayScore(): number;
|
|
48
|
-
increaseScore(team: MatchTeam): void;
|
|
49
|
-
addRally(rally: Rally): void;
|
|
50
|
-
/**
|
|
51
|
-
* Has a team reached at least 25 points and is the score difference between both teams at least 2?
|
|
52
|
-
* @returns boolean
|
|
53
|
-
*/
|
|
54
|
-
isOver(): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Get the team that won the Set. Return undefined if set is not over.
|
|
57
|
-
* @returns CourtTeam
|
|
58
|
-
*/
|
|
59
|
-
getWinner(): MatchTeam;
|
|
60
|
-
}
|
|
61
|
-
export {};
|
|
1
|
+
import { PlayerPosition, Rally } from './rally';
|
|
2
|
+
import { MatchTeam } from './match-team';
|
|
3
|
+
import { Player } from '../player';
|
|
4
|
+
interface MatchSetOpts {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly order: number;
|
|
7
|
+
readonly isTieBreak: boolean;
|
|
8
|
+
readonly homePlayerPosition: PlayerPosition[];
|
|
9
|
+
readonly awayPlayerPosition: PlayerPosition[];
|
|
10
|
+
readonly homeScore: number;
|
|
11
|
+
readonly awayScore: number;
|
|
12
|
+
readonly stats: SetStatistics[];
|
|
13
|
+
readonly rallies: Rally[];
|
|
14
|
+
}
|
|
15
|
+
export interface EventStat {
|
|
16
|
+
success: number;
|
|
17
|
+
error: number;
|
|
18
|
+
}
|
|
19
|
+
export interface SetStatistics {
|
|
20
|
+
player: Player;
|
|
21
|
+
ace: number;
|
|
22
|
+
attempts: number;
|
|
23
|
+
contacts: number;
|
|
24
|
+
ralliesPlayed: number;
|
|
25
|
+
serve: EventStat;
|
|
26
|
+
reception: EventStat;
|
|
27
|
+
set: EventStat;
|
|
28
|
+
attack: EventStat;
|
|
29
|
+
block: EventStat;
|
|
30
|
+
kills: number;
|
|
31
|
+
killBlocks: number;
|
|
32
|
+
assists: number;
|
|
33
|
+
}
|
|
34
|
+
export declare class MatchSet {
|
|
35
|
+
readonly id: string;
|
|
36
|
+
readonly order: number;
|
|
37
|
+
readonly isTieBreak: boolean;
|
|
38
|
+
readonly homePlayerPosition: PlayerPosition[];
|
|
39
|
+
readonly awayPlayerPosition: PlayerPosition[];
|
|
40
|
+
readonly stats: SetStatistics[];
|
|
41
|
+
readonly rallies: Rally[];
|
|
42
|
+
private readonly scoreThreshold;
|
|
43
|
+
private homeScore;
|
|
44
|
+
private awayScore;
|
|
45
|
+
constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }: MatchSetOpts);
|
|
46
|
+
getHomeScore(): number;
|
|
47
|
+
getAwayScore(): number;
|
|
48
|
+
increaseScore(team: MatchTeam): void;
|
|
49
|
+
addRally(rally: Rally): void;
|
|
50
|
+
/**
|
|
51
|
+
* Has a team reached at least 25 points and is the score difference between both teams at least 2?
|
|
52
|
+
* @returns boolean
|
|
53
|
+
*/
|
|
54
|
+
isOver(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Get the team that won the Set. Return undefined if set is not over.
|
|
57
|
+
* @returns CourtTeam
|
|
58
|
+
*/
|
|
59
|
+
getWinner(): MatchTeam;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { validateUUID } from '../utils';
|
|
2
|
-
import { MatchTeam } from './match-team';
|
|
3
|
-
var ScoreThreshold;
|
|
4
|
-
(function (ScoreThreshold) {
|
|
5
|
-
ScoreThreshold[ScoreThreshold["SET"] = 25] = "SET";
|
|
6
|
-
ScoreThreshold[ScoreThreshold["TIE_BREAK"] = 15] = "TIE_BREAK";
|
|
7
|
-
})(ScoreThreshold || (ScoreThreshold = {}));
|
|
8
|
-
export class MatchSet {
|
|
9
|
-
constructor({ id, order, isTieBreak,
|
|
10
|
-
validateUUID(id);
|
|
11
|
-
this.id = id;
|
|
12
|
-
this.order = order;
|
|
13
|
-
this.homeScore = homeScore;
|
|
14
|
-
this.awayScore = awayScore;
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.stats = stats;
|
|
18
|
-
this.rallies = rallies;
|
|
19
|
-
this.isTieBreak = isTieBreak;
|
|
20
|
-
this.scoreThreshold = isTieBreak ? ScoreThreshold.TIE_BREAK : ScoreThreshold.SET;
|
|
21
|
-
}
|
|
22
|
-
getHomeScore() {
|
|
23
|
-
return this.homeScore;
|
|
24
|
-
}
|
|
25
|
-
getAwayScore() {
|
|
26
|
-
return this.awayScore;
|
|
27
|
-
}
|
|
28
|
-
increaseScore(team) {
|
|
29
|
-
if (team === MatchTeam.HOME)
|
|
30
|
-
this.homeScore++;
|
|
31
|
-
else if (team === MatchTeam.AWAY)
|
|
32
|
-
this.awayScore++;
|
|
33
|
-
else
|
|
34
|
-
throw new Error('UNKNOWN_TEAM');
|
|
35
|
-
}
|
|
36
|
-
addRally(rally) {
|
|
37
|
-
this.rallies.push(rally);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Has a team reached at least 25 points and is the score difference between both teams at least 2?
|
|
41
|
-
* @returns boolean
|
|
42
|
-
*/
|
|
43
|
-
isOver() {
|
|
44
|
-
return Math.abs(this.homeScore - this.awayScore) > 1 &&
|
|
45
|
-
(this.homeScore >= this.scoreThreshold || this.awayScore >= this.scoreThreshold);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Get the team that won the Set. Return undefined if set is not over.
|
|
49
|
-
* @returns CourtTeam
|
|
50
|
-
*/
|
|
51
|
-
getWinner() {
|
|
52
|
-
if (!this.isOver())
|
|
53
|
-
throw new Error('UNFINISHED_SET');
|
|
54
|
-
return this.homeScore > this.awayScore ? MatchTeam.HOME : MatchTeam.AWAY;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
import { validateUUID } from '../utils';
|
|
2
|
+
import { MatchTeam } from './match-team';
|
|
3
|
+
var ScoreThreshold;
|
|
4
|
+
(function (ScoreThreshold) {
|
|
5
|
+
ScoreThreshold[ScoreThreshold["SET"] = 25] = "SET";
|
|
6
|
+
ScoreThreshold[ScoreThreshold["TIE_BREAK"] = 15] = "TIE_BREAK";
|
|
7
|
+
})(ScoreThreshold || (ScoreThreshold = {}));
|
|
8
|
+
export class MatchSet {
|
|
9
|
+
constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }) {
|
|
10
|
+
validateUUID(id);
|
|
11
|
+
this.id = id;
|
|
12
|
+
this.order = order;
|
|
13
|
+
this.homeScore = homeScore;
|
|
14
|
+
this.awayScore = awayScore;
|
|
15
|
+
this.homePlayerPosition = homePlayerPosition;
|
|
16
|
+
this.awayPlayerPosition = awayPlayerPosition;
|
|
17
|
+
this.stats = stats;
|
|
18
|
+
this.rallies = rallies;
|
|
19
|
+
this.isTieBreak = isTieBreak;
|
|
20
|
+
this.scoreThreshold = isTieBreak ? ScoreThreshold.TIE_BREAK : ScoreThreshold.SET;
|
|
21
|
+
}
|
|
22
|
+
getHomeScore() {
|
|
23
|
+
return this.homeScore;
|
|
24
|
+
}
|
|
25
|
+
getAwayScore() {
|
|
26
|
+
return this.awayScore;
|
|
27
|
+
}
|
|
28
|
+
increaseScore(team) {
|
|
29
|
+
if (team === MatchTeam.HOME)
|
|
30
|
+
this.homeScore++;
|
|
31
|
+
else if (team === MatchTeam.AWAY)
|
|
32
|
+
this.awayScore++;
|
|
33
|
+
else
|
|
34
|
+
throw new Error('UNKNOWN_TEAM');
|
|
35
|
+
}
|
|
36
|
+
addRally(rally) {
|
|
37
|
+
this.rallies.push(rally);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Has a team reached at least 25 points and is the score difference between both teams at least 2?
|
|
41
|
+
* @returns boolean
|
|
42
|
+
*/
|
|
43
|
+
isOver() {
|
|
44
|
+
return Math.abs(this.homeScore - this.awayScore) > 1 &&
|
|
45
|
+
(this.homeScore >= this.scoreThreshold || this.awayScore >= this.scoreThreshold);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the team that won the Set. Return undefined if set is not over.
|
|
49
|
+
* @returns CourtTeam
|
|
50
|
+
*/
|
|
51
|
+
getWinner() {
|
|
52
|
+
if (!this.isOver())
|
|
53
|
+
throw new Error('UNFINISHED_SET');
|
|
54
|
+
return this.homeScore > this.awayScore ? MatchTeam.HOME : MatchTeam.AWAY;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare enum MatchTeam {
|
|
2
|
-
HOME = "homeTeam",
|
|
3
|
-
AWAY = "awayTeam"
|
|
4
|
-
}
|
|
5
|
-
export declare namespace MatchTeam {
|
|
6
|
-
function otherTeam(team: MatchTeam): MatchTeam;
|
|
7
|
-
}
|
|
1
|
+
export declare enum MatchTeam {
|
|
2
|
+
HOME = "homeTeam",
|
|
3
|
+
AWAY = "awayTeam"
|
|
4
|
+
}
|
|
5
|
+
export declare namespace MatchTeam {
|
|
6
|
+
function otherTeam(team: MatchTeam): MatchTeam;
|
|
7
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export var MatchTeam;
|
|
2
|
-
(function (MatchTeam) {
|
|
3
|
-
MatchTeam["HOME"] = "homeTeam";
|
|
4
|
-
MatchTeam["AWAY"] = "awayTeam";
|
|
5
|
-
})(MatchTeam || (MatchTeam = {}));
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
7
|
-
(function (MatchTeam) {
|
|
8
|
-
function otherTeam(team) {
|
|
9
|
-
if (team === MatchTeam.HOME)
|
|
10
|
-
return MatchTeam.AWAY;
|
|
11
|
-
else if (team === MatchTeam.AWAY)
|
|
12
|
-
return MatchTeam.HOME;
|
|
13
|
-
else
|
|
14
|
-
throw new Error('UNKNOWN_MATCH_TEAM');
|
|
15
|
-
}
|
|
16
|
-
MatchTeam.otherTeam = otherTeam;
|
|
17
|
-
})(MatchTeam || (MatchTeam = {}));
|
|
1
|
+
export var MatchTeam;
|
|
2
|
+
(function (MatchTeam) {
|
|
3
|
+
MatchTeam["HOME"] = "homeTeam";
|
|
4
|
+
MatchTeam["AWAY"] = "awayTeam";
|
|
5
|
+
})(MatchTeam || (MatchTeam = {}));
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
7
|
+
(function (MatchTeam) {
|
|
8
|
+
function otherTeam(team) {
|
|
9
|
+
if (team === MatchTeam.HOME)
|
|
10
|
+
return MatchTeam.AWAY;
|
|
11
|
+
else if (team === MatchTeam.AWAY)
|
|
12
|
+
return MatchTeam.HOME;
|
|
13
|
+
else
|
|
14
|
+
throw new Error('UNKNOWN_MATCH_TEAM');
|
|
15
|
+
}
|
|
16
|
+
MatchTeam.otherTeam = otherTeam;
|
|
17
|
+
})(MatchTeam || (MatchTeam = {}));
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { MatchSet } from './match-set';
|
|
2
|
-
import { Team } from '../team';
|
|
3
|
-
import { MatchTeam } from './match-team';
|
|
4
|
-
interface MatchOpts {
|
|
5
|
-
readonly id: string;
|
|
6
|
-
readonly homeTeam: Team;
|
|
7
|
-
readonly awayTeam: Team;
|
|
8
|
-
readonly scheduledDate: Date;
|
|
9
|
-
readonly sets: MatchSet[];
|
|
10
|
-
readonly isSimulated: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare class Match {
|
|
13
|
-
static readonly BEST_OF = 5;
|
|
14
|
-
readonly id: string;
|
|
15
|
-
readonly homeTeam: Team;
|
|
16
|
-
readonly awayTeam: Team;
|
|
17
|
-
readonly sets: MatchSet[];
|
|
18
|
-
readonly scheduledDate: Date;
|
|
19
|
-
isSimulated: boolean;
|
|
20
|
-
constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }: MatchOpts);
|
|
21
|
-
addSet(set: MatchSet): void;
|
|
22
|
-
getTeamSets(team: MatchTeam): number;
|
|
23
|
-
isOver(): boolean;
|
|
24
|
-
getWinner(): Team;
|
|
25
|
-
}
|
|
26
|
-
export {};
|
|
1
|
+
import { MatchSet } from './match-set';
|
|
2
|
+
import { Team } from '../team';
|
|
3
|
+
import { MatchTeam } from './match-team';
|
|
4
|
+
interface MatchOpts {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly homeTeam: Team;
|
|
7
|
+
readonly awayTeam: Team;
|
|
8
|
+
readonly scheduledDate: Date;
|
|
9
|
+
readonly sets: MatchSet[];
|
|
10
|
+
readonly isSimulated: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class Match {
|
|
13
|
+
static readonly BEST_OF = 5;
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly homeTeam: Team;
|
|
16
|
+
readonly awayTeam: Team;
|
|
17
|
+
readonly sets: MatchSet[];
|
|
18
|
+
readonly scheduledDate: Date;
|
|
19
|
+
isSimulated: boolean;
|
|
20
|
+
constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }: MatchOpts);
|
|
21
|
+
addSet(set: MatchSet): void;
|
|
22
|
+
getTeamSets(team: MatchTeam): number;
|
|
23
|
+
isOver(): boolean;
|
|
24
|
+
getWinner(): Team;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { validateUUID } from '../utils';
|
|
2
|
-
import { MatchTeam } from './match-team';
|
|
3
|
-
export class Match {
|
|
4
|
-
constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }) {
|
|
5
|
-
validateUUID(id);
|
|
6
|
-
this.id = id;
|
|
7
|
-
this.homeTeam = homeTeam;
|
|
8
|
-
this.awayTeam = awayTeam;
|
|
9
|
-
this.scheduledDate = scheduledDate;
|
|
10
|
-
this.sets = sets;
|
|
11
|
-
this.isSimulated = isSimulated;
|
|
12
|
-
}
|
|
13
|
-
addSet(set) {
|
|
14
|
-
if (this.sets.length >= Match.BEST_OF)
|
|
15
|
-
throw new Error('SET_AMOUNT_EXCEEDED');
|
|
16
|
-
this.sets.push(set);
|
|
17
|
-
}
|
|
18
|
-
getTeamSets(team) {
|
|
19
|
-
return this.sets.reduce((sets, set) => sets + (!set.isOver() ? 0 : set.getWinner() === team ? 1 : 0), 0);
|
|
20
|
-
}
|
|
21
|
-
isOver() {
|
|
22
|
-
const gamesRequired = Math.ceil(Match.BEST_OF / 2);
|
|
23
|
-
const lastSet = this.sets.at(-1);
|
|
24
|
-
if (lastSet == null || !lastSet.isOver() || this.sets.length < gamesRequired)
|
|
25
|
-
return false;
|
|
26
|
-
const homeSets = this.getTeamSets(MatchTeam.HOME);
|
|
27
|
-
const awaySets = this.getTeamSets(MatchTeam.AWAY);
|
|
28
|
-
// Check if any of the teams has enough sets to win.
|
|
29
|
-
return !(homeSets < gamesRequired && awaySets < gamesRequired);
|
|
30
|
-
}
|
|
31
|
-
getWinner() {
|
|
32
|
-
if (!this.isOver())
|
|
33
|
-
throw new Error('UNFINISHED_MATCH');
|
|
34
|
-
const homeSets = this.getTeamSets(MatchTeam.HOME);
|
|
35
|
-
const awaySets = this.getTeamSets(MatchTeam.AWAY);
|
|
36
|
-
return homeSets > awaySets ? this.homeTeam : this.awayTeam;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
Match.BEST_OF = 5;
|
|
1
|
+
import { validateUUID } from '../utils';
|
|
2
|
+
import { MatchTeam } from './match-team';
|
|
3
|
+
export class Match {
|
|
4
|
+
constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }) {
|
|
5
|
+
validateUUID(id);
|
|
6
|
+
this.id = id;
|
|
7
|
+
this.homeTeam = homeTeam;
|
|
8
|
+
this.awayTeam = awayTeam;
|
|
9
|
+
this.scheduledDate = scheduledDate;
|
|
10
|
+
this.sets = sets;
|
|
11
|
+
this.isSimulated = isSimulated;
|
|
12
|
+
}
|
|
13
|
+
addSet(set) {
|
|
14
|
+
if (this.sets.length >= Match.BEST_OF)
|
|
15
|
+
throw new Error('SET_AMOUNT_EXCEEDED');
|
|
16
|
+
this.sets.push(set);
|
|
17
|
+
}
|
|
18
|
+
getTeamSets(team) {
|
|
19
|
+
return this.sets.reduce((sets, set) => sets + (!set.isOver() ? 0 : set.getWinner() === team ? 1 : 0), 0);
|
|
20
|
+
}
|
|
21
|
+
isOver() {
|
|
22
|
+
const gamesRequired = Math.ceil(Match.BEST_OF / 2);
|
|
23
|
+
const lastSet = this.sets.at(-1);
|
|
24
|
+
if (lastSet == null || !lastSet.isOver() || this.sets.length < gamesRequired)
|
|
25
|
+
return false;
|
|
26
|
+
const homeSets = this.getTeamSets(MatchTeam.HOME);
|
|
27
|
+
const awaySets = this.getTeamSets(MatchTeam.AWAY);
|
|
28
|
+
// Check if any of the teams has enough sets to win.
|
|
29
|
+
return !(homeSets < gamesRequired && awaySets < gamesRequired);
|
|
30
|
+
}
|
|
31
|
+
getWinner() {
|
|
32
|
+
if (!this.isOver())
|
|
33
|
+
throw new Error('UNFINISHED_MATCH');
|
|
34
|
+
const homeSets = this.getTeamSets(MatchTeam.HOME);
|
|
35
|
+
const awaySets = this.getTeamSets(MatchTeam.AWAY);
|
|
36
|
+
return homeSets > awaySets ? this.homeTeam : this.awayTeam;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
Match.BEST_OF = 5;
|