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.
Files changed (721) hide show
  1. package/package.json +1 -1
  2. package/dist/cjs/src/api/index.d.ts +0 -127
  3. package/dist/cjs/src/api/index.js +0 -3
  4. package/dist/cjs/src/data/common/auth-admin.d.ts +0 -7
  5. package/dist/cjs/src/data/common/auth-admin.js +0 -156
  6. package/dist/cjs/src/data/common/index.d.ts +0 -2
  7. package/dist/cjs/src/data/common/index.js +0 -18
  8. package/dist/cjs/src/data/common/status.d.ts +0 -8
  9. package/dist/cjs/src/data/common/status.js +0 -11
  10. package/dist/cjs/src/data/country-locales.json +0 -1204
  11. package/dist/cjs/src/data/index.d.ts +0 -4
  12. package/dist/cjs/src/data/index.js +0 -22
  13. package/dist/cjs/src/data/init-models.d.ts +0 -2
  14. package/dist/cjs/src/data/init-models.js +0 -265
  15. package/dist/cjs/src/data/models/auth-identity.d.ts +0 -35
  16. package/dist/cjs/src/data/models/auth-identity.js +0 -75
  17. package/dist/cjs/src/data/models/auth-session.d.ts +0 -34
  18. package/dist/cjs/src/data/models/auth-session.js +0 -74
  19. package/dist/cjs/src/data/models/auth-user.d.ts +0 -56
  20. package/dist/cjs/src/data/models/auth-user.js +0 -74
  21. package/dist/cjs/src/data/models/box-score.d.ts +0 -73
  22. package/dist/cjs/src/data/models/box-score.js +0 -174
  23. package/dist/cjs/src/data/models/coach.d.ts +0 -27
  24. package/dist/cjs/src/data/models/coach.js +0 -62
  25. package/dist/cjs/src/data/models/competition-champion.d.ts +0 -23
  26. package/dist/cjs/src/data/models/competition-champion.js +0 -38
  27. package/dist/cjs/src/data/models/competition-match.d.ts +0 -29
  28. package/dist/cjs/src/data/models/competition-match.js +0 -46
  29. package/dist/cjs/src/data/models/competition-mvp.d.ts +0 -29
  30. package/dist/cjs/src/data/models/competition-mvp.js +0 -52
  31. package/dist/cjs/src/data/models/competition-standings-match.d.ts +0 -45
  32. package/dist/cjs/src/data/models/competition-standings-match.js +0 -60
  33. package/dist/cjs/src/data/models/competition-standings.d.ts +0 -47
  34. package/dist/cjs/src/data/models/competition-standings.js +0 -54
  35. package/dist/cjs/src/data/models/competition-teams.d.ts +0 -25
  36. package/dist/cjs/src/data/models/competition-teams.js +0 -46
  37. package/dist/cjs/src/data/models/competition.d.ts +0 -116
  38. package/dist/cjs/src/data/models/competition.js +0 -57
  39. package/dist/cjs/src/data/models/country.d.ts +0 -61
  40. package/dist/cjs/src/data/models/country.js +0 -88
  41. package/dist/cjs/src/data/models/currency-transaction.d.ts +0 -43
  42. package/dist/cjs/src/data/models/currency-transaction.js +0 -74
  43. package/dist/cjs/src/data/models/division-season.d.ts +0 -23
  44. package/dist/cjs/src/data/models/division-season.js +0 -38
  45. package/dist/cjs/src/data/models/division.d.ts +0 -47
  46. package/dist/cjs/src/data/models/division.js +0 -42
  47. package/dist/cjs/src/data/models/gacha-pity.d.ts +0 -23
  48. package/dist/cjs/src/data/models/gacha-pity.js +0 -47
  49. package/dist/cjs/src/data/models/gacha-pull-history.d.ts +0 -31
  50. package/dist/cjs/src/data/models/gacha-pull-history.js +0 -61
  51. package/dist/cjs/src/data/models/index.d.ts +0 -43
  52. package/dist/cjs/src/data/models/index.js +0 -59
  53. package/dist/cjs/src/data/models/iteration.d.ts +0 -26
  54. package/dist/cjs/src/data/models/iteration.js +0 -30
  55. package/dist/cjs/src/data/models/league.d.ts +0 -33
  56. package/dist/cjs/src/data/models/league.js +0 -44
  57. package/dist/cjs/src/data/models/match-rating.d.ts +0 -27
  58. package/dist/cjs/src/data/models/match-rating.js +0 -52
  59. package/dist/cjs/src/data/models/match-result.d.ts +0 -27
  60. package/dist/cjs/src/data/models/match-result.js +0 -38
  61. package/dist/cjs/src/data/models/match-set.d.ts +0 -65
  62. package/dist/cjs/src/data/models/match-set.js +0 -56
  63. package/dist/cjs/src/data/models/match.d.ts +0 -90
  64. package/dist/cjs/src/data/models/match.js +0 -64
  65. package/dist/cjs/src/data/models/notification.d.ts +0 -20
  66. package/dist/cjs/src/data/models/notification.js +0 -55
  67. package/dist/cjs/src/data/models/performance-stats.d.ts +0 -53
  68. package/dist/cjs/src/data/models/performance-stats.js +0 -120
  69. package/dist/cjs/src/data/models/player-improvement-log.d.ts +0 -31
  70. package/dist/cjs/src/data/models/player-improvement-log.js +0 -60
  71. package/dist/cjs/src/data/models/player-team.d.ts +0 -30
  72. package/dist/cjs/src/data/models/player-team.js +0 -57
  73. package/dist/cjs/src/data/models/player.d.ts +0 -106
  74. package/dist/cjs/src/data/models/player.js +0 -62
  75. package/dist/cjs/src/data/models/promotion-match.d.ts +0 -36
  76. package/dist/cjs/src/data/models/promotion-match.js +0 -49
  77. package/dist/cjs/src/data/models/rally.d.ts +0 -29
  78. package/dist/cjs/src/data/models/rally.js +0 -50
  79. package/dist/cjs/src/data/models/region-qualifier.d.ts +0 -29
  80. package/dist/cjs/src/data/models/region-qualifier.js +0 -47
  81. package/dist/cjs/src/data/models/tactics.d.ts +0 -38
  82. package/dist/cjs/src/data/models/tactics.js +0 -55
  83. package/dist/cjs/src/data/models/team-replacement.d.ts +0 -23
  84. package/dist/cjs/src/data/models/team-replacement.js +0 -40
  85. package/dist/cjs/src/data/models/team.d.ts +0 -151
  86. package/dist/cjs/src/data/models/team.js +0 -67
  87. package/dist/cjs/src/data/models/user-currency.d.ts +0 -21
  88. package/dist/cjs/src/data/models/user-currency.js +0 -42
  89. package/dist/cjs/src/data/models/user-player-progress.d.ts +0 -19
  90. package/dist/cjs/src/data/models/user-player-progress.js +0 -37
  91. package/dist/cjs/src/data/models/user-pull-grant.d.ts +0 -31
  92. package/dist/cjs/src/data/models/user-pull-grant.js +0 -61
  93. package/dist/cjs/src/data/models/user-settings.d.ts +0 -24
  94. package/dist/cjs/src/data/models/user-settings.js +0 -37
  95. package/dist/cjs/src/data/models/user-team.d.ts +0 -23
  96. package/dist/cjs/src/data/models/user-team.js +0 -45
  97. package/dist/cjs/src/data/models/views/box-score-totals.d.ts +0 -71
  98. package/dist/cjs/src/data/models/views/box-score-totals.js +0 -138
  99. package/dist/cjs/src/data/models/views/index.d.ts +0 -1
  100. package/dist/cjs/src/data/models/views/index.js +0 -17
  101. package/dist/cjs/src/data/models/vper.d.ts +0 -25
  102. package/dist/cjs/src/data/models/vper.js +0 -46
  103. package/dist/cjs/src/data/models/wishlist.d.ts +0 -21
  104. package/dist/cjs/src/data/models/wishlist.js +0 -42
  105. package/dist/cjs/src/data/transformers/box-score.d.ts +0 -5
  106. package/dist/cjs/src/data/transformers/box-score.js +0 -81
  107. package/dist/cjs/src/data/transformers/competition-team-order.d.ts +0 -2
  108. package/dist/cjs/src/data/transformers/competition-team-order.js +0 -21
  109. package/dist/cjs/src/data/transformers/country.d.ts +0 -5
  110. package/dist/cjs/src/data/transformers/country.js +0 -43
  111. package/dist/cjs/src/data/transformers/court-position.d.ts +0 -5
  112. package/dist/cjs/src/data/transformers/court-position.js +0 -30
  113. package/dist/cjs/src/data/transformers/division.d.ts +0 -5
  114. package/dist/cjs/src/data/transformers/division.js +0 -32
  115. package/dist/cjs/src/data/transformers/index.d.ts +0 -27
  116. package/dist/cjs/src/data/transformers/index.js +0 -43
  117. package/dist/cjs/src/data/transformers/iteration.d.ts +0 -5
  118. package/dist/cjs/src/data/transformers/iteration.js +0 -17
  119. package/dist/cjs/src/data/transformers/league.d.ts +0 -5
  120. package/dist/cjs/src/data/transformers/league.js +0 -23
  121. package/dist/cjs/src/data/transformers/match-rating.d.ts +0 -4
  122. package/dist/cjs/src/data/transformers/match-rating.js +0 -15
  123. package/dist/cjs/src/data/transformers/match-set.d.ts +0 -12
  124. package/dist/cjs/src/data/transformers/match-set.js +0 -51
  125. package/dist/cjs/src/data/transformers/match.d.ts +0 -5
  126. package/dist/cjs/src/data/transformers/match.js +0 -60
  127. package/dist/cjs/src/data/transformers/performance-stats.d.ts +0 -5
  128. package/dist/cjs/src/data/transformers/performance-stats.js +0 -50
  129. package/dist/cjs/src/data/transformers/player-team.d.ts +0 -3
  130. package/dist/cjs/src/data/transformers/player-team.js +0 -12
  131. package/dist/cjs/src/data/transformers/player.d.ts +0 -5
  132. package/dist/cjs/src/data/transformers/player.js +0 -85
  133. package/dist/cjs/src/data/transformers/promotion-match.d.ts +0 -5
  134. package/dist/cjs/src/data/transformers/promotion-match.js +0 -23
  135. package/dist/cjs/src/data/transformers/qualifier-match.d.ts +0 -5
  136. package/dist/cjs/src/data/transformers/qualifier-match.js +0 -22
  137. package/dist/cjs/src/data/transformers/qualifier.d.ts +0 -5
  138. package/dist/cjs/src/data/transformers/qualifier.js +0 -52
  139. package/dist/cjs/src/data/transformers/rally-event.d.ts +0 -20
  140. package/dist/cjs/src/data/transformers/rally-event.js +0 -98
  141. package/dist/cjs/src/data/transformers/rally.d.ts +0 -5
  142. package/dist/cjs/src/data/transformers/rally.js +0 -100
  143. package/dist/cjs/src/data/transformers/region-qualifier.d.ts +0 -5
  144. package/dist/cjs/src/data/transformers/region-qualifier.js +0 -17
  145. package/dist/cjs/src/data/transformers/season-match.d.ts +0 -4
  146. package/dist/cjs/src/data/transformers/season-match.js +0 -15
  147. package/dist/cjs/src/data/transformers/season.d.ts +0 -5
  148. package/dist/cjs/src/data/transformers/season.js +0 -49
  149. package/dist/cjs/src/data/transformers/stage.d.ts +0 -5
  150. package/dist/cjs/src/data/transformers/stage.js +0 -36
  151. package/dist/cjs/src/data/transformers/standing.d.ts +0 -4
  152. package/dist/cjs/src/data/transformers/standing.js +0 -20
  153. package/dist/cjs/src/data/transformers/tactics.d.ts +0 -5
  154. package/dist/cjs/src/data/transformers/tactics.js +0 -59
  155. package/dist/cjs/src/data/transformers/team.d.ts +0 -5
  156. package/dist/cjs/src/data/transformers/team.js +0 -34
  157. package/dist/cjs/src/data/transformers/tournament-match.d.ts +0 -5
  158. package/dist/cjs/src/data/transformers/tournament-match.js +0 -22
  159. package/dist/cjs/src/data/transformers/tournament.d.ts +0 -5
  160. package/dist/cjs/src/data/transformers/tournament.js +0 -52
  161. package/dist/cjs/src/data/transformers/vper.d.ts +0 -5
  162. package/dist/cjs/src/data/transformers/vper.js +0 -19
  163. package/dist/cjs/src/index.d.ts +0 -3
  164. package/dist/cjs/src/index.js +0 -19
  165. package/dist/cjs/src/logger.d.ts +0 -3
  166. package/dist/cjs/src/logger.js +0 -26
  167. package/dist/cjs/src/service/competition/division.d.ts +0 -22
  168. package/dist/cjs/src/service/competition/division.js +0 -54
  169. package/dist/cjs/src/service/competition/index.d.ts +0 -11
  170. package/dist/cjs/src/service/competition/index.js +0 -27
  171. package/dist/cjs/src/service/competition/iteration.d.ts +0 -6
  172. package/dist/cjs/src/service/competition/iteration.js +0 -23
  173. package/dist/cjs/src/service/competition/league.d.ts +0 -12
  174. package/dist/cjs/src/service/competition/league.js +0 -49
  175. package/dist/cjs/src/service/competition/promotion-match.d.ts +0 -9
  176. package/dist/cjs/src/service/competition/promotion-match.js +0 -29
  177. package/dist/cjs/src/service/competition/qualifier-match.d.ts +0 -9
  178. package/dist/cjs/src/service/competition/qualifier-match.js +0 -27
  179. package/dist/cjs/src/service/competition/qualifier.d.ts +0 -18
  180. package/dist/cjs/src/service/competition/qualifier.js +0 -49
  181. package/dist/cjs/src/service/competition/schemas/division.z.d.ts +0 -12
  182. package/dist/cjs/src/service/competition/schemas/division.z.js +0 -35
  183. package/dist/cjs/src/service/competition/schemas/iteration.z.d.ts +0 -6
  184. package/dist/cjs/src/service/competition/schemas/iteration.z.js +0 -8
  185. package/dist/cjs/src/service/competition/schemas/league.z.d.ts +0 -16
  186. package/dist/cjs/src/service/competition/schemas/league.z.js +0 -20
  187. package/dist/cjs/src/service/competition/schemas/promotion-match.z.d.ts +0 -9
  188. package/dist/cjs/src/service/competition/schemas/promotion-match.z.js +0 -20
  189. package/dist/cjs/src/service/competition/schemas/qualifier-match.z.d.ts +0 -9
  190. package/dist/cjs/src/service/competition/schemas/qualifier-match.z.js +0 -20
  191. package/dist/cjs/src/service/competition/schemas/qualifier.z.d.ts +0 -20
  192. package/dist/cjs/src/service/competition/schemas/qualifier.z.js +0 -32
  193. package/dist/cjs/src/service/competition/schemas/season.z.d.ts +0 -21
  194. package/dist/cjs/src/service/competition/schemas/season.z.js +0 -32
  195. package/dist/cjs/src/service/competition/schemas/standing.z.d.ts +0 -19
  196. package/dist/cjs/src/service/competition/schemas/standing.z.js +0 -53
  197. package/dist/cjs/src/service/competition/schemas/tournament-match.z.d.ts +0 -9
  198. package/dist/cjs/src/service/competition/schemas/tournament-match.z.js +0 -19
  199. package/dist/cjs/src/service/competition/schemas/tournament.z.d.ts +0 -18
  200. package/dist/cjs/src/service/competition/schemas/tournament.z.js +0 -28
  201. package/dist/cjs/src/service/competition/season.d.ts +0 -22
  202. package/dist/cjs/src/service/competition/season.js +0 -75
  203. package/dist/cjs/src/service/competition/stage.d.ts +0 -17
  204. package/dist/cjs/src/service/competition/stage.js +0 -37
  205. package/dist/cjs/src/service/competition/standing.d.ts +0 -24
  206. package/dist/cjs/src/service/competition/standing.js +0 -108
  207. package/dist/cjs/src/service/competition/standing.test.d.ts +0 -1
  208. package/dist/cjs/src/service/competition/standing.test.js +0 -160
  209. package/dist/cjs/src/service/competition/tournament-match.d.ts +0 -9
  210. package/dist/cjs/src/service/competition/tournament-match.js +0 -29
  211. package/dist/cjs/src/service/competition/tournament.d.ts +0 -15
  212. package/dist/cjs/src/service/competition/tournament.js +0 -36
  213. package/dist/cjs/src/service/country/country.d.ts +0 -29
  214. package/dist/cjs/src/service/country/country.js +0 -55
  215. package/dist/cjs/src/service/country/index.d.ts +0 -1
  216. package/dist/cjs/src/service/country/index.js +0 -17
  217. package/dist/cjs/src/service/country/schemas/country.z.d.ts +0 -23
  218. package/dist/cjs/src/service/country/schemas/country.z.js +0 -20
  219. package/dist/cjs/src/service/event/block.d.ts +0 -25
  220. package/dist/cjs/src/service/event/block.js +0 -50
  221. package/dist/cjs/src/service/event/event-types.d.ts +0 -7
  222. package/dist/cjs/src/service/event/event-types.js +0 -2
  223. package/dist/cjs/src/service/event/in-play-event.d.ts +0 -17
  224. package/dist/cjs/src/service/event/in-play-event.js +0 -21
  225. package/dist/cjs/src/service/event/index.d.ts +0 -10
  226. package/dist/cjs/src/service/event/index.js +0 -26
  227. package/dist/cjs/src/service/event/libero-replacement.d.ts +0 -13
  228. package/dist/cjs/src/service/event/libero-replacement.js +0 -38
  229. package/dist/cjs/src/service/event/rally-event.d.ts +0 -20
  230. package/dist/cjs/src/service/event/rally-event.js +0 -20
  231. package/dist/cjs/src/service/event/reception.d.ts +0 -23
  232. package/dist/cjs/src/service/event/reception.js +0 -47
  233. package/dist/cjs/src/service/event/schemas/block.z.d.ts +0 -22
  234. package/dist/cjs/src/service/event/schemas/block.z.js +0 -17
  235. package/dist/cjs/src/service/event/schemas/libero-replacement.z.d.ts +0 -7
  236. package/dist/cjs/src/service/event/schemas/libero-replacement.z.js +0 -20
  237. package/dist/cjs/src/service/event/schemas/reception.z.d.ts +0 -21
  238. package/dist/cjs/src/service/event/schemas/reception.z.js +0 -16
  239. package/dist/cjs/src/service/event/schemas/serve.z.d.ts +0 -21
  240. package/dist/cjs/src/service/event/schemas/serve.z.js +0 -16
  241. package/dist/cjs/src/service/event/schemas/set.z.d.ts +0 -21
  242. package/dist/cjs/src/service/event/schemas/set.z.js +0 -16
  243. package/dist/cjs/src/service/event/schemas/spike.z.d.ts +0 -21
  244. package/dist/cjs/src/service/event/schemas/spike.z.js +0 -16
  245. package/dist/cjs/src/service/event/schemas/substitution.z.d.ts +0 -6
  246. package/dist/cjs/src/service/event/schemas/substitution.z.js +0 -16
  247. package/dist/cjs/src/service/event/serve.d.ts +0 -23
  248. package/dist/cjs/src/service/event/serve.js +0 -47
  249. package/dist/cjs/src/service/event/set.d.ts +0 -21
  250. package/dist/cjs/src/service/event/set.js +0 -45
  251. package/dist/cjs/src/service/event/spike.d.ts +0 -25
  252. package/dist/cjs/src/service/event/spike.js +0 -49
  253. package/dist/cjs/src/service/event/substitution.d.ts +0 -7
  254. package/dist/cjs/src/service/event/substitution.js +0 -31
  255. package/dist/cjs/src/service/index.d.ts +0 -7
  256. package/dist/cjs/src/service/index.js +0 -23
  257. package/dist/cjs/src/service/match/box-score.d.ts +0 -94
  258. package/dist/cjs/src/service/match/box-score.js +0 -80
  259. package/dist/cjs/src/service/match/court-position.d.ts +0 -34
  260. package/dist/cjs/src/service/match/court-position.js +0 -70
  261. package/dist/cjs/src/service/match/index.d.ts +0 -9
  262. package/dist/cjs/src/service/match/index.js +0 -25
  263. package/dist/cjs/src/service/match/match-generator.d.ts +0 -5
  264. package/dist/cjs/src/service/match/match-generator.js +0 -73
  265. package/dist/cjs/src/service/match/match-rating.d.ts +0 -34
  266. package/dist/cjs/src/service/match/match-rating.js +0 -97
  267. package/dist/cjs/src/service/match/match-rating.test.d.ts +0 -1
  268. package/dist/cjs/src/service/match/match-rating.test.js +0 -146
  269. package/dist/cjs/src/service/match/match-set.d.ts +0 -33
  270. package/dist/cjs/src/service/match/match-set.js +0 -66
  271. package/dist/cjs/src/service/match/match-set.test.d.ts +0 -1
  272. package/dist/cjs/src/service/match/match-set.test.js +0 -123
  273. package/dist/cjs/src/service/match/match-team.d.ts +0 -7
  274. package/dist/cjs/src/service/match/match-team.js +0 -20
  275. package/dist/cjs/src/service/match/match.d.ts +0 -26
  276. package/dist/cjs/src/service/match/match.js +0 -65
  277. package/dist/cjs/src/service/match/rally.d.ts +0 -15
  278. package/dist/cjs/src/service/match/rally.js +0 -28
  279. package/dist/cjs/src/service/match/schemas/box-score.z.d.ts +0 -90
  280. package/dist/cjs/src/service/match/schemas/box-score.z.js +0 -89
  281. package/dist/cjs/src/service/match/schemas/match-rating.z.d.ts +0 -47
  282. package/dist/cjs/src/service/match/schemas/match-rating.z.js +0 -34
  283. package/dist/cjs/src/service/match/schemas/match-set.z.d.ts +0 -15
  284. package/dist/cjs/src/service/match/schemas/match-set.z.js +0 -76
  285. package/dist/cjs/src/service/match/schemas/match.z.d.ts +0 -22
  286. package/dist/cjs/src/service/match/schemas/match.z.js +0 -107
  287. package/dist/cjs/src/service/match/schemas/rally.z.d.ts +0 -9
  288. package/dist/cjs/src/service/match/schemas/rally.z.js +0 -14
  289. package/dist/cjs/src/service/match/schemas/vper.z.d.ts +0 -7
  290. package/dist/cjs/src/service/match/schemas/vper.z.js +0 -9
  291. package/dist/cjs/src/service/match/vper.d.ts +0 -14
  292. package/dist/cjs/src/service/match/vper.js +0 -69
  293. package/dist/cjs/src/service/match/vper.test.d.ts +0 -1
  294. package/dist/cjs/src/service/match/vper.test.js +0 -108
  295. package/dist/cjs/src/service/player/improvement.d.ts +0 -8
  296. package/dist/cjs/src/service/player/improvement.js +0 -82
  297. package/dist/cjs/src/service/player/improvement.test.d.ts +0 -1
  298. package/dist/cjs/src/service/player/improvement.test.js +0 -144
  299. package/dist/cjs/src/service/player/index.d.ts +0 -8
  300. package/dist/cjs/src/service/player/index.js +0 -24
  301. package/dist/cjs/src/service/player/performance-stats-keys.d.ts +0 -2
  302. package/dist/cjs/src/service/player/performance-stats-keys.js +0 -5
  303. package/dist/cjs/src/service/player/performance-stats.d.ts +0 -12
  304. package/dist/cjs/src/service/player/performance-stats.js +0 -35
  305. package/dist/cjs/src/service/player/player-generator.d.ts +0 -36
  306. package/dist/cjs/src/service/player/player-generator.js +0 -257
  307. package/dist/cjs/src/service/player/player.d.ts +0 -40
  308. package/dist/cjs/src/service/player/player.js +0 -124
  309. package/dist/cjs/src/service/player/rarity.d.ts +0 -15
  310. package/dist/cjs/src/service/player/rarity.js +0 -18
  311. package/dist/cjs/src/service/player/role.d.ts +0 -28
  312. package/dist/cjs/src/service/player/role.js +0 -84
  313. package/dist/cjs/src/service/player/role.test.d.ts +0 -1
  314. package/dist/cjs/src/service/player/role.test.js +0 -196
  315. package/dist/cjs/src/service/player/schemas/performance-stats.z.d.ts +0 -22
  316. package/dist/cjs/src/service/player/schemas/performance-stats.z.js +0 -8
  317. package/dist/cjs/src/service/player/schemas/player.z.d.ts +0 -147
  318. package/dist/cjs/src/service/player/schemas/player.z.js +0 -37
  319. package/dist/cjs/src/service/player/stats.d.ts +0 -12
  320. package/dist/cjs/src/service/player/stats.js +0 -68
  321. package/dist/cjs/src/service/player/stats.test.d.ts +0 -1
  322. package/dist/cjs/src/service/player/stats.test.js +0 -133
  323. package/dist/cjs/src/service/player/trait.d.ts +0 -51
  324. package/dist/cjs/src/service/player/trait.js +0 -87
  325. package/dist/cjs/src/service/team/formation.d.ts +0 -30
  326. package/dist/cjs/src/service/team/formation.js +0 -108
  327. package/dist/cjs/src/service/team/index.d.ts +0 -4
  328. package/dist/cjs/src/service/team/index.js +0 -20
  329. package/dist/cjs/src/service/team/schemas/formation.z.d.ts +0 -101
  330. package/dist/cjs/src/service/team/schemas/formation.z.js +0 -33
  331. package/dist/cjs/src/service/team/schemas/tactics.z.d.ts +0 -18
  332. package/dist/cjs/src/service/team/schemas/tactics.z.js +0 -52
  333. package/dist/cjs/src/service/team/schemas/team.z.d.ts +0 -28
  334. package/dist/cjs/src/service/team/schemas/team.z.js +0 -32
  335. package/dist/cjs/src/service/team/tactics.d.ts +0 -27
  336. package/dist/cjs/src/service/team/tactics.js +0 -44
  337. package/dist/cjs/src/service/team/team-generator.d.ts +0 -15
  338. package/dist/cjs/src/service/team/team-generator.js +0 -104
  339. package/dist/cjs/src/service/team/team.d.ts +0 -20
  340. package/dist/cjs/src/service/team/team.js +0 -51
  341. package/dist/cjs/src/service/test-helpers.d.ts +0 -38
  342. package/dist/cjs/src/service/test-helpers.js +0 -163
  343. package/dist/cjs/src/service/utils/faker-generators.d.ts +0 -25
  344. package/dist/cjs/src/service/utils/faker-generators.js +0 -82
  345. package/dist/cjs/src/service/utils/index.d.ts +0 -4
  346. package/dist/cjs/src/service/utils/index.js +0 -20
  347. package/dist/cjs/src/service/utils/number-utils.d.ts +0 -4
  348. package/dist/cjs/src/service/utils/number-utils.js +0 -30
  349. package/dist/cjs/src/service/utils/number-utils.test.d.ts +0 -1
  350. package/dist/cjs/src/service/utils/number-utils.test.js +0 -71
  351. package/dist/cjs/src/service/utils/object-utils.d.ts +0 -4
  352. package/dist/cjs/src/service/utils/object-utils.js +0 -4
  353. package/dist/cjs/src/service/utils/rng-utils.d.ts +0 -11
  354. package/dist/cjs/src/service/utils/rng-utils.js +0 -60
  355. package/dist/cjs/src/service/utils/rng-utils.test.d.ts +0 -1
  356. package/dist/cjs/src/service/utils/rng-utils.test.js +0 -102
  357. package/dist/cjs/src/stat-config/index.d.ts +0 -4
  358. package/dist/cjs/src/stat-config/index.js +0 -12
  359. package/dist/cjs/src/stat-config/roles.json +0 -117
  360. package/dist/cjs/src/stat-config/stat-caps.json +0 -7
  361. package/dist/cjs/src/stat-config/traits.json +0 -94
  362. package/dist/esm/src/api/index.d.ts +0 -127
  363. package/dist/esm/src/api/index.js +0 -1
  364. package/dist/esm/src/data/common/auth-admin.d.ts +0 -7
  365. package/dist/esm/src/data/common/auth-admin.js +0 -153
  366. package/dist/esm/src/data/common/index.d.ts +0 -2
  367. package/dist/esm/src/data/common/index.js +0 -2
  368. package/dist/esm/src/data/common/status.d.ts +0 -8
  369. package/dist/esm/src/data/common/status.js +0 -8
  370. package/dist/esm/src/data/country-locales.json +0 -1204
  371. package/dist/esm/src/data/index.d.ts +0 -4
  372. package/dist/esm/src/data/index.js +0 -4
  373. package/dist/esm/src/data/init-models.d.ts +0 -2
  374. package/dist/esm/src/data/init-models.js +0 -262
  375. package/dist/esm/src/data/models/auth-identity.d.ts +0 -35
  376. package/dist/esm/src/data/models/auth-identity.js +0 -71
  377. package/dist/esm/src/data/models/auth-session.d.ts +0 -34
  378. package/dist/esm/src/data/models/auth-session.js +0 -70
  379. package/dist/esm/src/data/models/auth-user.d.ts +0 -56
  380. package/dist/esm/src/data/models/auth-user.js +0 -70
  381. package/dist/esm/src/data/models/box-score.d.ts +0 -73
  382. package/dist/esm/src/data/models/box-score.js +0 -170
  383. package/dist/esm/src/data/models/coach.d.ts +0 -27
  384. package/dist/esm/src/data/models/coach.js +0 -58
  385. package/dist/esm/src/data/models/competition-champion.d.ts +0 -23
  386. package/dist/esm/src/data/models/competition-champion.js +0 -34
  387. package/dist/esm/src/data/models/competition-match.d.ts +0 -29
  388. package/dist/esm/src/data/models/competition-match.js +0 -42
  389. package/dist/esm/src/data/models/competition-mvp.d.ts +0 -29
  390. package/dist/esm/src/data/models/competition-mvp.js +0 -48
  391. package/dist/esm/src/data/models/competition-standings-match.d.ts +0 -45
  392. package/dist/esm/src/data/models/competition-standings-match.js +0 -56
  393. package/dist/esm/src/data/models/competition-standings.d.ts +0 -47
  394. package/dist/esm/src/data/models/competition-standings.js +0 -50
  395. package/dist/esm/src/data/models/competition-teams.d.ts +0 -25
  396. package/dist/esm/src/data/models/competition-teams.js +0 -42
  397. package/dist/esm/src/data/models/competition.d.ts +0 -116
  398. package/dist/esm/src/data/models/competition.js +0 -53
  399. package/dist/esm/src/data/models/country.d.ts +0 -61
  400. package/dist/esm/src/data/models/country.js +0 -84
  401. package/dist/esm/src/data/models/currency-transaction.d.ts +0 -43
  402. package/dist/esm/src/data/models/currency-transaction.js +0 -70
  403. package/dist/esm/src/data/models/division-season.d.ts +0 -23
  404. package/dist/esm/src/data/models/division-season.js +0 -34
  405. package/dist/esm/src/data/models/division.d.ts +0 -47
  406. package/dist/esm/src/data/models/division.js +0 -38
  407. package/dist/esm/src/data/models/gacha-pity.d.ts +0 -23
  408. package/dist/esm/src/data/models/gacha-pity.js +0 -43
  409. package/dist/esm/src/data/models/gacha-pull-history.d.ts +0 -31
  410. package/dist/esm/src/data/models/gacha-pull-history.js +0 -57
  411. package/dist/esm/src/data/models/index.d.ts +0 -43
  412. package/dist/esm/src/data/models/index.js +0 -43
  413. package/dist/esm/src/data/models/iteration.d.ts +0 -26
  414. package/dist/esm/src/data/models/iteration.js +0 -26
  415. package/dist/esm/src/data/models/league.d.ts +0 -33
  416. package/dist/esm/src/data/models/league.js +0 -40
  417. package/dist/esm/src/data/models/match-rating.d.ts +0 -27
  418. package/dist/esm/src/data/models/match-rating.js +0 -48
  419. package/dist/esm/src/data/models/match-result.d.ts +0 -27
  420. package/dist/esm/src/data/models/match-result.js +0 -34
  421. package/dist/esm/src/data/models/match-set.d.ts +0 -65
  422. package/dist/esm/src/data/models/match-set.js +0 -52
  423. package/dist/esm/src/data/models/match.d.ts +0 -90
  424. package/dist/esm/src/data/models/match.js +0 -60
  425. package/dist/esm/src/data/models/notification.d.ts +0 -20
  426. package/dist/esm/src/data/models/notification.js +0 -51
  427. package/dist/esm/src/data/models/performance-stats.d.ts +0 -53
  428. package/dist/esm/src/data/models/performance-stats.js +0 -116
  429. package/dist/esm/src/data/models/player-improvement-log.d.ts +0 -31
  430. package/dist/esm/src/data/models/player-improvement-log.js +0 -56
  431. package/dist/esm/src/data/models/player-team.d.ts +0 -30
  432. package/dist/esm/src/data/models/player-team.js +0 -53
  433. package/dist/esm/src/data/models/player.d.ts +0 -106
  434. package/dist/esm/src/data/models/player.js +0 -58
  435. package/dist/esm/src/data/models/promotion-match.d.ts +0 -36
  436. package/dist/esm/src/data/models/promotion-match.js +0 -45
  437. package/dist/esm/src/data/models/rally.d.ts +0 -29
  438. package/dist/esm/src/data/models/rally.js +0 -46
  439. package/dist/esm/src/data/models/region-qualifier.d.ts +0 -29
  440. package/dist/esm/src/data/models/region-qualifier.js +0 -43
  441. package/dist/esm/src/data/models/tactics.d.ts +0 -38
  442. package/dist/esm/src/data/models/tactics.js +0 -51
  443. package/dist/esm/src/data/models/team-replacement.d.ts +0 -23
  444. package/dist/esm/src/data/models/team-replacement.js +0 -36
  445. package/dist/esm/src/data/models/team.d.ts +0 -151
  446. package/dist/esm/src/data/models/team.js +0 -63
  447. package/dist/esm/src/data/models/user-currency.d.ts +0 -21
  448. package/dist/esm/src/data/models/user-currency.js +0 -38
  449. package/dist/esm/src/data/models/user-player-progress.d.ts +0 -19
  450. package/dist/esm/src/data/models/user-player-progress.js +0 -33
  451. package/dist/esm/src/data/models/user-pull-grant.d.ts +0 -31
  452. package/dist/esm/src/data/models/user-pull-grant.js +0 -57
  453. package/dist/esm/src/data/models/user-settings.d.ts +0 -24
  454. package/dist/esm/src/data/models/user-settings.js +0 -33
  455. package/dist/esm/src/data/models/user-team.d.ts +0 -23
  456. package/dist/esm/src/data/models/user-team.js +0 -41
  457. package/dist/esm/src/data/models/views/box-score-totals.d.ts +0 -71
  458. package/dist/esm/src/data/models/views/box-score-totals.js +0 -134
  459. package/dist/esm/src/data/models/views/index.d.ts +0 -1
  460. package/dist/esm/src/data/models/views/index.js +0 -1
  461. package/dist/esm/src/data/models/vper.d.ts +0 -25
  462. package/dist/esm/src/data/models/vper.js +0 -42
  463. package/dist/esm/src/data/models/wishlist.d.ts +0 -21
  464. package/dist/esm/src/data/models/wishlist.js +0 -38
  465. package/dist/esm/src/data/transformers/box-score.d.ts +0 -5
  466. package/dist/esm/src/data/transformers/box-score.js +0 -78
  467. package/dist/esm/src/data/transformers/competition-team-order.d.ts +0 -2
  468. package/dist/esm/src/data/transformers/competition-team-order.js +0 -18
  469. package/dist/esm/src/data/transformers/country.d.ts +0 -5
  470. package/dist/esm/src/data/transformers/country.js +0 -40
  471. package/dist/esm/src/data/transformers/court-position.d.ts +0 -5
  472. package/dist/esm/src/data/transformers/court-position.js +0 -27
  473. package/dist/esm/src/data/transformers/division.d.ts +0 -5
  474. package/dist/esm/src/data/transformers/division.js +0 -29
  475. package/dist/esm/src/data/transformers/index.d.ts +0 -27
  476. package/dist/esm/src/data/transformers/index.js +0 -27
  477. package/dist/esm/src/data/transformers/iteration.d.ts +0 -5
  478. package/dist/esm/src/data/transformers/iteration.js +0 -14
  479. package/dist/esm/src/data/transformers/league.d.ts +0 -5
  480. package/dist/esm/src/data/transformers/league.js +0 -20
  481. package/dist/esm/src/data/transformers/match-rating.d.ts +0 -4
  482. package/dist/esm/src/data/transformers/match-rating.js +0 -13
  483. package/dist/esm/src/data/transformers/match-set.d.ts +0 -12
  484. package/dist/esm/src/data/transformers/match-set.js +0 -48
  485. package/dist/esm/src/data/transformers/match.d.ts +0 -5
  486. package/dist/esm/src/data/transformers/match.js +0 -57
  487. package/dist/esm/src/data/transformers/performance-stats.d.ts +0 -5
  488. package/dist/esm/src/data/transformers/performance-stats.js +0 -47
  489. package/dist/esm/src/data/transformers/player-team.d.ts +0 -3
  490. package/dist/esm/src/data/transformers/player-team.js +0 -10
  491. package/dist/esm/src/data/transformers/player.d.ts +0 -5
  492. package/dist/esm/src/data/transformers/player.js +0 -82
  493. package/dist/esm/src/data/transformers/promotion-match.d.ts +0 -5
  494. package/dist/esm/src/data/transformers/promotion-match.js +0 -20
  495. package/dist/esm/src/data/transformers/qualifier-match.d.ts +0 -5
  496. package/dist/esm/src/data/transformers/qualifier-match.js +0 -19
  497. package/dist/esm/src/data/transformers/qualifier.d.ts +0 -5
  498. package/dist/esm/src/data/transformers/qualifier.js +0 -49
  499. package/dist/esm/src/data/transformers/rally-event.d.ts +0 -20
  500. package/dist/esm/src/data/transformers/rally-event.js +0 -88
  501. package/dist/esm/src/data/transformers/rally.d.ts +0 -5
  502. package/dist/esm/src/data/transformers/rally.js +0 -97
  503. package/dist/esm/src/data/transformers/region-qualifier.d.ts +0 -5
  504. package/dist/esm/src/data/transformers/region-qualifier.js +0 -14
  505. package/dist/esm/src/data/transformers/season-match.d.ts +0 -4
  506. package/dist/esm/src/data/transformers/season-match.js +0 -13
  507. package/dist/esm/src/data/transformers/season.d.ts +0 -5
  508. package/dist/esm/src/data/transformers/season.js +0 -46
  509. package/dist/esm/src/data/transformers/stage.d.ts +0 -5
  510. package/dist/esm/src/data/transformers/stage.js +0 -33
  511. package/dist/esm/src/data/transformers/standing.d.ts +0 -4
  512. package/dist/esm/src/data/transformers/standing.js +0 -18
  513. package/dist/esm/src/data/transformers/tactics.d.ts +0 -5
  514. package/dist/esm/src/data/transformers/tactics.js +0 -56
  515. package/dist/esm/src/data/transformers/team.d.ts +0 -5
  516. package/dist/esm/src/data/transformers/team.js +0 -31
  517. package/dist/esm/src/data/transformers/tournament-match.d.ts +0 -5
  518. package/dist/esm/src/data/transformers/tournament-match.js +0 -19
  519. package/dist/esm/src/data/transformers/tournament.d.ts +0 -5
  520. package/dist/esm/src/data/transformers/tournament.js +0 -49
  521. package/dist/esm/src/data/transformers/vper.d.ts +0 -5
  522. package/dist/esm/src/data/transformers/vper.js +0 -16
  523. package/dist/esm/src/index.d.ts +0 -3
  524. package/dist/esm/src/index.js +0 -3
  525. package/dist/esm/src/logger.d.ts +0 -3
  526. package/dist/esm/src/logger.js +0 -21
  527. package/dist/esm/src/service/competition/division.d.ts +0 -22
  528. package/dist/esm/src/service/competition/division.js +0 -47
  529. package/dist/esm/src/service/competition/index.d.ts +0 -11
  530. package/dist/esm/src/service/competition/index.js +0 -11
  531. package/dist/esm/src/service/competition/iteration.d.ts +0 -6
  532. package/dist/esm/src/service/competition/iteration.js +0 -19
  533. package/dist/esm/src/service/competition/league.d.ts +0 -12
  534. package/dist/esm/src/service/competition/league.js +0 -42
  535. package/dist/esm/src/service/competition/promotion-match.d.ts +0 -9
  536. package/dist/esm/src/service/competition/promotion-match.js +0 -25
  537. package/dist/esm/src/service/competition/qualifier-match.d.ts +0 -9
  538. package/dist/esm/src/service/competition/qualifier-match.js +0 -23
  539. package/dist/esm/src/service/competition/qualifier.d.ts +0 -18
  540. package/dist/esm/src/service/competition/qualifier.js +0 -45
  541. package/dist/esm/src/service/competition/schemas/division.z.d.ts +0 -12
  542. package/dist/esm/src/service/competition/schemas/division.z.js +0 -32
  543. package/dist/esm/src/service/competition/schemas/iteration.z.d.ts +0 -6
  544. package/dist/esm/src/service/competition/schemas/iteration.z.js +0 -5
  545. package/dist/esm/src/service/competition/schemas/league.z.d.ts +0 -16
  546. package/dist/esm/src/service/competition/schemas/league.z.js +0 -17
  547. package/dist/esm/src/service/competition/schemas/promotion-match.z.d.ts +0 -9
  548. package/dist/esm/src/service/competition/schemas/promotion-match.z.js +0 -17
  549. package/dist/esm/src/service/competition/schemas/qualifier-match.z.d.ts +0 -9
  550. package/dist/esm/src/service/competition/schemas/qualifier-match.z.js +0 -17
  551. package/dist/esm/src/service/competition/schemas/qualifier.z.d.ts +0 -20
  552. package/dist/esm/src/service/competition/schemas/qualifier.z.js +0 -29
  553. package/dist/esm/src/service/competition/schemas/season.z.d.ts +0 -21
  554. package/dist/esm/src/service/competition/schemas/season.z.js +0 -29
  555. package/dist/esm/src/service/competition/schemas/standing.z.d.ts +0 -19
  556. package/dist/esm/src/service/competition/schemas/standing.z.js +0 -50
  557. package/dist/esm/src/service/competition/schemas/tournament-match.z.d.ts +0 -9
  558. package/dist/esm/src/service/competition/schemas/tournament-match.z.js +0 -16
  559. package/dist/esm/src/service/competition/schemas/tournament.z.d.ts +0 -18
  560. package/dist/esm/src/service/competition/schemas/tournament.z.js +0 -25
  561. package/dist/esm/src/service/competition/season.d.ts +0 -22
  562. package/dist/esm/src/service/competition/season.js +0 -68
  563. package/dist/esm/src/service/competition/stage.d.ts +0 -17
  564. package/dist/esm/src/service/competition/stage.js +0 -34
  565. package/dist/esm/src/service/competition/standing.d.ts +0 -24
  566. package/dist/esm/src/service/competition/standing.js +0 -104
  567. package/dist/esm/src/service/competition/standing.test.d.ts +0 -1
  568. package/dist/esm/src/service/competition/standing.test.js +0 -158
  569. package/dist/esm/src/service/competition/tournament-match.d.ts +0 -9
  570. package/dist/esm/src/service/competition/tournament-match.js +0 -25
  571. package/dist/esm/src/service/competition/tournament.d.ts +0 -15
  572. package/dist/esm/src/service/competition/tournament.js +0 -32
  573. package/dist/esm/src/service/country/country.d.ts +0 -29
  574. package/dist/esm/src/service/country/country.js +0 -48
  575. package/dist/esm/src/service/country/index.d.ts +0 -1
  576. package/dist/esm/src/service/country/index.js +0 -1
  577. package/dist/esm/src/service/country/schemas/country.z.d.ts +0 -23
  578. package/dist/esm/src/service/country/schemas/country.z.js +0 -17
  579. package/dist/esm/src/service/event/block.d.ts +0 -25
  580. package/dist/esm/src/service/event/block.js +0 -46
  581. package/dist/esm/src/service/event/event-types.d.ts +0 -7
  582. package/dist/esm/src/service/event/event-types.js +0 -1
  583. package/dist/esm/src/service/event/in-play-event.d.ts +0 -17
  584. package/dist/esm/src/service/event/in-play-event.js +0 -17
  585. package/dist/esm/src/service/event/index.d.ts +0 -10
  586. package/dist/esm/src/service/event/index.js +0 -10
  587. package/dist/esm/src/service/event/libero-replacement.d.ts +0 -13
  588. package/dist/esm/src/service/event/libero-replacement.js +0 -34
  589. package/dist/esm/src/service/event/rally-event.d.ts +0 -20
  590. package/dist/esm/src/service/event/rally-event.js +0 -16
  591. package/dist/esm/src/service/event/reception.d.ts +0 -23
  592. package/dist/esm/src/service/event/reception.js +0 -43
  593. package/dist/esm/src/service/event/schemas/block.z.d.ts +0 -22
  594. package/dist/esm/src/service/event/schemas/block.z.js +0 -14
  595. package/dist/esm/src/service/event/schemas/libero-replacement.z.d.ts +0 -7
  596. package/dist/esm/src/service/event/schemas/libero-replacement.z.js +0 -17
  597. package/dist/esm/src/service/event/schemas/reception.z.d.ts +0 -21
  598. package/dist/esm/src/service/event/schemas/reception.z.js +0 -13
  599. package/dist/esm/src/service/event/schemas/serve.z.d.ts +0 -21
  600. package/dist/esm/src/service/event/schemas/serve.z.js +0 -13
  601. package/dist/esm/src/service/event/schemas/set.z.d.ts +0 -21
  602. package/dist/esm/src/service/event/schemas/set.z.js +0 -13
  603. package/dist/esm/src/service/event/schemas/spike.z.d.ts +0 -21
  604. package/dist/esm/src/service/event/schemas/spike.z.js +0 -13
  605. package/dist/esm/src/service/event/schemas/substitution.z.d.ts +0 -6
  606. package/dist/esm/src/service/event/schemas/substitution.z.js +0 -13
  607. package/dist/esm/src/service/event/serve.d.ts +0 -23
  608. package/dist/esm/src/service/event/serve.js +0 -43
  609. package/dist/esm/src/service/event/set.d.ts +0 -21
  610. package/dist/esm/src/service/event/set.js +0 -41
  611. package/dist/esm/src/service/event/spike.d.ts +0 -25
  612. package/dist/esm/src/service/event/spike.js +0 -45
  613. package/dist/esm/src/service/event/substitution.d.ts +0 -7
  614. package/dist/esm/src/service/event/substitution.js +0 -27
  615. package/dist/esm/src/service/index.d.ts +0 -7
  616. package/dist/esm/src/service/index.js +0 -7
  617. package/dist/esm/src/service/match/box-score.d.ts +0 -94
  618. package/dist/esm/src/service/match/box-score.js +0 -76
  619. package/dist/esm/src/service/match/court-position.d.ts +0 -34
  620. package/dist/esm/src/service/match/court-position.js +0 -62
  621. package/dist/esm/src/service/match/index.d.ts +0 -9
  622. package/dist/esm/src/service/match/index.js +0 -9
  623. package/dist/esm/src/service/match/match-generator.d.ts +0 -5
  624. package/dist/esm/src/service/match/match-generator.js +0 -67
  625. package/dist/esm/src/service/match/match-rating.d.ts +0 -34
  626. package/dist/esm/src/service/match/match-rating.js +0 -93
  627. package/dist/esm/src/service/match/match-rating.test.d.ts +0 -1
  628. package/dist/esm/src/service/match/match-rating.test.js +0 -144
  629. package/dist/esm/src/service/match/match-set.d.ts +0 -33
  630. package/dist/esm/src/service/match/match-set.js +0 -62
  631. package/dist/esm/src/service/match/match-set.test.d.ts +0 -1
  632. package/dist/esm/src/service/match/match-set.test.js +0 -121
  633. package/dist/esm/src/service/match/match-team.d.ts +0 -7
  634. package/dist/esm/src/service/match/match-team.js +0 -17
  635. package/dist/esm/src/service/match/match.d.ts +0 -26
  636. package/dist/esm/src/service/match/match.js +0 -61
  637. package/dist/esm/src/service/match/rally.d.ts +0 -15
  638. package/dist/esm/src/service/match/rally.js +0 -24
  639. package/dist/esm/src/service/match/schemas/box-score.z.d.ts +0 -90
  640. package/dist/esm/src/service/match/schemas/box-score.z.js +0 -86
  641. package/dist/esm/src/service/match/schemas/match-rating.z.d.ts +0 -47
  642. package/dist/esm/src/service/match/schemas/match-rating.z.js +0 -31
  643. package/dist/esm/src/service/match/schemas/match-set.z.d.ts +0 -15
  644. package/dist/esm/src/service/match/schemas/match-set.z.js +0 -73
  645. package/dist/esm/src/service/match/schemas/match.z.d.ts +0 -22
  646. package/dist/esm/src/service/match/schemas/match.z.js +0 -104
  647. package/dist/esm/src/service/match/schemas/rally.z.d.ts +0 -9
  648. package/dist/esm/src/service/match/schemas/rally.z.js +0 -11
  649. package/dist/esm/src/service/match/schemas/vper.z.d.ts +0 -7
  650. package/dist/esm/src/service/match/schemas/vper.z.js +0 -6
  651. package/dist/esm/src/service/match/vper.d.ts +0 -14
  652. package/dist/esm/src/service/match/vper.js +0 -65
  653. package/dist/esm/src/service/match/vper.test.d.ts +0 -1
  654. package/dist/esm/src/service/match/vper.test.js +0 -106
  655. package/dist/esm/src/service/player/improvement.d.ts +0 -8
  656. package/dist/esm/src/service/player/improvement.js +0 -75
  657. package/dist/esm/src/service/player/improvement.test.d.ts +0 -1
  658. package/dist/esm/src/service/player/improvement.test.js +0 -142
  659. package/dist/esm/src/service/player/index.d.ts +0 -8
  660. package/dist/esm/src/service/player/index.js +0 -8
  661. package/dist/esm/src/service/player/performance-stats-keys.d.ts +0 -2
  662. package/dist/esm/src/service/player/performance-stats-keys.js +0 -2
  663. package/dist/esm/src/service/player/performance-stats.d.ts +0 -12
  664. package/dist/esm/src/service/player/performance-stats.js +0 -31
  665. package/dist/esm/src/service/player/player-generator.d.ts +0 -36
  666. package/dist/esm/src/service/player/player-generator.js +0 -251
  667. package/dist/esm/src/service/player/player.d.ts +0 -40
  668. package/dist/esm/src/service/player/player.js +0 -118
  669. package/dist/esm/src/service/player/rarity.d.ts +0 -15
  670. package/dist/esm/src/service/player/rarity.js +0 -15
  671. package/dist/esm/src/service/player/role.d.ts +0 -28
  672. package/dist/esm/src/service/player/role.js +0 -74
  673. package/dist/esm/src/service/player/role.test.d.ts +0 -1
  674. package/dist/esm/src/service/player/role.test.js +0 -194
  675. package/dist/esm/src/service/player/schemas/performance-stats.z.d.ts +0 -22
  676. package/dist/esm/src/service/player/schemas/performance-stats.z.js +0 -5
  677. package/dist/esm/src/service/player/schemas/player.z.d.ts +0 -147
  678. package/dist/esm/src/service/player/schemas/player.z.js +0 -34
  679. package/dist/esm/src/service/player/stats.d.ts +0 -12
  680. package/dist/esm/src/service/player/stats.js +0 -63
  681. package/dist/esm/src/service/player/stats.test.d.ts +0 -1
  682. package/dist/esm/src/service/player/stats.test.js +0 -131
  683. package/dist/esm/src/service/player/trait.d.ts +0 -51
  684. package/dist/esm/src/service/player/trait.js +0 -80
  685. package/dist/esm/src/service/team/formation.d.ts +0 -30
  686. package/dist/esm/src/service/team/formation.js +0 -104
  687. package/dist/esm/src/service/team/index.d.ts +0 -4
  688. package/dist/esm/src/service/team/index.js +0 -4
  689. package/dist/esm/src/service/team/schemas/formation.z.d.ts +0 -101
  690. package/dist/esm/src/service/team/schemas/formation.z.js +0 -30
  691. package/dist/esm/src/service/team/schemas/tactics.z.d.ts +0 -18
  692. package/dist/esm/src/service/team/schemas/tactics.z.js +0 -49
  693. package/dist/esm/src/service/team/schemas/team.z.d.ts +0 -28
  694. package/dist/esm/src/service/team/schemas/team.z.js +0 -29
  695. package/dist/esm/src/service/team/tactics.d.ts +0 -27
  696. package/dist/esm/src/service/team/tactics.js +0 -40
  697. package/dist/esm/src/service/team/team-generator.d.ts +0 -15
  698. package/dist/esm/src/service/team/team-generator.js +0 -97
  699. package/dist/esm/src/service/team/team.d.ts +0 -20
  700. package/dist/esm/src/service/team/team.js +0 -47
  701. package/dist/esm/src/service/test-helpers.d.ts +0 -38
  702. package/dist/esm/src/service/test-helpers.js +0 -153
  703. package/dist/esm/src/service/utils/faker-generators.d.ts +0 -25
  704. package/dist/esm/src/service/utils/faker-generators.js +0 -77
  705. package/dist/esm/src/service/utils/index.d.ts +0 -4
  706. package/dist/esm/src/service/utils/index.js +0 -4
  707. package/dist/esm/src/service/utils/number-utils.d.ts +0 -4
  708. package/dist/esm/src/service/utils/number-utils.js +0 -24
  709. package/dist/esm/src/service/utils/number-utils.test.d.ts +0 -1
  710. package/dist/esm/src/service/utils/number-utils.test.js +0 -69
  711. package/dist/esm/src/service/utils/object-utils.d.ts +0 -4
  712. package/dist/esm/src/service/utils/object-utils.js +0 -1
  713. package/dist/esm/src/service/utils/rng-utils.d.ts +0 -11
  714. package/dist/esm/src/service/utils/rng-utils.js +0 -55
  715. package/dist/esm/src/service/utils/rng-utils.test.d.ts +0 -1
  716. package/dist/esm/src/service/utils/rng-utils.test.js +0 -100
  717. package/dist/esm/src/stat-config/index.d.ts +0 -4
  718. package/dist/esm/src/stat-config/index.js +0 -4
  719. package/dist/esm/src/stat-config/roles.json +0 -117
  720. package/dist/esm/src/stat-config/stat-caps.json +0 -7
  721. package/dist/esm/src/stat-config/traits.json +0 -94
