volleyballsimtypes 0.0.140 → 0.0.142

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 (435) hide show
  1. package/dist/cjs/{data → formula}/event.formula.json +7 -6
  2. package/dist/cjs/formula/events.d.ts +125 -0
  3. package/dist/cjs/formula/events.js +8 -0
  4. package/dist/cjs/formula/index.d.ts +3 -0
  5. package/dist/cjs/formula/index.js +19 -0
  6. package/dist/cjs/formula/roles.d.ts +20 -0
  7. package/dist/cjs/formula/roles.js +9 -0
  8. package/dist/cjs/formula/stats.d.ts +22 -0
  9. package/dist/cjs/formula/stats.js +18 -0
  10. package/dist/{esm/src → cjs}/index.d.ts +1 -0
  11. package/dist/cjs/{src/index.js → index.js} +1 -0
  12. package/dist/cjs/{src/service → service}/player/index.d.ts +0 -1
  13. package/dist/cjs/{src/service → service}/player/index.js +0 -1
  14. package/dist/{esm/src → cjs}/service/player/player.d.ts +3 -3
  15. package/dist/cjs/{src/service → service}/player/player.js +30 -8
  16. package/dist/cjs/{src/service → service}/player/role.d.ts +2 -2
  17. package/dist/{esm/src → cjs}/service/player/role.js +7 -3
  18. package/dist/cjs/{src/service → service}/player/trait.d.ts +2 -2
  19. package/dist/cjs/{src/service → service}/player/trait.js +32 -9
  20. package/dist/esm/{data → formula}/event.formula.json +7 -6
  21. package/dist/esm/formula/events.d.ts +125 -0
  22. package/dist/esm/formula/events.js +2 -0
  23. package/dist/esm/formula/index.d.ts +3 -0
  24. package/dist/esm/formula/index.js +3 -0
  25. package/dist/esm/formula/roles.d.ts +20 -0
  26. package/dist/esm/formula/roles.js +3 -0
  27. package/dist/esm/formula/stats.d.ts +22 -0
  28. package/dist/esm/formula/stats.js +11 -0
  29. package/dist/esm/index.d.ts +1 -0
  30. package/dist/esm/index.js +1 -0
  31. package/dist/esm/service/player/index.d.ts +0 -1
  32. package/dist/esm/service/player/index.js +0 -1
  33. package/dist/esm/service/player/player.d.ts +3 -3
  34. package/dist/esm/service/player/player.js +6 -7
  35. package/dist/esm/service/player/role.d.ts +2 -2
  36. package/dist/esm/service/player/role.js +2 -2
  37. package/dist/esm/service/player/trait.d.ts +2 -2
  38. package/dist/esm/service/player/trait.js +7 -7
  39. package/package.json +2 -2
  40. package/dist/cjs/src/index.d.ts +0 -2
  41. package/dist/cjs/src/service/event/block.d.ts +0 -30
  42. package/dist/cjs/src/service/event/block.js +0 -68
  43. package/dist/cjs/src/service/event/in-play-event.d.ts +0 -19
  44. package/dist/cjs/src/service/event/in-play-event.js +0 -27
  45. package/dist/cjs/src/service/event/libero-replacement.d.ts +0 -18
  46. package/dist/cjs/src/service/event/libero-replacement.js +0 -20
  47. package/dist/cjs/src/service/event/reception.d.ts +0 -27
  48. package/dist/cjs/src/service/event/reception.js +0 -43
  49. package/dist/cjs/src/service/event/serve.d.ts +0 -28
  50. package/dist/cjs/src/service/event/serve.js +0 -38
  51. package/dist/cjs/src/service/event/set.d.ts +0 -27
  52. package/dist/cjs/src/service/event/set.js +0 -48
  53. package/dist/cjs/src/service/event/spike.d.ts +0 -29
  54. package/dist/cjs/src/service/event/spike.js +0 -53
  55. package/dist/cjs/src/service/event/substitution.d.ts +0 -11
  56. package/dist/cjs/src/service/event/substitution.js +0 -14
  57. package/dist/cjs/src/service/player/player.d.ts +0 -46
  58. package/dist/cjs/src/service/player/role.js +0 -49
  59. package/dist/cjs/src/service/player/stats.d.ts +0 -11
  60. package/dist/cjs/src/service/player/stats.js +0 -31
  61. package/dist/esm/service/player/stats.d.ts +0 -11
  62. package/dist/esm/service/player/stats.js +0 -25
  63. package/dist/esm/src/data/index.d.ts +0 -3
  64. package/dist/esm/src/data/index.js +0 -3
  65. package/dist/esm/src/data/init-models.d.ts +0 -2
  66. package/dist/esm/src/data/init-models.js +0 -194
  67. package/dist/esm/src/data/models/coach.d.ts +0 -40
  68. package/dist/esm/src/data/models/coach.js +0 -51
  69. package/dist/esm/src/data/models/competition-champion.d.ts +0 -23
  70. package/dist/esm/src/data/models/competition-champion.js +0 -34
  71. package/dist/esm/src/data/models/competition-match.d.ts +0 -29
  72. package/dist/esm/src/data/models/competition-match.js +0 -42
  73. package/dist/esm/src/data/models/competition-teams.d.ts +0 -23
  74. package/dist/esm/src/data/models/competition-teams.js +0 -38
  75. package/dist/esm/src/data/models/competition.d.ts +0 -67
  76. package/dist/esm/src/data/models/competition.js +0 -34
  77. package/dist/esm/src/data/models/country.d.ts +0 -61
  78. package/dist/esm/src/data/models/country.js +0 -30
  79. package/dist/esm/src/data/models/draft-pick.d.ts +0 -31
  80. package/dist/esm/src/data/models/draft-pick.js +0 -46
  81. package/dist/esm/src/data/models/draft.d.ts +0 -29
  82. package/dist/esm/src/data/models/draft.js +0 -30
  83. package/dist/esm/src/data/models/index.d.ts +0 -24
  84. package/dist/esm/src/data/models/index.js +0 -24
  85. package/dist/esm/src/data/models/iteration.d.ts +0 -26
  86. package/dist/esm/src/data/models/iteration.js +0 -26
  87. package/dist/esm/src/data/models/league-season.d.ts +0 -23
  88. package/dist/esm/src/data/models/league-season.js +0 -34
  89. package/dist/esm/src/data/models/league.d.ts +0 -44
  90. package/dist/esm/src/data/models/league.js +0 -34
  91. package/dist/esm/src/data/models/match-rating.d.ts +0 -27
  92. package/dist/esm/src/data/models/match-rating.js +0 -48
  93. package/dist/esm/src/data/models/match-set-stats.d.ts +0 -58
  94. package/dist/esm/src/data/models/match-set-stats.js +0 -123
  95. package/dist/esm/src/data/models/match-set.d.ts +0 -85
  96. package/dist/esm/src/data/models/match-set.js +0 -47
  97. package/dist/esm/src/data/models/match.d.ts +0 -67
  98. package/dist/esm/src/data/models/match.js +0 -47
  99. package/dist/esm/src/data/models/performance-stats.d.ts +0 -40
  100. package/dist/esm/src/data/models/performance-stats.js +0 -81
  101. package/dist/esm/src/data/models/player-team.d.ts +0 -28
  102. package/dist/esm/src/data/models/player-team.js +0 -48
  103. package/dist/esm/src/data/models/player-trait.d.ts +0 -23
  104. package/dist/esm/src/data/models/player-trait.js +0 -38
  105. package/dist/esm/src/data/models/player.d.ts +0 -124
  106. package/dist/esm/src/data/models/player.js +0 -42
  107. package/dist/esm/src/data/models/rally.d.ts +0 -29
  108. package/dist/esm/src/data/models/rally.js +0 -46
  109. package/dist/esm/src/data/models/set-position.d.ts +0 -29
  110. package/dist/esm/src/data/models/set-position.js +0 -46
  111. package/dist/esm/src/data/models/team.d.ts +0 -162
  112. package/dist/esm/src/data/models/team.js +0 -59
  113. package/dist/esm/src/data/models/trait.d.ts +0 -37
  114. package/dist/esm/src/data/models/trait.js +0 -26
  115. package/dist/esm/src/data/models/user.d.ts +0 -22
  116. package/dist/esm/src/data/models/user.js +0 -53
  117. package/dist/esm/src/data/transformers/coach.d.ts +0 -5
  118. package/dist/esm/src/data/transformers/coach.js +0 -25
  119. package/dist/esm/src/data/transformers/country.d.ts +0 -5
  120. package/dist/esm/src/data/transformers/country.js +0 -16
  121. package/dist/esm/src/data/transformers/court-position.d.ts +0 -5
  122. package/dist/esm/src/data/transformers/court-position.js +0 -27
  123. package/dist/esm/src/data/transformers/draft-pick.d.ts +0 -5
  124. package/dist/esm/src/data/transformers/draft-pick.js +0 -18
  125. package/dist/esm/src/data/transformers/draft.d.ts +0 -5
  126. package/dist/esm/src/data/transformers/draft.js +0 -20
  127. package/dist/esm/src/data/transformers/formation.d.ts +0 -5
  128. package/dist/esm/src/data/transformers/formation.js +0 -8
  129. package/dist/esm/src/data/transformers/index.d.ts +0 -25
  130. package/dist/esm/src/data/transformers/index.js +0 -25
  131. package/dist/esm/src/data/transformers/iteration.d.ts +0 -5
  132. package/dist/esm/src/data/transformers/iteration.js +0 -14
  133. package/dist/esm/src/data/transformers/league.d.ts +0 -5
  134. package/dist/esm/src/data/transformers/league.js +0 -28
  135. package/dist/esm/src/data/transformers/match-rating.d.ts +0 -4
  136. package/dist/esm/src/data/transformers/match-rating.js +0 -13
  137. package/dist/esm/src/data/transformers/match-set-stats.d.ts +0 -5
  138. package/dist/esm/src/data/transformers/match-set-stats.js +0 -57
  139. package/dist/esm/src/data/transformers/match-set.d.ts +0 -5
  140. package/dist/esm/src/data/transformers/match-set.js +0 -44
  141. package/dist/esm/src/data/transformers/match.d.ts +0 -5
  142. package/dist/esm/src/data/transformers/match.js +0 -27
  143. package/dist/esm/src/data/transformers/performance-stats.d.ts +0 -5
  144. package/dist/esm/src/data/transformers/performance-stats.js +0 -33
  145. package/dist/esm/src/data/transformers/player-team.d.ts +0 -3
  146. package/dist/esm/src/data/transformers/player-team.js +0 -9
  147. package/dist/esm/src/data/transformers/player.d.ts +0 -5
  148. package/dist/esm/src/data/transformers/player.js +0 -26
  149. package/dist/esm/src/data/transformers/rally.d.ts +0 -5
  150. package/dist/esm/src/data/transformers/rally.js +0 -23
  151. package/dist/esm/src/data/transformers/role.d.ts +0 -5
  152. package/dist/esm/src/data/transformers/role.js +0 -23
  153. package/dist/esm/src/data/transformers/season-match.d.ts +0 -4
  154. package/dist/esm/src/data/transformers/season-match.js +0 -13
  155. package/dist/esm/src/data/transformers/season.d.ts +0 -5
  156. package/dist/esm/src/data/transformers/season.js +0 -39
  157. package/dist/esm/src/data/transformers/set-position.d.ts +0 -5
  158. package/dist/esm/src/data/transformers/set-position.js +0 -16
  159. package/dist/esm/src/data/transformers/stage.d.ts +0 -5
  160. package/dist/esm/src/data/transformers/stage.js +0 -21
  161. package/dist/esm/src/data/transformers/team.d.ts +0 -5
  162. package/dist/esm/src/data/transformers/team.js +0 -28
  163. package/dist/esm/src/data/transformers/tournament-match.d.ts +0 -5
  164. package/dist/esm/src/data/transformers/tournament-match.js +0 -19
  165. package/dist/esm/src/data/transformers/tournament.d.ts +0 -5
  166. package/dist/esm/src/data/transformers/tournament.js +0 -33
  167. package/dist/esm/src/data/transformers/trait.d.ts +0 -5
  168. package/dist/esm/src/data/transformers/trait.js +0 -15
  169. package/dist/esm/src/index.js +0 -2
  170. package/dist/esm/src/service/coach/coach.d.ts +0 -19
  171. package/dist/esm/src/service/coach/coach.js +0 -11
  172. package/dist/esm/src/service/coach/formation.d.ts +0 -31
  173. package/dist/esm/src/service/coach/formation.js +0 -122
  174. package/dist/esm/src/service/coach/index.d.ts +0 -2
  175. package/dist/esm/src/service/coach/index.js +0 -2
  176. package/dist/esm/src/service/competition/index.d.ts +0 -11
  177. package/dist/esm/src/service/competition/index.js +0 -12
  178. package/dist/esm/src/service/competition/iteration.d.ts +0 -10
  179. package/dist/esm/src/service/competition/iteration.js +0 -8
  180. package/dist/esm/src/service/competition/league.d.ts +0 -16
  181. package/dist/esm/src/service/competition/league.js +0 -8
  182. package/dist/esm/src/service/competition/season.d.ts +0 -23
  183. package/dist/esm/src/service/competition/season.js +0 -27
  184. package/dist/esm/src/service/competition/stage.d.ts +0 -11
  185. package/dist/esm/src/service/competition/stage.js +0 -24
  186. package/dist/esm/src/service/competition/standing.d.ts +0 -28
  187. package/dist/esm/src/service/competition/standing.js +0 -76
  188. package/dist/esm/src/service/competition/tournament-match.d.ts +0 -14
  189. package/dist/esm/src/service/competition/tournament-match.js +0 -9
  190. package/dist/esm/src/service/competition/tournament.d.ts +0 -20
  191. package/dist/esm/src/service/competition/tournament.js +0 -18
  192. package/dist/esm/src/service/country/country.d.ts +0 -17
  193. package/dist/esm/src/service/country/country.js +0 -18
  194. package/dist/esm/src/service/country/index.d.ts +0 -1
  195. package/dist/esm/src/service/country/index.js +0 -1
  196. package/dist/esm/src/service/draft/draft-pick.d.ts +0 -14
  197. package/dist/esm/src/service/draft/draft-pick.js +0 -7
  198. package/dist/esm/src/service/draft/draft.d.ts +0 -15
  199. package/dist/esm/src/service/draft/draft.js +0 -8
  200. package/dist/esm/src/service/draft/index.d.ts +0 -2
  201. package/dist/esm/src/service/draft/index.js +0 -2
  202. package/dist/esm/src/service/event/block.d.ts +0 -30
  203. package/dist/esm/src/service/event/block.js +0 -64
  204. package/dist/esm/src/service/event/in-play-event.d.ts +0 -19
  205. package/dist/esm/src/service/event/in-play-event.js +0 -20
  206. package/dist/esm/src/service/event/index.d.ts +0 -1
  207. package/dist/esm/src/service/event/index.js +0 -1
  208. package/dist/esm/src/service/event/libero-replacement.d.ts +0 -18
  209. package/dist/esm/src/service/event/libero-replacement.js +0 -16
  210. package/dist/esm/src/service/event/rally-event.d.ts +0 -20
  211. package/dist/esm/src/service/event/rally-event.js +0 -16
  212. package/dist/esm/src/service/event/reception.d.ts +0 -27
  213. package/dist/esm/src/service/event/reception.js +0 -39
  214. package/dist/esm/src/service/event/serve.d.ts +0 -28
  215. package/dist/esm/src/service/event/serve.js +0 -34
  216. package/dist/esm/src/service/event/set.d.ts +0 -27
  217. package/dist/esm/src/service/event/set.js +0 -44
  218. package/dist/esm/src/service/event/spike.d.ts +0 -29
  219. package/dist/esm/src/service/event/spike.js +0 -49
  220. package/dist/esm/src/service/event/substitution.d.ts +0 -11
  221. package/dist/esm/src/service/event/substitution.js +0 -10
  222. package/dist/esm/src/service/index.d.ts +0 -9
  223. package/dist/esm/src/service/index.js +0 -9
  224. package/dist/esm/src/service/match/court-position.d.ts +0 -21
  225. package/dist/esm/src/service/match/court-position.js +0 -53
  226. package/dist/esm/src/service/match/court-target-enum.d.ts +0 -21
  227. package/dist/esm/src/service/match/court-target-enum.js +0 -54
  228. package/dist/esm/src/service/match/index.d.ts +0 -7
  229. package/dist/esm/src/service/match/index.js +0 -7
  230. package/dist/esm/src/service/match/match-rating.d.ts +0 -35
  231. package/dist/esm/src/service/match/match-rating.js +0 -61
  232. package/dist/esm/src/service/match/match-set.d.ts +0 -65
  233. package/dist/esm/src/service/match/match-set.js +0 -56
  234. package/dist/esm/src/service/match/match-team.d.ts +0 -7
  235. package/dist/esm/src/service/match/match-team.js +0 -17
  236. package/dist/esm/src/service/match/match.d.ts +0 -36
  237. package/dist/esm/src/service/match/match.js +0 -57
  238. package/dist/esm/src/service/match/rally.d.ts +0 -22
  239. package/dist/esm/src/service/match/rally.js +0 -13
  240. package/dist/esm/src/service/player/index.d.ts +0 -5
  241. package/dist/esm/src/service/player/index.js +0 -5
  242. package/dist/esm/src/service/player/performance-stats.d.ts +0 -30
  243. package/dist/esm/src/service/player/performance-stats.js +0 -34
  244. package/dist/esm/src/service/player/player.js +0 -84
  245. package/dist/esm/src/service/player/role.d.ts +0 -17
  246. package/dist/esm/src/service/player/stats.d.ts +0 -11
  247. package/dist/esm/src/service/player/stats.js +0 -25
  248. package/dist/esm/src/service/player/trait.d.ts +0 -21
  249. package/dist/esm/src/service/player/trait.js +0 -108
  250. package/dist/esm/src/service/team/index.d.ts +0 -1
  251. package/dist/esm/src/service/team/index.js +0 -1
  252. package/dist/esm/src/service/team/team.d.ts +0 -31
  253. package/dist/esm/src/service/team/team.js +0 -32
  254. package/dist/esm/src/service/utils/index.d.ts +0 -2
  255. package/dist/esm/src/service/utils/index.js +0 -2
  256. package/dist/esm/src/service/utils/object-utils.d.ts +0 -1
  257. package/dist/esm/src/service/utils/object-utils.js +0 -1
  258. package/dist/esm/src/service/utils/string-utils.d.ts +0 -2
  259. package/dist/esm/src/service/utils/string-utils.js +0 -11
  260. /package/dist/cjs/{src/data → data}/index.d.ts +0 -0
  261. /package/dist/cjs/{src/data → data}/index.js +0 -0
  262. /package/dist/cjs/{src/data → data}/init-models.d.ts +0 -0
  263. /package/dist/cjs/{src/data → data}/init-models.js +0 -0
  264. /package/dist/cjs/{src/data → data}/models/coach.d.ts +0 -0
  265. /package/dist/cjs/{src/data → data}/models/coach.js +0 -0
  266. /package/dist/cjs/{src/data → data}/models/competition-champion.d.ts +0 -0
  267. /package/dist/cjs/{src/data → data}/models/competition-champion.js +0 -0
  268. /package/dist/cjs/{src/data → data}/models/competition-match.d.ts +0 -0
  269. /package/dist/cjs/{src/data → data}/models/competition-match.js +0 -0
  270. /package/dist/cjs/{src/data → data}/models/competition-teams.d.ts +0 -0
  271. /package/dist/cjs/{src/data → data}/models/competition-teams.js +0 -0
  272. /package/dist/cjs/{src/data → data}/models/competition.d.ts +0 -0
  273. /package/dist/cjs/{src/data → data}/models/competition.js +0 -0
  274. /package/dist/cjs/{src/data → data}/models/country.d.ts +0 -0
  275. /package/dist/cjs/{src/data → data}/models/country.js +0 -0
  276. /package/dist/cjs/{src/data → data}/models/draft-pick.d.ts +0 -0
  277. /package/dist/cjs/{src/data → data}/models/draft-pick.js +0 -0
  278. /package/dist/cjs/{src/data → data}/models/draft.d.ts +0 -0
  279. /package/dist/cjs/{src/data → data}/models/draft.js +0 -0
  280. /package/dist/cjs/{src/data → data}/models/index.d.ts +0 -0
  281. /package/dist/cjs/{src/data → data}/models/index.js +0 -0
  282. /package/dist/cjs/{src/data → data}/models/iteration.d.ts +0 -0
  283. /package/dist/cjs/{src/data → data}/models/iteration.js +0 -0
  284. /package/dist/cjs/{src/data → data}/models/league-season.d.ts +0 -0
  285. /package/dist/cjs/{src/data → data}/models/league-season.js +0 -0
  286. /package/dist/cjs/{src/data → data}/models/league.d.ts +0 -0
  287. /package/dist/cjs/{src/data → data}/models/league.js +0 -0
  288. /package/dist/cjs/{src/data → data}/models/match-rating.d.ts +0 -0
  289. /package/dist/cjs/{src/data → data}/models/match-rating.js +0 -0
  290. /package/dist/cjs/{src/data → data}/models/match-set-stats.d.ts +0 -0
  291. /package/dist/cjs/{src/data → data}/models/match-set-stats.js +0 -0
  292. /package/dist/cjs/{src/data → data}/models/match-set.d.ts +0 -0
  293. /package/dist/cjs/{src/data → data}/models/match-set.js +0 -0
  294. /package/dist/cjs/{src/data → data}/models/match.d.ts +0 -0
  295. /package/dist/cjs/{src/data → data}/models/match.js +0 -0
  296. /package/dist/cjs/{src/data → data}/models/performance-stats.d.ts +0 -0
  297. /package/dist/cjs/{src/data → data}/models/performance-stats.js +0 -0
  298. /package/dist/cjs/{src/data → data}/models/player-team.d.ts +0 -0
  299. /package/dist/cjs/{src/data → data}/models/player-team.js +0 -0
  300. /package/dist/cjs/{src/data → data}/models/player-trait.d.ts +0 -0
  301. /package/dist/cjs/{src/data → data}/models/player-trait.js +0 -0
  302. /package/dist/cjs/{src/data → data}/models/player.d.ts +0 -0
  303. /package/dist/cjs/{src/data → data}/models/player.js +0 -0
  304. /package/dist/cjs/{src/data → data}/models/rally.d.ts +0 -0
  305. /package/dist/cjs/{src/data → data}/models/rally.js +0 -0
  306. /package/dist/cjs/{src/data → data}/models/set-position.d.ts +0 -0
  307. /package/dist/cjs/{src/data → data}/models/set-position.js +0 -0
  308. /package/dist/cjs/{src/data → data}/models/team.d.ts +0 -0
  309. /package/dist/cjs/{src/data → data}/models/team.js +0 -0
  310. /package/dist/cjs/{src/data → data}/models/trait.d.ts +0 -0
  311. /package/dist/cjs/{src/data → data}/models/trait.js +0 -0
  312. /package/dist/cjs/{src/data → data}/models/user.d.ts +0 -0
  313. /package/dist/cjs/{src/data → data}/models/user.js +0 -0
  314. /package/dist/cjs/{src/data → data}/transformers/coach.d.ts +0 -0
  315. /package/dist/cjs/{src/data → data}/transformers/coach.js +0 -0
  316. /package/dist/cjs/{src/data → data}/transformers/country.d.ts +0 -0
  317. /package/dist/cjs/{src/data → data}/transformers/country.js +0 -0
  318. /package/dist/cjs/{src/data → data}/transformers/court-position.d.ts +0 -0
  319. /package/dist/cjs/{src/data → data}/transformers/court-position.js +0 -0
  320. /package/dist/cjs/{src/data → data}/transformers/draft-pick.d.ts +0 -0
  321. /package/dist/cjs/{src/data → data}/transformers/draft-pick.js +0 -0
  322. /package/dist/cjs/{src/data → data}/transformers/draft.d.ts +0 -0
  323. /package/dist/cjs/{src/data → data}/transformers/draft.js +0 -0
  324. /package/dist/cjs/{src/data → data}/transformers/formation.d.ts +0 -0
  325. /package/dist/cjs/{src/data → data}/transformers/formation.js +0 -0
  326. /package/dist/cjs/{src/data → data}/transformers/index.d.ts +0 -0
  327. /package/dist/cjs/{src/data → data}/transformers/index.js +0 -0
  328. /package/dist/cjs/{src/data → data}/transformers/iteration.d.ts +0 -0
  329. /package/dist/cjs/{src/data → data}/transformers/iteration.js +0 -0
  330. /package/dist/cjs/{src/data → data}/transformers/league.d.ts +0 -0
  331. /package/dist/cjs/{src/data → data}/transformers/league.js +0 -0
  332. /package/dist/cjs/{src/data → data}/transformers/match-rating.d.ts +0 -0
  333. /package/dist/cjs/{src/data → data}/transformers/match-rating.js +0 -0
  334. /package/dist/cjs/{src/data → data}/transformers/match-set-stats.d.ts +0 -0
  335. /package/dist/cjs/{src/data → data}/transformers/match-set-stats.js +0 -0
  336. /package/dist/cjs/{src/data → data}/transformers/match-set.d.ts +0 -0
  337. /package/dist/cjs/{src/data → data}/transformers/match-set.js +0 -0
  338. /package/dist/cjs/{src/data → data}/transformers/match.d.ts +0 -0
  339. /package/dist/cjs/{src/data → data}/transformers/match.js +0 -0
  340. /package/dist/cjs/{src/data → data}/transformers/performance-stats.d.ts +0 -0
  341. /package/dist/cjs/{src/data → data}/transformers/performance-stats.js +0 -0
  342. /package/dist/cjs/{src/data → data}/transformers/player-team.d.ts +0 -0
  343. /package/dist/cjs/{src/data → data}/transformers/player-team.js +0 -0
  344. /package/dist/cjs/{src/data → data}/transformers/player.d.ts +0 -0
  345. /package/dist/cjs/{src/data → data}/transformers/player.js +0 -0
  346. /package/dist/cjs/{src/data → data}/transformers/rally.d.ts +0 -0
  347. /package/dist/cjs/{src/data → data}/transformers/rally.js +0 -0
  348. /package/dist/cjs/{src/data → data}/transformers/role.d.ts +0 -0
  349. /package/dist/cjs/{src/data → data}/transformers/role.js +0 -0
  350. /package/dist/cjs/{src/data → data}/transformers/season-match.d.ts +0 -0
  351. /package/dist/cjs/{src/data → data}/transformers/season-match.js +0 -0
  352. /package/dist/cjs/{src/data → data}/transformers/season.d.ts +0 -0
  353. /package/dist/cjs/{src/data → data}/transformers/season.js +0 -0
  354. /package/dist/cjs/{src/data → data}/transformers/set-position.d.ts +0 -0
  355. /package/dist/cjs/{src/data → data}/transformers/set-position.js +0 -0
  356. /package/dist/cjs/{src/data → data}/transformers/stage.d.ts +0 -0
  357. /package/dist/cjs/{src/data → data}/transformers/stage.js +0 -0
  358. /package/dist/cjs/{src/data → data}/transformers/team.d.ts +0 -0
  359. /package/dist/cjs/{src/data → data}/transformers/team.js +0 -0
  360. /package/dist/cjs/{src/data → data}/transformers/tournament-match.d.ts +0 -0
  361. /package/dist/cjs/{src/data → data}/transformers/tournament-match.js +0 -0
  362. /package/dist/cjs/{src/data → data}/transformers/tournament.d.ts +0 -0
  363. /package/dist/cjs/{src/data → data}/transformers/tournament.js +0 -0
  364. /package/dist/cjs/{src/data → data}/transformers/trait.d.ts +0 -0
  365. /package/dist/cjs/{src/data → data}/transformers/trait.js +0 -0
  366. /package/dist/cjs/{data → formula}/role.formula.json +0 -0
  367. /package/dist/cjs/{data → formula}/stat.formula.json +0 -0
  368. /package/dist/cjs/{src/service → service}/coach/coach.d.ts +0 -0
  369. /package/dist/cjs/{src/service → service}/coach/coach.js +0 -0
  370. /package/dist/cjs/{src/service → service}/coach/formation.d.ts +0 -0
  371. /package/dist/cjs/{src/service → service}/coach/formation.js +0 -0
  372. /package/dist/cjs/{src/service → service}/coach/index.d.ts +0 -0
  373. /package/dist/cjs/{src/service → service}/coach/index.js +0 -0
  374. /package/dist/cjs/{src/service → service}/competition/index.d.ts +0 -0
  375. /package/dist/cjs/{src/service → service}/competition/index.js +0 -0
  376. /package/dist/cjs/{src/service → service}/competition/iteration.d.ts +0 -0
  377. /package/dist/cjs/{src/service → service}/competition/iteration.js +0 -0
  378. /package/dist/cjs/{src/service → service}/competition/league.d.ts +0 -0
  379. /package/dist/cjs/{src/service → service}/competition/league.js +0 -0
  380. /package/dist/cjs/{src/service → service}/competition/season.d.ts +0 -0
  381. /package/dist/cjs/{src/service → service}/competition/season.js +0 -0
  382. /package/dist/cjs/{src/service → service}/competition/stage.d.ts +0 -0
  383. /package/dist/cjs/{src/service → service}/competition/stage.js +0 -0
  384. /package/dist/cjs/{src/service → service}/competition/standing.d.ts +0 -0
  385. /package/dist/cjs/{src/service → service}/competition/standing.js +0 -0
  386. /package/dist/cjs/{src/service → service}/competition/tournament-match.d.ts +0 -0
  387. /package/dist/cjs/{src/service → service}/competition/tournament-match.js +0 -0
  388. /package/dist/cjs/{src/service → service}/competition/tournament.d.ts +0 -0
  389. /package/dist/cjs/{src/service → service}/competition/tournament.js +0 -0
  390. /package/dist/cjs/{src/service → service}/country/country.d.ts +0 -0
  391. /package/dist/cjs/{src/service → service}/country/country.js +0 -0
  392. /package/dist/cjs/{src/service → service}/country/index.d.ts +0 -0
  393. /package/dist/cjs/{src/service → service}/country/index.js +0 -0
  394. /package/dist/cjs/{src/service → service}/draft/draft-pick.d.ts +0 -0
  395. /package/dist/cjs/{src/service → service}/draft/draft-pick.js +0 -0
  396. /package/dist/cjs/{src/service → service}/draft/draft.d.ts +0 -0
  397. /package/dist/cjs/{src/service → service}/draft/draft.js +0 -0
  398. /package/dist/cjs/{src/service → service}/draft/index.d.ts +0 -0
  399. /package/dist/cjs/{src/service → service}/draft/index.js +0 -0
  400. /package/dist/cjs/{src/service → service}/event/index.d.ts +0 -0
  401. /package/dist/cjs/{src/service → service}/event/index.js +0 -0
  402. /package/dist/cjs/{src/service → service}/event/rally-event.d.ts +0 -0
  403. /package/dist/cjs/{src/service → service}/event/rally-event.js +0 -0
  404. /package/dist/cjs/{src/service → service}/index.d.ts +0 -0
  405. /package/dist/cjs/{src/service → service}/index.js +0 -0
  406. /package/dist/cjs/{src/service → service}/match/court-position.d.ts +0 -0
  407. /package/dist/cjs/{src/service → service}/match/court-position.js +0 -0
  408. /package/dist/cjs/{src/service → service}/match/court-target-enum.d.ts +0 -0
  409. /package/dist/cjs/{src/service → service}/match/court-target-enum.js +0 -0
  410. /package/dist/cjs/{src/service → service}/match/index.d.ts +0 -0
  411. /package/dist/cjs/{src/service → service}/match/index.js +0 -0
  412. /package/dist/cjs/{src/service → service}/match/match-rating.d.ts +0 -0
  413. /package/dist/cjs/{src/service → service}/match/match-rating.js +0 -0
  414. /package/dist/cjs/{src/service → service}/match/match-set.d.ts +0 -0
  415. /package/dist/cjs/{src/service → service}/match/match-set.js +0 -0
  416. /package/dist/cjs/{src/service → service}/match/match-team.d.ts +0 -0
  417. /package/dist/cjs/{src/service → service}/match/match-team.js +0 -0
  418. /package/dist/cjs/{src/service → service}/match/match.d.ts +0 -0
  419. /package/dist/cjs/{src/service → service}/match/match.js +0 -0
  420. /package/dist/cjs/{src/service → service}/match/rally.d.ts +0 -0
  421. /package/dist/cjs/{src/service → service}/match/rally.js +0 -0
  422. /package/dist/cjs/{src/service → service}/player/performance-stats.d.ts +0 -0
  423. /package/dist/cjs/{src/service → service}/player/performance-stats.js +0 -0
  424. /package/dist/cjs/{src/service → service}/team/index.d.ts +0 -0
  425. /package/dist/cjs/{src/service → service}/team/index.js +0 -0
  426. /package/dist/cjs/{src/service → service}/team/team.d.ts +0 -0
  427. /package/dist/cjs/{src/service → service}/team/team.js +0 -0
  428. /package/dist/cjs/{src/service → service}/utils/index.d.ts +0 -0
  429. /package/dist/cjs/{src/service → service}/utils/index.js +0 -0
  430. /package/dist/cjs/{src/service → service}/utils/object-utils.d.ts +0 -0
  431. /package/dist/cjs/{src/service → service}/utils/object-utils.js +0 -0
  432. /package/dist/cjs/{src/service → service}/utils/string-utils.d.ts +0 -0
  433. /package/dist/cjs/{src/service → service}/utils/string-utils.js +0 -0
  434. /package/dist/esm/{data → formula}/role.formula.json +0 -0
  435. /package/dist/esm/{data → formula}/stat.formula.json +0 -0
