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,94 +0,0 @@
1
- export interface AttackStats {
2
- attempts: number;
3
- kills: number;
4
- errors: number;
5
- }
6
- export interface ServeStats {
7
- attempts: number;
8
- aces: number;
9
- errors: number;
10
- }
11
- export interface ReceptionStats {
12
- attempts: number;
13
- perfect: number;
14
- positive: number;
15
- overpasses: number;
16
- errors: number;
17
- }
18
- export interface BlockStats {
19
- solo: number;
20
- assists: number;
21
- errors: number;
22
- touches: number;
23
- }
24
- export interface SettingStats {
25
- assists: number;
26
- errors: number;
27
- pass: number;
28
- }
29
- export interface DefenseStats {
30
- digs: number;
31
- errors: number;
32
- }
33
- /**
34
- * Misc stats are about participation and rotation impact.
35
- * These are *incredibly* useful for analytics and AI later.
36
- */
37
- export interface MiscStats {
38
- /** Number of rallies this player was on the court in this set */
39
- pointsPlayed: number;
40
- /** Rallies won by the team while this player was on the court in this set */
41
- pointsWonOnCourt: number;
42
- /** How many distinct serve turns the player had in this set (i.e. times they went back to serve) */
43
- serveTurns: number;
44
- /** Number of sideout opportunities while the player was on court (optional but handy) */
45
- sideoutOpportunities: number;
46
- /** Number of successful sideouts while the player was on court (optional but handy) */
47
- successfulSideouts: number;
48
- }
49
- /**
50
- * Per-player, per-set box score row
51
- * =================================
52
- * This is the fundamental unit you store.
53
- */
54
- export interface BoxScoreParams {
55
- playerId: string;
56
- matchSetId: string;
57
- attack: AttackStats;
58
- serve: ServeStats;
59
- reception: ReceptionStats;
60
- block: BlockStats;
61
- setting: SettingStats;
62
- defense: DefenseStats;
63
- misc: MiscStats;
64
- }
65
- export interface BoxScoreTotals {
66
- attack: AttackStats;
67
- serve: ServeStats;
68
- reception: ReceptionStats;
69
- block: BlockStats;
70
- setting: SettingStats;
71
- defense: DefenseStats;
72
- misc: MiscStats;
73
- }
74
- export declare class BoxScore {
75
- readonly playerId: string;
76
- readonly matchSetId: string;
77
- readonly attack: AttackStats;
78
- readonly serve: ServeStats;
79
- readonly reception: ReceptionStats;
80
- readonly block: BlockStats;
81
- readonly setting: SettingStats;
82
- readonly defense: DefenseStats;
83
- readonly misc: MiscStats;
84
- private constructor();
85
- static create(input: unknown): BoxScore;
86
- static createEmptyAttackStats: () => AttackStats;
87
- static createEmptyServeStats: () => ServeStats;
88
- static createEmptyReceptionStats: () => ReceptionStats;
89
- static createEmptyBlockStats: () => BlockStats;
90
- static createEmptySettingStats: () => SettingStats;
91
- static createEmptyDefenseStats: () => DefenseStats;
92
- static createEmptyMiscStats: () => MiscStats;
93
- static createEmptyBoxScore: (playerId: string, matchSetId: string) => BoxScore;
94
- }
@@ -1,76 +0,0 @@
1
- import { BoxScoreInputSchema } from './schemas/box-score.z';
2
- export class BoxScore {
3
- constructor({ playerId, matchSetId, attack, serve, reception, block, setting, defense, misc }) {
4
- this.playerId = playerId;
5
- this.matchSetId = matchSetId;
6
- this.attack = attack;
7
- this.serve = serve;
8
- this.reception = reception;
9
- this.block = block;
10
- this.setting = setting;
11
- this.defense = defense;
12
- this.misc = misc;
13
- }
14
- static create(input) {
15
- const result = BoxScoreInputSchema.safeParse(input);
16
- if (!result.success) {
17
- throw new Error(`INVALID_BOX_SCORE: ${result.error.message}. RECEIVED=${(() => { try {
18
- return JSON.stringify(input);
19
- }
20
- catch {
21
- return String(input);
22
- } })()}`);
23
- }
24
- return new BoxScore(result.data);
25
- }
26
- }
27
- BoxScore.createEmptyAttackStats = () => ({
28
- attempts: 0,
29
- kills: 0,
30
- errors: 0
31
- });
32
- BoxScore.createEmptyServeStats = () => ({
33
- attempts: 0,
34
- aces: 0,
35
- errors: 0
36
- });
37
- BoxScore.createEmptyReceptionStats = () => ({
38
- attempts: 0,
39
- perfect: 0,
40
- positive: 0,
41
- overpasses: 0,
42
- errors: 0
43
- });
44
- BoxScore.createEmptyBlockStats = () => ({
45
- solo: 0,
46
- assists: 0,
47
- errors: 0,
48
- touches: 0
49
- });
50
- BoxScore.createEmptySettingStats = () => ({
51
- assists: 0,
52
- errors: 0,
53
- pass: 0
54
- });
55
- BoxScore.createEmptyDefenseStats = () => ({
56
- digs: 0,
57
- errors: 0
58
- });
59
- BoxScore.createEmptyMiscStats = () => ({
60
- pointsPlayed: 0,
61
- pointsWonOnCourt: 0,
62
- serveTurns: 0,
63
- sideoutOpportunities: 0,
64
- successfulSideouts: 0
65
- });
66
- BoxScore.createEmptyBoxScore = (playerId, matchSetId) => new BoxScore({
67
- playerId,
68
- matchSetId,
69
- attack: BoxScore.createEmptyAttackStats(),
70
- serve: BoxScore.createEmptyServeStats(),
71
- reception: BoxScore.createEmptyReceptionStats(),
72
- block: BoxScore.createEmptyBlockStats(),
73
- setting: BoxScore.createEmptySettingStats(),
74
- defense: BoxScore.createEmptyDefenseStats(),
75
- misc: BoxScore.createEmptyMiscStats()
76
- });
@@ -1,34 +0,0 @@
1
- export declare enum CourtRow {
2
- BACK = "BACK_ROW",
3
- FRONT = "FRONT_ROW"
4
- }
5
- export declare enum CourtPosition {
6
- NOT_IN_COURT = -1,
7
- LIBERO_ZONE = 0,
8
- LEFT_FRONT = 4,
9
- MIDDLE_FRONT = 3,
10
- RIGHT_FRONT = 2,
11
- LEFT_BACK = 5,
12
- MIDDLE_BACK = 6,
13
- RIGHT_BACK = 1
14
- }
15
- export declare enum CourtTarget {
16
- NO_TARGET = 0,
17
- OPPONENT_RIGHT_BACK = 7,
18
- OPPONENT_MIDDLE_BACK = 12,
19
- OPPONENT_LEFT_BACK = 11,
20
- OPPONENT_RIGHT_FRONT = 8,
21
- OPPONENT_MIDDLE_FRONT = 9,
22
- OPPONENT_LEFT_FRONT = 10,
23
- TEAM_LEFT_FRONT = 4,
24
- TEAM_MIDDLE_FRONT = 3,
25
- TEAM_RIGHT_FRONT = 2,
26
- TEAM_LEFT_BACK = 5,
27
- TEAM_MIDDLE_BACK = 6,
28
- TEAM_RIGHT_BACK = 1
29
- }
30
- export declare function getPositions(): CourtPosition[];
31
- export declare function rotatePosition(position: number): CourtPosition;
32
- export declare function isFrontRow(position: number): boolean;
33
- export declare function isBackRow(position: number): boolean;
34
- export declare function getCourtRow(row: CourtRow): CourtPosition[];
@@ -1,62 +0,0 @@
1
- export var CourtRow;
2
- (function (CourtRow) {
3
- CourtRow["BACK"] = "BACK_ROW";
4
- CourtRow["FRONT"] = "FRONT_ROW";
5
- })(CourtRow || (CourtRow = {}));
6
- export var CourtPosition;
7
- (function (CourtPosition) {
8
- CourtPosition[CourtPosition["NOT_IN_COURT"] = -1] = "NOT_IN_COURT";
9
- CourtPosition[CourtPosition["LIBERO_ZONE"] = 0] = "LIBERO_ZONE";
10
- // -----------------------------------------------------
11
- CourtPosition[CourtPosition["LEFT_FRONT"] = 4] = "LEFT_FRONT";
12
- CourtPosition[CourtPosition["MIDDLE_FRONT"] = 3] = "MIDDLE_FRONT";
13
- CourtPosition[CourtPosition["RIGHT_FRONT"] = 2] = "RIGHT_FRONT";
14
- CourtPosition[CourtPosition["LEFT_BACK"] = 5] = "LEFT_BACK";
15
- CourtPosition[CourtPosition["MIDDLE_BACK"] = 6] = "MIDDLE_BACK";
16
- CourtPosition[CourtPosition["RIGHT_BACK"] = 1] = "RIGHT_BACK";
17
- })(CourtPosition || (CourtPosition = {}));
18
- export var CourtTarget;
19
- (function (CourtTarget) {
20
- CourtTarget[CourtTarget["NO_TARGET"] = 0] = "NO_TARGET";
21
- CourtTarget[CourtTarget["OPPONENT_RIGHT_BACK"] = 7] = "OPPONENT_RIGHT_BACK";
22
- CourtTarget[CourtTarget["OPPONENT_MIDDLE_BACK"] = 12] = "OPPONENT_MIDDLE_BACK";
23
- CourtTarget[CourtTarget["OPPONENT_LEFT_BACK"] = 11] = "OPPONENT_LEFT_BACK";
24
- CourtTarget[CourtTarget["OPPONENT_RIGHT_FRONT"] = 8] = "OPPONENT_RIGHT_FRONT";
25
- CourtTarget[CourtTarget["OPPONENT_MIDDLE_FRONT"] = 9] = "OPPONENT_MIDDLE_FRONT";
26
- CourtTarget[CourtTarget["OPPONENT_LEFT_FRONT"] = 10] = "OPPONENT_LEFT_FRONT";
27
- // --------------------------------------------------------------------------------
28
- CourtTarget[CourtTarget["TEAM_LEFT_FRONT"] = 4] = "TEAM_LEFT_FRONT";
29
- CourtTarget[CourtTarget["TEAM_MIDDLE_FRONT"] = 3] = "TEAM_MIDDLE_FRONT";
30
- CourtTarget[CourtTarget["TEAM_RIGHT_FRONT"] = 2] = "TEAM_RIGHT_FRONT";
31
- CourtTarget[CourtTarget["TEAM_LEFT_BACK"] = 5] = "TEAM_LEFT_BACK";
32
- CourtTarget[CourtTarget["TEAM_MIDDLE_BACK"] = 6] = "TEAM_MIDDLE_BACK";
33
- CourtTarget[CourtTarget["TEAM_RIGHT_BACK"] = 1] = "TEAM_RIGHT_BACK";
34
- })(CourtTarget || (CourtTarget = {}));
35
- const FRONT_ROW = [CourtPosition.LEFT_FRONT, CourtPosition.MIDDLE_FRONT, CourtPosition.RIGHT_FRONT];
36
- const BACK_ROW = [CourtPosition.LEFT_BACK, CourtPosition.MIDDLE_BACK, CourtPosition.RIGHT_BACK];
37
- export function getPositions() {
38
- return [...BACK_ROW, ...FRONT_ROW];
39
- }
40
- export function rotatePosition(position) {
41
- if (position < 1 || position > 6)
42
- throw new Error('POSITION_INDEX_OUT_OF_BOUNDS');
43
- if (position > CourtPosition.RIGHT_BACK)
44
- return position - 1;
45
- else
46
- return CourtPosition.MIDDLE_BACK;
47
- }
48
- export function isFrontRow(position) {
49
- if (position < 1 || position > 6)
50
- throw new Error('POSITION_INDEX_OUT_OF_BOUNDS');
51
- return FRONT_ROW.includes(position);
52
- }
53
- export function isBackRow(position) {
54
- if (position < 1 || position > 6)
55
- throw new Error(`POSITION_INDEX_OUT_OF_BOUNDS: ${position}`);
56
- return BACK_ROW.includes(position);
57
- }
58
- export function getCourtRow(row) {
59
- if (![CourtRow.BACK, CourtRow.FRONT].includes(row))
60
- throw new Error(`INVALID_ROW: ${row}`);
61
- return CourtRow.BACK === row ? [...BACK_ROW] : [...FRONT_ROW];
62
- }
@@ -1,9 +0,0 @@
1
- export * from './box-score';
2
- export * from './match';
3
- export * from './match-generator';
4
- export * from './match-rating';
5
- export * from './match-set';
6
- export * from './rally';
7
- export * from './court-position';
8
- export * from './match-team';
9
- export * from './vper';
@@ -1,9 +0,0 @@
1
- export * from './box-score';
2
- export * from './match';
3
- export * from './match-generator';
4
- export * from './match-rating';
5
- export * from './match-set';
6
- export * from './rally';
7
- export * from './court-position';
8
- export * from './match-team';
9
- export * from './vper';
@@ -1,5 +0,0 @@
1
- import { Team } from '../team';
2
- import { Match } from './match';
3
- export default class MatchGenerator {
4
- static generateMatches(teams: Team[], baseDate: Date): Match[];
5
- }
@@ -1,67 +0,0 @@
1
- import dayjs from 'dayjs';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import { Match } from './match';
4
- import { shuffle } from '../utils';
5
- import { StatusEnum } from '../../data';
6
- // eslint-disable-next-line @typescript-eslint/no-extraneous-class
7
- export default class MatchGenerator {
8
- static generateMatches(teams, baseDate) {
9
- const t = new Set(teams.map(x => x.id));
10
- let date = dayjs(baseDate).startOf('hour');
11
- if (t.size !== teams.length) {
12
- throw new Error('DUPLICATE_TEAMS');
13
- }
14
- let shuffled = shuffle([...teams]);
15
- const l = shuffled.length - 1;
16
- const half = Math.ceil(shuffled.length / 2);
17
- const matches = [];
18
- // We fix the first team
19
- let firstTeam = shuffled.shift();
20
- if (firstTeam == null) {
21
- throw new Error('EMPTY_TEAM_ARRAY');
22
- }
23
- let homeRow;
24
- let awayRow;
25
- for (let i = 0; i < l; i++) {
26
- // split array in 2 halves
27
- const row1 = shuffled.slice(0, half);
28
- const row2 = shuffled.slice(half);
29
- row2.push(firstTeam);
30
- if (i % 2 === 0) {
31
- homeRow = row1;
32
- awayRow = row2;
33
- }
34
- else {
35
- homeRow = row2;
36
- awayRow = row1;
37
- }
38
- for (let j = 0; j < half; j++) {
39
- matches.push(Match.create({
40
- id: uuidv4(),
41
- homeTeam: homeRow[j],
42
- awayTeam: awayRow[j],
43
- scheduledDate: date.toDate(),
44
- status: StatusEnum.PENDING
45
- }));
46
- date = date.add(30, 'minutes');
47
- }
48
- firstTeam = row2.pop();
49
- row1.unshift(row2.shift());
50
- row2.push(row1.pop());
51
- shuffled = [...row1, ...row2];
52
- }
53
- // Generate Inverted matches for home-away pairings
54
- matches.push(...matches.map(match => {
55
- const scheduledDate = date.toDate();
56
- date = date.add(30, 'minutes');
57
- return Match.create({
58
- id: uuidv4(),
59
- homeTeam: match.awayTeam,
60
- awayTeam: match.homeTeam,
61
- scheduledDate,
62
- status: StatusEnum.PENDING
63
- });
64
- }));
65
- return matches;
66
- }
67
- }
@@ -1,34 +0,0 @@
1
- import { Match, MatchTeam } from '.';
2
- import { MatchContext } from './schemas/match-rating.z';
3
- export type { MatchContext };
4
- interface SetScoreVariant {
5
- '3-0': number;
6
- '3-1': number;
7
- '3-2': number;
8
- '2-3': number;
9
- '1-3': number;
10
- '0-3': number;
11
- }
12
- export declare class MatchRating {
13
- static readonly K: number;
14
- static readonly C1: number;
15
- static readonly C2: number;
16
- static readonly C3: number;
17
- static readonly C4: number;
18
- static readonly C5: number;
19
- static readonly SSV: SetScoreVariant;
20
- static readonly LEAGUE_BASE: number;
21
- static readonly TIER_PENALTY: number;
22
- static readonly QUALIFIER_WEIGHT: number;
23
- static readonly TOURNAMENT_WEIGHT: number;
24
- readonly match: Match;
25
- readonly weight: number;
26
- static create(input: unknown): MatchRating;
27
- private constructor();
28
- private static leagueWeight;
29
- private static applyBotPenalty;
30
- private static computeWeight;
31
- static calculateProbability(z: number): number;
32
- getExpectedResult(): number;
33
- getPoints(team: MatchTeam): number;
34
- }
@@ -1,93 +0,0 @@
1
- import { MatchTeam } from '.';
2
- import { erf } from '../utils';
3
- import { MatchRatingInputSchema } from './schemas/match-rating.z';
4
- export class MatchRating {
5
- static create(input) {
6
- const result = MatchRatingInputSchema.safeParse(input);
7
- if (!result.success) {
8
- throw new Error(`INVALID_MATCH_RATING: ${result.error.message}. RECEIVED=${(() => { try {
9
- return JSON.stringify(input);
10
- }
11
- catch {
12
- return String(input);
13
- } })()}`);
14
- }
15
- return new MatchRating(result.data);
16
- }
17
- constructor({ match, context }) {
18
- this.match = match;
19
- this.weight = MatchRating.computeWeight(context);
20
- }
21
- static leagueWeight(tier) {
22
- return Math.max(MatchRating.TIER_PENALTY, MatchRating.LEAGUE_BASE - MatchRating.TIER_PENALTY * tier);
23
- }
24
- static applyBotPenalty(weight, homeIsBot, awayIsBot) {
25
- const bots = (homeIsBot ? 1 : 0) + (awayIsBot ? 1 : 0);
26
- return weight * Math.pow(0.5, bots);
27
- }
28
- static computeWeight(context) {
29
- switch (context.kind) {
30
- case 'LEAGUE': {
31
- const base = MatchRating.leagueWeight(context.tier);
32
- return MatchRating.applyBotPenalty(base, context.homeIsBot, context.awayIsBot);
33
- }
34
- case 'PROMOTION': {
35
- const base = (MatchRating.leagueWeight(context.upperTier) + MatchRating.leagueWeight(context.lowerTier)) / 2;
36
- return MatchRating.applyBotPenalty(base, context.homeIsBot, context.awayIsBot);
37
- }
38
- case 'QUALIFIER':
39
- return MatchRating.applyBotPenalty(MatchRating.QUALIFIER_WEIGHT, context.homeIsBot, context.awayIsBot);
40
- case 'TOURNAMENT':
41
- return MatchRating.applyBotPenalty(MatchRating.TOURNAMENT_WEIGHT, context.homeIsBot, context.awayIsBot);
42
- }
43
- }
44
- static calculateProbability(z) {
45
- return 0.5 * (1 + erf(z / Math.SQRT2));
46
- }
47
- getExpectedResult() {
48
- const D = MatchRating.K * (this.match.homeTeam.rating - this.match.awayTeam.rating) / 1000;
49
- const P1 = MatchRating.calculateProbability(MatchRating.C1 + D);
50
- const P2 = MatchRating.calculateProbability(MatchRating.C2 + D) - MatchRating.calculateProbability(MatchRating.C1 + D);
51
- const P3 = MatchRating.calculateProbability(MatchRating.C3 + D) - MatchRating.calculateProbability(MatchRating.C2 + D);
52
- const P4 = MatchRating.calculateProbability(MatchRating.C4 + D) - MatchRating.calculateProbability(MatchRating.C3 + D);
53
- const P5 = MatchRating.calculateProbability(MatchRating.C5 + D) - MatchRating.calculateProbability(MatchRating.C4 + D);
54
- const P6 = 1 - MatchRating.calculateProbability(MatchRating.C5 + D);
55
- return P1 * MatchRating.SSV['3-0'] +
56
- P2 * MatchRating.SSV['3-1'] +
57
- P3 * MatchRating.SSV['3-2'] +
58
- P4 * MatchRating.SSV['2-3'] +
59
- P5 * MatchRating.SSV['1-3'] +
60
- P6 * MatchRating.SSV['0-3'];
61
- }
62
- getPoints(team) {
63
- const homeScoreKey = this.match.getScore();
64
- const emr = this.getExpectedResult();
65
- const ssv = MatchRating.SSV[homeScoreKey];
66
- const homeDelta = (ssv - emr) * this.weight / MatchRating.K;
67
- return team === MatchTeam.HOME ? homeDelta : -homeDelta;
68
- }
69
- }
70
- // Standard scaling factor (FIVB spec)
71
- MatchRating.K = 8;
72
- // Cut-points for the normal distribution (symmetric, equal-strength baseline)
73
- MatchRating.C1 = -1.060;
74
- MatchRating.C2 = -0.394;
75
- MatchRating.C3 = 0;
76
- MatchRating.C4 = 0.394;
77
- MatchRating.C5 = 1.060;
78
- MatchRating.SSV = {
79
- '3-0': 2,
80
- '3-1': 1.5,
81
- '3-2': 1,
82
- '2-3': -1,
83
- '1-3': -1.5,
84
- '0-3': -2
85
- };
86
- // League weight = LEAGUE_BASE - TIER_PENALTY * tier
87
- // Tier 1 → 35, Tier 2 → 30, Tier 3 → 25, Tier 4 → 20, ...
88
- MatchRating.LEAGUE_BASE = 40;
89
- MatchRating.TIER_PENALTY = 5;
90
- // Regional qualifier — higher prestige than any league tier
91
- MatchRating.QUALIFIER_WEIGHT = 45;
92
- // WCC tournament — top of the hierarchy
93
- MatchRating.TOURNAMENT_WEIGHT = 55;
@@ -1 +0,0 @@
1
- export {};
@@ -1,144 +0,0 @@
1
- import { describe, it, expect } from '@jest/globals';
2
- import { MatchRating } from './match-rating';
3
- import { MatchTeam } from './match-team';
4
- import { makeTeam, makeMatch30, makeMatch31 } from '../test-helpers';
5
- import { erf } from '../utils/number-utils';
6
- // ─── MatchRating.calculateProbability (static normal CDF) ───────────────────
7
- describe('MatchRating.calculateProbability()', () => {
8
- it('returns 0.5 at z = 0 (symmetric distribution)', () => {
9
- expect(MatchRating.calculateProbability(0)).toBeCloseTo(0.5, 5);
10
- });
11
- it('is monotone: P(z1) < P(z2) when z1 < z2', () => {
12
- expect(MatchRating.calculateProbability(-1))
13
- .toBeLessThan(MatchRating.calculateProbability(0));
14
- expect(MatchRating.calculateProbability(0))
15
- .toBeLessThan(MatchRating.calculateProbability(1));
16
- });
17
- it('approaches 1 for large positive z', () => {
18
- expect(MatchRating.calculateProbability(10)).toBeCloseTo(1, 5);
19
- });
20
- it('approaches 0 for large negative z', () => {
21
- expect(MatchRating.calculateProbability(-10)).toBeCloseTo(0, 5);
22
- });
23
- it('matches the formula 0.5 * (1 + erf(z / sqrt(2)))', () => {
24
- for (const z of [-2, -1, 0, 1, 2]) {
25
- expect(MatchRating.calculateProbability(z))
26
- .toBeCloseTo(0.5 * (1 + erf(z / Math.SQRT2)), 8);
27
- }
28
- });
29
- });
30
- // ─── weight computation ───────────────────────────────────────────────────────
31
- describe('MatchRating weight computation', () => {
32
- function makeRating(context) {
33
- const home = makeTeam();
34
- const away = makeTeam();
35
- const match = makeMatch30(home, away);
36
- return MatchRating.create({ match, context });
37
- }
38
- it('LEAGUE tier 1 → weight = LEAGUE_BASE - TIER_PENALTY * 1 = 35', () => {
39
- const mr = makeRating({ kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false });
40
- expect(mr.weight).toBe(35);
41
- });
42
- it('LEAGUE tier 7 → weight is floored at TIER_PENALTY (5)', () => {
43
- // 40 - 5*7 = 5 (minimum is TIER_PENALTY itself)
44
- const mr = makeRating({ kind: 'LEAGUE', tier: 7, homeIsBot: false, awayIsBot: false });
45
- expect(mr.weight).toBe(5);
46
- });
47
- it('QUALIFIER → weight = QUALIFIER_WEIGHT (45)', () => {
48
- const mr = makeRating({ kind: 'QUALIFIER', homeIsBot: false, awayIsBot: false });
49
- expect(mr.weight).toBe(45);
50
- });
51
- it('TOURNAMENT → weight = TOURNAMENT_WEIGHT (55)', () => {
52
- const mr = makeRating({ kind: 'TOURNAMENT', homeIsBot: false, awayIsBot: false });
53
- expect(mr.weight).toBe(55);
54
- });
55
- it('each bot halves the weight', () => {
56
- const noBots = makeRating({ kind: 'QUALIFIER', homeIsBot: false, awayIsBot: false });
57
- const oneBot = makeRating({ kind: 'QUALIFIER', homeIsBot: true, awayIsBot: false });
58
- const twoBots = makeRating({ kind: 'QUALIFIER', homeIsBot: true, awayIsBot: true });
59
- expect(oneBot.weight).toBeCloseTo(noBots.weight * 0.5, 10);
60
- expect(twoBots.weight).toBeCloseTo(noBots.weight * 0.25, 10);
61
- });
62
- it('PROMOTION weight is the average of the two league tier weights', () => {
63
- // upperTier=1 (35), lowerTier=2 (30) → avg = 32.5
64
- const mr = makeRating({ kind: 'PROMOTION', upperTier: 1, lowerTier: 2, homeIsBot: false, awayIsBot: false });
65
- expect(mr.weight).toBeCloseTo(32.5, 5);
66
- });
67
- });
68
- // ─── getExpectedResult ────────────────────────────────────────────────────────
69
- describe('MatchRating.getExpectedResult()', () => {
70
- function makeRatingForTeams(homeRating, awayRating) {
71
- const home = makeTeam({ rating: homeRating });
72
- const away = makeTeam({ rating: awayRating });
73
- const match = makeMatch30(home, away);
74
- return MatchRating.create({ match, context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false } });
75
- }
76
- it('returns 0 when both teams have equal rating', () => {
77
- const mr = makeRatingForTeams(1000, 1000);
78
- expect(mr.getExpectedResult()).toBeCloseTo(0, 5);
79
- });
80
- it('returns a positive value when home team is stronger', () => {
81
- const mr = makeRatingForTeams(1500, 1000);
82
- expect(mr.getExpectedResult()).toBeGreaterThan(0);
83
- });
84
- it('returns a negative value when away team is stronger', () => {
85
- const mr = makeRatingForTeams(1000, 1500);
86
- expect(mr.getExpectedResult()).toBeLessThan(0);
87
- });
88
- it('is antisymmetric: EMR(h, a) = -EMR(a, h)', () => {
89
- const mr1 = makeRatingForTeams(1200, 800);
90
- const mr2 = makeRatingForTeams(800, 1200);
91
- expect(mr1.getExpectedResult()).toBeCloseTo(-mr2.getExpectedResult(), 8);
92
- });
93
- });
94
- // ─── getPoints ────────────────────────────────────────────────────────────────
95
- describe('MatchRating.getPoints()', () => {
96
- it('home and away deltas are opposite signs', () => {
97
- const home = makeTeam({ rating: 1000 });
98
- const away = makeTeam({ rating: 1000 });
99
- const match = makeMatch30(home, away);
100
- const mr = MatchRating.create({ match, context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false } });
101
- expect(mr.getPoints(MatchTeam.HOME)).toBeCloseTo(-mr.getPoints(MatchTeam.AWAY), 10);
102
- });
103
- it('winning home team gains positive points against equal opponent (3-0)', () => {
104
- const home = makeTeam({ rating: 1000 });
105
- const away = makeTeam({ rating: 1000 });
106
- const match = makeMatch30(home, away);
107
- const mr = MatchRating.create({ match, context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false } });
108
- // ssv['3-0'] = 2, emr = 0 for equal teams → homeDelta = 2 * weight / K > 0
109
- expect(mr.getPoints(MatchTeam.HOME)).toBeGreaterThan(0);
110
- expect(mr.getPoints(MatchTeam.AWAY)).toBeLessThan(0);
111
- });
112
- it('match winner earns fewer points when they were heavily favoured', () => {
113
- // Strong home team beats weak away — less surprising, fewer points
114
- const strongHome = makeTeam({ rating: 2000 });
115
- const weakAway = makeTeam({ rating: 500 });
116
- const evenHome = makeTeam({ rating: 1000 });
117
- const evenAway = makeTeam({ rating: 1000 });
118
- const surpriseMr = MatchRating.create({
119
- match: makeMatch30(evenHome, evenAway),
120
- context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false }
121
- });
122
- const expectedMr = MatchRating.create({
123
- match: makeMatch30(strongHome, weakAway),
124
- context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false }
125
- });
126
- // Equal-match 3-0 win earns more points than a heavily favoured 3-0 win
127
- expect(surpriseMr.getPoints(MatchTeam.HOME))
128
- .toBeGreaterThan(expectedMr.getPoints(MatchTeam.HOME));
129
- });
130
- it('3-1 win earns fewer points than a 3-0 win (SSV difference)', () => {
131
- const home = makeTeam({ rating: 1000 });
132
- const away = makeTeam({ rating: 1000 });
133
- const win30 = MatchRating.create({
134
- match: makeMatch30(home, away),
135
- context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false }
136
- });
137
- const away2 = makeTeam({ rating: 1000 });
138
- const win31 = MatchRating.create({
139
- match: makeMatch31(home, away2),
140
- context: { kind: 'LEAGUE', tier: 1, homeIsBot: false, awayIsBot: false }
141
- });
142
- expect(win30.getPoints(MatchTeam.HOME)).toBeGreaterThan(win31.getPoints(MatchTeam.HOME));
143
- });
144
- });
@@ -1,33 +0,0 @@
1
- import { PlayerPosition, Rally } from './rally';
2
- import { MatchTeam } from './match-team';
3
- import { BoxScore } from './box-score';
4
- type ScoreThreshold = 25 | 15;
5
- export declare class MatchSet {
6
- readonly id: string;
7
- readonly order: number;
8
- readonly isTieBreak: boolean;
9
- readonly homePlayerPosition: PlayerPosition[];
10
- readonly awayPlayerPosition: PlayerPosition[];
11
- readonly boxScores: BoxScore[];
12
- readonly rallies: Rally[];
13
- readonly scoreThreshold: ScoreThreshold;
14
- private _homeScore;
15
- private _awayScore;
16
- static create(input: unknown): MatchSet;
17
- private constructor();
18
- get homeScore(): number;
19
- get awayScore(): number;
20
- increaseScore(team: MatchTeam): void;
21
- addRally(rally: Rally): void;
22
- /**
23
- * Has a team reached at least 25 points, and is the score difference between both teams at least 2?
24
- * @returns boolean
25
- */
26
- isOver(): boolean;
27
- /**
28
- * Get the team that won the Set. Return undefined if set is not over.
29
- * @returns CourtTeam
30
- */
31
- getWinner(): MatchTeam;
32
- }
33
- export {};