@@ -1,73 +0,0 @@
1
- import { z } from 'zod';
2
- import { Rally } from '../rally';
3
- import { BoxScore } from '../box-score';
4
- const nonNegInt = z.number().int().min(0);
5
- const orderSchema = z.number().int().min(0).max(4);
6
- /**
7
- * NOTE:
8
- * This validates that the input contains actual instances of Rally / BoxScore.
9
- * If you're validating plain JSON (e.g. from DB/API), swap these for object schemas.
10
- */
11
- const PlayerPositionSchema = z.custom((v) => v != null, {
12
- message: 'INVALID_PLAYER_POSITION'
13
- });
14
- export const MatchSetInputSchema = z.object({
15
- id: z.uuid(),
16
- order: orderSchema,
17
- isTieBreak: z.boolean(),
18
- homePlayerPosition: z.array(PlayerPositionSchema).max(12),
19
- awayPlayerPosition: z.array(PlayerPositionSchema).max(12),
20
- homeScore: nonNegInt,
21
- awayScore: nonNegInt,
22
- boxScores: z.array(z.custom((v) => v instanceof BoxScore, {
23
- message: 'INVALID_BOX_SCORE_INSTANCE'
24
- })),
25
- rallies: z.array(z.custom((v) => v instanceof Rally, {
26
- message: 'INVALID_RALLY_INSTANCE'
27
- }))
28
- }).superRefine((data, ctx) => {
29
- const { order, isTieBreak, rallies, homeScore, awayScore } = data;
30
- // isTieBreak <-> order === 4
31
- if (isTieBreak && order !== 4) {
32
- ctx.addIssue({
33
- code: 'custom',
34
- message: 'TIEBREAK_REQUIRES_ORDER_4',
35
- path: ['order']
36
- });
37
- }
38
- if (!isTieBreak && order === 4) {
39
- ctx.addIssue({
40
- code: 'custom',
41
- message: 'ORDER_4_REQUIRES_TIEBREAK',
42
- path: ['isTieBreak']
43
- });
44
- }
45
- const hasRallies = rallies.length > 0;
46
- const isZeroZero = homeScore === 0 && awayScore === 0;
47
- const scoreThreshold = isTieBreak ? 15 : 25;
48
- // Score rule: one side must reach threshold, unless this is an empty-rallies 0-0 set.
49
- if (!isZeroZero && homeScore < scoreThreshold && awayScore < scoreThreshold) {
50
- ctx.addIssue({
51
- code: 'custom',
52
- message: isTieBreak ? 'SCORE_REQUIRES_SIDE_AT_LEAST_15' : 'SCORE_REQUIRES_SIDE_AT_LEAST_25',
53
- path: ['homeScore']
54
- });
55
- }
56
- // If rallies exist, score cannot be 0-0 and must match the number of rallies.
57
- if (hasRallies) {
58
- if (isZeroZero) {
59
- ctx.addIssue({
60
- code: 'custom',
61
- message: 'NON_EMPTY_RALLIES_CANNOT_HAVE_0_0_SCORE',
62
- path: ['rallies']
63
- });
64
- }
65
- if (homeScore + awayScore !== rallies.length) {
66
- ctx.addIssue({
67
- code: 'custom',
68
- message: 'RALLIES_LENGTH_MUST_EQUAL_SCORE_SUM',
69
- path: ['rallies']
70
- });
71
- }
72
- }
73
- });
@@ -1,22 +0,0 @@
1
- import { z } from 'zod';
2
- import { Team } from '../../team';
3
- import { StatusEnum } from '../../../data/common';
4
- import { MatchSet } from '../match-set';
5
- import { VPER } from '../vper';
6
- export declare const MatchInputSchema: z.ZodObject<{
7
- id: z.ZodUUID;
8
- homeTeam: z.ZodCustom<Team, Team>;
9
- awayTeam: z.ZodCustom<Team, Team>;
10
- scheduledDate: z.ZodCoercedDate<unknown>;
11
- status: z.ZodEnum<{
12
- PENDING: StatusEnum.PENDING;
13
- IN_PROGRESS: StatusEnum.IN_PROGRESS;
14
- COMPLETE: StatusEnum.COMPLETE;
15
- }>;
16
- sets: z.ZodOptional<z.ZodArray<z.ZodCustom<MatchSet, MatchSet>>>;
17
- VPERs: z.ZodOptional<z.ZodArray<z.ZodCustom<VPER, VPER>>>;
18
- homeScore: z.ZodOptional<z.ZodNumber>;
19
- awayScore: z.ZodOptional<z.ZodNumber>;
20
- winner: z.ZodOptional<z.ZodCustom<Team, Team>>;
21
- }, z.core.$strip>;
22
- export type MatchInput = z.infer<typeof MatchInputSchema>;
@@ -1,104 +0,0 @@
1
- import { z } from 'zod';
2
- import { Team } from '../../team';
3
- import { StatusEnum } from '../../../data/common';
4
- import { MatchSet } from '../match-set';
5
- import { VPER } from '../vper';
6
- const teamSchema = z.custom((v) => v instanceof Team, {
7
- message: 'INVALID_TEAM_INSTANCE'
8
- });
9
- export const MatchInputSchema = z.object({
10
- id: z.uuid(),
11
- homeTeam: teamSchema,
12
- awayTeam: teamSchema,
13
- scheduledDate: z.coerce.date(),
14
- status: z.enum(Object.values(StatusEnum)),
15
- sets: z.array(z.custom((v) => v instanceof MatchSet, {
16
- message: 'INVALID_MATCH_SET_INSTANCE'
17
- })).optional(),
18
- VPERs: z.array(z.custom((v) => v instanceof VPER, {
19
- message: 'INVALID_VPER_INSTANCE'
20
- })).optional(),
21
- homeScore: z.number().int().optional(),
22
- awayScore: z.number().int().optional(),
23
- winner: teamSchema.optional()
24
- }).superRefine((data, ctx) => {
25
- if (data.homeTeam.id === data.awayTeam.id) {
26
- ctx.addIssue({
27
- code: 'custom',
28
- message: 'HOME_AND_AWAY_TEAM_CANNOT_BE_EQUAL',
29
- path: ['awayTeam', 'id']
30
- });
31
- }
32
- if (data.sets !== undefined) {
33
- const n = data.sets.length;
34
- if (n !== 0 && (n < 3 || n > 5)) {
35
- ctx.addIssue({
36
- code: 'custom',
37
- message: 'SETS_LENGTH_MUST_BE_0_OR_BETWEEN_3_AND_5',
38
- path: ['sets']
39
- });
40
- }
41
- if (n > 0 && data.status !== StatusEnum.COMPLETE) {
42
- ctx.addIssue({
43
- code: 'custom',
44
- message: 'NON_EMPTY_SETS_REQUIRE_COMPLETE_MATCH',
45
- path: ['sets']
46
- });
47
- }
48
- }
49
- const { status, homeScore, awayScore } = data;
50
- if (status !== StatusEnum.COMPLETE) {
51
- if (homeScore !== undefined && homeScore !== 0) {
52
- ctx.addIssue({
53
- code: 'custom',
54
- message: 'HOME_SCORE_MUST_BE_0_WHEN_UNFINISHED',
55
- path: ['homeScore']
56
- });
57
- }
58
- if (awayScore !== undefined && awayScore !== 0) {
59
- ctx.addIssue({
60
- code: 'custom',
61
- message: 'AWAY_SCORE_MUST_BE_0_WHEN_UNFINISHED',
62
- path: ['awayScore']
63
- });
64
- }
65
- return;
66
- }
67
- if (homeScore === undefined) {
68
- ctx.addIssue({
69
- code: 'custom',
70
- message: 'HOME_SCORE_REQUIRED_WHEN_COMPLETE',
71
- path: ['homeScore']
72
- });
73
- }
74
- if (awayScore === undefined) {
75
- ctx.addIssue({
76
- code: 'custom',
77
- message: 'AWAY_SCORE_REQUIRED_WHEN_COMPLETE',
78
- path: ['awayScore']
79
- });
80
- }
81
- if (homeScore === undefined || awayScore === undefined)
82
- return;
83
- if (homeScore < 0 || homeScore > 3) {
84
- ctx.addIssue({
85
- code: 'custom',
86
- message: 'HOME_SCORE_OUT_OF_RANGE',
87
- path: ['homeScore']
88
- });
89
- }
90
- if (awayScore < 0 || awayScore > 3) {
91
- ctx.addIssue({
92
- code: 'custom',
93
- message: 'AWAY_SCORE_OUT_OF_RANGE',
94
- path: ['awayScore']
95
- });
96
- }
97
- if (homeScore !== 3 && awayScore !== 3) {
98
- ctx.addIssue({
99
- code: 'custom',
100
- message: 'MATCH_COMPLETE_REQUIRES_A_TEAM_TO_HAVE_3_SETS',
101
- path: []
102
- });
103
- }
104
- });
@@ -1,9 +0,0 @@
1
- import { z } from 'zod';
2
- import { RallyEvent } from '../../event';
3
- export declare const RallyInputSchema: z.ZodObject<{
4
- id: z.ZodUUID;
5
- order: z.ZodNumber;
6
- servingTeamId: z.ZodUUID;
7
- events: z.ZodArray<z.ZodCustom<RallyEvent, RallyEvent>>;
8
- }, z.core.$strip>;
9
- export type RallyInput = z.infer<typeof RallyInputSchema>;
@@ -1,11 +0,0 @@
1
- import { z } from 'zod';
2
- import { RallyEvent } from '../../event';
3
- const nonNegInt = z.number().int().min(0);
4
- export const RallyInputSchema = z.object({
5
- id: z.uuid(),
6
- order: nonNegInt,
7
- servingTeamId: z.uuid(),
8
- events: z.array(z.custom((v) => v instanceof RallyEvent, {
9
- message: 'INVALID_RALLY_EVENT_INSTANCE'
10
- }))
11
- });
@@ -1,7 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const VPERInputSchema: z.ZodObject<{
3
- playerId: z.ZodUUID;
4
- matchId: z.ZodUUID;
5
- value: z.ZodNumber;
6
- }, z.core.$strip>;
7
- export type VPERInput = z.infer<typeof VPERInputSchema>;
@@ -1,6 +0,0 @@
1
- import { z } from 'zod';
2
- export const VPERInputSchema = z.object({
3
- playerId: z.uuid(),
4
- matchId: z.uuid(),
5
- value: z.number().finite()
6
- });
@@ -1,14 +0,0 @@
1
- import { BoxScore } from './box-score';
2
- export interface VPERParams {
3
- readonly playerId: string;
4
- readonly matchId: string;
5
- readonly value: number;
6
- }
7
- export declare class VPER {
8
- readonly playerId: string;
9
- readonly matchId: string;
10
- readonly value: number;
11
- static create(input: unknown): VPER;
12
- private constructor();
13
- static computeVPERForMatch(boxScores: BoxScore[]): number;
14
- }
@@ -1,65 +0,0 @@
1
- import { VPERInputSchema } from './schemas/vper.z';
2
- const WEIGHTS = {
3
- // terminal positive
4
- ATTACK_KILL: 1.0,
5
- SERVE_ACE: 1.0,
6
- BLOCK_SOLO: 1.0,
7
- BLOCK_ASSIST: 0.5,
8
- // creation / continuation
9
- SETTING_ASSIST: 0.7,
10
- BLOCK_TOUCH: 0.2,
11
- DEFENSE_DIG: 0.25,
12
- SETTING_PASS: 0.15,
13
- // reception quality
14
- RECEPTION_PERFECT: 0.35,
15
- RECEPTION_POSITIVE: 0.15,
16
- RECEPTION_OVERPASS: -0.6,
17
- // terminal errors (always point against)
18
- TERMINAL_ERROR: -1.0
19
- };
20
- export class VPER {
21
- static create(input) {
22
- const result = VPERInputSchema.safeParse(input);
23
- if (!result.success) {
24
- throw new Error(`INVALID_VPER: ${result.error.message}. RECEIVED=${(() => { try {
25
- return JSON.stringify(input);
26
- }
27
- catch {
28
- return String(input);
29
- } })()}`);
30
- }
31
- return new VPER(result.data);
32
- }
33
- constructor({ playerId, matchId, value }) {
34
- this.matchId = matchId;
35
- this.playerId = playerId;
36
- this.value = value;
37
- }
38
- static computeVPERForMatch(boxScores) {
39
- let rawSum = 0;
40
- let pointsPlayedSum = 0;
41
- for (const box of boxScores) {
42
- const w = WEIGHTS;
43
- const positive = w.ATTACK_KILL * box.attack.kills +
44
- w.SERVE_ACE * box.serve.aces +
45
- w.BLOCK_SOLO * box.block.solo +
46
- w.BLOCK_ASSIST * box.block.assists +
47
- w.SETTING_ASSIST * box.setting.assists +
48
- w.BLOCK_TOUCH * box.block.touches +
49
- w.DEFENSE_DIG * box.defense.digs +
50
- w.SETTING_PASS * box.setting.pass +
51
- w.RECEPTION_PERFECT * box.reception.perfect +
52
- w.RECEPTION_POSITIVE * box.reception.positive;
53
- const negative = w.RECEPTION_OVERPASS * box.reception.overpasses +
54
- w.TERMINAL_ERROR * (box.attack.errors +
55
- box.serve.errors +
56
- box.reception.errors +
57
- box.defense.errors +
58
- box.block.errors +
59
- box.setting.errors);
60
- rawSum += positive + negative;
61
- pointsPlayedSum += box.misc.pointsPlayed;
62
- }
63
- return 100 * rawSum / Math.max(1, pointsPlayedSum);
64
- }
65
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,106 +0,0 @@
1
- import { describe, it, expect } from '@jest/globals';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import { VPER } from './vper';
4
- import { BoxScore } from './box-score';
5
- // ─── helpers ─────────────────────────────────────────────────────────────────
6
- function makeBox() {
7
- return BoxScore.createEmptyBoxScore(uuidv4(), uuidv4());
8
- }
9
- // ─── VPER.computeVPERForMatch ─────────────────────────────────────────────────
10
- describe('VPER.computeVPERForMatch()', () => {
11
- it('returns 0 when box score list is empty', () => {
12
- expect(VPER.computeVPERForMatch([])).toBe(0);
13
- });
14
- it('returns 0 for a single all-zero box score', () => {
15
- expect(VPER.computeVPERForMatch([makeBox()])).toBe(0);
16
- });
17
- it('uses max(1, pointsPlayed) to avoid division by zero', () => {
18
- const box = makeBox();
19
- box.attack.kills = 1;
20
- // pointsPlayed remains 0 → denominator becomes 1
21
- // 100 * 1.0 / 1 = 100
22
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(100, 5);
23
- });
24
- it('returns positive value for attack kills (weight 1.0)', () => {
25
- const box = makeBox();
26
- box.attack.kills = 5;
27
- box.misc.pointsPlayed = 10;
28
- // 100 * 5 / 10 = 50
29
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(50, 5);
30
- });
31
- it('returns positive value for serve aces (weight 1.0)', () => {
32
- const box = makeBox();
33
- box.serve.aces = 4;
34
- box.misc.pointsPlayed = 10;
35
- // 100 * 4 / 10 = 40
36
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(40, 5);
37
- });
38
- it('returns positive value for solo blocks (weight 1.0)', () => {
39
- const box = makeBox();
40
- box.block.solo = 3;
41
- box.misc.pointsPlayed = 10;
42
- // 100 * 3 / 10 = 30
43
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(30, 5);
44
- });
45
- it('returns positive value for block assists (weight 0.5)', () => {
46
- const box = makeBox();
47
- box.block.assists = 4;
48
- box.misc.pointsPlayed = 10;
49
- // 100 * (4 * 0.5) / 10 = 20
50
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(20, 5);
51
- });
52
- it('returns positive value for setting assists (weight 0.7)', () => {
53
- const box = makeBox();
54
- box.setting.assists = 10;
55
- box.misc.pointsPlayed = 10;
56
- // 100 * 7 / 10 = 70
57
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(70, 5);
58
- });
59
- it('penalises terminal errors at weight -1.0 each', () => {
60
- const box = makeBox();
61
- box.attack.errors = 3;
62
- box.misc.pointsPlayed = 10;
63
- // 100 * (-3) / 10 = -30
64
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(-30, 5);
65
- });
66
- it('penalises overpasses at weight -0.6 each', () => {
67
- const box = makeBox();
68
- box.reception.overpasses = 5;
69
- box.misc.pointsPlayed = 10;
70
- // 100 * (5 * -0.6) / 10 = -30
71
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(-30, 5);
72
- });
73
- it('combines all types of contributions across a single box score', () => {
74
- const box = makeBox();
75
- box.attack.kills = 10; // +10
76
- box.serve.errors = 2; // -2
77
- box.setting.assists = 5; // +3.5
78
- box.misc.pointsPlayed = 20;
79
- // rawSum = 10 - 2 + 3.5 = 11.5; 100 * 11.5 / 20 = 57.5
80
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(57.5, 5);
81
- });
82
- it('aggregates rawSum and pointsPlayed across multiple box scores', () => {
83
- const box1 = makeBox();
84
- box1.attack.kills = 10;
85
- box1.misc.pointsPlayed = 20;
86
- const box2 = makeBox();
87
- box2.serve.errors = 2;
88
- box2.misc.pointsPlayed = 10;
89
- // rawSum = 10 - 2 = 8; pointsPlayedSum = 30; 100 * 8 / 30 ≈ 26.667
90
- expect(VPER.computeVPERForMatch([box1, box2])).toBeCloseTo(26.667, 2);
91
- });
92
- it('rewards defense digs (weight 0.25)', () => {
93
- const box = makeBox();
94
- box.defense.digs = 8;
95
- box.misc.pointsPlayed = 10;
96
- // 100 * (8 * 0.25) / 10 = 20
97
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(20, 5);
98
- });
99
- it('rewards perfect receptions (weight 0.35)', () => {
100
- const box = makeBox();
101
- box.reception.perfect = 4;
102
- box.misc.pointsPlayed = 10;
103
- // 100 * (4 * 0.35) / 10 = 14
104
- expect(VPER.computeVPERForMatch([box])).toBeCloseTo(14, 5);
105
- });
106
- });
@@ -1,8 +0,0 @@
1
- import { Rarity } from './rarity';
2
- import { Stats } from './stats';
3
- export type TrainingFocus = Stats;
4
- export declare function getStatCap(rarity: Rarity): number;
5
- export declare function getRarityMultiplier(rarity: Rarity): number;
6
- export declare function getImprovementThreshold(statTotal: number, rarity: Rarity): number;
7
- export declare function getCoachMultiplier(rarity: Rarity): number;
8
- export declare function selectImprovableStat(rarity: Rarity, trainingFocus: TrainingFocus, currentStats: Record<string, number>): string | null;
@@ -1,75 +0,0 @@
1
- import { statCapsJSON } from '../../stat-config';
2
- import { RarityEnum } from './rarity';
3
- import { performanceStatKeys } from './performance-stats';
4
- import { getMultipliers } from './stats';
5
- const CURVE_BASE = 100;
6
- const CURVE_SCALAR = 0.098;
7
- const CURVE_EXPONENT = 1.5;
8
- const statCaps = statCapsJSON;
9
- export function getStatCap(rarity) {
10
- const entry = statCaps.find(e => e.rarity === rarity);
11
- if (entry == null)
12
- throw new Error(`UNKNOWN_RARITY: ${rarity}`);
13
- return entry.cap;
14
- }
15
- export function getRarityMultiplier(rarity) {
16
- const entry = statCaps.find(e => e.rarity === rarity);
17
- if (entry == null)
18
- throw new Error(`UNKNOWN_RARITY: ${rarity}`);
19
- return entry.rarityMultiplier;
20
- }
21
- export function getImprovementThreshold(statTotal, rarity) {
22
- const rarityMultiplier = getRarityMultiplier(rarity);
23
- const raw = CURVE_BASE + CURVE_SCALAR * Math.pow(Math.max(0, statTotal - 6), CURVE_EXPONENT);
24
- return Math.round(raw / rarityMultiplier);
25
- }
26
- const COACH_MULTIPLIERS = {
27
- [RarityEnum.COMMON]: 2.0,
28
- [RarityEnum.RARE]: 1.5,
29
- [RarityEnum.LEGENDARY]: 1.0,
30
- [RarityEnum.MYTHIC]: 0.85,
31
- [RarityEnum.SPECIAL]: 0.65
32
- };
33
- export function getCoachMultiplier(rarity) {
34
- return COACH_MULTIPLIERS[rarity] ?? 1.0;
35
- }
36
- const KEY_TO_COLUMN = {
37
- setting: 'setting',
38
- serve: 'serve',
39
- spike: 'spike',
40
- quick: 'quick',
41
- power: 'power',
42
- awareness: 'awareness',
43
- attack: 'attack',
44
- backAttack: 'back_attack',
45
- reception: 'reception',
46
- overhand: 'overhand',
47
- bump: 'bump',
48
- block: 'block',
49
- read: 'read',
50
- commit: 'commit',
51
- focus: 'focus',
52
- defense: 'defense',
53
- stamina: 'stamina',
54
- reflex: 'reflex'
55
- };
56
- export function selectImprovableStat(rarity, trainingFocus, currentStats) {
57
- const cap = getStatCap(rarity);
58
- const multipliers = getMultipliers(trainingFocus);
59
- const focusPool = [];
60
- const fallbackPool = [];
61
- for (const key of performanceStatKeys) {
62
- const col = KEY_TO_COLUMN[key];
63
- if ((currentStats[col] ?? 0) >= cap)
64
- continue;
65
- fallbackPool.push(col);
66
- if ((multipliers[key] ?? 0) > 0)
67
- focusPool.push(col);
68
- }
69
- if (focusPool.length > 0) {
70
- return focusPool[Math.floor(Math.random() * focusPool.length)];
71
- }
72
- if (fallbackPool.length === 0)
73
- return null;
74
- return fallbackPool[Math.floor(Math.random() * fallbackPool.length)];
75
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,142 +0,0 @@
1
- import { describe, it, expect } from '@jest/globals';
2
- import { RarityEnum } from './rarity';
3
- import { getStatCap, getRarityMultiplier, getImprovementThreshold, getCoachMultiplier, selectImprovableStat } from './improvement';
4
- import { StatsEnum } from './stats';
5
- // ─── getStatCap ───────────────────────────────────────────────────────────────
6
- describe('getStatCap()', () => {
7
- it.each([
8
- [RarityEnum.COMMON, 59],
9
- [RarityEnum.RARE, 69],
10
- [RarityEnum.LEGENDARY, 79],
11
- [RarityEnum.MYTHIC, 89],
12
- [RarityEnum.SPECIAL, 99]
13
- ])('%s → cap %i', (rarity, expected) => {
14
- expect(getStatCap(rarity)).toBe(expected);
15
- });
16
- it('throws UNKNOWN_RARITY for an unrecognised rarity string', () => {
17
- expect(() => getStatCap('DIVINE')).toThrow('UNKNOWN_RARITY');
18
- });
19
- });
20
- // ─── getRarityMultiplier ──────────────────────────────────────────────────────
21
- describe('getRarityMultiplier()', () => {
22
- it.each([
23
- [RarityEnum.COMMON, 1.0],
24
- [RarityEnum.RARE, 1.15],
25
- [RarityEnum.LEGENDARY, 1.3],
26
- [RarityEnum.MYTHIC, 1.5],
27
- [RarityEnum.SPECIAL, 1.75]
28
- ])('%s → multiplier %f', (rarity, expected) => {
29
- expect(getRarityMultiplier(rarity)).toBeCloseTo(expected, 5);
30
- });
31
- it('throws UNKNOWN_RARITY for an unrecognised rarity string', () => {
32
- expect(() => getRarityMultiplier('DIVINE')).toThrow('UNKNOWN_RARITY');
33
- });
34
- });
35
- // ─── getImprovementThreshold ──────────────────────────────────────────────────
36
- describe('getImprovementThreshold()', () => {
37
- it('at statTotal=6 the curve exponent term is 0 → threshold = round(100 / rarityMultiplier)', () => {
38
- // COMMON (multiplier 1.0): round(100 / 1.0) = 100
39
- expect(getImprovementThreshold(6, RarityEnum.COMMON)).toBe(100);
40
- // LEGENDARY (multiplier 1.3): round(100 / 1.3) = 77
41
- expect(getImprovementThreshold(6, RarityEnum.LEGENDARY)).toBe(Math.round(100 / 1.3));
42
- });
43
- it('threshold increases as statTotal grows beyond 6', () => {
44
- const low = getImprovementThreshold(10, RarityEnum.COMMON);
45
- const high = getImprovementThreshold(50, RarityEnum.COMMON);
46
- expect(high).toBeGreaterThan(low);
47
- });
48
- it('higher rarity multiplier yields lower threshold (easier improvement)', () => {
49
- const common = getImprovementThreshold(30, RarityEnum.COMMON);
50
- const legendary = getImprovementThreshold(30, RarityEnum.LEGENDARY);
51
- expect(legendary).toBeLessThan(common);
52
- });
53
- it('returns an integer (Math.round applied)', () => {
54
- expect(Number.isInteger(getImprovementThreshold(20, RarityEnum.RARE))).toBe(true);
55
- });
56
- });
57
- // ─── getCoachMultiplier ───────────────────────────────────────────────────────
58
- describe('getCoachMultiplier()', () => {
59
- it.each([
60
- [RarityEnum.COMMON, 2.0],
61
- [RarityEnum.RARE, 1.5],
62
- [RarityEnum.LEGENDARY, 1.0],
63
- [RarityEnum.MYTHIC, 0.85],
64
- [RarityEnum.SPECIAL, 0.65]
65
- ])('%s → %f', (rarity, expected) => {
66
- expect(getCoachMultiplier(rarity)).toBeCloseTo(expected, 10);
67
- });
68
- it('higher rarity → lower coach multiplier (rarer players improve more slowly)', () => {
69
- expect(getCoachMultiplier(RarityEnum.COMMON)).toBeGreaterThan(getCoachMultiplier(RarityEnum.LEGENDARY));
70
- });
71
- });
72
- // ─── selectImprovableStat ─────────────────────────────────────────────────────
73
- /** Builds a stat record (DB column names) with every value set to `value`. */
74
- function allStats(value) {
75
- return {
76
- setting: value,
77
- serve: value,
78
- spike: value,
79
- quick: value,
80
- power: value,
81
- awareness: value,
82
- attack: value,
83
- back_attack: value,
84
- reception: value,
85
- overhand: value,
86
- bump: value,
87
- block: value,
88
- read: value,
89
- commit: value,
90
- focus: value,
91
- defense: value,
92
- stamina: value,
93
- reflex: value
94
- };
95
- }
96
- describe('selectImprovableStat()', () => {
97
- it('returns null when every stat is at or above the rarity cap', () => {
98
- const cap = getStatCap(RarityEnum.COMMON); // 59
99
- expect(selectImprovableStat(RarityEnum.COMMON, StatsEnum.ATTACK, allStats(cap))).toBeNull();
100
- });
101
- it('returns a stat from the SERVE focus pool (serve, awareness, attack)', () => {
102
- const focusPool = new Set(['serve', 'awareness', 'attack']);
103
- const stats = allStats(1);
104
- // Run many times to confirm we never escape the focus pool
105
- for (let i = 0; i < 100; i++) {
106
- const result = selectImprovableStat(RarityEnum.COMMON, StatsEnum.SERVE, stats);
107
- expect(result).not.toBeNull();
108
- expect(focusPool.has(result)).toBe(true);
109
- }
110
- });
111
- it('returns a stat from the RECEIVE focus pool (reception, overhand, bump, focus, defense, reflex)', () => {
112
- const focusPool = new Set(['reception', 'overhand', 'bump', 'focus', 'defense', 'reflex']);
113
- const stats = allStats(1);
114
- for (let i = 0; i < 100; i++) {
115
- const result = selectImprovableStat(RarityEnum.COMMON, StatsEnum.RECEIVE, stats);
116
- expect(result).not.toBeNull();
117
- expect(focusPool.has(result)).toBe(true);
118
- }
119
- });
120
- it('falls back to any improvable stat when all focus-pool stats are capped', () => {
121
- const cap = getStatCap(RarityEnum.COMMON);
122
- // Cap the SERVE focus stats: serve, awareness, attack
123
- const stats = { ...allStats(1), serve: cap, awareness: cap, attack: cap };
124
- for (let i = 0; i < 50; i++) {
125
- const result = selectImprovableStat(RarityEnum.COMMON, StatsEnum.SERVE, stats);
126
- expect(result).not.toBeNull();
127
- // Must never return one of the capped focus stats
128
- expect(['serve', 'awareness', 'attack']).not.toContain(result);
129
- }
130
- });
131
- it('returns a string (DB column name) not a PerformanceStatsKey', () => {
132
- const stats = allStats(1);
133
- const result = selectImprovableStat(RarityEnum.COMMON, StatsEnum.ATTACK, stats);
134
- // back_attack is the DB column for backAttack — verify the column naming convention
135
- if (result === 'back_attack') {
136
- expect(result).toBe('back_attack');
137
- }
138
- else {
139
- expect(typeof result).toBe('string');
140
- }
141
- });
142
- });
@@ -1,8 +0,0 @@
1
- export * from './player';
2
- export * from './improvement';
3
- export * from './player-generator';
4
- export * from './performance-stats';
5
- export * from './trait';
6
- export * from './rarity';
7
- export * from './role';
8
- export * from './stats';