volleyballsimtypes 0.0.120 → 0.0.121
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 +43 -43
- 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 +35 -35
- package/dist/cjs/src/api/league.js +2 -2
- package/dist/cjs/src/api/match.d.ts +51 -51
- 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 -255
- 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 -23
- package/dist/cjs/src/data/models/competition-champion.js +38 -38
- package/dist/cjs/src/data/models/competition-match.d.ts +29 -29
- package/dist/cjs/src/data/models/competition-match.js +46 -46
- package/dist/cjs/src/data/models/competition-teams.d.ts +23 -23
- package/dist/cjs/src/data/models/competition-teams.js +42 -42
- package/dist/cjs/src/data/models/competition.d.ts +67 -67
- package/dist/cjs/src/data/models/competition.js +38 -38
- package/dist/cjs/src/data/models/country.d.ts +61 -61
- package/dist/cjs/src/data/models/country.js +34 -34
- package/dist/cjs/src/data/models/draft-pick.d.ts +31 -31
- package/dist/cjs/src/data/models/draft-pick.js +50 -50
- package/dist/cjs/src/data/models/draft.d.ts +29 -29
- 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 -32
- package/dist/cjs/src/data/models/index.js +48 -48
- package/dist/cjs/src/data/models/iteration.d.ts +26 -26
- package/dist/cjs/src/data/models/iteration.js +30 -30
- package/dist/cjs/src/data/models/league-season.d.ts +23 -23
- package/dist/cjs/src/data/models/league-season.js +38 -38
- package/dist/cjs/src/data/models/league.d.ts +44 -44
- package/dist/cjs/src/data/models/league.js +38 -38
- package/dist/cjs/src/data/models/libero-replacement.d.ts +38 -38
- package/dist/cjs/src/data/models/libero-replacement.js +62 -62
- package/dist/cjs/src/data/models/match-rating.d.ts +27 -27
- package/dist/cjs/src/data/models/match-rating.js +52 -52
- package/dist/cjs/src/data/models/match-set-stats.d.ts +58 -58
- package/dist/cjs/src/data/models/match-set-stats.js +127 -127
- package/dist/cjs/src/data/models/match-set.d.ts +85 -85
- package/dist/cjs/src/data/models/match-set.js +51 -51
- package/dist/cjs/src/data/models/match.d.ts +67 -67
- package/dist/cjs/src/data/models/match.js +51 -51
- package/dist/cjs/src/data/models/performance-stats.d.ts +40 -40
- package/dist/cjs/src/data/models/performance-stats.js +85 -85
- package/dist/cjs/src/data/models/player-team.d.ts +29 -29
- package/dist/cjs/src/data/models/player-team.js +52 -52
- 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 -267
- package/dist/cjs/src/data/models/player.js +46 -46
- package/dist/cjs/src/data/models/rally.d.ts +122 -122
- package/dist/cjs/src/data/models/rally.js +46 -46
- 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 -29
- package/dist/cjs/src/data/models/set-position.js +50 -50
- 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 -58
- package/dist/cjs/src/data/models/team.d.ts +162 -162
- package/dist/cjs/src/data/models/team.js +63 -63
- 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 -29
- 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 -34
- package/dist/cjs/src/data/transformers/index.js +50 -50
- 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 +36 -36
- 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 +64 -64
- 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 +93 -93
- package/dist/cjs/src/data/transformers/rally.d.ts +7 -7
- package/dist/cjs/src/data/transformers/rally.js +68 -68
- 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 -16
- package/dist/cjs/src/data/transformers/season.d.ts +7 -7
- package/dist/cjs/src/data/transformers/season.js +74 -74
- 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/set-position.d.ts +5 -5
- package/dist/cjs/src/data/transformers/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 -25
- 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 -45
- 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 -11
- package/dist/cjs/src/service/competition/stage.js +27 -27
- 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 -9
- package/dist/cjs/src/service/event/index.js +25 -25
- 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 -23
- package/dist/cjs/src/service/event/rally-event.js +22 -22
- 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 +57 -57
- 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 -22
- package/dist/cjs/src/service/match/rally.js +17 -17
- 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 +43 -43
- 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 +35 -35
- package/dist/esm/src/api/league.js +1 -1
- package/dist/esm/src/api/match.d.ts +51 -51
- 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 -251
- 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 -23
- package/dist/esm/src/data/models/competition-champion.js +34 -34
- package/dist/esm/src/data/models/competition-match.d.ts +29 -29
- package/dist/esm/src/data/models/competition-match.js +42 -42
- package/dist/esm/src/data/models/competition-teams.d.ts +23 -23
- package/dist/esm/src/data/models/competition-teams.js +38 -38
- package/dist/esm/src/data/models/competition.d.ts +67 -67
- package/dist/esm/src/data/models/competition.js +34 -34
- package/dist/esm/src/data/models/country.d.ts +61 -61
- package/dist/esm/src/data/models/country.js +30 -30
- package/dist/esm/src/data/models/draft-pick.d.ts +31 -31
- package/dist/esm/src/data/models/draft-pick.js +46 -46
- package/dist/esm/src/data/models/draft.d.ts +29 -29
- 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 -32
- package/dist/esm/src/data/models/index.js +32 -32
- package/dist/esm/src/data/models/iteration.d.ts +26 -26
- package/dist/esm/src/data/models/iteration.js +26 -26
- package/dist/esm/src/data/models/league-season.d.ts +23 -23
- package/dist/esm/src/data/models/league-season.js +34 -34
- package/dist/esm/src/data/models/league.d.ts +44 -44
- package/dist/esm/src/data/models/league.js +34 -34
- package/dist/esm/src/data/models/libero-replacement.d.ts +38 -38
- package/dist/esm/src/data/models/libero-replacement.js +58 -58
- package/dist/esm/src/data/models/match-rating.d.ts +27 -27
- package/dist/esm/src/data/models/match-rating.js +48 -48
- package/dist/esm/src/data/models/match-set-stats.d.ts +58 -58
- package/dist/esm/src/data/models/match-set-stats.js +123 -123
- package/dist/esm/src/data/models/match-set.d.ts +85 -85
- package/dist/esm/src/data/models/match-set.js +47 -47
- package/dist/esm/src/data/models/match.d.ts +67 -67
- package/dist/esm/src/data/models/match.js +47 -47
- package/dist/esm/src/data/models/performance-stats.d.ts +40 -40
- package/dist/esm/src/data/models/performance-stats.js +81 -81
- package/dist/esm/src/data/models/player-team.d.ts +29 -29
- package/dist/esm/src/data/models/player-team.js +48 -48
- 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 -267
- package/dist/esm/src/data/models/player.js +42 -42
- package/dist/esm/src/data/models/rally.d.ts +122 -122
- package/dist/esm/src/data/models/rally.js +42 -42
- 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 -29
- package/dist/esm/src/data/models/set-position.js +46 -46
- 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 -54
- package/dist/esm/src/data/models/team.d.ts +162 -162
- package/dist/esm/src/data/models/team.js +59 -59
- 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 -25
- 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 -34
- package/dist/esm/src/data/transformers/index.js +34 -34
- 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 +31 -31
- 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 +59 -59
- 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 +88 -88
- package/dist/esm/src/data/transformers/rally.d.ts +7 -7
- package/dist/esm/src/data/transformers/rally.js +63 -63
- 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 -13
- package/dist/esm/src/data/transformers/season.d.ts +7 -7
- package/dist/esm/src/data/transformers/season.js +69 -69
- 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/set-position.d.ts +5 -5
- package/dist/esm/src/data/transformers/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 -21
- 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 -40
- 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 -11
- package/dist/esm/src/service/competition/stage.js +24 -24
- 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 -9
- package/dist/esm/src/service/event/index.js +9 -9
- 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 -23
- package/dist/esm/src/service/event/rally-event.js +18 -18
- 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 +54 -54
- 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 -22
- package/dist/esm/src/service/match/rally.js +13 -13
- 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
|
@@ -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;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { Team } from '../team';
|
|
2
|
-
import { CourtPosition } from './court-position';
|
|
3
|
-
import { RallyEvent } from '../event';
|
|
4
|
-
interface RallyOpts {
|
|
5
|
-
readonly id: string;
|
|
6
|
-
readonly order: number;
|
|
7
|
-
readonly servingTeam: Team;
|
|
8
|
-
readonly events: RallyEvent[];
|
|
9
|
-
}
|
|
10
|
-
export interface PlayerPosition {
|
|
11
|
-
position: CourtPosition;
|
|
12
|
-
playerId: string;
|
|
13
|
-
}
|
|
14
|
-
export declare class Rally {
|
|
15
|
-
readonly id: string;
|
|
16
|
-
readonly servingTeam: Team;
|
|
17
|
-
readonly events: RallyEvent[];
|
|
18
|
-
readonly order: number;
|
|
19
|
-
constructor({ id, order, servingTeam, events }: RallyOpts);
|
|
20
|
-
addEvent(event: RallyEvent): void;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
1
|
+
import { Team } from '../team';
|
|
2
|
+
import { CourtPosition } from './court-position';
|
|
3
|
+
import { RallyEvent } from '../event';
|
|
4
|
+
interface RallyOpts {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly order: number;
|
|
7
|
+
readonly servingTeam: Team;
|
|
8
|
+
readonly events: RallyEvent[];
|
|
9
|
+
}
|
|
10
|
+
export interface PlayerPosition {
|
|
11
|
+
position: CourtPosition;
|
|
12
|
+
playerId: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class Rally {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly servingTeam: Team;
|
|
17
|
+
readonly events: RallyEvent[];
|
|
18
|
+
readonly order: number;
|
|
19
|
+
constructor({ id, order, servingTeam, events }: RallyOpts);
|
|
20
|
+
addEvent(event: RallyEvent): void;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { validateUUID } from '../utils';
|
|
2
|
-
export class Rally {
|
|
3
|
-
constructor({ id, order, servingTeam, events }) {
|
|
4
|
-
validateUUID(id);
|
|
5
|
-
this.id = id;
|
|
6
|
-
this.order = order;
|
|
7
|
-
this.servingTeam = servingTeam;
|
|
8
|
-
this.events = events;
|
|
9
|
-
}
|
|
10
|
-
addEvent(event) {
|
|
11
|
-
this.events.push(event);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
import { validateUUID } from '../utils';
|
|
2
|
+
export class Rally {
|
|
3
|
+
constructor({ id, order, servingTeam, events }) {
|
|
4
|
+
validateUUID(id);
|
|
5
|
+
this.id = id;
|
|
6
|
+
this.order = order;
|
|
7
|
+
this.servingTeam = servingTeam;
|
|
8
|
+
this.events = events;
|
|
9
|
+
}
|
|
10
|
+
addEvent(event) {
|
|
11
|
+
this.events.push(event);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './player';
|
|
2
|
-
export * from './performance-stats';
|
|
3
|
-
export * from './role';
|
|
4
|
-
export * from './trait';
|
|
5
|
-
export * from './stats';
|
|
1
|
+
export * from './player';
|
|
2
|
+
export * from './performance-stats';
|
|
3
|
+
export * from './role';
|
|
4
|
+
export * from './trait';
|
|
5
|
+
export * from './stats';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './player';
|
|
2
|
-
export * from './performance-stats';
|
|
3
|
-
export * from './role';
|
|
4
|
-
export * from './trait';
|
|
5
|
-
export * from './stats';
|
|
1
|
+
export * from './player';
|
|
2
|
+
export * from './performance-stats';
|
|
3
|
+
export * from './role';
|
|
4
|
+
export * from './trait';
|
|
5
|
+
export * from './stats';
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
interface PerformanceStatsOpts {
|
|
2
|
-
readonly setting: number;
|
|
3
|
-
readonly pass: number;
|
|
4
|
-
readonly reception: number;
|
|
5
|
-
readonly spike: number;
|
|
6
|
-
readonly backAttack: number;
|
|
7
|
-
readonly jump: number;
|
|
8
|
-
readonly block: number;
|
|
9
|
-
readonly awareness: number;
|
|
10
|
-
readonly serve: number;
|
|
11
|
-
readonly defense: number;
|
|
12
|
-
readonly stamina: number;
|
|
13
|
-
}
|
|
14
|
-
export declare class PerformanceStats {
|
|
15
|
-
readonly setting: number;
|
|
16
|
-
readonly pass: number;
|
|
17
|
-
readonly reception: number;
|
|
18
|
-
readonly spike: number;
|
|
19
|
-
readonly backAttack: number;
|
|
20
|
-
readonly jump: number;
|
|
21
|
-
readonly block: number;
|
|
22
|
-
readonly awareness: number;
|
|
23
|
-
readonly serve: number;
|
|
24
|
-
readonly defense: number;
|
|
25
|
-
readonly stamina: number;
|
|
26
|
-
constructor(opts: PerformanceStatsOpts);
|
|
27
|
-
toString(): string;
|
|
28
|
-
}
|
|
29
|
-
export {};
|
|
1
|
+
interface PerformanceStatsOpts {
|
|
2
|
+
readonly setting: number;
|
|
3
|
+
readonly pass: number;
|
|
4
|
+
readonly reception: number;
|
|
5
|
+
readonly spike: number;
|
|
6
|
+
readonly backAttack: number;
|
|
7
|
+
readonly jump: number;
|
|
8
|
+
readonly block: number;
|
|
9
|
+
readonly awareness: number;
|
|
10
|
+
readonly serve: number;
|
|
11
|
+
readonly defense: number;
|
|
12
|
+
readonly stamina: number;
|
|
13
|
+
}
|
|
14
|
+
export declare class PerformanceStats {
|
|
15
|
+
readonly setting: number;
|
|
16
|
+
readonly pass: number;
|
|
17
|
+
readonly reception: number;
|
|
18
|
+
readonly spike: number;
|
|
19
|
+
readonly backAttack: number;
|
|
20
|
+
readonly jump: number;
|
|
21
|
+
readonly block: number;
|
|
22
|
+
readonly awareness: number;
|
|
23
|
+
readonly serve: number;
|
|
24
|
+
readonly defense: number;
|
|
25
|
+
readonly stamina: number;
|
|
26
|
+
constructor(opts: PerformanceStatsOpts);
|
|
27
|
+
toString(): string;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { getKeys } from '../utils';
|
|
2
|
-
export class PerformanceStats {
|
|
3
|
-
constructor(opts) {
|
|
4
|
-
this.serve = opts.serve;
|
|
5
|
-
this.pass = opts.pass;
|
|
6
|
-
this.setting = opts.setting;
|
|
7
|
-
this.reception = opts.reception;
|
|
8
|
-
this.spike = opts.spike;
|
|
9
|
-
this.backAttack = opts.backAttack;
|
|
10
|
-
this.jump = opts.jump;
|
|
11
|
-
this.block = opts.block;
|
|
12
|
-
this.awareness = opts.awareness;
|
|
13
|
-
this.defense = opts.defense;
|
|
14
|
-
this.stamina = opts.stamina;
|
|
15
|
-
}
|
|
16
|
-
toString() {
|
|
17
|
-
return getKeys(this).map(key => `${key}: ${this[key]}`).join(', ');
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
import { getKeys } from '../utils';
|
|
2
|
+
export class PerformanceStats {
|
|
3
|
+
constructor(opts) {
|
|
4
|
+
this.serve = opts.serve;
|
|
5
|
+
this.pass = opts.pass;
|
|
6
|
+
this.setting = opts.setting;
|
|
7
|
+
this.reception = opts.reception;
|
|
8
|
+
this.spike = opts.spike;
|
|
9
|
+
this.backAttack = opts.backAttack;
|
|
10
|
+
this.jump = opts.jump;
|
|
11
|
+
this.block = opts.block;
|
|
12
|
+
this.awareness = opts.awareness;
|
|
13
|
+
this.defense = opts.defense;
|
|
14
|
+
this.stamina = opts.stamina;
|
|
15
|
+
}
|
|
16
|
+
toString() {
|
|
17
|
+
return getKeys(this).map(key => `${key}: ${this[key]}`).join(', ');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { PerformanceStats } from './performance-stats';
|
|
2
|
-
import { Role } from './role';
|
|
3
|
-
import { Trait } from './trait';
|
|
4
|
-
import { Country } from '../country';
|
|
5
|
-
import { GeneralStat } from './stats';
|
|
6
|
-
export interface Stat {
|
|
7
|
-
name: GeneralStat;
|
|
8
|
-
value: number;
|
|
9
|
-
}
|
|
10
|
-
interface PlayerOpts {
|
|
11
|
-
readonly id: string;
|
|
12
|
-
readonly name: Name;
|
|
13
|
-
readonly country: Country;
|
|
14
|
-
readonly stats: PerformanceStats;
|
|
15
|
-
readonly roles: Role[];
|
|
16
|
-
readonly traits: Trait[];
|
|
17
|
-
}
|
|
18
|
-
export interface Name {
|
|
19
|
-
first: string;
|
|
20
|
-
last: string;
|
|
21
|
-
}
|
|
22
|
-
export declare class Player {
|
|
23
|
-
readonly id: string;
|
|
24
|
-
readonly name: Name;
|
|
25
|
-
readonly country: Country;
|
|
26
|
-
readonly stats: PerformanceStats;
|
|
27
|
-
readonly roles: Role[];
|
|
28
|
-
readonly traits: Trait[];
|
|
29
|
-
readonly generalStats: Stat[];
|
|
30
|
-
constructor({ id, name, country, stats, roles, traits }: PlayerOpts);
|
|
31
|
-
static sortPlayers(roles: Role[]): (p1: Player, p2: Player) => number;
|
|
32
|
-
static compareStats(p1: Player, p2: Player): number;
|
|
33
|
-
canPlayLibero(): boolean;
|
|
34
|
-
}
|
|
35
|
-
export {};
|
|
1
|
+
import { PerformanceStats } from './performance-stats';
|
|
2
|
+
import { Role } from './role';
|
|
3
|
+
import { Trait } from './trait';
|
|
4
|
+
import { Country } from '../country';
|
|
5
|
+
import { GeneralStat } from './stats';
|
|
6
|
+
export interface Stat {
|
|
7
|
+
name: GeneralStat;
|
|
8
|
+
value: number;
|
|
9
|
+
}
|
|
10
|
+
interface PlayerOpts {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly name: Name;
|
|
13
|
+
readonly country: Country;
|
|
14
|
+
readonly stats: PerformanceStats;
|
|
15
|
+
readonly roles: Role[];
|
|
16
|
+
readonly traits: Trait[];
|
|
17
|
+
}
|
|
18
|
+
export interface Name {
|
|
19
|
+
first: string;
|
|
20
|
+
last: string;
|
|
21
|
+
}
|
|
22
|
+
export declare class Player {
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly name: Name;
|
|
25
|
+
readonly country: Country;
|
|
26
|
+
readonly stats: PerformanceStats;
|
|
27
|
+
readonly roles: Role[];
|
|
28
|
+
readonly traits: Trait[];
|
|
29
|
+
readonly generalStats: Stat[];
|
|
30
|
+
constructor({ id, name, country, stats, roles, traits }: PlayerOpts);
|
|
31
|
+
static sortPlayers(roles: Role[]): (p1: Player, p2: Player) => number;
|
|
32
|
+
static compareStats(p1: Player, p2: Player): number;
|
|
33
|
+
canPlayLibero(): boolean;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { Role } from './role';
|
|
2
|
-
import { validateUUID } from '../utils';
|
|
3
|
-
import { GeneralStat } from './stats';
|
|
4
|
-
export class Player {
|
|
5
|
-
constructor({ id, name, country, stats, roles, traits }) {
|
|
6
|
-
validateUUID(id);
|
|
7
|
-
this.id = id;
|
|
8
|
-
this.name = name;
|
|
9
|
-
this.country = country;
|
|
10
|
-
this.stats = stats;
|
|
11
|
-
this.roles = roles;
|
|
12
|
-
this.traits = traits;
|
|
13
|
-
this.generalStats = GeneralStat.getStats()
|
|
14
|
-
.map(stat => ({
|
|
15
|
-
name: stat,
|
|
16
|
-
value: GeneralStat.calculateScore(stats, stat)
|
|
17
|
-
}));
|
|
18
|
-
}
|
|
19
|
-
// Used as a base sorting function for players
|
|
20
|
-
static sortPlayers(roles) {
|
|
21
|
-
return (p1, p2) => roles.reduce((x, role) => {
|
|
22
|
-
const p2Score = Role.calculateScore(p2.stats, role);
|
|
23
|
-
const p1Score = Role.calculateScore(p1.stats, role);
|
|
24
|
-
return x + p2Score - p1Score;
|
|
25
|
-
}, 0);
|
|
26
|
-
}
|
|
27
|
-
static compareStats(p1, p2) {
|
|
28
|
-
const compareFn = (acc, current) => {
|
|
29
|
-
let x = current.value;
|
|
30
|
-
switch (current.name) {
|
|
31
|
-
case GeneralStat.ATTACK:
|
|
32
|
-
x *= 0.35;
|
|
33
|
-
break;
|
|
34
|
-
case GeneralStat.DEFENSE:
|
|
35
|
-
x *= 0.35;
|
|
36
|
-
break;
|
|
37
|
-
case GeneralStat.SERVE:
|
|
38
|
-
x *= 0.2;
|
|
39
|
-
break;
|
|
40
|
-
case GeneralStat.PHYSICAL:
|
|
41
|
-
x *= 0.1;
|
|
42
|
-
break;
|
|
43
|
-
default:
|
|
44
|
-
x *= 0;
|
|
45
|
-
}
|
|
46
|
-
return acc + x;
|
|
47
|
-
};
|
|
48
|
-
const s1 = p1.generalStats.reduce(compareFn, 0);
|
|
49
|
-
const s2 = p2.generalStats.reduce(compareFn, 0);
|
|
50
|
-
return s2 - s1;
|
|
51
|
-
}
|
|
52
|
-
canPlayLibero() {
|
|
53
|
-
return this.roles.includes(Role.LIBERO);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
import { Role } from './role';
|
|
2
|
+
import { validateUUID } from '../utils';
|
|
3
|
+
import { GeneralStat } from './stats';
|
|
4
|
+
export class Player {
|
|
5
|
+
constructor({ id, name, country, stats, roles, traits }) {
|
|
6
|
+
validateUUID(id);
|
|
7
|
+
this.id = id;
|
|
8
|
+
this.name = name;
|
|
9
|
+
this.country = country;
|
|
10
|
+
this.stats = stats;
|
|
11
|
+
this.roles = roles;
|
|
12
|
+
this.traits = traits;
|
|
13
|
+
this.generalStats = GeneralStat.getStats()
|
|
14
|
+
.map(stat => ({
|
|
15
|
+
name: stat,
|
|
16
|
+
value: GeneralStat.calculateScore(stats, stat)
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
// Used as a base sorting function for players
|
|
20
|
+
static sortPlayers(roles) {
|
|
21
|
+
return (p1, p2) => roles.reduce((x, role) => {
|
|
22
|
+
const p2Score = Role.calculateScore(p2.stats, role);
|
|
23
|
+
const p1Score = Role.calculateScore(p1.stats, role);
|
|
24
|
+
return x + p2Score - p1Score;
|
|
25
|
+
}, 0);
|
|
26
|
+
}
|
|
27
|
+
static compareStats(p1, p2) {
|
|
28
|
+
const compareFn = (acc, current) => {
|
|
29
|
+
let x = current.value;
|
|
30
|
+
switch (current.name) {
|
|
31
|
+
case GeneralStat.ATTACK:
|
|
32
|
+
x *= 0.35;
|
|
33
|
+
break;
|
|
34
|
+
case GeneralStat.DEFENSE:
|
|
35
|
+
x *= 0.35;
|
|
36
|
+
break;
|
|
37
|
+
case GeneralStat.SERVE:
|
|
38
|
+
x *= 0.2;
|
|
39
|
+
break;
|
|
40
|
+
case GeneralStat.PHYSICAL:
|
|
41
|
+
x *= 0.1;
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
x *= 0;
|
|
45
|
+
}
|
|
46
|
+
return acc + x;
|
|
47
|
+
};
|
|
48
|
+
const s1 = p1.generalStats.reduce(compareFn, 0);
|
|
49
|
+
const s2 = p2.generalStats.reduce(compareFn, 0);
|
|
50
|
+
return s2 - s1;
|
|
51
|
+
}
|
|
52
|
+
canPlayLibero() {
|
|
53
|
+
return this.roles.includes(Role.LIBERO);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { PerformanceStats } from './performance-stats';
|
|
2
|
-
export declare class Role {
|
|
3
|
-
static readonly SETTER: Role;
|
|
4
|
-
static readonly LIBERO: Role;
|
|
5
|
-
static readonly OUTSIDE_HITTER: Role;
|
|
6
|
-
static readonly OPPOSITE_HITTER: Role;
|
|
7
|
-
static readonly MIDDLE_BLOCKER: Role;
|
|
8
|
-
static readonly DEFENSIVE_SPECIALIST: Role;
|
|
9
|
-
private static readonly ROLES;
|
|
10
|
-
readonly name: string;
|
|
11
|
-
private constructor();
|
|
12
|
-
static getRoles(): Role[];
|
|
13
|
-
static calculateScore(stats: PerformanceStats, role: Role): number;
|
|
14
|
-
static assignRoles(stats: PerformanceStats): Role[];
|
|
15
|
-
}
|
|
1
|
+
import { PerformanceStats } from './performance-stats';
|
|
2
|
+
export declare class Role {
|
|
3
|
+
static readonly SETTER: Role;
|
|
4
|
+
static readonly LIBERO: Role;
|
|
5
|
+
static readonly OUTSIDE_HITTER: Role;
|
|
6
|
+
static readonly OPPOSITE_HITTER: Role;
|
|
7
|
+
static readonly MIDDLE_BLOCKER: Role;
|
|
8
|
+
static readonly DEFENSIVE_SPECIALIST: Role;
|
|
9
|
+
private static readonly ROLES;
|
|
10
|
+
readonly name: string;
|
|
11
|
+
private constructor();
|
|
12
|
+
static getRoles(): Role[];
|
|
13
|
+
static calculateScore(stats: PerformanceStats, role: Role): number;
|
|
14
|
+
static assignRoles(stats: PerformanceStats): Role[];
|
|
15
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import roleWeights from '../../../data/role.formula.json';
|
|
2
|
-
export class Role {
|
|
3
|
-
constructor(name) {
|
|
4
|
-
this.name = name;
|
|
5
|
-
}
|
|
6
|
-
static getRoles() {
|
|
7
|
-
return [...Role.ROLES];
|
|
8
|
-
}
|
|
9
|
-
static calculateScore(stats, role) {
|
|
10
|
-
const weights = roleWeights.find(r => r.role === role.name);
|
|
11
|
-
if (weights == null)
|
|
12
|
-
throw new Error('COULD_NOT_FIND_ROLE_WEIGHT');
|
|
13
|
-
const score = Object.entries(weights.weight)
|
|
14
|
-
.reduce((score, [key, value]) => score + (stats[key] * weights.weight[key]), 0);
|
|
15
|
-
return Math.round(score);
|
|
16
|
-
}
|
|
17
|
-
static assignRoles(stats) {
|
|
18
|
-
const scores = this.getRoles().map(role => ({
|
|
19
|
-
role,
|
|
20
|
-
score: this.calculateScore(stats, role)
|
|
21
|
-
})).sort((x, y) => y.score - x.score);
|
|
22
|
-
const out = [scores[0].role];
|
|
23
|
-
if (scores[1].score >= 65) {
|
|
24
|
-
out.push(scores[1].role);
|
|
25
|
-
}
|
|
26
|
-
if (scores[2].score >= 70) {
|
|
27
|
-
out.push(scores[2].role);
|
|
28
|
-
}
|
|
29
|
-
return out;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
Role.SETTER = new Role('Setter');
|
|
33
|
-
Role.LIBERO = new Role('Libero');
|
|
34
|
-
Role.OUTSIDE_HITTER = new Role('Outside Hitter');
|
|
35
|
-
Role.OPPOSITE_HITTER = new Role('Opposite Hitter');
|
|
36
|
-
Role.MIDDLE_BLOCKER = new Role('Middle Blocker');
|
|
37
|
-
Role.DEFENSIVE_SPECIALIST = new Role('Defensive Specialist');
|
|
38
|
-
Role.ROLES = [Role.LIBERO, Role.SETTER, Role.OPPOSITE_HITTER, Role.OUTSIDE_HITTER, Role.MIDDLE_BLOCKER,
|
|
39
|
-
Role.DEFENSIVE_SPECIALIST];
|
|
1
|
+
import roleWeights from '../../../data/role.formula.json';
|
|
2
|
+
export class Role {
|
|
3
|
+
constructor(name) {
|
|
4
|
+
this.name = name;
|
|
5
|
+
}
|
|
6
|
+
static getRoles() {
|
|
7
|
+
return [...Role.ROLES];
|
|
8
|
+
}
|
|
9
|
+
static calculateScore(stats, role) {
|
|
10
|
+
const weights = roleWeights.find(r => r.role === role.name);
|
|
11
|
+
if (weights == null)
|
|
12
|
+
throw new Error('COULD_NOT_FIND_ROLE_WEIGHT');
|
|
13
|
+
const score = Object.entries(weights.weight)
|
|
14
|
+
.reduce((score, [key, value]) => score + (stats[key] * weights.weight[key]), 0);
|
|
15
|
+
return Math.round(score);
|
|
16
|
+
}
|
|
17
|
+
static assignRoles(stats) {
|
|
18
|
+
const scores = this.getRoles().map(role => ({
|
|
19
|
+
role,
|
|
20
|
+
score: this.calculateScore(stats, role)
|
|
21
|
+
})).sort((x, y) => y.score - x.score);
|
|
22
|
+
const out = [scores[0].role];
|
|
23
|
+
if (scores[1].score >= 65) {
|
|
24
|
+
out.push(scores[1].role);
|
|
25
|
+
}
|
|
26
|
+
if (scores[2].score >= 70) {
|
|
27
|
+
out.push(scores[2].role);
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
Role.SETTER = new Role('Setter');
|
|
33
|
+
Role.LIBERO = new Role('Libero');
|
|
34
|
+
Role.OUTSIDE_HITTER = new Role('Outside Hitter');
|
|
35
|
+
Role.OPPOSITE_HITTER = new Role('Opposite Hitter');
|
|
36
|
+
Role.MIDDLE_BLOCKER = new Role('Middle Blocker');
|
|
37
|
+
Role.DEFENSIVE_SPECIALIST = new Role('Defensive Specialist');
|
|
38
|
+
Role.ROLES = [Role.LIBERO, Role.SETTER, Role.OPPOSITE_HITTER, Role.OUTSIDE_HITTER, Role.MIDDLE_BLOCKER,
|
|
39
|
+
Role.DEFENSIVE_SPECIALIST];
|