@@ -1,54 +0,0 @@
1
- import { CourtRow } from './court-position';
2
- export var CourtTargetEnum;
3
- (function (CourtTargetEnum) {
4
- CourtTargetEnum[CourtTargetEnum["NO_TARGET"] = 0] = "NO_TARGET";
5
- CourtTargetEnum[CourtTargetEnum["OPPONENT_RIGHT_BACK"] = 7] = "OPPONENT_RIGHT_BACK";
6
- CourtTargetEnum[CourtTargetEnum["OPPONENT_MIDDLE_BACK"] = 12] = "OPPONENT_MIDDLE_BACK";
7
- CourtTargetEnum[CourtTargetEnum["OPPONENT_LEFT_BACK"] = 11] = "OPPONENT_LEFT_BACK";
8
- CourtTargetEnum[CourtTargetEnum["OPPONENT_RIGHT_FRONT"] = 8] = "OPPONENT_RIGHT_FRONT";
9
- CourtTargetEnum[CourtTargetEnum["OPPONENT_MIDDLE_FRONT"] = 9] = "OPPONENT_MIDDLE_FRONT";
10
- CourtTargetEnum[CourtTargetEnum["OPPONENT_LEFT_FRONT"] = 10] = "OPPONENT_LEFT_FRONT";
11
- // --------------------------------------------------------------------------------
12
- CourtTargetEnum[CourtTargetEnum["TEAM_LEFT_FRONT"] = 4] = "TEAM_LEFT_FRONT";
13
- CourtTargetEnum[CourtTargetEnum["TEAM_MIDDLE_FRONT"] = 3] = "TEAM_MIDDLE_FRONT";
14
- CourtTargetEnum[CourtTargetEnum["TEAM_RIGHT_FRONT"] = 2] = "TEAM_RIGHT_FRONT";
15
- CourtTargetEnum[CourtTargetEnum["TEAM_LEFT_BACK"] = 5] = "TEAM_LEFT_BACK";
16
- CourtTargetEnum[CourtTargetEnum["TEAM_MIDDLE_BACK"] = 6] = "TEAM_MIDDLE_BACK";
17
- CourtTargetEnum[CourtTargetEnum["TEAM_RIGHT_BACK"] = 1] = "TEAM_RIGHT_BACK";
18
- })(CourtTargetEnum || (CourtTargetEnum = {}));
19
- // eslint-disable-next-line @typescript-eslint/no-namespace
20
- (function (CourtTargetEnum) {
21
- function getTeamSide(row) {
22
- switch (true) {
23
- case row === CourtRow.BACK:
24
- return [CourtTargetEnum.TEAM_RIGHT_BACK, CourtTargetEnum.TEAM_MIDDLE_BACK, CourtTargetEnum.TEAM_LEFT_BACK];
25
- case row === CourtRow.FRONT:
26
- return [CourtTargetEnum.TEAM_RIGHT_FRONT, CourtTargetEnum.TEAM_MIDDLE_FRONT, CourtTargetEnum.TEAM_LEFT_FRONT];
27
- default:
28
- return [CourtTargetEnum.TEAM_RIGHT_BACK, CourtTargetEnum.TEAM_MIDDLE_BACK, CourtTargetEnum.TEAM_LEFT_BACK,
29
- CourtTargetEnum.TEAM_RIGHT_FRONT, CourtTargetEnum.TEAM_MIDDLE_FRONT, CourtTargetEnum.TEAM_LEFT_FRONT];
30
- }
31
- }
32
- CourtTargetEnum.getTeamSide = getTeamSide;
33
- function getOpponentSide(row) {
34
- switch (true) {
35
- case row === CourtRow.BACK:
36
- return [CourtTargetEnum.OPPONENT_RIGHT_BACK, CourtTargetEnum.OPPONENT_MIDDLE_BACK, CourtTargetEnum.OPPONENT_LEFT_BACK];
37
- case row === CourtRow.FRONT:
38
- return [CourtTargetEnum.OPPONENT_RIGHT_FRONT, CourtTargetEnum.OPPONENT_MIDDLE_FRONT, CourtTargetEnum.OPPONENT_LEFT_FRONT];
39
- default:
40
- return [CourtTargetEnum.OPPONENT_RIGHT_BACK, CourtTargetEnum.OPPONENT_MIDDLE_BACK, CourtTargetEnum.OPPONENT_LEFT_BACK,
41
- CourtTargetEnum.OPPONENT_RIGHT_FRONT, CourtTargetEnum.OPPONENT_MIDDLE_FRONT, CourtTargetEnum.OPPONENT_LEFT_FRONT];
42
- }
43
- }
44
- CourtTargetEnum.getOpponentSide = getOpponentSide;
45
- function getSidePosition(position) {
46
- if (position < 1 || position > 12)
47
- throw new Error('POSITION_INDEX_OUT_OF_BOUNDS');
48
- if (position > 6)
49
- return position - 6;
50
- else
51
- return position;
52
- }
53
- CourtTargetEnum.getSidePosition = getSidePosition;
54
- })(CourtTargetEnum || (CourtTargetEnum = {}));
@@ -1,7 +0,0 @@
1
- export * from './match';
2
- export * from './match-rating';
3
- export * from './match-set';
4
- export * from './rally';
5
- export * from './court-position';
6
- export * from './court-target-enum';
7
- export * from './match-team';
@@ -1,7 +0,0 @@
1
- export * from './match';
2
- export * from './match-rating';
3
- export * from './match-set';
4
- export * from './rally';
5
- export * from './court-position';
6
- export * from './court-target-enum';
7
- export * from './match-team';
@@ -1,35 +0,0 @@
1
- import { Match, MatchTeam } from '.';
2
- import { CompetitionType } from '../../data';
3
- interface MatchRatingParams {
4
- readonly match: Match;
5
- readonly competitionType: CompetitionType;
6
- }
7
- interface SetScoreVariant {
8
- '3-0': number;
9
- '3-1': number;
10
- '3-2': number;
11
- '2-3': number;
12
- '1-3': number;
13
- '0-3': number;
14
- }
15
- interface MatchWeightFactor {
16
- TOURNAMENT: number;
17
- LEAGUE: number;
18
- }
19
- export declare class MatchRating {
20
- static K: number;
21
- static SSV: SetScoreVariant;
22
- static C1: number;
23
- static C2: number;
24
- static C3: number;
25
- static C4: number;
26
- static C5: number;
27
- static MWF: MatchWeightFactor;
28
- readonly match: Match;
29
- readonly weight: number;
30
- constructor({ match, competitionType }: MatchRatingParams);
31
- getPoints(team: MatchTeam): number;
32
- static calculateProbability(z: number): number;
33
- getExpectedResult(): number;
34
- }
35
- export {};
@@ -1,61 +0,0 @@
1
- import { MatchScore } from '.';
2
- export class MatchRating {
3
- constructor({ match, competitionType }) {
4
- this.match = match;
5
- this.weight = MatchRating.MWF[competitionType];
6
- }
7
- getPoints(team) {
8
- const rankingValue = MatchRating.SSV[this.match.getScore()] - this.getExpectedResult();
9
- const weighted = rankingValue * this.weight / MatchRating.K;
10
- if (this.match.isWinner(team))
11
- return weighted;
12
- else
13
- return weighted * -1;
14
- }
15
- static calculateProbability(z) {
16
- let area = 0.0;
17
- const rectangles = 100000;
18
- const width = (z - (-10)) / rectangles;
19
- for (let i = 0; i < rectangles; i++) {
20
- area += width * Math.exp(-Math.pow((width * i + (-10)), 2) / 2) / Math.sqrt(2 * Math.PI);
21
- }
22
- return area;
23
- }
24
- getExpectedResult() {
25
- const D = MatchRating.K * (this.match.homeTeam.rating - this.match.awayTeam.rating) / 1000; // Strength difference between the teams
26
- const P1 = MatchRating.calculateProbability(MatchRating.C1 + D); // 3-0
27
- const P2 = MatchRating.calculateProbability(MatchRating.C2 + D) -
28
- MatchRating.calculateProbability(MatchRating.C1 + D); // 3-1
29
- const P3 = MatchRating.calculateProbability(MatchRating.C3 + D) -
30
- MatchRating.calculateProbability(MatchRating.C2 + D); // 3-2
31
- const P4 = MatchRating.calculateProbability(MatchRating.C4 + D) -
32
- MatchRating.calculateProbability(MatchRating.C3 + D); // 2-3
33
- const P5 = MatchRating.calculateProbability(MatchRating.C5 + D) -
34
- MatchRating.calculateProbability(MatchRating.C4 + D); // 1-3
35
- const P6 = 1 - MatchRating.calculateProbability(MatchRating.C5 + D); // 0-3
36
- return P1 * MatchRating.SSV['3-0'] +
37
- P2 * MatchRating.SSV['3-1'] +
38
- P3 * MatchRating.SSV['3-2'] +
39
- P4 * MatchRating.SSV['2-3'] +
40
- P5 * MatchRating.SSV['1-3'] +
41
- P6 * MatchRating.SSV['0-3']; // Expected Match Result EMR
42
- }
43
- }
44
- MatchRating.K = 8; // Standard scaling factor
45
- MatchRating.SSV = {
46
- [MatchScore['3-0']]: 2,
47
- [MatchScore['3-1']]: 1.5,
48
- [MatchScore['3-2']]: 1,
49
- [MatchScore['2-3']]: -1,
50
- [MatchScore['1-3']]: -1.5,
51
- [MatchScore['0-3']]: -2
52
- };
53
- MatchRating.C1 = -1.060;
54
- MatchRating.C2 = -0.394;
55
- MatchRating.C3 = 0;
56
- MatchRating.C4 = 0.394;
57
- MatchRating.C5 = 1.060;
58
- MatchRating.MWF = {
59
- TOURNAMENT: 50,
60
- LEAGUE: 35
61
- };
@@ -1,65 +0,0 @@
1
- import { PlayerPosition, Rally } from './rally';
2
- import { MatchTeam } from './match-team';
3
- import { Player } from '../player';
4
- declare enum ScoreThreshold {
5
- SET = 25,
6
- TIE_BREAK = 15
7
- }
8
- interface MatchSetParams {
9
- readonly id: string;
10
- readonly order: number;
11
- readonly isTieBreak: boolean;
12
- readonly homePlayerPosition: PlayerPosition[];
13
- readonly awayPlayerPosition: PlayerPosition[];
14
- readonly homeScore: number;
15
- readonly awayScore: number;
16
- readonly stats: SetStatistics[];
17
- readonly rallies: Rally[];
18
- }
19
- export interface EventStat {
20
- success: number;
21
- error: number;
22
- }
23
- export interface SetStatistics {
24
- player: Player;
25
- ace: number;
26
- attempts: number;
27
- contacts: number;
28
- ralliesPlayed: number;
29
- serve: EventStat;
30
- reception: EventStat;
31
- set: EventStat;
32
- attack: EventStat;
33
- block: EventStat;
34
- kills: number;
35
- killBlocks: number;
36
- assists: number;
37
- }
38
- export declare class MatchSet {
39
- readonly id: string;
40
- readonly order: number;
41
- readonly isTieBreak: boolean;
42
- readonly homePlayerPosition: PlayerPosition[];
43
- readonly awayPlayerPosition: PlayerPosition[];
44
- readonly stats: SetStatistics[];
45
- readonly rallies: Rally[];
46
- readonly scoreThreshold: ScoreThreshold;
47
- private _homeScore;
48
- private _awayScore;
49
- constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }: MatchSetParams);
50
- get homeScore(): number;
51
- get awayScore(): number;
52
- increaseScore(team: MatchTeam): void;
53
- addRally(rally: Rally): void;
54
- /**
55
- * Has a team reached at least 25 points and is the score difference between both teams at least 2?
56
- * @returns boolean
57
- */
58
- isOver(): boolean;
59
- /**
60
- * Get the team that won the Set. Return undefined if set is not over.
61
- * @returns CourtTeam
62
- */
63
- getWinner(): MatchTeam;
64
- }
65
- export {};
@@ -1,56 +0,0 @@
1
- import { validateUUID } from '../utils';
2
- import { MatchTeam } from './match-team';
3
- var ScoreThreshold;
4
- (function (ScoreThreshold) {
5
- ScoreThreshold[ScoreThreshold["SET"] = 25] = "SET";
6
- ScoreThreshold[ScoreThreshold["TIE_BREAK"] = 15] = "TIE_BREAK";
7
- })(ScoreThreshold || (ScoreThreshold = {}));
8
- export class MatchSet {
9
- constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }) {
10
- validateUUID(id);
11
- this.id = id;
12
- this.order = order;
13
- this._homeScore = homeScore;
14
- this._awayScore = awayScore;
15
- this.homePlayerPosition = homePlayerPosition;
16
- this.awayPlayerPosition = awayPlayerPosition;
17
- this.stats = stats;
18
- this.rallies = rallies;
19
- this.isTieBreak = isTieBreak;
20
- this.scoreThreshold = isTieBreak ? ScoreThreshold.TIE_BREAK : ScoreThreshold.SET;
21
- }
22
- get homeScore() {
23
- return this._homeScore;
24
- }
25
- get awayScore() {
26
- return this._awayScore;
27
- }
28
- increaseScore(team) {
29
- if (team === MatchTeam.HOME)
30
- this._homeScore++;
31
- else if (team === MatchTeam.AWAY)
32
- this._awayScore++;
33
- else
34
- throw new Error('UNKNOWN_TEAM');
35
- }
36
- addRally(rally) {
37
- this.rallies.push(rally);
38
- }
39
- /**
40
- * Has a team reached at least 25 points and is the score difference between both teams at least 2?
41
- * @returns boolean
42
- */
43
- isOver() {
44
- return Math.abs(this.homeScore - this.awayScore) > 1 &&
45
- (this.homeScore >= this.scoreThreshold || this.awayScore >= this.scoreThreshold);
46
- }
47
- /**
48
- * Get the team that won the Set. Return undefined if set is not over.
49
- * @returns CourtTeam
50
- */
51
- getWinner() {
52
- if (!this.isOver())
53
- throw new Error('UNFINISHED_SET');
54
- return this.homeScore > this.awayScore ? MatchTeam.HOME : MatchTeam.AWAY;
55
- }
56
- }
@@ -1,7 +0,0 @@
1
- export declare enum MatchTeam {
2
- HOME = "homeTeam",
3
- AWAY = "awayTeam"
4
- }
5
- export declare namespace MatchTeam {
6
- function otherTeam(team: MatchTeam): MatchTeam;
7
- }
@@ -1,17 +0,0 @@
1
- export var MatchTeam;
2
- (function (MatchTeam) {
3
- MatchTeam["HOME"] = "homeTeam";
4
- MatchTeam["AWAY"] = "awayTeam";
5
- })(MatchTeam || (MatchTeam = {}));
6
- // eslint-disable-next-line @typescript-eslint/no-namespace
7
- (function (MatchTeam) {
8
- function otherTeam(team) {
9
- if (team === MatchTeam.HOME)
10
- return MatchTeam.AWAY;
11
- else if (team === MatchTeam.AWAY)
12
- return MatchTeam.HOME;
13
- else
14
- throw new Error('UNKNOWN_MATCH_TEAM');
15
- }
16
- MatchTeam.otherTeam = otherTeam;
17
- })(MatchTeam || (MatchTeam = {}));
@@ -1,36 +0,0 @@
1
- import { MatchSet } from './match-set';
2
- import { Team } from '../team';
3
- import { MatchTeam } from './match-team';
4
- interface MatchParams {
5
- readonly id: string;
6
- readonly homeTeam: Team;
7
- readonly awayTeam: Team;
8
- readonly scheduledDate: Date;
9
- readonly sets: MatchSet[];
10
- readonly isSimulated: boolean;
11
- }
12
- export declare enum MatchScore {
13
- '3-0' = "3-0",
14
- '3-1' = "3-1",
15
- '3-2' = "3-2",
16
- '2-3' = "2-3",
17
- '1-3' = "1-3",
18
- '0-3' = "0-3"
19
- }
20
- export declare class Match {
21
- static readonly BEST_OF = 5;
22
- readonly id: string;
23
- readonly homeTeam: Team;
24
- readonly awayTeam: Team;
25
- readonly sets: MatchSet[];
26
- readonly scheduledDate: Date;
27
- isSimulated: boolean;
28
- constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }: MatchParams);
29
- addSet(set: MatchSet): void;
30
- getTeamSets(team: MatchTeam): number;
31
- getScore(): MatchScore;
32
- isOver(): boolean;
33
- getWinner(): Team;
34
- isWinner(team: MatchTeam): boolean;
35
- }
36
- export {};
@@ -1,57 +0,0 @@
1
- import { validateUUID } from '../utils';
2
- import { MatchTeam } from './match-team';
3
- export var MatchScore;
4
- (function (MatchScore) {
5
- MatchScore["3-0"] = "3-0";
6
- MatchScore["3-1"] = "3-1";
7
- MatchScore["3-2"] = "3-2";
8
- MatchScore["2-3"] = "2-3";
9
- MatchScore["1-3"] = "1-3";
10
- MatchScore["0-3"] = "0-3";
11
- })(MatchScore || (MatchScore = {}));
12
- export class Match {
13
- constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }) {
14
- validateUUID(id);
15
- this.id = id;
16
- this.homeTeam = homeTeam;
17
- this.awayTeam = awayTeam;
18
- this.scheduledDate = scheduledDate;
19
- this.sets = sets;
20
- this.isSimulated = isSimulated;
21
- }
22
- addSet(set) {
23
- if (this.sets.length >= Match.BEST_OF)
24
- throw new Error('SET_AMOUNT_EXCEEDED');
25
- this.sets.push(set);
26
- }
27
- getTeamSets(team) {
28
- return this.sets.reduce((sets, set) => sets + (!set.isOver() ? 0 : set.getWinner() === team ? 1 : 0), 0);
29
- }
30
- getScore() {
31
- return `${this.getTeamSets(MatchTeam.HOME)}-${this.getTeamSets(MatchTeam.AWAY)}`;
32
- }
33
- isOver() {
34
- const gamesRequired = Math.ceil(Match.BEST_OF / 2);
35
- const lastSet = this.sets.at(-1);
36
- if (lastSet == null || !lastSet.isOver() || this.sets.length < gamesRequired)
37
- return false;
38
- const homeSets = this.getTeamSets(MatchTeam.HOME);
39
- const awaySets = this.getTeamSets(MatchTeam.AWAY);
40
- // Check if any of the teams has enough sets to win.
41
- return !(homeSets < gamesRequired && awaySets < gamesRequired);
42
- }
43
- getWinner() {
44
- if (!this.isOver())
45
- throw new Error('UNFINISHED_MATCH');
46
- const homeSets = this.getTeamSets(MatchTeam.HOME);
47
- const awaySets = this.getTeamSets(MatchTeam.AWAY);
48
- return homeSets > awaySets ? this.homeTeam : this.awayTeam;
49
- }
50
- isWinner(team) {
51
- if (team === MatchTeam.HOME && this.getWinner() === this.homeTeam)
52
- return true;
53
- else
54
- return team === MatchTeam.AWAY && this.getWinner() === this.awayTeam;
55
- }
56
- }
57
- Match.BEST_OF = 5;
@@ -1,22 +0,0 @@
1
- import { Team } from '../team';
2
- import { CourtPosition } from './court-position';
3
- import { RallyEvent } from '../event';
4
- interface RallyParams {
5
- readonly id: string;
6
- readonly order: number;
7
- readonly servingTeam: Team;
8
- readonly events: RallyEvent[];
9
- }
10
- export interface PlayerPosition {
11
- position: CourtPosition;
12
- playerId: string;
13
- }
14
- export declare class Rally {
15
- readonly id: string;
16
- readonly servingTeam: Team;
17
- readonly events: RallyEvent[];
18
- readonly order: number;
19
- constructor({ id, order, servingTeam, events }: RallyParams);
20
- addEvent(event: RallyEvent): void;
21
- }
22
- export {};
@@ -1,13 +0,0 @@
1
- import { validateUUID } from '../utils';
2
- export class Rally {
3
- constructor({ id, order, servingTeam, events }) {
4
- validateUUID(id);
5
- this.id = id;
6
- this.order = order;
7
- this.servingTeam = servingTeam;
8
- this.events = events;
9
- }
10
- addEvent(event) {
11
- this.events.push(event);
12
- }
13
- }
@@ -1,5 +0,0 @@
1
- export * from './player';
2
- export * from './performance-stats';
3
- export * from './role';
4
- export * from './trait';
5
- export * from './stats';
@@ -1,5 +0,0 @@
1
- export * from './player';
2
- export * from './performance-stats';
3
- export * from './role';
4
- export * from './trait';
5
- export * from './stats';
@@ -1,30 +0,0 @@
1
- interface PerformanceStatsParams {
2
- readonly setting: number;
3
- readonly pass: number;
4
- readonly reception: number;
5
- readonly spike: number;
6
- readonly backAttack: number;
7
- readonly jump: number;
8
- readonly block: number;
9
- readonly awareness: number;
10
- readonly serve: number;
11
- readonly defense: number;
12
- readonly stamina: number;
13
- }
14
- export declare class PerformanceStats {
15
- readonly setting: number;
16
- readonly pass: number;
17
- readonly reception: number;
18
- readonly spike: number;
19
- readonly backAttack: number;
20
- readonly jump: number;
21
- readonly block: number;
22
- readonly awareness: number;
23
- readonly serve: number;
24
- readonly defense: number;
25
- readonly stamina: number;
26
- constructor(opts: PerformanceStatsParams);
27
- toString(): string;
28
- static fromAverage(average: number): PerformanceStats;
29
- }
30
- export {};
@@ -1,34 +0,0 @@
1
- import { getKeys } from '../utils';
2
- export class PerformanceStats {
3
- constructor(opts) {
4
- this.serve = opts.serve;
5
- this.pass = opts.pass;
6
- this.setting = opts.setting;
7
- this.reception = opts.reception;
8
- this.spike = opts.spike;
9
- this.backAttack = opts.backAttack;
10
- this.jump = opts.jump;
11
- this.block = opts.block;
12
- this.awareness = opts.awareness;
13
- this.defense = opts.defense;
14
- this.stamina = opts.stamina;
15
- }
16
- toString() {
17
- return getKeys(this).map(key => `${key}: ${this[key]}`).join(', ');
18
- }
19
- static fromAverage(average) {
20
- return new PerformanceStats({
21
- setting: average,
22
- pass: average,
23
- reception: average,
24
- spike: average,
25
- backAttack: average,
26
- jump: average,
27
- block: average,
28
- awareness: average,
29
- serve: average,
30
- defense: average,
31
- stamina: average
32
- });
33
- }
34
- }
@@ -1,84 +0,0 @@
1
- import { Role } from './role';
2
- import { validateUUID } from '../utils';
3
- import { GeneralStat } from './stats';
4
- export class Stat {
5
- constructor({ name, value }) {
6
- this.name = name;
7
- this.value = value;
8
- }
9
- toString() {
10
- return `${this.name}: ${this.value}`;
11
- }
12
- }
13
- export class Name {
14
- constructor({ first, last }) {
15
- this.first = first;
16
- this.last = last;
17
- }
18
- toString() {
19
- return `${this.first} ${this.last}`;
20
- }
21
- }
22
- export class Player {
23
- constructor({ id, name, country, stats, roles, traits }) {
24
- validateUUID(id);
25
- this.id = id;
26
- this.name = name;
27
- this.country = country;
28
- this.stats = stats;
29
- this.roles = roles;
30
- this.traits = traits;
31
- this.generalStats = GeneralStat.getStats()
32
- .map(stat => ({
33
- name: stat,
34
- value: GeneralStat.calculateScore(stats, stat)
35
- }));
36
- }
37
- // Used as a base sorting function for players
38
- static sortPlayers(roles) {
39
- return (p1, p2) => roles.reduce((x, role) => {
40
- const p2Score = Role.calculateScore(p2.stats, role);
41
- const p1Score = Role.calculateScore(p1.stats, role);
42
- return x + p2Score - p1Score;
43
- }, 0);
44
- }
45
- static compareStats(p1, p2) {
46
- const compareFn = (acc, current) => {
47
- let x = current.value;
48
- switch (current.name) {
49
- case GeneralStat.ATTACK:
50
- x *= 0.35;
51
- break;
52
- case GeneralStat.DEFENSE:
53
- x *= 0.35;
54
- break;
55
- case GeneralStat.SERVE:
56
- x *= 0.2;
57
- break;
58
- case GeneralStat.PHYSICAL:
59
- x *= 0.1;
60
- break;
61
- default:
62
- x *= 0;
63
- }
64
- return acc + x;
65
- };
66
- const s1 = p1.generalStats.reduce(compareFn, 0);
67
- const s2 = p2.generalStats.reduce(compareFn, 0);
68
- return s2 - s1;
69
- }
70
- canPlayLibero() {
71
- return this.roles.includes(Role.LIBERO);
72
- }
73
- toString() {
74
- return JSON.stringify({
75
- id: this.id,
76
- name: this.name.toString(),
77
- country: this.country.toString(),
78
- stats: this.stats.toString(),
79
- roles: `[${this.roles.map(r => r.toString()).join(',')}]`,
80
- traits: `[${this.traits.map(r => r.toString()).join(',')}]`,
81
- generalStats: `[${this.generalStats.map(r => r.toString()).join(',')}]`
82
- });
83
- }
84
- }
@@ -1,17 +0,0 @@
1
- import { PerformanceStats } from './performance-stats';
2
- import { RoleType } from '../../data';
3
- export declare class Role {
4
- static readonly SETTER: Role;
5
- static readonly LIBERO: Role;
6
- static readonly OUTSIDE_HITTER: Role;
7
- static readonly OPPOSITE_HITTER: Role;
8
- static readonly MIDDLE_BLOCKER: Role;
9
- static readonly DEFENSIVE_SPECIALIST: Role;
10
- private static readonly ROLES;
11
- readonly name: RoleType;
12
- private constructor();
13
- toString(): string;
14
- static getRoles(): Role[];
15
- static calculateScore(stats: PerformanceStats, role: Role): number;
16
- static assignRoles(stats: PerformanceStats): Role[];
17
- }
@@ -1,11 +0,0 @@
1
- import { PerformanceStats } from './performance-stats';
2
- export declare enum GeneralStat {
3
- ATTACK = "ATTACK",
4
- DEFENSE = "DEFENSE",
5
- SERVE = "SERVE",
6
- PHYSICAL = "PHYSICAL"
7
- }
8
- export declare namespace GeneralStat {
9
- function getStats(): GeneralStat[];
10
- function calculateScore(performanceStats: PerformanceStats, statName: GeneralStat): number;
11
- }
@@ -1,25 +0,0 @@
1
- import stats from '../../../data/stat.formula.json';
2
- export var GeneralStat;
3
- (function (GeneralStat) {
4
- GeneralStat["ATTACK"] = "ATTACK";
5
- GeneralStat["DEFENSE"] = "DEFENSE";
6
- GeneralStat["SERVE"] = "SERVE";
7
- GeneralStat["PHYSICAL"] = "PHYSICAL";
8
- })(GeneralStat || (GeneralStat = {}));
9
- // eslint-disable-next-line @typescript-eslint/no-namespace
10
- (function (GeneralStat) {
11
- const STATS = [GeneralStat.ATTACK, GeneralStat.DEFENSE, GeneralStat.SERVE, GeneralStat.PHYSICAL];
12
- function getStats() {
13
- return [...STATS];
14
- }
15
- GeneralStat.getStats = getStats;
16
- function calculateScore(performanceStats, statName) {
17
- const weights = stats.find(s => s.statName === statName);
18
- if (weights == null)
19
- throw new Error('COULD_NOT_FIND_ROLE_WEIGHT');
20
- const score = Object.entries(weights.weight)
21
- .reduce((score, [key, value]) => score + (performanceStats[key] * value), 0);
22
- return Math.round(score);
23
- }
24
- GeneralStat.calculateScore = calculateScore;
25
- })(GeneralStat || (GeneralStat = {}));