volleyballsimtypes 0.0.358 → 0.0.359
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/package.json +1 -1
- package/dist/cjs/src/api/index.d.ts +0 -127
- package/dist/cjs/src/api/index.js +0 -3
- package/dist/cjs/src/data/common/auth-admin.d.ts +0 -7
- package/dist/cjs/src/data/common/auth-admin.js +0 -156
- package/dist/cjs/src/data/common/index.d.ts +0 -2
- package/dist/cjs/src/data/common/index.js +0 -18
- package/dist/cjs/src/data/common/status.d.ts +0 -8
- package/dist/cjs/src/data/common/status.js +0 -11
- package/dist/cjs/src/data/country-locales.json +0 -1204
- package/dist/cjs/src/data/index.d.ts +0 -4
- package/dist/cjs/src/data/index.js +0 -22
- package/dist/cjs/src/data/init-models.d.ts +0 -2
- package/dist/cjs/src/data/init-models.js +0 -265
- package/dist/cjs/src/data/models/auth-identity.d.ts +0 -35
- package/dist/cjs/src/data/models/auth-identity.js +0 -75
- package/dist/cjs/src/data/models/auth-session.d.ts +0 -34
- package/dist/cjs/src/data/models/auth-session.js +0 -74
- package/dist/cjs/src/data/models/auth-user.d.ts +0 -56
- package/dist/cjs/src/data/models/auth-user.js +0 -74
- package/dist/cjs/src/data/models/box-score.d.ts +0 -73
- package/dist/cjs/src/data/models/box-score.js +0 -174
- package/dist/cjs/src/data/models/coach.d.ts +0 -27
- package/dist/cjs/src/data/models/coach.js +0 -62
- package/dist/cjs/src/data/models/competition-champion.d.ts +0 -23
- package/dist/cjs/src/data/models/competition-champion.js +0 -38
- package/dist/cjs/src/data/models/competition-match.d.ts +0 -29
- package/dist/cjs/src/data/models/competition-match.js +0 -46
- package/dist/cjs/src/data/models/competition-mvp.d.ts +0 -29
- package/dist/cjs/src/data/models/competition-mvp.js +0 -52
- package/dist/cjs/src/data/models/competition-standings-match.d.ts +0 -45
- package/dist/cjs/src/data/models/competition-standings-match.js +0 -60
- package/dist/cjs/src/data/models/competition-standings.d.ts +0 -47
- package/dist/cjs/src/data/models/competition-standings.js +0 -54
- package/dist/cjs/src/data/models/competition-teams.d.ts +0 -25
- package/dist/cjs/src/data/models/competition-teams.js +0 -46
- package/dist/cjs/src/data/models/competition.d.ts +0 -116
- package/dist/cjs/src/data/models/competition.js +0 -57
- package/dist/cjs/src/data/models/country.d.ts +0 -61
- package/dist/cjs/src/data/models/country.js +0 -88
- package/dist/cjs/src/data/models/currency-transaction.d.ts +0 -43
- package/dist/cjs/src/data/models/currency-transaction.js +0 -74
- package/dist/cjs/src/data/models/division-season.d.ts +0 -23
- package/dist/cjs/src/data/models/division-season.js +0 -38
- package/dist/cjs/src/data/models/division.d.ts +0 -47
- package/dist/cjs/src/data/models/division.js +0 -42
- package/dist/cjs/src/data/models/gacha-pity.d.ts +0 -23
- package/dist/cjs/src/data/models/gacha-pity.js +0 -47
- package/dist/cjs/src/data/models/gacha-pull-history.d.ts +0 -31
- package/dist/cjs/src/data/models/gacha-pull-history.js +0 -61
- package/dist/cjs/src/data/models/index.d.ts +0 -43
- package/dist/cjs/src/data/models/index.js +0 -59
- package/dist/cjs/src/data/models/iteration.d.ts +0 -26
- package/dist/cjs/src/data/models/iteration.js +0 -30
- package/dist/cjs/src/data/models/league.d.ts +0 -33
- package/dist/cjs/src/data/models/league.js +0 -44
- package/dist/cjs/src/data/models/match-rating.d.ts +0 -27
- package/dist/cjs/src/data/models/match-rating.js +0 -52
- package/dist/cjs/src/data/models/match-result.d.ts +0 -27
- package/dist/cjs/src/data/models/match-result.js +0 -38
- package/dist/cjs/src/data/models/match-set.d.ts +0 -65
- package/dist/cjs/src/data/models/match-set.js +0 -56
- package/dist/cjs/src/data/models/match.d.ts +0 -90
- package/dist/cjs/src/data/models/match.js +0 -64
- package/dist/cjs/src/data/models/notification.d.ts +0 -20
- package/dist/cjs/src/data/models/notification.js +0 -55
- package/dist/cjs/src/data/models/performance-stats.d.ts +0 -53
- package/dist/cjs/src/data/models/performance-stats.js +0 -120
- package/dist/cjs/src/data/models/player-improvement-log.d.ts +0 -31
- package/dist/cjs/src/data/models/player-improvement-log.js +0 -60
- package/dist/cjs/src/data/models/player-team.d.ts +0 -30
- package/dist/cjs/src/data/models/player-team.js +0 -57
- package/dist/cjs/src/data/models/player.d.ts +0 -106
- package/dist/cjs/src/data/models/player.js +0 -62
- package/dist/cjs/src/data/models/promotion-match.d.ts +0 -36
- package/dist/cjs/src/data/models/promotion-match.js +0 -49
- package/dist/cjs/src/data/models/rally.d.ts +0 -29
- package/dist/cjs/src/data/models/rally.js +0 -50
- package/dist/cjs/src/data/models/region-qualifier.d.ts +0 -29
- package/dist/cjs/src/data/models/region-qualifier.js +0 -47
- package/dist/cjs/src/data/models/tactics.d.ts +0 -38
- package/dist/cjs/src/data/models/tactics.js +0 -55
- package/dist/cjs/src/data/models/team-replacement.d.ts +0 -23
- package/dist/cjs/src/data/models/team-replacement.js +0 -40
- package/dist/cjs/src/data/models/team.d.ts +0 -151
- package/dist/cjs/src/data/models/team.js +0 -67
- package/dist/cjs/src/data/models/user-currency.d.ts +0 -21
- package/dist/cjs/src/data/models/user-currency.js +0 -42
- package/dist/cjs/src/data/models/user-player-progress.d.ts +0 -19
- package/dist/cjs/src/data/models/user-player-progress.js +0 -37
- package/dist/cjs/src/data/models/user-pull-grant.d.ts +0 -31
- package/dist/cjs/src/data/models/user-pull-grant.js +0 -61
- package/dist/cjs/src/data/models/user-settings.d.ts +0 -24
- package/dist/cjs/src/data/models/user-settings.js +0 -37
- package/dist/cjs/src/data/models/user-team.d.ts +0 -23
- package/dist/cjs/src/data/models/user-team.js +0 -45
- package/dist/cjs/src/data/models/views/box-score-totals.d.ts +0 -71
- package/dist/cjs/src/data/models/views/box-score-totals.js +0 -138
- package/dist/cjs/src/data/models/views/index.d.ts +0 -1
- package/dist/cjs/src/data/models/views/index.js +0 -17
- package/dist/cjs/src/data/models/vper.d.ts +0 -25
- package/dist/cjs/src/data/models/vper.js +0 -46
- package/dist/cjs/src/data/models/wishlist.d.ts +0 -21
- package/dist/cjs/src/data/models/wishlist.js +0 -42
- package/dist/cjs/src/data/transformers/box-score.d.ts +0 -5
- package/dist/cjs/src/data/transformers/box-score.js +0 -81
- package/dist/cjs/src/data/transformers/competition-team-order.d.ts +0 -2
- package/dist/cjs/src/data/transformers/competition-team-order.js +0 -21
- package/dist/cjs/src/data/transformers/country.d.ts +0 -5
- package/dist/cjs/src/data/transformers/country.js +0 -43
- package/dist/cjs/src/data/transformers/court-position.d.ts +0 -5
- package/dist/cjs/src/data/transformers/court-position.js +0 -30
- package/dist/cjs/src/data/transformers/division.d.ts +0 -5
- package/dist/cjs/src/data/transformers/division.js +0 -32
- package/dist/cjs/src/data/transformers/index.d.ts +0 -27
- package/dist/cjs/src/data/transformers/index.js +0 -43
- package/dist/cjs/src/data/transformers/iteration.d.ts +0 -5
- package/dist/cjs/src/data/transformers/iteration.js +0 -17
- package/dist/cjs/src/data/transformers/league.d.ts +0 -5
- package/dist/cjs/src/data/transformers/league.js +0 -23
- package/dist/cjs/src/data/transformers/match-rating.d.ts +0 -4
- package/dist/cjs/src/data/transformers/match-rating.js +0 -15
- package/dist/cjs/src/data/transformers/match-set.d.ts +0 -12
- package/dist/cjs/src/data/transformers/match-set.js +0 -51
- package/dist/cjs/src/data/transformers/match.d.ts +0 -5
- package/dist/cjs/src/data/transformers/match.js +0 -60
- package/dist/cjs/src/data/transformers/performance-stats.d.ts +0 -5
- package/dist/cjs/src/data/transformers/performance-stats.js +0 -50
- package/dist/cjs/src/data/transformers/player-team.d.ts +0 -3
- package/dist/cjs/src/data/transformers/player-team.js +0 -12
- package/dist/cjs/src/data/transformers/player.d.ts +0 -5
- package/dist/cjs/src/data/transformers/player.js +0 -85
- package/dist/cjs/src/data/transformers/promotion-match.d.ts +0 -5
- package/dist/cjs/src/data/transformers/promotion-match.js +0 -23
- package/dist/cjs/src/data/transformers/qualifier-match.d.ts +0 -5
- package/dist/cjs/src/data/transformers/qualifier-match.js +0 -22
- package/dist/cjs/src/data/transformers/qualifier.d.ts +0 -5
- package/dist/cjs/src/data/transformers/qualifier.js +0 -52
- package/dist/cjs/src/data/transformers/rally-event.d.ts +0 -20
- package/dist/cjs/src/data/transformers/rally-event.js +0 -98
- package/dist/cjs/src/data/transformers/rally.d.ts +0 -5
- package/dist/cjs/src/data/transformers/rally.js +0 -100
- package/dist/cjs/src/data/transformers/region-qualifier.d.ts +0 -5
- package/dist/cjs/src/data/transformers/region-qualifier.js +0 -17
- package/dist/cjs/src/data/transformers/season-match.d.ts +0 -4
- package/dist/cjs/src/data/transformers/season-match.js +0 -15
- package/dist/cjs/src/data/transformers/season.d.ts +0 -5
- package/dist/cjs/src/data/transformers/season.js +0 -49
- package/dist/cjs/src/data/transformers/stage.d.ts +0 -5
- package/dist/cjs/src/data/transformers/stage.js +0 -36
- package/dist/cjs/src/data/transformers/standing.d.ts +0 -4
- package/dist/cjs/src/data/transformers/standing.js +0 -20
- package/dist/cjs/src/data/transformers/tactics.d.ts +0 -5
- package/dist/cjs/src/data/transformers/tactics.js +0 -59
- package/dist/cjs/src/data/transformers/team.d.ts +0 -5
- package/dist/cjs/src/data/transformers/team.js +0 -34
- package/dist/cjs/src/data/transformers/tournament-match.d.ts +0 -5
- package/dist/cjs/src/data/transformers/tournament-match.js +0 -22
- package/dist/cjs/src/data/transformers/tournament.d.ts +0 -5
- package/dist/cjs/src/data/transformers/tournament.js +0 -52
- package/dist/cjs/src/data/transformers/vper.d.ts +0 -5
- package/dist/cjs/src/data/transformers/vper.js +0 -19
- package/dist/cjs/src/index.d.ts +0 -3
- package/dist/cjs/src/index.js +0 -19
- package/dist/cjs/src/logger.d.ts +0 -3
- package/dist/cjs/src/logger.js +0 -26
- package/dist/cjs/src/service/competition/division.d.ts +0 -22
- package/dist/cjs/src/service/competition/division.js +0 -54
- package/dist/cjs/src/service/competition/index.d.ts +0 -11
- package/dist/cjs/src/service/competition/index.js +0 -27
- package/dist/cjs/src/service/competition/iteration.d.ts +0 -6
- package/dist/cjs/src/service/competition/iteration.js +0 -23
- package/dist/cjs/src/service/competition/league.d.ts +0 -12
- package/dist/cjs/src/service/competition/league.js +0 -49
- package/dist/cjs/src/service/competition/promotion-match.d.ts +0 -9
- package/dist/cjs/src/service/competition/promotion-match.js +0 -29
- package/dist/cjs/src/service/competition/qualifier-match.d.ts +0 -9
- package/dist/cjs/src/service/competition/qualifier-match.js +0 -27
- package/dist/cjs/src/service/competition/qualifier.d.ts +0 -18
- package/dist/cjs/src/service/competition/qualifier.js +0 -49
- package/dist/cjs/src/service/competition/schemas/division.z.d.ts +0 -12
- package/dist/cjs/src/service/competition/schemas/division.z.js +0 -35
- package/dist/cjs/src/service/competition/schemas/iteration.z.d.ts +0 -6
- package/dist/cjs/src/service/competition/schemas/iteration.z.js +0 -8
- package/dist/cjs/src/service/competition/schemas/league.z.d.ts +0 -16
- package/dist/cjs/src/service/competition/schemas/league.z.js +0 -20
- package/dist/cjs/src/service/competition/schemas/promotion-match.z.d.ts +0 -9
- package/dist/cjs/src/service/competition/schemas/promotion-match.z.js +0 -20
- package/dist/cjs/src/service/competition/schemas/qualifier-match.z.d.ts +0 -9
- package/dist/cjs/src/service/competition/schemas/qualifier-match.z.js +0 -20
- package/dist/cjs/src/service/competition/schemas/qualifier.z.d.ts +0 -20
- package/dist/cjs/src/service/competition/schemas/qualifier.z.js +0 -32
- package/dist/cjs/src/service/competition/schemas/season.z.d.ts +0 -21
- package/dist/cjs/src/service/competition/schemas/season.z.js +0 -32
- package/dist/cjs/src/service/competition/schemas/standing.z.d.ts +0 -19
- package/dist/cjs/src/service/competition/schemas/standing.z.js +0 -53
- package/dist/cjs/src/service/competition/schemas/tournament-match.z.d.ts +0 -9
- package/dist/cjs/src/service/competition/schemas/tournament-match.z.js +0 -19
- package/dist/cjs/src/service/competition/schemas/tournament.z.d.ts +0 -18
- package/dist/cjs/src/service/competition/schemas/tournament.z.js +0 -28
- package/dist/cjs/src/service/competition/season.d.ts +0 -22
- package/dist/cjs/src/service/competition/season.js +0 -75
- package/dist/cjs/src/service/competition/stage.d.ts +0 -17
- package/dist/cjs/src/service/competition/stage.js +0 -37
- package/dist/cjs/src/service/competition/standing.d.ts +0 -24
- package/dist/cjs/src/service/competition/standing.js +0 -108
- package/dist/cjs/src/service/competition/standing.test.d.ts +0 -1
- package/dist/cjs/src/service/competition/standing.test.js +0 -160
- package/dist/cjs/src/service/competition/tournament-match.d.ts +0 -9
- package/dist/cjs/src/service/competition/tournament-match.js +0 -29
- package/dist/cjs/src/service/competition/tournament.d.ts +0 -15
- package/dist/cjs/src/service/competition/tournament.js +0 -36
- package/dist/cjs/src/service/country/country.d.ts +0 -29
- package/dist/cjs/src/service/country/country.js +0 -55
- package/dist/cjs/src/service/country/index.d.ts +0 -1
- package/dist/cjs/src/service/country/index.js +0 -17
- package/dist/cjs/src/service/country/schemas/country.z.d.ts +0 -23
- package/dist/cjs/src/service/country/schemas/country.z.js +0 -20
- package/dist/cjs/src/service/event/block.d.ts +0 -25
- package/dist/cjs/src/service/event/block.js +0 -50
- package/dist/cjs/src/service/event/event-types.d.ts +0 -7
- package/dist/cjs/src/service/event/event-types.js +0 -2
- package/dist/cjs/src/service/event/in-play-event.d.ts +0 -17
- package/dist/cjs/src/service/event/in-play-event.js +0 -21
- package/dist/cjs/src/service/event/index.d.ts +0 -10
- package/dist/cjs/src/service/event/index.js +0 -26
- package/dist/cjs/src/service/event/libero-replacement.d.ts +0 -13
- package/dist/cjs/src/service/event/libero-replacement.js +0 -38
- package/dist/cjs/src/service/event/rally-event.d.ts +0 -20
- package/dist/cjs/src/service/event/rally-event.js +0 -20
- package/dist/cjs/src/service/event/reception.d.ts +0 -23
- package/dist/cjs/src/service/event/reception.js +0 -47
- package/dist/cjs/src/service/event/schemas/block.z.d.ts +0 -22
- package/dist/cjs/src/service/event/schemas/block.z.js +0 -17
- package/dist/cjs/src/service/event/schemas/libero-replacement.z.d.ts +0 -7
- package/dist/cjs/src/service/event/schemas/libero-replacement.z.js +0 -20
- package/dist/cjs/src/service/event/schemas/reception.z.d.ts +0 -21
- package/dist/cjs/src/service/event/schemas/reception.z.js +0 -16
- package/dist/cjs/src/service/event/schemas/serve.z.d.ts +0 -21
- package/dist/cjs/src/service/event/schemas/serve.z.js +0 -16
- package/dist/cjs/src/service/event/schemas/set.z.d.ts +0 -21
- package/dist/cjs/src/service/event/schemas/set.z.js +0 -16
- package/dist/cjs/src/service/event/schemas/spike.z.d.ts +0 -21
- package/dist/cjs/src/service/event/schemas/spike.z.js +0 -16
- package/dist/cjs/src/service/event/schemas/substitution.z.d.ts +0 -6
- package/dist/cjs/src/service/event/schemas/substitution.z.js +0 -16
- package/dist/cjs/src/service/event/serve.d.ts +0 -23
- package/dist/cjs/src/service/event/serve.js +0 -47
- package/dist/cjs/src/service/event/set.d.ts +0 -21
- package/dist/cjs/src/service/event/set.js +0 -45
- package/dist/cjs/src/service/event/spike.d.ts +0 -25
- package/dist/cjs/src/service/event/spike.js +0 -49
- package/dist/cjs/src/service/event/substitution.d.ts +0 -7
- package/dist/cjs/src/service/event/substitution.js +0 -31
- package/dist/cjs/src/service/index.d.ts +0 -7
- package/dist/cjs/src/service/index.js +0 -23
- package/dist/cjs/src/service/match/box-score.d.ts +0 -94
- package/dist/cjs/src/service/match/box-score.js +0 -80
- package/dist/cjs/src/service/match/court-position.d.ts +0 -34
- package/dist/cjs/src/service/match/court-position.js +0 -70
- package/dist/cjs/src/service/match/index.d.ts +0 -9
- package/dist/cjs/src/service/match/index.js +0 -25
- package/dist/cjs/src/service/match/match-generator.d.ts +0 -5
- package/dist/cjs/src/service/match/match-generator.js +0 -73
- package/dist/cjs/src/service/match/match-rating.d.ts +0 -34
- package/dist/cjs/src/service/match/match-rating.js +0 -97
- package/dist/cjs/src/service/match/match-rating.test.d.ts +0 -1
- package/dist/cjs/src/service/match/match-rating.test.js +0 -146
- package/dist/cjs/src/service/match/match-set.d.ts +0 -33
- package/dist/cjs/src/service/match/match-set.js +0 -66
- package/dist/cjs/src/service/match/match-set.test.d.ts +0 -1
- package/dist/cjs/src/service/match/match-set.test.js +0 -123
- package/dist/cjs/src/service/match/match-team.d.ts +0 -7
- package/dist/cjs/src/service/match/match-team.js +0 -20
- package/dist/cjs/src/service/match/match.d.ts +0 -26
- package/dist/cjs/src/service/match/match.js +0 -65
- package/dist/cjs/src/service/match/rally.d.ts +0 -15
- package/dist/cjs/src/service/match/rally.js +0 -28
- package/dist/cjs/src/service/match/schemas/box-score.z.d.ts +0 -90
- package/dist/cjs/src/service/match/schemas/box-score.z.js +0 -89
- package/dist/cjs/src/service/match/schemas/match-rating.z.d.ts +0 -47
- package/dist/cjs/src/service/match/schemas/match-rating.z.js +0 -34
- package/dist/cjs/src/service/match/schemas/match-set.z.d.ts +0 -15
- package/dist/cjs/src/service/match/schemas/match-set.z.js +0 -76
- package/dist/cjs/src/service/match/schemas/match.z.d.ts +0 -22
- package/dist/cjs/src/service/match/schemas/match.z.js +0 -107
- package/dist/cjs/src/service/match/schemas/rally.z.d.ts +0 -9
- package/dist/cjs/src/service/match/schemas/rally.z.js +0 -14
- package/dist/cjs/src/service/match/schemas/vper.z.d.ts +0 -7
- package/dist/cjs/src/service/match/schemas/vper.z.js +0 -9
- package/dist/cjs/src/service/match/vper.d.ts +0 -14
- package/dist/cjs/src/service/match/vper.js +0 -69
- package/dist/cjs/src/service/match/vper.test.d.ts +0 -1
- package/dist/cjs/src/service/match/vper.test.js +0 -108
- package/dist/cjs/src/service/player/improvement.d.ts +0 -8
- package/dist/cjs/src/service/player/improvement.js +0 -82
- package/dist/cjs/src/service/player/improvement.test.d.ts +0 -1
- package/dist/cjs/src/service/player/improvement.test.js +0 -144
- package/dist/cjs/src/service/player/index.d.ts +0 -8
- package/dist/cjs/src/service/player/index.js +0 -24
- package/dist/cjs/src/service/player/performance-stats-keys.d.ts +0 -2
- package/dist/cjs/src/service/player/performance-stats-keys.js +0 -5
- package/dist/cjs/src/service/player/performance-stats.d.ts +0 -12
- package/dist/cjs/src/service/player/performance-stats.js +0 -35
- package/dist/cjs/src/service/player/player-generator.d.ts +0 -36
- package/dist/cjs/src/service/player/player-generator.js +0 -257
- package/dist/cjs/src/service/player/player.d.ts +0 -40
- package/dist/cjs/src/service/player/player.js +0 -124
- package/dist/cjs/src/service/player/rarity.d.ts +0 -15
- package/dist/cjs/src/service/player/rarity.js +0 -18
- package/dist/cjs/src/service/player/role.d.ts +0 -28
- package/dist/cjs/src/service/player/role.js +0 -84
- package/dist/cjs/src/service/player/role.test.d.ts +0 -1
- package/dist/cjs/src/service/player/role.test.js +0 -196
- package/dist/cjs/src/service/player/schemas/performance-stats.z.d.ts +0 -22
- package/dist/cjs/src/service/player/schemas/performance-stats.z.js +0 -8
- package/dist/cjs/src/service/player/schemas/player.z.d.ts +0 -147
- package/dist/cjs/src/service/player/schemas/player.z.js +0 -37
- package/dist/cjs/src/service/player/stats.d.ts +0 -12
- package/dist/cjs/src/service/player/stats.js +0 -68
- package/dist/cjs/src/service/player/stats.test.d.ts +0 -1
- package/dist/cjs/src/service/player/stats.test.js +0 -133
- package/dist/cjs/src/service/player/trait.d.ts +0 -51
- package/dist/cjs/src/service/player/trait.js +0 -87
- package/dist/cjs/src/service/team/formation.d.ts +0 -30
- package/dist/cjs/src/service/team/formation.js +0 -108
- package/dist/cjs/src/service/team/index.d.ts +0 -4
- package/dist/cjs/src/service/team/index.js +0 -20
- package/dist/cjs/src/service/team/schemas/formation.z.d.ts +0 -101
- package/dist/cjs/src/service/team/schemas/formation.z.js +0 -33
- package/dist/cjs/src/service/team/schemas/tactics.z.d.ts +0 -18
- package/dist/cjs/src/service/team/schemas/tactics.z.js +0 -52
- package/dist/cjs/src/service/team/schemas/team.z.d.ts +0 -28
- package/dist/cjs/src/service/team/schemas/team.z.js +0 -32
- package/dist/cjs/src/service/team/tactics.d.ts +0 -27
- package/dist/cjs/src/service/team/tactics.js +0 -44
- package/dist/cjs/src/service/team/team-generator.d.ts +0 -15
- package/dist/cjs/src/service/team/team-generator.js +0 -104
- package/dist/cjs/src/service/team/team.d.ts +0 -20
- package/dist/cjs/src/service/team/team.js +0 -51
- package/dist/cjs/src/service/test-helpers.d.ts +0 -38
- package/dist/cjs/src/service/test-helpers.js +0 -163
- package/dist/cjs/src/service/utils/faker-generators.d.ts +0 -25
- package/dist/cjs/src/service/utils/faker-generators.js +0 -82
- package/dist/cjs/src/service/utils/index.d.ts +0 -4
- package/dist/cjs/src/service/utils/index.js +0 -20
- package/dist/cjs/src/service/utils/number-utils.d.ts +0 -4
- package/dist/cjs/src/service/utils/number-utils.js +0 -30
- package/dist/cjs/src/service/utils/number-utils.test.d.ts +0 -1
- package/dist/cjs/src/service/utils/number-utils.test.js +0 -71
- package/dist/cjs/src/service/utils/object-utils.d.ts +0 -4
- package/dist/cjs/src/service/utils/object-utils.js +0 -4
- package/dist/cjs/src/service/utils/rng-utils.d.ts +0 -11
- package/dist/cjs/src/service/utils/rng-utils.js +0 -60
- package/dist/cjs/src/service/utils/rng-utils.test.d.ts +0 -1
- package/dist/cjs/src/service/utils/rng-utils.test.js +0 -102
- package/dist/cjs/src/stat-config/index.d.ts +0 -4
- package/dist/cjs/src/stat-config/index.js +0 -12
- package/dist/cjs/src/stat-config/roles.json +0 -117
- package/dist/cjs/src/stat-config/stat-caps.json +0 -7
- package/dist/cjs/src/stat-config/traits.json +0 -94
- package/dist/esm/src/api/index.d.ts +0 -127
- package/dist/esm/src/api/index.js +0 -1
- package/dist/esm/src/data/common/auth-admin.d.ts +0 -7
- package/dist/esm/src/data/common/auth-admin.js +0 -153
- package/dist/esm/src/data/common/index.d.ts +0 -2
- package/dist/esm/src/data/common/index.js +0 -2
- package/dist/esm/src/data/common/status.d.ts +0 -8
- package/dist/esm/src/data/common/status.js +0 -8
- package/dist/esm/src/data/country-locales.json +0 -1204
- package/dist/esm/src/data/index.d.ts +0 -4
- package/dist/esm/src/data/index.js +0 -4
- package/dist/esm/src/data/init-models.d.ts +0 -2
- package/dist/esm/src/data/init-models.js +0 -262
- package/dist/esm/src/data/models/auth-identity.d.ts +0 -35
- package/dist/esm/src/data/models/auth-identity.js +0 -71
- package/dist/esm/src/data/models/auth-session.d.ts +0 -34
- package/dist/esm/src/data/models/auth-session.js +0 -70
- package/dist/esm/src/data/models/auth-user.d.ts +0 -56
- package/dist/esm/src/data/models/auth-user.js +0 -70
- package/dist/esm/src/data/models/box-score.d.ts +0 -73
- package/dist/esm/src/data/models/box-score.js +0 -170
- package/dist/esm/src/data/models/coach.d.ts +0 -27
- package/dist/esm/src/data/models/coach.js +0 -58
- package/dist/esm/src/data/models/competition-champion.d.ts +0 -23
- package/dist/esm/src/data/models/competition-champion.js +0 -34
- package/dist/esm/src/data/models/competition-match.d.ts +0 -29
- package/dist/esm/src/data/models/competition-match.js +0 -42
- package/dist/esm/src/data/models/competition-mvp.d.ts +0 -29
- package/dist/esm/src/data/models/competition-mvp.js +0 -48
- package/dist/esm/src/data/models/competition-standings-match.d.ts +0 -45
- package/dist/esm/src/data/models/competition-standings-match.js +0 -56
- package/dist/esm/src/data/models/competition-standings.d.ts +0 -47
- package/dist/esm/src/data/models/competition-standings.js +0 -50
- package/dist/esm/src/data/models/competition-teams.d.ts +0 -25
- package/dist/esm/src/data/models/competition-teams.js +0 -42
- package/dist/esm/src/data/models/competition.d.ts +0 -116
- package/dist/esm/src/data/models/competition.js +0 -53
- package/dist/esm/src/data/models/country.d.ts +0 -61
- package/dist/esm/src/data/models/country.js +0 -84
- package/dist/esm/src/data/models/currency-transaction.d.ts +0 -43
- package/dist/esm/src/data/models/currency-transaction.js +0 -70
- package/dist/esm/src/data/models/division-season.d.ts +0 -23
- package/dist/esm/src/data/models/division-season.js +0 -34
- package/dist/esm/src/data/models/division.d.ts +0 -47
- package/dist/esm/src/data/models/division.js +0 -38
- package/dist/esm/src/data/models/gacha-pity.d.ts +0 -23
- package/dist/esm/src/data/models/gacha-pity.js +0 -43
- package/dist/esm/src/data/models/gacha-pull-history.d.ts +0 -31
- package/dist/esm/src/data/models/gacha-pull-history.js +0 -57
- package/dist/esm/src/data/models/index.d.ts +0 -43
- package/dist/esm/src/data/models/index.js +0 -43
- package/dist/esm/src/data/models/iteration.d.ts +0 -26
- package/dist/esm/src/data/models/iteration.js +0 -26
- package/dist/esm/src/data/models/league.d.ts +0 -33
- package/dist/esm/src/data/models/league.js +0 -40
- package/dist/esm/src/data/models/match-rating.d.ts +0 -27
- package/dist/esm/src/data/models/match-rating.js +0 -48
- package/dist/esm/src/data/models/match-result.d.ts +0 -27
- package/dist/esm/src/data/models/match-result.js +0 -34
- package/dist/esm/src/data/models/match-set.d.ts +0 -65
- package/dist/esm/src/data/models/match-set.js +0 -52
- package/dist/esm/src/data/models/match.d.ts +0 -90
- package/dist/esm/src/data/models/match.js +0 -60
- package/dist/esm/src/data/models/notification.d.ts +0 -20
- package/dist/esm/src/data/models/notification.js +0 -51
- package/dist/esm/src/data/models/performance-stats.d.ts +0 -53
- package/dist/esm/src/data/models/performance-stats.js +0 -116
- package/dist/esm/src/data/models/player-improvement-log.d.ts +0 -31
- package/dist/esm/src/data/models/player-improvement-log.js +0 -56
- package/dist/esm/src/data/models/player-team.d.ts +0 -30
- package/dist/esm/src/data/models/player-team.js +0 -53
- package/dist/esm/src/data/models/player.d.ts +0 -106
- package/dist/esm/src/data/models/player.js +0 -58
- package/dist/esm/src/data/models/promotion-match.d.ts +0 -36
- package/dist/esm/src/data/models/promotion-match.js +0 -45
- package/dist/esm/src/data/models/rally.d.ts +0 -29
- package/dist/esm/src/data/models/rally.js +0 -46
- package/dist/esm/src/data/models/region-qualifier.d.ts +0 -29
- package/dist/esm/src/data/models/region-qualifier.js +0 -43
- package/dist/esm/src/data/models/tactics.d.ts +0 -38
- package/dist/esm/src/data/models/tactics.js +0 -51
- package/dist/esm/src/data/models/team-replacement.d.ts +0 -23
- package/dist/esm/src/data/models/team-replacement.js +0 -36
- package/dist/esm/src/data/models/team.d.ts +0 -151
- package/dist/esm/src/data/models/team.js +0 -63
- package/dist/esm/src/data/models/user-currency.d.ts +0 -21
- package/dist/esm/src/data/models/user-currency.js +0 -38
- package/dist/esm/src/data/models/user-player-progress.d.ts +0 -19
- package/dist/esm/src/data/models/user-player-progress.js +0 -33
- package/dist/esm/src/data/models/user-pull-grant.d.ts +0 -31
- package/dist/esm/src/data/models/user-pull-grant.js +0 -57
- package/dist/esm/src/data/models/user-settings.d.ts +0 -24
- package/dist/esm/src/data/models/user-settings.js +0 -33
- package/dist/esm/src/data/models/user-team.d.ts +0 -23
- package/dist/esm/src/data/models/user-team.js +0 -41
- package/dist/esm/src/data/models/views/box-score-totals.d.ts +0 -71
- package/dist/esm/src/data/models/views/box-score-totals.js +0 -134
- package/dist/esm/src/data/models/views/index.d.ts +0 -1
- package/dist/esm/src/data/models/views/index.js +0 -1
- package/dist/esm/src/data/models/vper.d.ts +0 -25
- package/dist/esm/src/data/models/vper.js +0 -42
- package/dist/esm/src/data/models/wishlist.d.ts +0 -21
- package/dist/esm/src/data/models/wishlist.js +0 -38
- package/dist/esm/src/data/transformers/box-score.d.ts +0 -5
- package/dist/esm/src/data/transformers/box-score.js +0 -78
- package/dist/esm/src/data/transformers/competition-team-order.d.ts +0 -2
- package/dist/esm/src/data/transformers/competition-team-order.js +0 -18
- package/dist/esm/src/data/transformers/country.d.ts +0 -5
- package/dist/esm/src/data/transformers/country.js +0 -40
- package/dist/esm/src/data/transformers/court-position.d.ts +0 -5
- package/dist/esm/src/data/transformers/court-position.js +0 -27
- package/dist/esm/src/data/transformers/division.d.ts +0 -5
- package/dist/esm/src/data/transformers/division.js +0 -29
- package/dist/esm/src/data/transformers/index.d.ts +0 -27
- package/dist/esm/src/data/transformers/index.js +0 -27
- package/dist/esm/src/data/transformers/iteration.d.ts +0 -5
- package/dist/esm/src/data/transformers/iteration.js +0 -14
- package/dist/esm/src/data/transformers/league.d.ts +0 -5
- package/dist/esm/src/data/transformers/league.js +0 -20
- package/dist/esm/src/data/transformers/match-rating.d.ts +0 -4
- package/dist/esm/src/data/transformers/match-rating.js +0 -13
- package/dist/esm/src/data/transformers/match-set.d.ts +0 -12
- package/dist/esm/src/data/transformers/match-set.js +0 -48
- package/dist/esm/src/data/transformers/match.d.ts +0 -5
- package/dist/esm/src/data/transformers/match.js +0 -57
- package/dist/esm/src/data/transformers/performance-stats.d.ts +0 -5
- package/dist/esm/src/data/transformers/performance-stats.js +0 -47
- package/dist/esm/src/data/transformers/player-team.d.ts +0 -3
- package/dist/esm/src/data/transformers/player-team.js +0 -10
- package/dist/esm/src/data/transformers/player.d.ts +0 -5
- package/dist/esm/src/data/transformers/player.js +0 -82
- package/dist/esm/src/data/transformers/promotion-match.d.ts +0 -5
- package/dist/esm/src/data/transformers/promotion-match.js +0 -20
- package/dist/esm/src/data/transformers/qualifier-match.d.ts +0 -5
- package/dist/esm/src/data/transformers/qualifier-match.js +0 -19
- package/dist/esm/src/data/transformers/qualifier.d.ts +0 -5
- package/dist/esm/src/data/transformers/qualifier.js +0 -49
- package/dist/esm/src/data/transformers/rally-event.d.ts +0 -20
- package/dist/esm/src/data/transformers/rally-event.js +0 -88
- package/dist/esm/src/data/transformers/rally.d.ts +0 -5
- package/dist/esm/src/data/transformers/rally.js +0 -97
- package/dist/esm/src/data/transformers/region-qualifier.d.ts +0 -5
- package/dist/esm/src/data/transformers/region-qualifier.js +0 -14
- package/dist/esm/src/data/transformers/season-match.d.ts +0 -4
- package/dist/esm/src/data/transformers/season-match.js +0 -13
- package/dist/esm/src/data/transformers/season.d.ts +0 -5
- package/dist/esm/src/data/transformers/season.js +0 -46
- package/dist/esm/src/data/transformers/stage.d.ts +0 -5
- package/dist/esm/src/data/transformers/stage.js +0 -33
- package/dist/esm/src/data/transformers/standing.d.ts +0 -4
- package/dist/esm/src/data/transformers/standing.js +0 -18
- package/dist/esm/src/data/transformers/tactics.d.ts +0 -5
- package/dist/esm/src/data/transformers/tactics.js +0 -56
- package/dist/esm/src/data/transformers/team.d.ts +0 -5
- package/dist/esm/src/data/transformers/team.js +0 -31
- package/dist/esm/src/data/transformers/tournament-match.d.ts +0 -5
- package/dist/esm/src/data/transformers/tournament-match.js +0 -19
- package/dist/esm/src/data/transformers/tournament.d.ts +0 -5
- package/dist/esm/src/data/transformers/tournament.js +0 -49
- package/dist/esm/src/data/transformers/vper.d.ts +0 -5
- package/dist/esm/src/data/transformers/vper.js +0 -16
- package/dist/esm/src/index.d.ts +0 -3
- package/dist/esm/src/index.js +0 -3
- package/dist/esm/src/logger.d.ts +0 -3
- package/dist/esm/src/logger.js +0 -21
- package/dist/esm/src/service/competition/division.d.ts +0 -22
- package/dist/esm/src/service/competition/division.js +0 -47
- package/dist/esm/src/service/competition/index.d.ts +0 -11
- package/dist/esm/src/service/competition/index.js +0 -11
- package/dist/esm/src/service/competition/iteration.d.ts +0 -6
- package/dist/esm/src/service/competition/iteration.js +0 -19
- package/dist/esm/src/service/competition/league.d.ts +0 -12
- package/dist/esm/src/service/competition/league.js +0 -42
- package/dist/esm/src/service/competition/promotion-match.d.ts +0 -9
- package/dist/esm/src/service/competition/promotion-match.js +0 -25
- package/dist/esm/src/service/competition/qualifier-match.d.ts +0 -9
- package/dist/esm/src/service/competition/qualifier-match.js +0 -23
- package/dist/esm/src/service/competition/qualifier.d.ts +0 -18
- package/dist/esm/src/service/competition/qualifier.js +0 -45
- package/dist/esm/src/service/competition/schemas/division.z.d.ts +0 -12
- package/dist/esm/src/service/competition/schemas/division.z.js +0 -32
- package/dist/esm/src/service/competition/schemas/iteration.z.d.ts +0 -6
- package/dist/esm/src/service/competition/schemas/iteration.z.js +0 -5
- package/dist/esm/src/service/competition/schemas/league.z.d.ts +0 -16
- package/dist/esm/src/service/competition/schemas/league.z.js +0 -17
- package/dist/esm/src/service/competition/schemas/promotion-match.z.d.ts +0 -9
- package/dist/esm/src/service/competition/schemas/promotion-match.z.js +0 -17
- package/dist/esm/src/service/competition/schemas/qualifier-match.z.d.ts +0 -9
- package/dist/esm/src/service/competition/schemas/qualifier-match.z.js +0 -17
- package/dist/esm/src/service/competition/schemas/qualifier.z.d.ts +0 -20
- package/dist/esm/src/service/competition/schemas/qualifier.z.js +0 -29
- package/dist/esm/src/service/competition/schemas/season.z.d.ts +0 -21
- package/dist/esm/src/service/competition/schemas/season.z.js +0 -29
- package/dist/esm/src/service/competition/schemas/standing.z.d.ts +0 -19
- package/dist/esm/src/service/competition/schemas/standing.z.js +0 -50
- package/dist/esm/src/service/competition/schemas/tournament-match.z.d.ts +0 -9
- package/dist/esm/src/service/competition/schemas/tournament-match.z.js +0 -16
- package/dist/esm/src/service/competition/schemas/tournament.z.d.ts +0 -18
- package/dist/esm/src/service/competition/schemas/tournament.z.js +0 -25
- package/dist/esm/src/service/competition/season.d.ts +0 -22
- package/dist/esm/src/service/competition/season.js +0 -68
- package/dist/esm/src/service/competition/stage.d.ts +0 -17
- package/dist/esm/src/service/competition/stage.js +0 -34
- package/dist/esm/src/service/competition/standing.d.ts +0 -24
- package/dist/esm/src/service/competition/standing.js +0 -104
- package/dist/esm/src/service/competition/standing.test.d.ts +0 -1
- package/dist/esm/src/service/competition/standing.test.js +0 -158
- package/dist/esm/src/service/competition/tournament-match.d.ts +0 -9
- package/dist/esm/src/service/competition/tournament-match.js +0 -25
- package/dist/esm/src/service/competition/tournament.d.ts +0 -15
- package/dist/esm/src/service/competition/tournament.js +0 -32
- package/dist/esm/src/service/country/country.d.ts +0 -29
- package/dist/esm/src/service/country/country.js +0 -48
- package/dist/esm/src/service/country/index.d.ts +0 -1
- package/dist/esm/src/service/country/index.js +0 -1
- package/dist/esm/src/service/country/schemas/country.z.d.ts +0 -23
- package/dist/esm/src/service/country/schemas/country.z.js +0 -17
- package/dist/esm/src/service/event/block.d.ts +0 -25
- package/dist/esm/src/service/event/block.js +0 -46
- package/dist/esm/src/service/event/event-types.d.ts +0 -7
- package/dist/esm/src/service/event/event-types.js +0 -1
- package/dist/esm/src/service/event/in-play-event.d.ts +0 -17
- package/dist/esm/src/service/event/in-play-event.js +0 -17
- package/dist/esm/src/service/event/index.d.ts +0 -10
- package/dist/esm/src/service/event/index.js +0 -10
- package/dist/esm/src/service/event/libero-replacement.d.ts +0 -13
- package/dist/esm/src/service/event/libero-replacement.js +0 -34
- package/dist/esm/src/service/event/rally-event.d.ts +0 -20
- package/dist/esm/src/service/event/rally-event.js +0 -16
- package/dist/esm/src/service/event/reception.d.ts +0 -23
- package/dist/esm/src/service/event/reception.js +0 -43
- package/dist/esm/src/service/event/schemas/block.z.d.ts +0 -22
- package/dist/esm/src/service/event/schemas/block.z.js +0 -14
- package/dist/esm/src/service/event/schemas/libero-replacement.z.d.ts +0 -7
- package/dist/esm/src/service/event/schemas/libero-replacement.z.js +0 -17
- package/dist/esm/src/service/event/schemas/reception.z.d.ts +0 -21
- package/dist/esm/src/service/event/schemas/reception.z.js +0 -13
- package/dist/esm/src/service/event/schemas/serve.z.d.ts +0 -21
- package/dist/esm/src/service/event/schemas/serve.z.js +0 -13
- package/dist/esm/src/service/event/schemas/set.z.d.ts +0 -21
- package/dist/esm/src/service/event/schemas/set.z.js +0 -13
- package/dist/esm/src/service/event/schemas/spike.z.d.ts +0 -21
- package/dist/esm/src/service/event/schemas/spike.z.js +0 -13
- package/dist/esm/src/service/event/schemas/substitution.z.d.ts +0 -6
- package/dist/esm/src/service/event/schemas/substitution.z.js +0 -13
- package/dist/esm/src/service/event/serve.d.ts +0 -23
- package/dist/esm/src/service/event/serve.js +0 -43
- package/dist/esm/src/service/event/set.d.ts +0 -21
- package/dist/esm/src/service/event/set.js +0 -41
- package/dist/esm/src/service/event/spike.d.ts +0 -25
- package/dist/esm/src/service/event/spike.js +0 -45
- package/dist/esm/src/service/event/substitution.d.ts +0 -7
- package/dist/esm/src/service/event/substitution.js +0 -27
- package/dist/esm/src/service/index.d.ts +0 -7
- package/dist/esm/src/service/index.js +0 -7
- package/dist/esm/src/service/match/box-score.d.ts +0 -94
- package/dist/esm/src/service/match/box-score.js +0 -76
- package/dist/esm/src/service/match/court-position.d.ts +0 -34
- package/dist/esm/src/service/match/court-position.js +0 -62
- package/dist/esm/src/service/match/index.d.ts +0 -9
- package/dist/esm/src/service/match/index.js +0 -9
- package/dist/esm/src/service/match/match-generator.d.ts +0 -5
- package/dist/esm/src/service/match/match-generator.js +0 -67
- package/dist/esm/src/service/match/match-rating.d.ts +0 -34
- package/dist/esm/src/service/match/match-rating.js +0 -93
- package/dist/esm/src/service/match/match-rating.test.d.ts +0 -1
- package/dist/esm/src/service/match/match-rating.test.js +0 -144
- package/dist/esm/src/service/match/match-set.d.ts +0 -33
- package/dist/esm/src/service/match/match-set.js +0 -62
- package/dist/esm/src/service/match/match-set.test.d.ts +0 -1
- package/dist/esm/src/service/match/match-set.test.js +0 -121
- package/dist/esm/src/service/match/match-team.d.ts +0 -7
- package/dist/esm/src/service/match/match-team.js +0 -17
- package/dist/esm/src/service/match/match.d.ts +0 -26
- package/dist/esm/src/service/match/match.js +0 -61
- package/dist/esm/src/service/match/rally.d.ts +0 -15
- package/dist/esm/src/service/match/rally.js +0 -24
- package/dist/esm/src/service/match/schemas/box-score.z.d.ts +0 -90
- package/dist/esm/src/service/match/schemas/box-score.z.js +0 -86
- package/dist/esm/src/service/match/schemas/match-rating.z.d.ts +0 -47
- package/dist/esm/src/service/match/schemas/match-rating.z.js +0 -31
- package/dist/esm/src/service/match/schemas/match-set.z.d.ts +0 -15
- package/dist/esm/src/service/match/schemas/match-set.z.js +0 -73
- package/dist/esm/src/service/match/schemas/match.z.d.ts +0 -22
- package/dist/esm/src/service/match/schemas/match.z.js +0 -104
- package/dist/esm/src/service/match/schemas/rally.z.d.ts +0 -9
- package/dist/esm/src/service/match/schemas/rally.z.js +0 -11
- package/dist/esm/src/service/match/schemas/vper.z.d.ts +0 -7
- package/dist/esm/src/service/match/schemas/vper.z.js +0 -6
- package/dist/esm/src/service/match/vper.d.ts +0 -14
- package/dist/esm/src/service/match/vper.js +0 -65
- package/dist/esm/src/service/match/vper.test.d.ts +0 -1
- package/dist/esm/src/service/match/vper.test.js +0 -106
- package/dist/esm/src/service/player/improvement.d.ts +0 -8
- package/dist/esm/src/service/player/improvement.js +0 -75
- package/dist/esm/src/service/player/improvement.test.d.ts +0 -1
- package/dist/esm/src/service/player/improvement.test.js +0 -142
- package/dist/esm/src/service/player/index.d.ts +0 -8
- package/dist/esm/src/service/player/index.js +0 -8
- package/dist/esm/src/service/player/performance-stats-keys.d.ts +0 -2
- package/dist/esm/src/service/player/performance-stats-keys.js +0 -2
- package/dist/esm/src/service/player/performance-stats.d.ts +0 -12
- package/dist/esm/src/service/player/performance-stats.js +0 -31
- package/dist/esm/src/service/player/player-generator.d.ts +0 -36
- package/dist/esm/src/service/player/player-generator.js +0 -251
- package/dist/esm/src/service/player/player.d.ts +0 -40
- package/dist/esm/src/service/player/player.js +0 -118
- package/dist/esm/src/service/player/rarity.d.ts +0 -15
- package/dist/esm/src/service/player/rarity.js +0 -15
- package/dist/esm/src/service/player/role.d.ts +0 -28
- package/dist/esm/src/service/player/role.js +0 -74
- package/dist/esm/src/service/player/role.test.d.ts +0 -1
- package/dist/esm/src/service/player/role.test.js +0 -194
- package/dist/esm/src/service/player/schemas/performance-stats.z.d.ts +0 -22
- package/dist/esm/src/service/player/schemas/performance-stats.z.js +0 -5
- package/dist/esm/src/service/player/schemas/player.z.d.ts +0 -147
- package/dist/esm/src/service/player/schemas/player.z.js +0 -34
- package/dist/esm/src/service/player/stats.d.ts +0 -12
- package/dist/esm/src/service/player/stats.js +0 -63
- package/dist/esm/src/service/player/stats.test.d.ts +0 -1
- package/dist/esm/src/service/player/stats.test.js +0 -131
- package/dist/esm/src/service/player/trait.d.ts +0 -51
- package/dist/esm/src/service/player/trait.js +0 -80
- package/dist/esm/src/service/team/formation.d.ts +0 -30
- package/dist/esm/src/service/team/formation.js +0 -104
- package/dist/esm/src/service/team/index.d.ts +0 -4
- package/dist/esm/src/service/team/index.js +0 -4
- package/dist/esm/src/service/team/schemas/formation.z.d.ts +0 -101
- package/dist/esm/src/service/team/schemas/formation.z.js +0 -30
- package/dist/esm/src/service/team/schemas/tactics.z.d.ts +0 -18
- package/dist/esm/src/service/team/schemas/tactics.z.js +0 -49
- package/dist/esm/src/service/team/schemas/team.z.d.ts +0 -28
- package/dist/esm/src/service/team/schemas/team.z.js +0 -29
- package/dist/esm/src/service/team/tactics.d.ts +0 -27
- package/dist/esm/src/service/team/tactics.js +0 -40
- package/dist/esm/src/service/team/team-generator.d.ts +0 -15
- package/dist/esm/src/service/team/team-generator.js +0 -97
- package/dist/esm/src/service/team/team.d.ts +0 -20
- package/dist/esm/src/service/team/team.js +0 -47
- package/dist/esm/src/service/test-helpers.d.ts +0 -38
- package/dist/esm/src/service/test-helpers.js +0 -153
- package/dist/esm/src/service/utils/faker-generators.d.ts +0 -25
- package/dist/esm/src/service/utils/faker-generators.js +0 -77
- package/dist/esm/src/service/utils/index.d.ts +0 -4
- package/dist/esm/src/service/utils/index.js +0 -4
- package/dist/esm/src/service/utils/number-utils.d.ts +0 -4
- package/dist/esm/src/service/utils/number-utils.js +0 -24
- package/dist/esm/src/service/utils/number-utils.test.d.ts +0 -1
- package/dist/esm/src/service/utils/number-utils.test.js +0 -69
- package/dist/esm/src/service/utils/object-utils.d.ts +0 -4
- package/dist/esm/src/service/utils/object-utils.js +0 -1
- package/dist/esm/src/service/utils/rng-utils.d.ts +0 -11
- package/dist/esm/src/service/utils/rng-utils.js +0 -55
- package/dist/esm/src/service/utils/rng-utils.test.d.ts +0 -1
- package/dist/esm/src/service/utils/rng-utils.test.js +0 -100
- package/dist/esm/src/stat-config/index.d.ts +0 -4
- package/dist/esm/src/stat-config/index.js +0 -4
- package/dist/esm/src/stat-config/roles.json +0 -117
- package/dist/esm/src/stat-config/stat-caps.json +0 -7
- package/dist/esm/src/stat-config/traits.json +0 -94
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
import { RarityEnum } from './rarity';
|
|
3
|
-
import { assignRoles, getBlockRolePenalty, getRoleEventPenalty, RoleEnum } from './role';
|
|
4
|
-
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
5
|
-
/** Builds a flat PerformanceStats where every stat = value */
|
|
6
|
-
function flatStats(value) {
|
|
7
|
-
return {
|
|
8
|
-
setting: value,
|
|
9
|
-
serve: value,
|
|
10
|
-
spike: value,
|
|
11
|
-
quick: value,
|
|
12
|
-
power: value,
|
|
13
|
-
awareness: value,
|
|
14
|
-
attack: value,
|
|
15
|
-
backAttack: value,
|
|
16
|
-
reception: value,
|
|
17
|
-
overhand: value,
|
|
18
|
-
bump: value,
|
|
19
|
-
block: value,
|
|
20
|
-
read: value,
|
|
21
|
-
commit: value,
|
|
22
|
-
focus: value,
|
|
23
|
-
defense: value,
|
|
24
|
-
stamina: value,
|
|
25
|
-
reflex: value
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/** Builds PerformanceStats biased toward setting (SETTER archetype) */
|
|
29
|
-
function setterStats() {
|
|
30
|
-
return { ...flatStats(20), setting: 90, overhand: 80, awareness: 70, attack: 65 };
|
|
31
|
-
}
|
|
32
|
-
// ─── assignRoles ──────────────────────────────────────────────────────────────
|
|
33
|
-
describe('assignRoles()', () => {
|
|
34
|
-
const ITERATIONS = 2000;
|
|
35
|
-
it.each([
|
|
36
|
-
[RarityEnum.COMMON, 1, 2],
|
|
37
|
-
[RarityEnum.RARE, 1, 3],
|
|
38
|
-
[RarityEnum.LEGENDARY, 1, 4],
|
|
39
|
-
[RarityEnum.MYTHIC, 2, 4],
|
|
40
|
-
[RarityEnum.SPECIAL, 3, 5]
|
|
41
|
-
])('%s: role count always within [%i, %i]', (rarity, min, max) => {
|
|
42
|
-
const stats = flatStats(50);
|
|
43
|
-
for (let i = 0; i < ITERATIONS; i++) {
|
|
44
|
-
const roles = assignRoles(stats, rarity);
|
|
45
|
-
expect(roles.length).toBeGreaterThanOrEqual(min);
|
|
46
|
-
expect(roles.length).toBeLessThanOrEqual(max);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
it('primary role is always the highest-scoring role', () => {
|
|
50
|
-
const stats = setterStats();
|
|
51
|
-
for (let i = 0; i < 200; i++) {
|
|
52
|
-
const roles = assignRoles(stats, RarityEnum.LEGENDARY);
|
|
53
|
-
expect(roles[0]).toBe(RoleEnum.SETTER);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
it('MYTHIC player always gets at least 2 roles', () => {
|
|
57
|
-
const stats = flatStats(50);
|
|
58
|
-
for (let i = 0; i < ITERATIONS; i++) {
|
|
59
|
-
const roles = assignRoles(stats, RarityEnum.MYTHIC);
|
|
60
|
-
expect(roles.length).toBeGreaterThanOrEqual(2);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
it('SPECIAL player always gets at least 3 roles', () => {
|
|
64
|
-
const stats = flatStats(50);
|
|
65
|
-
for (let i = 0; i < ITERATIONS; i++) {
|
|
66
|
-
const roles = assignRoles(stats, RarityEnum.SPECIAL);
|
|
67
|
-
expect(roles.length).toBeGreaterThanOrEqual(3);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
it('roles are unique (no duplicates)', () => {
|
|
71
|
-
const stats = flatStats(50);
|
|
72
|
-
for (let i = 0; i < 500; i++) {
|
|
73
|
-
const roles = assignRoles(stats, RarityEnum.SPECIAL);
|
|
74
|
-
expect(new Set(roles).size).toBe(roles.length);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
it('each role appears at most once', () => {
|
|
78
|
-
const allRoles = Object.values(RoleEnum);
|
|
79
|
-
for (let i = 0; i < 500; i++) {
|
|
80
|
-
const roles = assignRoles(flatStats(50), RarityEnum.SPECIAL);
|
|
81
|
-
allRoles.forEach(role => {
|
|
82
|
-
expect(roles.filter(r => r === role).length).toBeLessThanOrEqual(1);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
// ─── getRoleEventPenalty ──────────────────────────────────────────────────────
|
|
88
|
-
describe('getRoleEventPenalty()', () => {
|
|
89
|
-
// ── reception ──
|
|
90
|
-
describe('reception', () => {
|
|
91
|
-
it('LIBERO has no penalty (1.00)', () => {
|
|
92
|
-
expect(getRoleEventPenalty([RoleEnum.LIBERO], 'reception')).toBeCloseTo(1.00);
|
|
93
|
-
});
|
|
94
|
-
it('OUTSIDE_HITTER has 5% penalty (0.95)', () => {
|
|
95
|
-
expect(getRoleEventPenalty([RoleEnum.OUTSIDE_HITTER], 'reception')).toBeCloseTo(0.95);
|
|
96
|
-
});
|
|
97
|
-
it('SETTER has 8% penalty (0.92)', () => {
|
|
98
|
-
expect(getRoleEventPenalty([RoleEnum.SETTER], 'reception')).toBeCloseTo(0.92);
|
|
99
|
-
});
|
|
100
|
-
it('OPPOSITE_HITTER has 8% penalty (0.92)', () => {
|
|
101
|
-
expect(getRoleEventPenalty([RoleEnum.OPPOSITE_HITTER], 'reception')).toBeCloseTo(0.92);
|
|
102
|
-
});
|
|
103
|
-
it('MIDDLE_BLOCKER has full 15% penalty (0.85)', () => {
|
|
104
|
-
expect(getRoleEventPenalty([RoleEnum.MIDDLE_BLOCKER], 'reception')).toBeCloseTo(0.85);
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
// ── set ──
|
|
108
|
-
describe('set', () => {
|
|
109
|
-
it('SETTER has no penalty (1.00)', () => {
|
|
110
|
-
expect(getRoleEventPenalty([RoleEnum.SETTER], 'set')).toBeCloseTo(1.00);
|
|
111
|
-
});
|
|
112
|
-
it('LIBERO has 2% penalty (0.98)', () => {
|
|
113
|
-
expect(getRoleEventPenalty([RoleEnum.LIBERO], 'set')).toBeCloseTo(0.98);
|
|
114
|
-
});
|
|
115
|
-
it('OUTSIDE_HITTER has 5% penalty (0.95)', () => {
|
|
116
|
-
expect(getRoleEventPenalty([RoleEnum.OUTSIDE_HITTER], 'set')).toBeCloseTo(0.95);
|
|
117
|
-
});
|
|
118
|
-
it('OPPOSITE_HITTER has 5% penalty (0.95)', () => {
|
|
119
|
-
expect(getRoleEventPenalty([RoleEnum.OPPOSITE_HITTER], 'set')).toBeCloseTo(0.95);
|
|
120
|
-
});
|
|
121
|
-
it('MIDDLE_BLOCKER has full 10% penalty (0.90)', () => {
|
|
122
|
-
expect(getRoleEventPenalty([RoleEnum.MIDDLE_BLOCKER], 'set')).toBeCloseTo(0.90);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
// ── spike ──
|
|
126
|
-
describe('spike', () => {
|
|
127
|
-
it('OUTSIDE_HITTER has no penalty (1.00)', () => {
|
|
128
|
-
expect(getRoleEventPenalty([RoleEnum.OUTSIDE_HITTER], 'spike')).toBeCloseTo(1.00);
|
|
129
|
-
});
|
|
130
|
-
it('OPPOSITE_HITTER has no penalty (1.00)', () => {
|
|
131
|
-
expect(getRoleEventPenalty([RoleEnum.OPPOSITE_HITTER], 'spike')).toBeCloseTo(1.00);
|
|
132
|
-
});
|
|
133
|
-
it('SETTER has 2% penalty (0.98)', () => {
|
|
134
|
-
expect(getRoleEventPenalty([RoleEnum.SETTER], 'spike')).toBeCloseTo(0.98);
|
|
135
|
-
});
|
|
136
|
-
it('MIDDLE_BLOCKER has 5% penalty (0.95)', () => {
|
|
137
|
-
expect(getRoleEventPenalty([RoleEnum.MIDDLE_BLOCKER], 'spike')).toBeCloseTo(0.95);
|
|
138
|
-
});
|
|
139
|
-
it('LIBERO has full 10% penalty (0.90)', () => {
|
|
140
|
-
expect(getRoleEventPenalty([RoleEnum.LIBERO], 'spike')).toBeCloseTo(0.90);
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
// ── multi-role: best wins ──
|
|
144
|
-
describe('multi-role selects lowest penalty', () => {
|
|
145
|
-
it('[MIDDLE_BLOCKER, LIBERO] receiving → LIBERO wins (1.00)', () => {
|
|
146
|
-
expect(getRoleEventPenalty([RoleEnum.MIDDLE_BLOCKER, RoleEnum.LIBERO], 'reception')).toBeCloseTo(1.00);
|
|
147
|
-
});
|
|
148
|
-
it('[MIDDLE_BLOCKER, SETTER] setting → SETTER wins (1.00)', () => {
|
|
149
|
-
expect(getRoleEventPenalty([RoleEnum.MIDDLE_BLOCKER, RoleEnum.SETTER], 'set')).toBeCloseTo(1.00);
|
|
150
|
-
});
|
|
151
|
-
it('[LIBERO, OUTSIDE_HITTER] spiking → OH wins (1.00)', () => {
|
|
152
|
-
expect(getRoleEventPenalty([RoleEnum.LIBERO, RoleEnum.OUTSIDE_HITTER], 'spike')).toBeCloseTo(1.00);
|
|
153
|
-
});
|
|
154
|
-
it('[SETTER, OUTSIDE_HITTER] receiving → OH wins (0.95 over 0.92)', () => {
|
|
155
|
-
expect(getRoleEventPenalty([RoleEnum.SETTER, RoleEnum.OUTSIDE_HITTER], 'reception')).toBeCloseTo(0.95);
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
// ── empty roles fallback ──
|
|
159
|
-
it('empty roles array falls back to maximum penalty', () => {
|
|
160
|
-
expect(getRoleEventPenalty([], 'reception')).toBeCloseTo(0.85);
|
|
161
|
-
expect(getRoleEventPenalty([], 'set')).toBeCloseTo(0.90);
|
|
162
|
-
expect(getRoleEventPenalty([], 'spike')).toBeCloseTo(0.95);
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
// ─── getBlockRolePenalty ──────────────────────────────────────────────────────
|
|
166
|
-
describe('getBlockRolePenalty()', () => {
|
|
167
|
-
it('no penalty when any blocker is MIDDLE_BLOCKER (1.00)', () => {
|
|
168
|
-
expect(getBlockRolePenalty([
|
|
169
|
-
[RoleEnum.MIDDLE_BLOCKER],
|
|
170
|
-
[RoleEnum.OUTSIDE_HITTER]
|
|
171
|
-
])).toBeCloseTo(1.00);
|
|
172
|
-
});
|
|
173
|
-
it('no penalty when all blockers are MB', () => {
|
|
174
|
-
expect(getBlockRolePenalty([
|
|
175
|
-
[RoleEnum.MIDDLE_BLOCKER],
|
|
176
|
-
[RoleEnum.MIDDLE_BLOCKER]
|
|
177
|
-
])).toBeCloseTo(1.00);
|
|
178
|
-
});
|
|
179
|
-
it('10% penalty when no blocker is MB (0.90)', () => {
|
|
180
|
-
expect(getBlockRolePenalty([
|
|
181
|
-
[RoleEnum.OUTSIDE_HITTER],
|
|
182
|
-
[RoleEnum.SETTER]
|
|
183
|
-
])).toBeCloseTo(0.90);
|
|
184
|
-
});
|
|
185
|
-
it('10% penalty for single non-MB blocker', () => {
|
|
186
|
-
expect(getBlockRolePenalty([[RoleEnum.OUTSIDE_HITTER]])).toBeCloseTo(0.90);
|
|
187
|
-
});
|
|
188
|
-
it('no penalty if MB is a secondary role of any blocker', () => {
|
|
189
|
-
expect(getBlockRolePenalty([
|
|
190
|
-
[RoleEnum.OPPOSITE_HITTER, RoleEnum.MIDDLE_BLOCKER],
|
|
191
|
-
[RoleEnum.OUTSIDE_HITTER]
|
|
192
|
-
])).toBeCloseTo(1.00);
|
|
193
|
-
});
|
|
194
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const PerformanceStatsInputSchema: z.ZodObject<{
|
|
3
|
-
attack: z.ZodNumber;
|
|
4
|
-
serve: z.ZodNumber;
|
|
5
|
-
reception: z.ZodNumber;
|
|
6
|
-
block: z.ZodNumber;
|
|
7
|
-
setting: z.ZodNumber;
|
|
8
|
-
defense: z.ZodNumber;
|
|
9
|
-
spike: z.ZodNumber;
|
|
10
|
-
quick: z.ZodNumber;
|
|
11
|
-
power: z.ZodNumber;
|
|
12
|
-
awareness: z.ZodNumber;
|
|
13
|
-
backAttack: z.ZodNumber;
|
|
14
|
-
overhand: z.ZodNumber;
|
|
15
|
-
bump: z.ZodNumber;
|
|
16
|
-
read: z.ZodNumber;
|
|
17
|
-
commit: z.ZodNumber;
|
|
18
|
-
focus: z.ZodNumber;
|
|
19
|
-
stamina: z.ZodNumber;
|
|
20
|
-
reflex: z.ZodNumber;
|
|
21
|
-
}, z.core.$strip>;
|
|
22
|
-
export type PerformanceStatsInput = z.infer<typeof PerformanceStatsInputSchema>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { performanceStatKeys } from '../performance-stats-keys';
|
|
3
|
-
const statValueSchema = z.number().int().min(1).max(99);
|
|
4
|
-
const shape = Object.fromEntries(performanceStatKeys.map((key) => [key, statValueSchema]));
|
|
5
|
-
export const PerformanceStatsInputSchema = z.object(shape);
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Country } from '../../country';
|
|
3
|
-
import { RoleEnum } from '../role';
|
|
4
|
-
import { TraitEnum } from '../trait';
|
|
5
|
-
import { RarityEnum } from '../rarity';
|
|
6
|
-
export declare const NameInputSchema: z.ZodObject<{
|
|
7
|
-
first: z.ZodString;
|
|
8
|
-
last: z.ZodString;
|
|
9
|
-
}, z.core.$strip>;
|
|
10
|
-
export declare const PlayerInputSchema: z.ZodObject<{
|
|
11
|
-
id: z.ZodUUID;
|
|
12
|
-
name: z.ZodObject<{
|
|
13
|
-
first: z.ZodString;
|
|
14
|
-
last: z.ZodString;
|
|
15
|
-
}, z.core.$strip>;
|
|
16
|
-
country: z.ZodCustom<Country, Country>;
|
|
17
|
-
stats: z.ZodObject<{
|
|
18
|
-
attack: z.ZodNumber;
|
|
19
|
-
serve: z.ZodNumber;
|
|
20
|
-
reception: z.ZodNumber;
|
|
21
|
-
block: z.ZodNumber;
|
|
22
|
-
setting: z.ZodNumber;
|
|
23
|
-
defense: z.ZodNumber;
|
|
24
|
-
spike: z.ZodNumber;
|
|
25
|
-
quick: z.ZodNumber;
|
|
26
|
-
power: z.ZodNumber;
|
|
27
|
-
awareness: z.ZodNumber;
|
|
28
|
-
backAttack: z.ZodNumber;
|
|
29
|
-
overhand: z.ZodNumber;
|
|
30
|
-
bump: z.ZodNumber;
|
|
31
|
-
read: z.ZodNumber;
|
|
32
|
-
commit: z.ZodNumber;
|
|
33
|
-
focus: z.ZodNumber;
|
|
34
|
-
stamina: z.ZodNumber;
|
|
35
|
-
reflex: z.ZodNumber;
|
|
36
|
-
}, z.core.$strip>;
|
|
37
|
-
roles: z.ZodArray<z.ZodEnum<{
|
|
38
|
-
SETTER: RoleEnum.SETTER;
|
|
39
|
-
LIBERO: RoleEnum.LIBERO;
|
|
40
|
-
OUTSIDE_HITTER: RoleEnum.OUTSIDE_HITTER;
|
|
41
|
-
OPPOSITE_HITTER: RoleEnum.OPPOSITE_HITTER;
|
|
42
|
-
MIDDLE_BLOCKER: RoleEnum.MIDDLE_BLOCKER;
|
|
43
|
-
}>>;
|
|
44
|
-
traits: z.ZodArray<z.ZodEnum<{
|
|
45
|
-
MASTER_MIND: TraitEnum.MASTER_MIND;
|
|
46
|
-
MOVING_WALL: TraitEnum.MOVING_WALL;
|
|
47
|
-
SURPRISE_ATTACK: TraitEnum.SURPRISE_ATTACK;
|
|
48
|
-
MARKSMAN: TraitEnum.MARKSMAN;
|
|
49
|
-
METEOR_SERVE: TraitEnum.METEOR_SERVE;
|
|
50
|
-
VIGOROUS: TraitEnum.VIGOROUS;
|
|
51
|
-
GUARDIAN: TraitEnum.GUARDIAN;
|
|
52
|
-
FLOAT_SERVE: TraitEnum.FLOAT_SERVE;
|
|
53
|
-
DEFENSIVE_SPECIALIST: TraitEnum.DEFENSIVE_SPECIALIST;
|
|
54
|
-
}>>;
|
|
55
|
-
rarity: z.ZodEnum<{
|
|
56
|
-
COMMON: RarityEnum.COMMON;
|
|
57
|
-
RARE: RarityEnum.RARE;
|
|
58
|
-
LEGENDARY: RarityEnum.LEGENDARY;
|
|
59
|
-
MYTHIC: RarityEnum.MYTHIC;
|
|
60
|
-
SPECIAL: RarityEnum.SPECIAL;
|
|
61
|
-
}>;
|
|
62
|
-
boxScores: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
63
|
-
playerId: z.ZodUUID;
|
|
64
|
-
matchSetId: z.ZodUUID;
|
|
65
|
-
attack: z.ZodObject<{
|
|
66
|
-
attempts: z.ZodNumber;
|
|
67
|
-
kills: z.ZodNumber;
|
|
68
|
-
errors: z.ZodNumber;
|
|
69
|
-
}, z.core.$strip>;
|
|
70
|
-
serve: z.ZodObject<{
|
|
71
|
-
attempts: z.ZodNumber;
|
|
72
|
-
aces: z.ZodNumber;
|
|
73
|
-
errors: z.ZodNumber;
|
|
74
|
-
}, z.core.$strip>;
|
|
75
|
-
reception: z.ZodObject<{
|
|
76
|
-
attempts: z.ZodNumber;
|
|
77
|
-
perfect: z.ZodNumber;
|
|
78
|
-
positive: z.ZodNumber;
|
|
79
|
-
overpasses: z.ZodNumber;
|
|
80
|
-
errors: z.ZodNumber;
|
|
81
|
-
}, z.core.$strip>;
|
|
82
|
-
block: z.ZodObject<{
|
|
83
|
-
solo: z.ZodNumber;
|
|
84
|
-
assists: z.ZodNumber;
|
|
85
|
-
errors: z.ZodNumber;
|
|
86
|
-
touches: z.ZodNumber;
|
|
87
|
-
}, z.core.$strip>;
|
|
88
|
-
setting: z.ZodObject<{
|
|
89
|
-
assists: z.ZodNumber;
|
|
90
|
-
errors: z.ZodNumber;
|
|
91
|
-
pass: z.ZodNumber;
|
|
92
|
-
}, z.core.$strip>;
|
|
93
|
-
defense: z.ZodObject<{
|
|
94
|
-
digs: z.ZodNumber;
|
|
95
|
-
errors: z.ZodNumber;
|
|
96
|
-
}, z.core.$strip>;
|
|
97
|
-
misc: z.ZodObject<{
|
|
98
|
-
pointsPlayed: z.ZodNumber;
|
|
99
|
-
pointsWonOnCourt: z.ZodNumber;
|
|
100
|
-
serveTurns: z.ZodNumber;
|
|
101
|
-
sideoutOpportunities: z.ZodNumber;
|
|
102
|
-
successfulSideouts: z.ZodNumber;
|
|
103
|
-
}, z.core.$strip>;
|
|
104
|
-
}, z.core.$strip>>>;
|
|
105
|
-
boxScoreTotals: z.ZodOptional<z.ZodObject<{
|
|
106
|
-
attack: z.ZodObject<{
|
|
107
|
-
attempts: z.ZodNumber;
|
|
108
|
-
kills: z.ZodNumber;
|
|
109
|
-
errors: z.ZodNumber;
|
|
110
|
-
}, z.core.$strip>;
|
|
111
|
-
serve: z.ZodObject<{
|
|
112
|
-
attempts: z.ZodNumber;
|
|
113
|
-
aces: z.ZodNumber;
|
|
114
|
-
errors: z.ZodNumber;
|
|
115
|
-
}, z.core.$strip>;
|
|
116
|
-
reception: z.ZodObject<{
|
|
117
|
-
attempts: z.ZodNumber;
|
|
118
|
-
perfect: z.ZodNumber;
|
|
119
|
-
positive: z.ZodNumber;
|
|
120
|
-
overpasses: z.ZodNumber;
|
|
121
|
-
errors: z.ZodNumber;
|
|
122
|
-
}, z.core.$strip>;
|
|
123
|
-
block: z.ZodObject<{
|
|
124
|
-
solo: z.ZodNumber;
|
|
125
|
-
assists: z.ZodNumber;
|
|
126
|
-
errors: z.ZodNumber;
|
|
127
|
-
touches: z.ZodNumber;
|
|
128
|
-
}, z.core.$strip>;
|
|
129
|
-
setting: z.ZodObject<{
|
|
130
|
-
assists: z.ZodNumber;
|
|
131
|
-
errors: z.ZodNumber;
|
|
132
|
-
pass: z.ZodNumber;
|
|
133
|
-
}, z.core.$strip>;
|
|
134
|
-
defense: z.ZodObject<{
|
|
135
|
-
digs: z.ZodNumber;
|
|
136
|
-
errors: z.ZodNumber;
|
|
137
|
-
}, z.core.$strip>;
|
|
138
|
-
misc: z.ZodObject<{
|
|
139
|
-
pointsPlayed: z.ZodNumber;
|
|
140
|
-
pointsWonOnCourt: z.ZodNumber;
|
|
141
|
-
serveTurns: z.ZodNumber;
|
|
142
|
-
sideoutOpportunities: z.ZodNumber;
|
|
143
|
-
successfulSideouts: z.ZodNumber;
|
|
144
|
-
}, z.core.$strip>;
|
|
145
|
-
}, z.core.$strip>>;
|
|
146
|
-
}, z.core.$strip>;
|
|
147
|
-
export type PlayerInput = z.infer<typeof PlayerInputSchema>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Country } from '../../country';
|
|
3
|
-
import { RoleEnum } from '../role';
|
|
4
|
-
import { TraitEnum } from '../trait';
|
|
5
|
-
import { RarityEnum } from '../rarity';
|
|
6
|
-
import { AttackStatsSchema, BlockStatsSchema, BoxScoreInputSchema, DefenseStatsSchema, MiscStatsSchema, ReceptionStatsSchema, ServeStatsSchema, SettingStatsSchema } from '../../match/schemas/box-score.z';
|
|
7
|
-
import { PerformanceStatsInputSchema } from './performance-stats.z';
|
|
8
|
-
export const NameInputSchema = z.object({
|
|
9
|
-
first: z.string().trim().min(1),
|
|
10
|
-
last: z.string().trim().min(1)
|
|
11
|
-
});
|
|
12
|
-
const countrySchema = z.custom((v) => v instanceof Country, {
|
|
13
|
-
message: 'INVALID_COUNTRY_INSTANCE'
|
|
14
|
-
});
|
|
15
|
-
const BoxScoreTotalsInputSchema = z.object({
|
|
16
|
-
attack: AttackStatsSchema,
|
|
17
|
-
serve: ServeStatsSchema,
|
|
18
|
-
reception: ReceptionStatsSchema,
|
|
19
|
-
block: BlockStatsSchema,
|
|
20
|
-
setting: SettingStatsSchema,
|
|
21
|
-
defense: DefenseStatsSchema,
|
|
22
|
-
misc: MiscStatsSchema
|
|
23
|
-
});
|
|
24
|
-
export const PlayerInputSchema = z.object({
|
|
25
|
-
id: z.uuid(),
|
|
26
|
-
name: NameInputSchema,
|
|
27
|
-
country: countrySchema,
|
|
28
|
-
stats: PerformanceStatsInputSchema,
|
|
29
|
-
roles: z.array(z.enum(Object.values(RoleEnum))).min(1),
|
|
30
|
-
traits: z.array(z.enum(Object.values(TraitEnum))),
|
|
31
|
-
rarity: z.enum(Object.values(RarityEnum)),
|
|
32
|
-
boxScores: z.array(BoxScoreInputSchema).optional(),
|
|
33
|
-
boxScoreTotals: BoxScoreTotalsInputSchema.optional()
|
|
34
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PerformanceStats, PerformanceStatsKey } from './performance-stats';
|
|
2
|
-
export declare enum StatsEnum {
|
|
3
|
-
ATTACK = "ATTACK",
|
|
4
|
-
SET = "SET",
|
|
5
|
-
RECEIVE = "RECEIVE",
|
|
6
|
-
SERVE = "SERVE",
|
|
7
|
-
BLOCK = "BLOCK",
|
|
8
|
-
STAMINA = "STAMINA"
|
|
9
|
-
}
|
|
10
|
-
export type Stats = StatsEnum.ATTACK | StatsEnum.SET | StatsEnum.RECEIVE | StatsEnum.SERVE | StatsEnum.BLOCK | StatsEnum.STAMINA;
|
|
11
|
-
export declare function calculateStatScore(performanceStats: PerformanceStats, statName: Stats): number;
|
|
12
|
-
export declare function getMultipliers(statName: Stats, performanceStats?: PerformanceStats): Partial<Record<PerformanceStatsKey, number>>;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
export var StatsEnum;
|
|
2
|
-
(function (StatsEnum) {
|
|
3
|
-
StatsEnum["ATTACK"] = "ATTACK";
|
|
4
|
-
StatsEnum["SET"] = "SET";
|
|
5
|
-
StatsEnum["RECEIVE"] = "RECEIVE";
|
|
6
|
-
StatsEnum["SERVE"] = "SERVE";
|
|
7
|
-
StatsEnum["BLOCK"] = "BLOCK";
|
|
8
|
-
StatsEnum["STAMINA"] = "STAMINA";
|
|
9
|
-
})(StatsEnum || (StatsEnum = {}));
|
|
10
|
-
export function calculateStatScore(performanceStats, statName) {
|
|
11
|
-
const multipliers = getMultipliers(statName, performanceStats);
|
|
12
|
-
const score = Object.entries(multipliers)
|
|
13
|
-
.reduce((total, [key, value]) => total + value * performanceStats[key], 0);
|
|
14
|
-
return Math.round(score);
|
|
15
|
-
}
|
|
16
|
-
export function getMultipliers(statName, performanceStats) {
|
|
17
|
-
switch (statName) {
|
|
18
|
-
case StatsEnum.ATTACK:
|
|
19
|
-
return {
|
|
20
|
-
spike: 0.55,
|
|
21
|
-
backAttack: 0.1,
|
|
22
|
-
power: performanceStats == null ? 0.125 : performanceStats.power > performanceStats.quick ? 0.2 : 0.05,
|
|
23
|
-
quick: performanceStats == null ? 0.125 : performanceStats.quick > performanceStats.power ? 0.2 : 0.05,
|
|
24
|
-
awareness: 0.05,
|
|
25
|
-
attack: 0.05
|
|
26
|
-
};
|
|
27
|
-
case StatsEnum.SET:
|
|
28
|
-
return {
|
|
29
|
-
setting: 0.75,
|
|
30
|
-
overhand: 0.1,
|
|
31
|
-
awareness: 0.075,
|
|
32
|
-
attack: 0.075
|
|
33
|
-
};
|
|
34
|
-
case StatsEnum.RECEIVE:
|
|
35
|
-
return {
|
|
36
|
-
reception: 0.75,
|
|
37
|
-
overhand: 0.015,
|
|
38
|
-
bump: 0.15,
|
|
39
|
-
focus: 0.015,
|
|
40
|
-
defense: 0.055,
|
|
41
|
-
reflex: 0.015
|
|
42
|
-
};
|
|
43
|
-
case StatsEnum.SERVE:
|
|
44
|
-
return {
|
|
45
|
-
serve: 0.85,
|
|
46
|
-
awareness: 0.075,
|
|
47
|
-
attack: 0.075
|
|
48
|
-
};
|
|
49
|
-
case StatsEnum.BLOCK:
|
|
50
|
-
return {
|
|
51
|
-
block: 0.65,
|
|
52
|
-
read: performanceStats == null ? 0.125 : performanceStats.read > performanceStats.commit ? 0.2 : 0.05,
|
|
53
|
-
commit: performanceStats == null ? 0.125 : performanceStats.commit > performanceStats.read ? 0.2 : 0.05,
|
|
54
|
-
focus: 0.04,
|
|
55
|
-
defense: 0.04,
|
|
56
|
-
reflex: 0.02
|
|
57
|
-
};
|
|
58
|
-
case StatsEnum.STAMINA:
|
|
59
|
-
return { stamina: 1 };
|
|
60
|
-
default:
|
|
61
|
-
throw new Error('INVALID_STAT');
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
import { calculateStatScore, getMultipliers, StatsEnum } from './stats';
|
|
3
|
-
import { PerformanceStats } from './performance-stats';
|
|
4
|
-
import { performanceStatKeys } from './performance-stats-keys';
|
|
5
|
-
// ─── helpers ─────────────────────────────────────────────────────────────────
|
|
6
|
-
/** Builds a PerformanceStats with all keys set to `base`, then applies overrides. */
|
|
7
|
-
function makeStats(base = 50, overrides = {}) {
|
|
8
|
-
const data = Object.fromEntries(performanceStatKeys.map(k => [k, base]));
|
|
9
|
-
return PerformanceStats.create({ ...data, ...overrides });
|
|
10
|
-
}
|
|
11
|
-
// ─── getMultipliers ───────────────────────────────────────────────────────────
|
|
12
|
-
describe('getMultipliers()', () => {
|
|
13
|
-
describe('ATTACK', () => {
|
|
14
|
-
it('boosts power weight (0.2) when power > quick', () => {
|
|
15
|
-
const m = getMultipliers(StatsEnum.ATTACK, makeStats(50, { power: 80, quick: 20 }));
|
|
16
|
-
expect(m.power).toBe(0.2);
|
|
17
|
-
expect(m.quick).toBe(0.05);
|
|
18
|
-
});
|
|
19
|
-
it('boosts quick weight (0.2) when quick > power', () => {
|
|
20
|
-
const m = getMultipliers(StatsEnum.ATTACK, makeStats(50, { quick: 80, power: 20 }));
|
|
21
|
-
expect(m.quick).toBe(0.2);
|
|
22
|
-
expect(m.power).toBe(0.05);
|
|
23
|
-
});
|
|
24
|
-
it('uses balanced weights (0.125) when performanceStats is omitted', () => {
|
|
25
|
-
const m = getMultipliers(StatsEnum.ATTACK);
|
|
26
|
-
expect(m.power).toBe(0.125);
|
|
27
|
-
expect(m.quick).toBe(0.125);
|
|
28
|
-
});
|
|
29
|
-
it('multipliers sum to 1 when power > quick', () => {
|
|
30
|
-
const m = getMultipliers(StatsEnum.ATTACK, makeStats(50, { power: 80, quick: 20 }));
|
|
31
|
-
const total = Object.values(m).reduce((s, v) => s + (v ?? 0), 0);
|
|
32
|
-
expect(total).toBeCloseTo(1, 10);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('SET', () => {
|
|
36
|
-
it('multipliers sum to 1', () => {
|
|
37
|
-
const m = getMultipliers(StatsEnum.SET);
|
|
38
|
-
const total = Object.values(m).reduce((s, v) => s + (v ?? 0), 0);
|
|
39
|
-
expect(total).toBeCloseTo(1, 10);
|
|
40
|
-
});
|
|
41
|
-
it('setting has the highest weight (0.75)', () => {
|
|
42
|
-
const m = getMultipliers(StatsEnum.SET);
|
|
43
|
-
const max = Math.max(...Object.values(m).map(v => v ?? 0));
|
|
44
|
-
expect(m.setting).toBe(max);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('RECEIVE', () => {
|
|
48
|
-
it('multipliers sum to 1', () => {
|
|
49
|
-
const m = getMultipliers(StatsEnum.RECEIVE);
|
|
50
|
-
const total = Object.values(m).reduce((s, v) => s + (v ?? 0), 0);
|
|
51
|
-
expect(total).toBeCloseTo(1, 10);
|
|
52
|
-
});
|
|
53
|
-
it('reception has the highest weight (0.75)', () => {
|
|
54
|
-
const m = getMultipliers(StatsEnum.RECEIVE);
|
|
55
|
-
const max = Math.max(...Object.values(m).map(v => v ?? 0));
|
|
56
|
-
expect(m.reception).toBe(max);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('SERVE', () => {
|
|
60
|
-
it('multipliers sum to 1', () => {
|
|
61
|
-
const m = getMultipliers(StatsEnum.SERVE);
|
|
62
|
-
const total = Object.values(m).reduce((s, v) => s + (v ?? 0), 0);
|
|
63
|
-
expect(total).toBeCloseTo(1, 10);
|
|
64
|
-
});
|
|
65
|
-
it('serve has the highest weight (0.85)', () => {
|
|
66
|
-
const m = getMultipliers(StatsEnum.SERVE);
|
|
67
|
-
const max = Math.max(...Object.values(m).map(v => v ?? 0));
|
|
68
|
-
expect(m.serve).toBe(max);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
describe('BLOCK', () => {
|
|
72
|
-
it('boosts read weight (0.2) when read > commit', () => {
|
|
73
|
-
const m = getMultipliers(StatsEnum.BLOCK, makeStats(50, { read: 90, commit: 10 }));
|
|
74
|
-
expect(m.read).toBe(0.2);
|
|
75
|
-
expect(m.commit).toBe(0.05);
|
|
76
|
-
});
|
|
77
|
-
it('boosts commit weight (0.2) when commit > read', () => {
|
|
78
|
-
const m = getMultipliers(StatsEnum.BLOCK, makeStats(50, { commit: 90, read: 10 }));
|
|
79
|
-
expect(m.commit).toBe(0.2);
|
|
80
|
-
expect(m.read).toBe(0.05);
|
|
81
|
-
});
|
|
82
|
-
it('uses balanced weights (0.125) when performanceStats is omitted', () => {
|
|
83
|
-
const m = getMultipliers(StatsEnum.BLOCK);
|
|
84
|
-
expect(m.read).toBe(0.125);
|
|
85
|
-
expect(m.commit).toBe(0.125);
|
|
86
|
-
});
|
|
87
|
-
it('multipliers sum to 1 when read > commit', () => {
|
|
88
|
-
const m = getMultipliers(StatsEnum.BLOCK, makeStats(50, { read: 90, commit: 10 }));
|
|
89
|
-
const total = Object.values(m).reduce((s, v) => s + (v ?? 0), 0);
|
|
90
|
-
expect(total).toBeCloseTo(1, 10);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
describe('STAMINA', () => {
|
|
94
|
-
it('returns exactly { stamina: 1 }', () => {
|
|
95
|
-
expect(getMultipliers(StatsEnum.STAMINA)).toEqual({ stamina: 1 });
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
// ─── calculateStatScore ───────────────────────────────────────────────────────
|
|
100
|
-
describe('calculateStatScore()', () => {
|
|
101
|
-
it('STAMINA score equals the stamina stat value (weight 1.0)', () => {
|
|
102
|
-
expect(calculateStatScore(makeStats(1, { stamina: 77 }), StatsEnum.STAMINA)).toBe(77);
|
|
103
|
-
});
|
|
104
|
-
it('SET score equals stat value when all stats are uniform (multipliers sum to 1)', () => {
|
|
105
|
-
// setting*0.75 + overhand*0.1 + awareness*0.075 + attack*0.075 = s * 1.0
|
|
106
|
-
expect(calculateStatScore(makeStats(50), StatsEnum.SET)).toBe(50);
|
|
107
|
-
});
|
|
108
|
-
it('SERVE score equals stat value when all stats are uniform (multipliers sum to 1)', () => {
|
|
109
|
-
// serve*0.85 + awareness*0.075 + attack*0.075 = s * 1.0
|
|
110
|
-
expect(calculateStatScore(makeStats(50), StatsEnum.SERVE)).toBe(50);
|
|
111
|
-
});
|
|
112
|
-
it('RECEIVE score equals stat value when all stats are uniform (multipliers sum to 1)', () => {
|
|
113
|
-
// reception*0.75 + overhand*0.015 + bump*0.15 + focus*0.015 + defense*0.055 + reflex*0.015 = s * 1.0
|
|
114
|
-
expect(calculateStatScore(makeStats(50), StatsEnum.RECEIVE)).toBe(50);
|
|
115
|
-
});
|
|
116
|
-
it('always returns an integer (Math.round applied)', () => {
|
|
117
|
-
const score = calculateStatScore(makeStats(50), StatsEnum.SERVE);
|
|
118
|
-
expect(Number.isInteger(score)).toBe(true);
|
|
119
|
-
});
|
|
120
|
-
it('returns a higher score for a player with better relevant stats', () => {
|
|
121
|
-
const weak = calculateStatScore(makeStats(20), StatsEnum.SERVE);
|
|
122
|
-
const strong = calculateStatScore(makeStats(80), StatsEnum.SERVE);
|
|
123
|
-
expect(strong).toBeGreaterThan(weak);
|
|
124
|
-
});
|
|
125
|
-
it('SERVE: serve=99 dominates, contributing 0.85 of the total', () => {
|
|
126
|
-
// All other serve-relevant stats at 1: awareness=1, attack=1
|
|
127
|
-
// score ≈ 99*0.85 + 1*0.075 + 1*0.075 = 84.15 + 0.15 = 84.3 → 84
|
|
128
|
-
const stats = makeStats(1, { serve: 99 });
|
|
129
|
-
expect(calculateStatScore(stats, StatsEnum.SERVE)).toBe(84);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Rarity } from './rarity';
|
|
2
|
-
import { Role } from './role';
|
|
3
|
-
interface TraitProps {
|
|
4
|
-
readonly name: Trait;
|
|
5
|
-
readonly modifier: number;
|
|
6
|
-
readonly chance: number;
|
|
7
|
-
readonly roles: Role[];
|
|
8
|
-
}
|
|
9
|
-
export declare enum TraitEnum {
|
|
10
|
-
/**
|
|
11
|
-
* When triggered, all actions before the net crossing have a bonus.
|
|
12
|
-
* Can only be triggered during the first or second touch.
|
|
13
|
-
*/
|
|
14
|
-
MASTER_MIND = "MASTER_MIND",
|
|
15
|
-
/**
|
|
16
|
-
* When this player is part of the front row, they will always be part of the blocking block
|
|
17
|
-
*/
|
|
18
|
-
MOVING_WALL = "MOVING_WALL",
|
|
19
|
-
/**
|
|
20
|
-
* Enables the player making the second touch to spike or dump
|
|
21
|
-
*/
|
|
22
|
-
SURPRISE_ATTACK = "SURPRISE_ATTACK",
|
|
23
|
-
/**
|
|
24
|
-
* Boosts the stat of the action taken and allows the player to choose the best target for the action.
|
|
25
|
-
*/
|
|
26
|
-
MARKSMAN = "MARKSMAN",
|
|
27
|
-
/**
|
|
28
|
-
* The server will perform an extra strong serve.
|
|
29
|
-
*/
|
|
30
|
-
METEOR_SERVE = "METEOR_SERVE",
|
|
31
|
-
/**
|
|
32
|
-
* The player has a 50% chance to perform an action with no energy decrease
|
|
33
|
-
*/
|
|
34
|
-
VIGOROUS = "VIGOROUS",
|
|
35
|
-
/**
|
|
36
|
-
* The player with this trait has a chance to take the receiver's place if their reception stat is higher.
|
|
37
|
-
*/
|
|
38
|
-
GUARDIAN = "GUARDIAN",
|
|
39
|
-
/**
|
|
40
|
-
* Enables the server to perform a float serve, which checks against receiver overhand instead.
|
|
41
|
-
*/
|
|
42
|
-
FLOAT_SERVE = "FLOAT_SERVE",
|
|
43
|
-
/**
|
|
44
|
-
* Gives the player a chance to perform a perfect reception.
|
|
45
|
-
*/
|
|
46
|
-
DEFENSIVE_SPECIALIST = "DEFENSIVE_SPECIALIST"
|
|
47
|
-
}
|
|
48
|
-
export type Trait = TraitEnum.FLOAT_SERVE | TraitEnum.SURPRISE_ATTACK | TraitEnum.GUARDIAN | TraitEnum.MASTER_MIND | TraitEnum.MOVING_WALL | TraitEnum.MARKSMAN | TraitEnum.METEOR_SERVE | TraitEnum.VIGOROUS | TraitEnum.DEFENSIVE_SPECIALIST;
|
|
49
|
-
export declare function assignTraits(roles: Role[], rarity: Rarity, maxTraits?: boolean): Trait[];
|
|
50
|
-
export declare const traitMap: Map<Trait, TraitProps>;
|
|
51
|
-
export {};
|