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,20 +0,0 @@
|
|
|
1
|
-
import { Player } from '../player';
|
|
2
|
-
import { Country } from '../country';
|
|
3
|
-
import { Tactics } from './tactics';
|
|
4
|
-
export declare class Team {
|
|
5
|
-
readonly id: string;
|
|
6
|
-
readonly roster: Player[];
|
|
7
|
-
readonly name: string;
|
|
8
|
-
readonly shortName: string;
|
|
9
|
-
readonly divisionId: string;
|
|
10
|
-
readonly tactics?: Tactics;
|
|
11
|
-
readonly country: Country;
|
|
12
|
-
private _rating;
|
|
13
|
-
static create(input: unknown): Team;
|
|
14
|
-
private constructor();
|
|
15
|
-
get rating(): number;
|
|
16
|
-
set rating(value: number);
|
|
17
|
-
isPlayerInRoster(player: Player): boolean;
|
|
18
|
-
toString(): string;
|
|
19
|
-
updateRating(rankingPoints: number): void;
|
|
20
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Tactics } from './tactics';
|
|
2
|
-
import { TeamInputSchema } from './schemas/team.z';
|
|
3
|
-
export class Team {
|
|
4
|
-
static create(input) {
|
|
5
|
-
const result = TeamInputSchema.safeParse(input);
|
|
6
|
-
if (!result.success) {
|
|
7
|
-
throw new Error(`INVALID_TEAM: ${result.error.message}. RECEIVED=${(() => { try {
|
|
8
|
-
return JSON.stringify(input);
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
return String(input);
|
|
12
|
-
} })()}`);
|
|
13
|
-
}
|
|
14
|
-
return new Team({
|
|
15
|
-
...result.data,
|
|
16
|
-
tactics: result.data.tactics != null ? Tactics.create(result.data.tactics) : undefined
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
constructor({ id, rating, name, shortName, divisionId, country, roster, tactics }) {
|
|
20
|
-
this.id = id;
|
|
21
|
-
this._rating = rating;
|
|
22
|
-
this.roster = roster;
|
|
23
|
-
this.tactics = tactics;
|
|
24
|
-
this.name = name;
|
|
25
|
-
this.shortName = shortName;
|
|
26
|
-
this.divisionId = divisionId;
|
|
27
|
-
this.country = country;
|
|
28
|
-
}
|
|
29
|
-
get rating() {
|
|
30
|
-
return this._rating;
|
|
31
|
-
}
|
|
32
|
-
set rating(value) {
|
|
33
|
-
this._rating = value;
|
|
34
|
-
}
|
|
35
|
-
isPlayerInRoster(player) {
|
|
36
|
-
return this.roster.some(p => p.id === player.id);
|
|
37
|
-
}
|
|
38
|
-
toString() {
|
|
39
|
-
if (this.country == null) {
|
|
40
|
-
throw new Error('UNKNOWN_COUNTRY');
|
|
41
|
-
}
|
|
42
|
-
return `${this.name} [${this.shortName}] (${this.country?.name}) ELO=${this._rating}`;
|
|
43
|
-
}
|
|
44
|
-
updateRating(rankingPoints) {
|
|
45
|
-
this._rating += rankingPoints;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Country } from './country';
|
|
2
|
-
import { Player } from './player';
|
|
3
|
-
import { Team } from './team';
|
|
4
|
-
import { Match } from './match';
|
|
5
|
-
import { MatchSet } from './match/match-set';
|
|
6
|
-
export declare function makeCountry(): Country;
|
|
7
|
-
export declare function makePlayer(country: Country, statValue?: number): Player;
|
|
8
|
-
export declare function makeTeam(opts?: {
|
|
9
|
-
rating?: number;
|
|
10
|
-
}): Team;
|
|
11
|
-
/** Creates a finished MatchSet with no rallies (schema allows empty rallies at non-zero score). */
|
|
12
|
-
export declare function makeFinishedSet(homeScore: number, awayScore: number, order?: number): MatchSet;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a COMPLETE Match where the home team wins 3-0.
|
|
15
|
-
* Sets: 25-10, 25-12, 25-8.
|
|
16
|
-
*/
|
|
17
|
-
export declare function makeMatch30(homeTeam: Team, awayTeam: Team): Match;
|
|
18
|
-
/**
|
|
19
|
-
* Creates a COMPLETE Match where the home team wins 3-1.
|
|
20
|
-
* Sets (home wins 3, away wins 1): 25-20, 20-25, 25-18, 25-15.
|
|
21
|
-
*/
|
|
22
|
-
export declare function makeMatch31(homeTeam: Team, awayTeam: Team): Match;
|
|
23
|
-
/**
|
|
24
|
-
* Creates a PENDING Match (no sets, no score).
|
|
25
|
-
*/
|
|
26
|
-
export declare function makePendingMatch(homeTeam: Team, awayTeam: Team): Match;
|
|
27
|
-
/**
|
|
28
|
-
* Computes all derived Standing fields from raw win/loss counts so that
|
|
29
|
-
* Standing.create() passes its superRefine validation.
|
|
30
|
-
*/
|
|
31
|
-
export declare function standingInput(teamId: string, opts?: {
|
|
32
|
-
won30?: number;
|
|
33
|
-
won31?: number;
|
|
34
|
-
won32?: number;
|
|
35
|
-
lost03?: number;
|
|
36
|
-
lost13?: number;
|
|
37
|
-
lost23?: number;
|
|
38
|
-
}): object;
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal object factories for unit tests.
|
|
3
|
-
* NOT exported from any barrel — import directly from this file.
|
|
4
|
-
*/
|
|
5
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
6
|
-
import { Country } from './country';
|
|
7
|
-
import { Player } from './player';
|
|
8
|
-
import { Team } from './team';
|
|
9
|
-
import { Match } from './match';
|
|
10
|
-
import { MatchSet } from './match/match-set';
|
|
11
|
-
import { StatusEnum } from '../data/common';
|
|
12
|
-
import { RarityEnum } from './player/rarity';
|
|
13
|
-
import { RoleEnum } from './player/role';
|
|
14
|
-
import { performanceStatKeys } from './player/performance-stats-keys';
|
|
15
|
-
// ─── Country ─────────────────────────────────────────────────────────────────
|
|
16
|
-
export function makeCountry() {
|
|
17
|
-
return Country.create({
|
|
18
|
-
id: uuidv4(),
|
|
19
|
-
name: 'Test Country',
|
|
20
|
-
alpha2: 'TC',
|
|
21
|
-
alpha3: 'TCN',
|
|
22
|
-
code: 'TCN',
|
|
23
|
-
iso31662: 'TC-TEST'
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
// ─── Player ───────────────────────────────────────────────────────────────────
|
|
27
|
-
export function makePlayer(country, statValue = 50) {
|
|
28
|
-
const stats = Object.fromEntries(performanceStatKeys.map((k) => [k, statValue]));
|
|
29
|
-
return Player.create({
|
|
30
|
-
id: uuidv4(),
|
|
31
|
-
name: { first: 'Test', last: 'Player' },
|
|
32
|
-
country,
|
|
33
|
-
stats,
|
|
34
|
-
roles: [RoleEnum.OUTSIDE_HITTER],
|
|
35
|
-
traits: [],
|
|
36
|
-
rarity: RarityEnum.COMMON
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
// ─── Team ─────────────────────────────────────────────────────────────────────
|
|
40
|
-
export function makeTeam(opts = {}) {
|
|
41
|
-
const country = makeCountry();
|
|
42
|
-
const player = makePlayer(country);
|
|
43
|
-
return Team.create({
|
|
44
|
-
id: uuidv4(),
|
|
45
|
-
rating: opts.rating ?? 100,
|
|
46
|
-
name: 'Test Team',
|
|
47
|
-
shortName: 'TST',
|
|
48
|
-
divisionId: uuidv4(),
|
|
49
|
-
roster: [player],
|
|
50
|
-
country
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
// ─── MatchSet ────────────────────────────────────────────────────────────────
|
|
54
|
-
/** Creates a finished MatchSet with no rallies (schema allows empty rallies at non-zero score). */
|
|
55
|
-
export function makeFinishedSet(homeScore, awayScore, order = 0) {
|
|
56
|
-
return MatchSet.create({
|
|
57
|
-
id: uuidv4(),
|
|
58
|
-
order,
|
|
59
|
-
isTieBreak: false,
|
|
60
|
-
homePlayerPosition: [],
|
|
61
|
-
awayPlayerPosition: [],
|
|
62
|
-
homeScore,
|
|
63
|
-
awayScore,
|
|
64
|
-
boxScores: [],
|
|
65
|
-
rallies: []
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
// ─── Match ───────────────────────────────────────────────────────────────────
|
|
69
|
-
/**
|
|
70
|
-
* Creates a COMPLETE Match where the home team wins 3-0.
|
|
71
|
-
* Sets: 25-10, 25-12, 25-8.
|
|
72
|
-
*/
|
|
73
|
-
export function makeMatch30(homeTeam, awayTeam) {
|
|
74
|
-
const sets = [
|
|
75
|
-
makeFinishedSet(25, 10, 0),
|
|
76
|
-
makeFinishedSet(25, 12, 1),
|
|
77
|
-
makeFinishedSet(25, 8, 2)
|
|
78
|
-
];
|
|
79
|
-
return Match.create({
|
|
80
|
-
id: uuidv4(),
|
|
81
|
-
homeTeam,
|
|
82
|
-
awayTeam,
|
|
83
|
-
scheduledDate: new Date(),
|
|
84
|
-
status: StatusEnum.COMPLETE,
|
|
85
|
-
homeScore: 3,
|
|
86
|
-
awayScore: 0,
|
|
87
|
-
sets,
|
|
88
|
-
winner: homeTeam
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Creates a COMPLETE Match where the home team wins 3-1.
|
|
93
|
-
* Sets (home wins 3, away wins 1): 25-20, 20-25, 25-18, 25-15.
|
|
94
|
-
*/
|
|
95
|
-
export function makeMatch31(homeTeam, awayTeam) {
|
|
96
|
-
const sets = [
|
|
97
|
-
makeFinishedSet(25, 20, 0),
|
|
98
|
-
makeFinishedSet(20, 25, 1),
|
|
99
|
-
makeFinishedSet(25, 18, 2),
|
|
100
|
-
makeFinishedSet(25, 15, 3)
|
|
101
|
-
];
|
|
102
|
-
return Match.create({
|
|
103
|
-
id: uuidv4(),
|
|
104
|
-
homeTeam,
|
|
105
|
-
awayTeam,
|
|
106
|
-
scheduledDate: new Date(),
|
|
107
|
-
status: StatusEnum.COMPLETE,
|
|
108
|
-
homeScore: 3,
|
|
109
|
-
awayScore: 1,
|
|
110
|
-
sets,
|
|
111
|
-
winner: homeTeam
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Creates a PENDING Match (no sets, no score).
|
|
116
|
-
*/
|
|
117
|
-
export function makePendingMatch(homeTeam, awayTeam) {
|
|
118
|
-
return Match.create({
|
|
119
|
-
id: uuidv4(),
|
|
120
|
-
homeTeam,
|
|
121
|
-
awayTeam,
|
|
122
|
-
scheduledDate: new Date(),
|
|
123
|
-
status: StatusEnum.PENDING
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
// ─── Standing input ───────────────────────────────────────────────────────────
|
|
127
|
-
/**
|
|
128
|
-
* Computes all derived Standing fields from raw win/loss counts so that
|
|
129
|
-
* Standing.create() passes its superRefine validation.
|
|
130
|
-
*/
|
|
131
|
-
export function standingInput(teamId, opts = {}) {
|
|
132
|
-
const w30 = opts.won30 ?? 0;
|
|
133
|
-
const w31 = opts.won31 ?? 0;
|
|
134
|
-
const w32 = opts.won32 ?? 0;
|
|
135
|
-
const l03 = opts.lost03 ?? 0;
|
|
136
|
-
const l13 = opts.lost13 ?? 0;
|
|
137
|
-
const l23 = opts.lost23 ?? 0;
|
|
138
|
-
return {
|
|
139
|
-
teamId,
|
|
140
|
-
won30: w30,
|
|
141
|
-
won31: w31,
|
|
142
|
-
won32: w32,
|
|
143
|
-
lost03: l03,
|
|
144
|
-
lost13: l13,
|
|
145
|
-
lost23: l23,
|
|
146
|
-
points: (w30 + w31) * 3 + w32 * 2 + l23,
|
|
147
|
-
setsWon: (w32 + w31 + w30) * 3 + l23 * 2 + l13,
|
|
148
|
-
setsLost: (l03 + l13 + l23) * 3 + w32 * 2 + w31,
|
|
149
|
-
matchesWon: w30 + w31 + w32,
|
|
150
|
-
matchesLost: l03 + l13 + l23,
|
|
151
|
-
totalMatches: w30 + w31 + w32 + l03 + l13 + l23
|
|
152
|
-
};
|
|
153
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export declare function getFakerInstance(locales: string[]): FakerLike;
|
|
2
|
-
interface FakerLike {
|
|
3
|
-
location: {
|
|
4
|
-
city: () => string;
|
|
5
|
-
state?: () => string;
|
|
6
|
-
county?: () => string;
|
|
7
|
-
};
|
|
8
|
-
person: {
|
|
9
|
-
firstName: () => string;
|
|
10
|
-
lastName: () => string;
|
|
11
|
-
};
|
|
12
|
-
word: {
|
|
13
|
-
adjective: () => string;
|
|
14
|
-
noun: () => string;
|
|
15
|
-
};
|
|
16
|
-
datatype: {
|
|
17
|
-
boolean: () => boolean;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export declare function generateGenericTeamNames(locales: string[], amount: number): string[];
|
|
21
|
-
export declare function generatePlayerName(locales: string[], amount: number): Array<{
|
|
22
|
-
first: string;
|
|
23
|
-
last: string;
|
|
24
|
-
}>;
|
|
25
|
-
export {};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { allFakers, faker as FakerModule } from '@faker-js/faker';
|
|
2
|
-
function isFakerKey(k) {
|
|
3
|
-
return k in allFakers;
|
|
4
|
-
}
|
|
5
|
-
export function getFakerInstance(locales) {
|
|
6
|
-
for (const locale of locales) {
|
|
7
|
-
if (isFakerKey(locale)) {
|
|
8
|
-
return allFakers[locale];
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
for (const locale of locales) {
|
|
12
|
-
const l = locale.split('_')[0];
|
|
13
|
-
if (isFakerKey(l)) {
|
|
14
|
-
return allFakers[l];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return FakerModule;
|
|
18
|
-
}
|
|
19
|
-
function clean(s) {
|
|
20
|
-
return s.replace(/\s+/g, ' ').trim();
|
|
21
|
-
}
|
|
22
|
-
function capitalize(s) {
|
|
23
|
-
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
24
|
-
}
|
|
25
|
-
function nonEmpty(s) {
|
|
26
|
-
return s != null && s.length > 0 ? s : undefined;
|
|
27
|
-
}
|
|
28
|
-
function generateTeamName(faker) {
|
|
29
|
-
if (faker.datatype.boolean()) {
|
|
30
|
-
const city = nonEmpty(faker.location.city()) ??
|
|
31
|
-
nonEmpty(faker.location.state?.()) ??
|
|
32
|
-
nonEmpty(faker.location.county?.()) ??
|
|
33
|
-
faker.word.noun();
|
|
34
|
-
const mascot = capitalize(faker.word.noun());
|
|
35
|
-
return clean(`${city} ${mascot}`);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
const adjective = capitalize(faker.word.adjective());
|
|
39
|
-
const noun = capitalize(faker.word.noun());
|
|
40
|
-
return clean(`${adjective} ${noun}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
const MAX_LAST_NAME_LENGTH = 16;
|
|
44
|
-
const MAX_TEAM_NAME_LENGTH = 22;
|
|
45
|
-
export function generateGenericTeamNames(locales, amount) {
|
|
46
|
-
if (amount <= 0)
|
|
47
|
-
return [];
|
|
48
|
-
const faker = getFakerInstance(locales);
|
|
49
|
-
const results = new Set();
|
|
50
|
-
const maxAttempts = amount * 20;
|
|
51
|
-
let attempts = 0;
|
|
52
|
-
while (results.size < amount && attempts < maxAttempts) {
|
|
53
|
-
const name = generateTeamName(faker);
|
|
54
|
-
if (name.length <= MAX_TEAM_NAME_LENGTH) {
|
|
55
|
-
results.add(name);
|
|
56
|
-
}
|
|
57
|
-
attempts++;
|
|
58
|
-
}
|
|
59
|
-
// Safety net: if the locale consistently generates long names, crop and add
|
|
60
|
-
while (results.size < amount) {
|
|
61
|
-
results.add(generateTeamName(faker).slice(0, MAX_TEAM_NAME_LENGTH));
|
|
62
|
-
}
|
|
63
|
-
return Array.from(results);
|
|
64
|
-
}
|
|
65
|
-
export function generatePlayerName(locales, amount) {
|
|
66
|
-
if (amount <= 0)
|
|
67
|
-
return [];
|
|
68
|
-
const faker = getFakerInstance(locales);
|
|
69
|
-
return Array.from({ length: amount }, () => {
|
|
70
|
-
const first = clean(faker.person.firstName());
|
|
71
|
-
let last = clean(faker.person.lastName());
|
|
72
|
-
while (last.length > MAX_LAST_NAME_LENGTH) {
|
|
73
|
-
last = clean(faker.person.lastName());
|
|
74
|
-
}
|
|
75
|
-
return { first, last };
|
|
76
|
-
});
|
|
77
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export function randomNumber(min, max) {
|
|
2
|
-
return Math.random() * (max - min) + min;
|
|
3
|
-
}
|
|
4
|
-
export function nextPowerOf2(n) { return n <= 1 ? 1 : 2 ** Math.ceil(Math.log2(n)); }
|
|
5
|
-
export function clamp(min, max, value) {
|
|
6
|
-
return Math.max(min, Math.min(value, max));
|
|
7
|
-
}
|
|
8
|
-
// Approximation of the error function
|
|
9
|
-
export function erf(x) {
|
|
10
|
-
// constants
|
|
11
|
-
const a1 = 0.254829592;
|
|
12
|
-
const a2 = -0.284496736;
|
|
13
|
-
const a3 = 1.421413741;
|
|
14
|
-
const a4 = -1.453152027;
|
|
15
|
-
const a5 = 1.061405429;
|
|
16
|
-
const p = 0.3275911;
|
|
17
|
-
// Save the sign of x
|
|
18
|
-
const sign = x < 0 ? -1 : 1;
|
|
19
|
-
x = Math.abs(x);
|
|
20
|
-
// Abramowitz & Stegun 7.1.26
|
|
21
|
-
const t = 1.0 / (1.0 + p * x);
|
|
22
|
-
const y = 1.0 - ((((a5 * t + a4) * t + a3) * t + a2) * t + a1) * t * Math.exp(-x * x);
|
|
23
|
-
return sign * y;
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
import { clamp, nextPowerOf2, erf } from './number-utils';
|
|
3
|
-
// ─── clamp ───────────────────────────────────────────────────────────────────
|
|
4
|
-
describe('clamp()', () => {
|
|
5
|
-
it('returns value when within range', () => {
|
|
6
|
-
expect(clamp(0, 10, 5)).toBe(5);
|
|
7
|
-
});
|
|
8
|
-
it('clamps to min when value is below', () => {
|
|
9
|
-
expect(clamp(0, 10, -5)).toBe(0);
|
|
10
|
-
});
|
|
11
|
-
it('clamps to max when value is above', () => {
|
|
12
|
-
expect(clamp(0, 10, 15)).toBe(10);
|
|
13
|
-
});
|
|
14
|
-
it('returns min when value equals min', () => {
|
|
15
|
-
expect(clamp(0, 10, 0)).toBe(0);
|
|
16
|
-
});
|
|
17
|
-
it('returns max when value equals max', () => {
|
|
18
|
-
expect(clamp(0, 10, 10)).toBe(10);
|
|
19
|
-
});
|
|
20
|
-
it('works with floating-point bounds', () => {
|
|
21
|
-
expect(clamp(0.5, 9.5, 3.7)).toBeCloseTo(3.7, 10);
|
|
22
|
-
expect(clamp(0.5, 9.5, 0.1)).toBeCloseTo(0.5, 10);
|
|
23
|
-
expect(clamp(0.5, 9.5, 99)).toBeCloseTo(9.5, 10);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
// ─── nextPowerOf2 ─────────────────────────────────────────────────────────────
|
|
27
|
-
describe('nextPowerOf2()', () => {
|
|
28
|
-
it('returns 1 for n = 0', () => {
|
|
29
|
-
expect(nextPowerOf2(0)).toBe(1);
|
|
30
|
-
});
|
|
31
|
-
it('returns 1 for n = 1', () => {
|
|
32
|
-
expect(nextPowerOf2(1)).toBe(1);
|
|
33
|
-
});
|
|
34
|
-
it('returns the same value for exact powers of 2', () => {
|
|
35
|
-
expect(nextPowerOf2(2)).toBe(2);
|
|
36
|
-
expect(nextPowerOf2(4)).toBe(4);
|
|
37
|
-
expect(nextPowerOf2(8)).toBe(8);
|
|
38
|
-
expect(nextPowerOf2(16)).toBe(16);
|
|
39
|
-
expect(nextPowerOf2(32)).toBe(32);
|
|
40
|
-
});
|
|
41
|
-
it('rounds up to the next power of 2 for non-powers', () => {
|
|
42
|
-
expect(nextPowerOf2(3)).toBe(4);
|
|
43
|
-
expect(nextPowerOf2(5)).toBe(8);
|
|
44
|
-
expect(nextPowerOf2(9)).toBe(16);
|
|
45
|
-
expect(nextPowerOf2(17)).toBe(32);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
// ─── erf ─────────────────────────────────────────────────────────────────────
|
|
49
|
-
describe('erf()', () => {
|
|
50
|
-
it('returns ~0 for erf(0)', () => {
|
|
51
|
-
expect(erf(0)).toBeCloseTo(0, 5);
|
|
52
|
-
});
|
|
53
|
-
it('is antisymmetric: erf(-x) === -erf(x)', () => {
|
|
54
|
-
expect(erf(-1)).toBeCloseTo(-erf(1), 10);
|
|
55
|
-
expect(erf(-0.5)).toBeCloseTo(-erf(0.5), 10);
|
|
56
|
-
});
|
|
57
|
-
it('approximates erf(1) ≈ 0.8427', () => {
|
|
58
|
-
expect(erf(1)).toBeCloseTo(0.8427, 3);
|
|
59
|
-
});
|
|
60
|
-
it('approximates erf(0.5) ≈ 0.5205', () => {
|
|
61
|
-
expect(erf(0.5)).toBeCloseTo(0.5205, 3);
|
|
62
|
-
});
|
|
63
|
-
it('approaches 1 for large positive input', () => {
|
|
64
|
-
expect(erf(4)).toBeCloseTo(1, 4);
|
|
65
|
-
});
|
|
66
|
-
it('approaches -1 for large negative input', () => {
|
|
67
|
-
expect(erf(-4)).toBeCloseTo(-1, 4);
|
|
68
|
-
});
|
|
69
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const getKeys = Object.keys;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fisher-Yates shuffle algorithm
|
|
3
|
-
* Shuffles array IN-PLACE
|
|
4
|
-
* @param {any[]} array
|
|
5
|
-
*/
|
|
6
|
-
export declare function shuffle<Type>(array: Type[]): Type[];
|
|
7
|
-
export declare function calculateProbability(score: number, scale: number, minP: number, maxP: number): number;
|
|
8
|
-
export declare function createUniqueRandomPicker(min: number, max: number, rng?: () => number): {
|
|
9
|
-
next: () => number;
|
|
10
|
-
reset: () => void;
|
|
11
|
-
};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { clamp } from './number-utils';
|
|
2
|
-
/**
|
|
3
|
-
* Fisher-Yates shuffle algorithm
|
|
4
|
-
* Shuffles array IN-PLACE
|
|
5
|
-
* @param {any[]} array
|
|
6
|
-
*/
|
|
7
|
-
export function shuffle(array) {
|
|
8
|
-
let m = array.length;
|
|
9
|
-
let t;
|
|
10
|
-
let i;
|
|
11
|
-
// While there remain elements to shuffle…
|
|
12
|
-
while (m > 0) {
|
|
13
|
-
// Pick a remaining element…
|
|
14
|
-
i = Math.floor(Math.random() * m--);
|
|
15
|
-
// And swap it with the current element.
|
|
16
|
-
t = array[m];
|
|
17
|
-
array[m] = array[i];
|
|
18
|
-
array[i] = t;
|
|
19
|
-
}
|
|
20
|
-
return array;
|
|
21
|
-
}
|
|
22
|
-
export function calculateProbability(score, scale, minP, maxP) {
|
|
23
|
-
const x = score / scale;
|
|
24
|
-
const sigmoid = 1 / (1 + Math.exp(-x));
|
|
25
|
-
const p = minP + (maxP - minP) * sigmoid;
|
|
26
|
-
return clamp(0, 1, p);
|
|
27
|
-
}
|
|
28
|
-
export function createUniqueRandomPicker(min, max, rng = Math.random) {
|
|
29
|
-
if (!Number.isInteger(min) || !Number.isInteger(max) || min > max) {
|
|
30
|
-
throw new Error('Invalid range');
|
|
31
|
-
}
|
|
32
|
-
let pool = [];
|
|
33
|
-
function refill() {
|
|
34
|
-
pool = [];
|
|
35
|
-
for (let i = min; i <= max; i++)
|
|
36
|
-
pool.push(i);
|
|
37
|
-
// Fisher–Yates shuffle
|
|
38
|
-
for (let i = pool.length - 1; i > 0; i--) {
|
|
39
|
-
const j = Math.floor(rng() * (i + 1));
|
|
40
|
-
[pool[i], pool[j]] = [pool[j], pool[i]];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
refill();
|
|
44
|
-
return {
|
|
45
|
-
next() {
|
|
46
|
-
const aux = pool.pop();
|
|
47
|
-
if (aux == null)
|
|
48
|
-
return NaN;
|
|
49
|
-
return aux;
|
|
50
|
-
},
|
|
51
|
-
reset() {
|
|
52
|
-
refill();
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
import { shuffle, calculateProbability, createUniqueRandomPicker } from './rng-utils';
|
|
3
|
-
// ─── shuffle ─────────────────────────────────────────────────────────────────
|
|
4
|
-
describe('shuffle()', () => {
|
|
5
|
-
it('returns the same array reference (in-place)', () => {
|
|
6
|
-
const arr = [1, 2, 3, 4, 5];
|
|
7
|
-
expect(shuffle(arr)).toBe(arr);
|
|
8
|
-
});
|
|
9
|
-
it('preserves all elements', () => {
|
|
10
|
-
const original = [1, 2, 3, 4, 5];
|
|
11
|
-
const result = shuffle([...original]);
|
|
12
|
-
expect(result.sort((a, b) => a - b)).toEqual(original);
|
|
13
|
-
});
|
|
14
|
-
it('handles an empty array', () => {
|
|
15
|
-
expect(shuffle([])).toEqual([]);
|
|
16
|
-
});
|
|
17
|
-
it('handles a single-element array', () => {
|
|
18
|
-
expect(shuffle([42])).toEqual([42]);
|
|
19
|
-
});
|
|
20
|
-
it('works with string elements', () => {
|
|
21
|
-
const original = ['a', 'b', 'c', 'd'];
|
|
22
|
-
const result = shuffle([...original]);
|
|
23
|
-
expect(result.sort()).toEqual(original.sort());
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
// ─── calculateProbability ────────────────────────────────────────────────────
|
|
27
|
-
describe('calculateProbability()', () => {
|
|
28
|
-
it('returns 0.5 when score is 0 over full [0, 1] range', () => {
|
|
29
|
-
expect(calculateProbability(0, 100, 0, 1)).toBeCloseTo(0.5, 5);
|
|
30
|
-
});
|
|
31
|
-
it('always returns a value within [0, 1]', () => {
|
|
32
|
-
for (const score of [-1000, -100, -10, 0, 10, 100, 1000]) {
|
|
33
|
-
const p = calculateProbability(score, 50, 0, 1);
|
|
34
|
-
expect(p).toBeGreaterThanOrEqual(0);
|
|
35
|
-
expect(p).toBeLessThanOrEqual(1);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
it('clamps to maxP for very high scores', () => {
|
|
39
|
-
expect(calculateProbability(1e9, 1, 0.1, 0.9)).toBeCloseTo(0.9, 5);
|
|
40
|
-
});
|
|
41
|
-
it('clamps to minP for very negative scores', () => {
|
|
42
|
-
expect(calculateProbability(-1e9, 1, 0.1, 0.9)).toBeCloseTo(0.1, 5);
|
|
43
|
-
});
|
|
44
|
-
it('returns a higher probability for a higher score (monotone)', () => {
|
|
45
|
-
const p1 = calculateProbability(10, 100, 0, 1);
|
|
46
|
-
const p2 = calculateProbability(50, 100, 0, 1);
|
|
47
|
-
expect(p2).toBeGreaterThan(p1);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
// ─── createUniqueRandomPicker ────────────────────────────────────────────────
|
|
51
|
-
describe('createUniqueRandomPicker()', () => {
|
|
52
|
-
it('throws when min > max', () => {
|
|
53
|
-
expect(() => createUniqueRandomPicker(5, 3)).toThrow('Invalid range');
|
|
54
|
-
});
|
|
55
|
-
it('throws for non-integer min', () => {
|
|
56
|
-
expect(() => createUniqueRandomPicker(0.5, 3)).toThrow('Invalid range');
|
|
57
|
-
});
|
|
58
|
-
it('throws for non-integer max', () => {
|
|
59
|
-
expect(() => createUniqueRandomPicker(0, 2.5)).toThrow('Invalid range');
|
|
60
|
-
});
|
|
61
|
-
it('yields each number in [min, max] exactly once per cycle', () => {
|
|
62
|
-
const picker = createUniqueRandomPicker(1, 5);
|
|
63
|
-
const results = [];
|
|
64
|
-
for (let i = 0; i < 5; i++)
|
|
65
|
-
results.push(picker.next());
|
|
66
|
-
expect(results.sort((a, b) => a - b)).toEqual([1, 2, 3, 4, 5]);
|
|
67
|
-
});
|
|
68
|
-
it('returns NaN after exhausting the pool before reset', () => {
|
|
69
|
-
const picker = createUniqueRandomPicker(1, 2);
|
|
70
|
-
picker.next();
|
|
71
|
-
picker.next();
|
|
72
|
-
expect(picker.next()).toBeNaN();
|
|
73
|
-
});
|
|
74
|
-
it('replenishes the full pool after reset()', () => {
|
|
75
|
-
const picker = createUniqueRandomPicker(1, 3);
|
|
76
|
-
for (let i = 0; i < 3; i++)
|
|
77
|
-
picker.next();
|
|
78
|
-
picker.reset();
|
|
79
|
-
const results = [];
|
|
80
|
-
for (let i = 0; i < 3; i++)
|
|
81
|
-
results.push(picker.next());
|
|
82
|
-
expect(results.sort((a, b) => a - b)).toEqual([1, 2, 3]);
|
|
83
|
-
});
|
|
84
|
-
it('works for a single-value range', () => {
|
|
85
|
-
const picker = createUniqueRandomPicker(7, 7);
|
|
86
|
-
expect(picker.next()).toBe(7);
|
|
87
|
-
expect(picker.next()).toBeNaN();
|
|
88
|
-
});
|
|
89
|
-
it('accepts min === 0', () => {
|
|
90
|
-
const picker = createUniqueRandomPicker(0, 2);
|
|
91
|
-
const results = [picker.next(), picker.next(), picker.next()];
|
|
92
|
-
expect(results.sort((a, b) => a - b)).toEqual([0, 1, 2]);
|
|
93
|
-
});
|
|
94
|
-
it('uses a custom rng deterministically', () => {
|
|
95
|
-
// rng always returns 0 → j=0 in every Fisher-Yates step → pool reversed
|
|
96
|
-
const picker = createUniqueRandomPicker(0, 2, () => 0);
|
|
97
|
-
const results = [picker.next(), picker.next(), picker.next()];
|
|
98
|
-
expect(results.sort((a, b) => a - b)).toEqual([0, 1, 2]);
|
|
99
|
-
});
|
|
100
|
-
});
|