volleyballsimtypes 0.0.162 → 0.0.164

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 (403) hide show
  1. package/dist/cjs/src/data/common/events.d.ts +82 -0
  2. package/dist/cjs/src/data/common/events.js +97 -0
  3. package/dist/cjs/src/data/common/index.d.ts +2 -0
  4. package/dist/cjs/src/data/common/index.js +18 -0
  5. package/dist/cjs/src/data/common/status.d.ts +8 -0
  6. package/dist/cjs/src/data/common/status.js +11 -0
  7. package/dist/cjs/src/data/index.d.ts +4 -0
  8. package/dist/cjs/src/data/index.js +22 -0
  9. package/dist/cjs/src/data/init-models.d.ts +2 -0
  10. package/dist/cjs/src/data/init-models.js +204 -0
  11. package/dist/cjs/src/data/models/coach.d.ts +40 -0
  12. package/dist/cjs/src/data/models/coach.js +55 -0
  13. package/dist/cjs/src/data/models/competition-champion.d.ts +23 -0
  14. package/dist/cjs/src/data/models/competition-champion.js +38 -0
  15. package/dist/cjs/src/data/models/competition-match.d.ts +29 -0
  16. package/dist/cjs/src/data/models/competition-match.js +46 -0
  17. package/dist/cjs/src/data/models/competition-teams.d.ts +23 -0
  18. package/dist/cjs/src/data/models/competition-teams.js +42 -0
  19. package/dist/cjs/src/data/models/competition.d.ts +70 -0
  20. package/dist/cjs/src/data/models/competition.js +44 -0
  21. package/dist/cjs/src/data/models/country.d.ts +61 -0
  22. package/dist/cjs/src/data/models/country.js +34 -0
  23. package/dist/cjs/src/data/models/draft-pick.d.ts +31 -0
  24. package/dist/cjs/src/data/models/draft-pick.js +50 -0
  25. package/dist/cjs/src/data/models/draft.d.ts +29 -0
  26. package/dist/cjs/src/data/models/draft.js +34 -0
  27. package/dist/cjs/src/data/models/index.d.ts +25 -0
  28. package/dist/cjs/src/data/models/index.js +41 -0
  29. package/dist/cjs/src/data/models/iteration.d.ts +26 -0
  30. package/dist/cjs/src/data/models/iteration.js +30 -0
  31. package/dist/cjs/src/data/models/league-season.d.ts +23 -0
  32. package/dist/cjs/src/data/models/league-season.js +38 -0
  33. package/dist/cjs/src/data/models/league.d.ts +44 -0
  34. package/dist/cjs/src/data/models/league.js +38 -0
  35. package/dist/cjs/src/data/models/match-rating.d.ts +27 -0
  36. package/dist/cjs/src/data/models/match-rating.js +52 -0
  37. package/dist/cjs/src/data/models/match-result.d.ts +27 -0
  38. package/dist/cjs/src/data/models/match-result.js +38 -0
  39. package/dist/cjs/src/data/models/match-set-stats.d.ts +58 -0
  40. package/dist/cjs/src/data/models/match-set-stats.js +127 -0
  41. package/dist/cjs/src/data/models/match-set.d.ts +85 -0
  42. package/dist/cjs/src/data/models/match-set.js +51 -0
  43. package/dist/cjs/src/data/models/match.d.ts +72 -0
  44. package/dist/cjs/src/data/models/match.js +52 -0
  45. package/dist/cjs/src/data/models/performance-stats.d.ts +40 -0
  46. package/dist/cjs/src/data/models/performance-stats.js +85 -0
  47. package/dist/cjs/src/data/models/player-team.d.ts +28 -0
  48. package/dist/cjs/src/data/models/player-team.js +52 -0
  49. package/dist/cjs/src/data/models/player-trait.d.ts +23 -0
  50. package/dist/cjs/src/data/models/player-trait.js +42 -0
  51. package/dist/cjs/src/data/models/player.d.ts +128 -0
  52. package/dist/cjs/src/data/models/player.js +51 -0
  53. package/dist/cjs/src/data/models/rally.d.ts +29 -0
  54. package/dist/cjs/src/data/models/rally.js +50 -0
  55. package/dist/cjs/src/data/models/set-position.d.ts +29 -0
  56. package/dist/cjs/src/data/models/set-position.js +50 -0
  57. package/dist/cjs/src/data/models/team.d.ts +162 -0
  58. package/dist/cjs/src/data/models/team.js +63 -0
  59. package/dist/cjs/src/data/models/trait.d.ts +37 -0
  60. package/dist/cjs/src/data/models/trait.js +30 -0
  61. package/dist/cjs/src/data/models/user.d.ts +22 -0
  62. package/dist/cjs/src/data/models/user.js +57 -0
  63. package/dist/cjs/src/data/transformers/coach.d.ts +5 -0
  64. package/dist/cjs/src/data/transformers/coach.js +29 -0
  65. package/dist/cjs/src/data/transformers/country.d.ts +5 -0
  66. package/dist/cjs/src/data/transformers/country.js +20 -0
  67. package/dist/cjs/src/data/transformers/court-position.d.ts +5 -0
  68. package/dist/cjs/src/data/transformers/court-position.js +31 -0
  69. package/dist/cjs/src/data/transformers/draft-pick.d.ts +5 -0
  70. package/dist/cjs/src/data/transformers/draft-pick.js +22 -0
  71. package/dist/cjs/src/data/transformers/draft.d.ts +5 -0
  72. package/dist/cjs/src/data/transformers/draft.js +23 -0
  73. package/dist/cjs/src/data/transformers/formation.d.ts +5 -0
  74. package/dist/cjs/src/data/transformers/formation.js +12 -0
  75. package/dist/cjs/src/data/transformers/index.d.ts +25 -0
  76. package/dist/cjs/src/data/transformers/index.js +41 -0
  77. package/dist/cjs/src/data/transformers/iteration.d.ts +5 -0
  78. package/dist/cjs/src/data/transformers/iteration.js +18 -0
  79. package/dist/cjs/src/data/transformers/league.d.ts +5 -0
  80. package/dist/cjs/src/data/transformers/league.js +27 -0
  81. package/dist/cjs/src/data/transformers/match-rating.d.ts +4 -0
  82. package/dist/cjs/src/data/transformers/match-rating.js +16 -0
  83. package/dist/cjs/src/data/transformers/match-set-stats.d.ts +5 -0
  84. package/dist/cjs/src/data/transformers/match-set-stats.js +61 -0
  85. package/dist/cjs/src/data/transformers/match-set.d.ts +5 -0
  86. package/dist/cjs/src/data/transformers/match-set.js +39 -0
  87. package/dist/cjs/src/data/transformers/match.d.ts +5 -0
  88. package/dist/cjs/src/data/transformers/match.js +32 -0
  89. package/dist/cjs/src/data/transformers/performance-stats.d.ts +5 -0
  90. package/dist/cjs/src/data/transformers/performance-stats.js +37 -0
  91. package/dist/cjs/src/data/transformers/player-team.d.ts +3 -0
  92. package/dist/cjs/src/data/transformers/player-team.js +12 -0
  93. package/dist/cjs/src/data/transformers/player.d.ts +5 -0
  94. package/dist/cjs/src/data/transformers/player.js +32 -0
  95. package/dist/cjs/src/data/transformers/rally.d.ts +5 -0
  96. package/dist/cjs/src/data/transformers/rally.js +27 -0
  97. package/dist/cjs/src/data/transformers/role.d.ts +5 -0
  98. package/dist/cjs/src/data/transformers/role.js +25 -0
  99. package/dist/cjs/src/data/transformers/season-match.d.ts +4 -0
  100. package/dist/cjs/src/data/transformers/season-match.js +16 -0
  101. package/dist/cjs/src/data/transformers/season.d.ts +5 -0
  102. package/dist/cjs/src/data/transformers/season.js +40 -0
  103. package/dist/cjs/src/data/transformers/set-position.d.ts +5 -0
  104. package/dist/cjs/src/data/transformers/set-position.js +20 -0
  105. package/dist/cjs/src/data/transformers/stage.d.ts +5 -0
  106. package/dist/cjs/src/data/transformers/stage.js +25 -0
  107. package/dist/cjs/src/data/transformers/team.d.ts +5 -0
  108. package/dist/cjs/src/data/transformers/team.js +30 -0
  109. package/dist/cjs/src/data/transformers/tournament-match.d.ts +5 -0
  110. package/dist/cjs/src/data/transformers/tournament-match.js +23 -0
  111. package/dist/cjs/src/data/transformers/tournament.d.ts +5 -0
  112. package/dist/cjs/src/data/transformers/tournament.js +42 -0
  113. package/dist/cjs/src/data/transformers/trait.d.ts +5 -0
  114. package/dist/cjs/src/data/transformers/trait.js +19 -0
  115. package/dist/cjs/src/formula/event.formula.json +125 -0
  116. package/dist/cjs/src/formula/events.d.ts +125 -0
  117. package/dist/cjs/src/formula/events.js +8 -0
  118. package/dist/cjs/src/formula/index.d.ts +3 -0
  119. package/dist/cjs/src/formula/index.js +19 -0
  120. package/dist/cjs/src/formula/role.formula.json +82 -0
  121. package/dist/cjs/src/formula/roles.d.ts +20 -0
  122. package/dist/cjs/src/formula/roles.js +9 -0
  123. package/dist/cjs/src/formula/stat.formula.json +66 -0
  124. package/dist/cjs/src/formula/stats.d.ts +10 -0
  125. package/dist/cjs/src/formula/stats.js +18 -0
  126. package/dist/cjs/src/index.d.ts +3 -0
  127. package/dist/cjs/src/index.js +19 -0
  128. package/dist/cjs/src/service/coach/coach.d.ts +19 -0
  129. package/dist/cjs/src/service/coach/coach.js +15 -0
  130. package/dist/cjs/src/service/coach/formation.d.ts +30 -0
  131. package/dist/cjs/src/service/coach/formation.js +123 -0
  132. package/dist/cjs/src/service/coach/index.d.ts +2 -0
  133. package/dist/cjs/src/service/coach/index.js +18 -0
  134. package/dist/cjs/src/service/competition/index.d.ts +11 -0
  135. package/dist/cjs/src/service/competition/index.js +29 -0
  136. package/dist/cjs/src/service/competition/iteration.d.ts +10 -0
  137. package/dist/cjs/src/service/competition/iteration.js +12 -0
  138. package/dist/cjs/src/service/competition/league.d.ts +16 -0
  139. package/dist/cjs/src/service/competition/league.js +12 -0
  140. package/dist/cjs/src/service/competition/season.d.ts +26 -0
  141. package/dist/cjs/src/service/competition/season.js +32 -0
  142. package/dist/cjs/src/service/competition/stage.d.ts +11 -0
  143. package/dist/cjs/src/service/competition/stage.js +27 -0
  144. package/dist/cjs/src/service/competition/standing.d.ts +28 -0
  145. package/dist/cjs/src/service/competition/standing.js +80 -0
  146. package/dist/cjs/src/service/competition/tournament-match.d.ts +14 -0
  147. package/dist/cjs/src/service/competition/tournament-match.js +13 -0
  148. package/dist/cjs/src/service/competition/tournament.d.ts +23 -0
  149. package/dist/cjs/src/service/competition/tournament.js +23 -0
  150. package/dist/cjs/src/service/country/country.d.ts +17 -0
  151. package/dist/cjs/src/service/country/country.js +22 -0
  152. package/dist/cjs/src/service/country/index.d.ts +1 -0
  153. package/dist/cjs/src/service/country/index.js +17 -0
  154. package/dist/cjs/src/service/draft/draft-pick.d.ts +14 -0
  155. package/dist/cjs/src/service/draft/draft-pick.js +11 -0
  156. package/dist/cjs/src/service/draft/draft.d.ts +15 -0
  157. package/dist/cjs/src/service/draft/draft.js +12 -0
  158. package/dist/cjs/src/service/draft/index.d.ts +2 -0
  159. package/dist/cjs/src/service/draft/index.js +18 -0
  160. package/dist/cjs/src/service/event/index.d.ts +1 -0
  161. package/dist/cjs/src/service/event/index.js +17 -0
  162. package/dist/cjs/src/service/event/rally-event.d.ts +11 -0
  163. package/dist/cjs/src/service/event/rally-event.js +10 -0
  164. package/dist/cjs/src/service/index.d.ts +9 -0
  165. package/dist/cjs/src/service/index.js +25 -0
  166. package/dist/cjs/src/service/match/court-position.d.ts +34 -0
  167. package/dist/cjs/src/service/match/court-position.js +70 -0
  168. package/dist/cjs/src/service/match/index.d.ts +6 -0
  169. package/dist/cjs/src/service/match/index.js +22 -0
  170. package/dist/cjs/src/service/match/match-rating.d.ts +35 -0
  171. package/dist/cjs/src/service/match/match-rating.js +65 -0
  172. package/dist/cjs/src/service/match/match-set.d.ts +65 -0
  173. package/dist/cjs/src/service/match/match-set.js +60 -0
  174. package/dist/cjs/src/service/match/match-team.d.ts +7 -0
  175. package/dist/cjs/src/service/match/match-team.js +20 -0
  176. package/dist/cjs/src/service/match/match.d.ts +44 -0
  177. package/dist/cjs/src/service/match/match.js +68 -0
  178. package/dist/cjs/src/service/match/rally.d.ts +22 -0
  179. package/dist/cjs/src/service/match/rally.js +17 -0
  180. package/dist/cjs/src/service/player/index.d.ts +5 -0
  181. package/dist/cjs/src/service/player/index.js +21 -0
  182. package/dist/cjs/src/service/player/performance-stats.d.ts +30 -0
  183. package/dist/cjs/src/service/player/performance-stats.js +38 -0
  184. package/dist/cjs/src/service/player/player.d.ts +49 -0
  185. package/dist/cjs/src/service/player/player.js +114 -0
  186. package/dist/cjs/src/service/player/rarity.d.ts +14 -0
  187. package/dist/cjs/src/service/player/rarity.js +18 -0
  188. package/dist/cjs/src/service/player/role.d.ts +16 -0
  189. package/dist/cjs/src/service/player/role.js +44 -0
  190. package/dist/cjs/src/service/player/trait.d.ts +22 -0
  191. package/dist/cjs/src/service/player/trait.js +148 -0
  192. package/dist/cjs/src/service/team/index.d.ts +1 -0
  193. package/dist/cjs/src/service/team/index.js +17 -0
  194. package/dist/cjs/src/service/team/team.d.ts +31 -0
  195. package/dist/cjs/src/service/team/team.js +36 -0
  196. package/dist/cjs/src/service/utils/index.d.ts +2 -0
  197. package/dist/cjs/src/service/utils/index.js +18 -0
  198. package/dist/cjs/src/service/utils/object-utils.d.ts +1 -0
  199. package/dist/cjs/src/service/utils/object-utils.js +4 -0
  200. package/dist/cjs/src/service/utils/string-utils.d.ts +2 -0
  201. package/dist/cjs/src/service/utils/string-utils.js +16 -0
  202. package/dist/esm/src/data/common/events.d.ts +82 -0
  203. package/dist/esm/src/data/common/events.js +94 -0
  204. package/dist/esm/src/data/common/index.d.ts +2 -0
  205. package/dist/esm/src/data/common/index.js +2 -0
  206. package/dist/esm/src/data/common/status.d.ts +8 -0
  207. package/dist/esm/src/data/common/status.js +8 -0
  208. package/dist/esm/src/data/index.d.ts +4 -0
  209. package/dist/esm/src/data/index.js +4 -0
  210. package/dist/esm/src/data/init-models.d.ts +2 -0
  211. package/dist/esm/src/data/init-models.js +200 -0
  212. package/dist/esm/src/data/models/coach.d.ts +40 -0
  213. package/dist/esm/src/data/models/coach.js +51 -0
  214. package/dist/esm/src/data/models/competition-champion.d.ts +23 -0
  215. package/dist/esm/src/data/models/competition-champion.js +34 -0
  216. package/dist/esm/src/data/models/competition-match.d.ts +29 -0
  217. package/dist/esm/src/data/models/competition-match.js +42 -0
  218. package/dist/esm/src/data/models/competition-teams.d.ts +23 -0
  219. package/dist/esm/src/data/models/competition-teams.js +38 -0
  220. package/dist/esm/src/data/models/competition.d.ts +70 -0
  221. package/dist/esm/src/data/models/competition.js +40 -0
  222. package/dist/esm/src/data/models/country.d.ts +61 -0
  223. package/dist/esm/src/data/models/country.js +30 -0
  224. package/dist/esm/src/data/models/draft-pick.d.ts +31 -0
  225. package/dist/esm/src/data/models/draft-pick.js +46 -0
  226. package/dist/esm/src/data/models/draft.d.ts +29 -0
  227. package/dist/esm/src/data/models/draft.js +30 -0
  228. package/dist/esm/src/data/models/index.d.ts +25 -0
  229. package/dist/esm/src/data/models/index.js +25 -0
  230. package/dist/esm/src/data/models/iteration.d.ts +26 -0
  231. package/dist/esm/src/data/models/iteration.js +26 -0
  232. package/dist/esm/src/data/models/league-season.d.ts +23 -0
  233. package/dist/esm/src/data/models/league-season.js +34 -0
  234. package/dist/esm/src/data/models/league.d.ts +44 -0
  235. package/dist/esm/src/data/models/league.js +34 -0
  236. package/dist/esm/src/data/models/match-rating.d.ts +27 -0
  237. package/dist/esm/src/data/models/match-rating.js +48 -0
  238. package/dist/esm/src/data/models/match-result.d.ts +27 -0
  239. package/dist/esm/src/data/models/match-result.js +34 -0
  240. package/dist/esm/src/data/models/match-set-stats.d.ts +58 -0
  241. package/dist/esm/src/data/models/match-set-stats.js +123 -0
  242. package/dist/esm/src/data/models/match-set.d.ts +85 -0
  243. package/dist/esm/src/data/models/match-set.js +47 -0
  244. package/dist/esm/src/data/models/match.d.ts +72 -0
  245. package/dist/esm/src/data/models/match.js +48 -0
  246. package/dist/esm/src/data/models/performance-stats.d.ts +40 -0
  247. package/dist/esm/src/data/models/performance-stats.js +81 -0
  248. package/dist/esm/src/data/models/player-team.d.ts +28 -0
  249. package/dist/esm/src/data/models/player-team.js +48 -0
  250. package/dist/esm/src/data/models/player-trait.d.ts +23 -0
  251. package/dist/esm/src/data/models/player-trait.js +38 -0
  252. package/dist/esm/src/data/models/player.d.ts +128 -0
  253. package/dist/esm/src/data/models/player.js +47 -0
  254. package/dist/esm/src/data/models/rally.d.ts +29 -0
  255. package/dist/esm/src/data/models/rally.js +46 -0
  256. package/dist/esm/src/data/models/set-position.d.ts +29 -0
  257. package/dist/esm/src/data/models/set-position.js +46 -0
  258. package/dist/esm/src/data/models/team.d.ts +162 -0
  259. package/dist/esm/src/data/models/team.js +59 -0
  260. package/dist/esm/src/data/models/trait.d.ts +37 -0
  261. package/dist/esm/src/data/models/trait.js +26 -0
  262. package/dist/esm/src/data/models/user.d.ts +22 -0
  263. package/dist/esm/src/data/models/user.js +53 -0
  264. package/dist/esm/src/data/transformers/coach.d.ts +5 -0
  265. package/dist/esm/src/data/transformers/coach.js +25 -0
  266. package/dist/esm/src/data/transformers/country.d.ts +5 -0
  267. package/dist/esm/src/data/transformers/country.js +16 -0
  268. package/dist/esm/src/data/transformers/court-position.d.ts +5 -0
  269. package/dist/esm/src/data/transformers/court-position.js +27 -0
  270. package/dist/esm/src/data/transformers/draft-pick.d.ts +5 -0
  271. package/dist/esm/src/data/transformers/draft-pick.js +18 -0
  272. package/dist/esm/src/data/transformers/draft.d.ts +5 -0
  273. package/dist/esm/src/data/transformers/draft.js +19 -0
  274. package/dist/esm/src/data/transformers/formation.d.ts +5 -0
  275. package/dist/esm/src/data/transformers/formation.js +8 -0
  276. package/dist/esm/src/data/transformers/index.d.ts +25 -0
  277. package/dist/esm/src/data/transformers/index.js +25 -0
  278. package/dist/esm/src/data/transformers/iteration.d.ts +5 -0
  279. package/dist/esm/src/data/transformers/iteration.js +14 -0
  280. package/dist/esm/src/data/transformers/league.d.ts +5 -0
  281. package/dist/esm/src/data/transformers/league.js +23 -0
  282. package/dist/esm/src/data/transformers/match-rating.d.ts +4 -0
  283. package/dist/esm/src/data/transformers/match-rating.js +13 -0
  284. package/dist/esm/src/data/transformers/match-set-stats.d.ts +5 -0
  285. package/dist/esm/src/data/transformers/match-set-stats.js +57 -0
  286. package/dist/esm/src/data/transformers/match-set.d.ts +5 -0
  287. package/dist/esm/src/data/transformers/match-set.js +35 -0
  288. package/dist/esm/src/data/transformers/match.d.ts +5 -0
  289. package/dist/esm/src/data/transformers/match.js +28 -0
  290. package/dist/esm/src/data/transformers/performance-stats.d.ts +5 -0
  291. package/dist/esm/src/data/transformers/performance-stats.js +33 -0
  292. package/dist/esm/src/data/transformers/player-team.d.ts +3 -0
  293. package/dist/esm/src/data/transformers/player-team.js +9 -0
  294. package/dist/esm/src/data/transformers/player.d.ts +5 -0
  295. package/dist/esm/src/data/transformers/player.js +28 -0
  296. package/dist/esm/src/data/transformers/rally.d.ts +5 -0
  297. package/dist/esm/src/data/transformers/rally.js +23 -0
  298. package/dist/esm/src/data/transformers/role.d.ts +5 -0
  299. package/dist/esm/src/data/transformers/role.js +21 -0
  300. package/dist/esm/src/data/transformers/season-match.d.ts +4 -0
  301. package/dist/esm/src/data/transformers/season-match.js +13 -0
  302. package/dist/esm/src/data/transformers/season.d.ts +5 -0
  303. package/dist/esm/src/data/transformers/season.js +36 -0
  304. package/dist/esm/src/data/transformers/set-position.d.ts +5 -0
  305. package/dist/esm/src/data/transformers/set-position.js +16 -0
  306. package/dist/esm/src/data/transformers/stage.d.ts +5 -0
  307. package/dist/esm/src/data/transformers/stage.js +21 -0
  308. package/dist/esm/src/data/transformers/team.d.ts +5 -0
  309. package/dist/esm/src/data/transformers/team.js +26 -0
  310. package/dist/esm/src/data/transformers/tournament-match.d.ts +5 -0
  311. package/dist/esm/src/data/transformers/tournament-match.js +19 -0
  312. package/dist/esm/src/data/transformers/tournament.d.ts +5 -0
  313. package/dist/esm/src/data/transformers/tournament.js +38 -0
  314. package/dist/esm/src/data/transformers/trait.d.ts +5 -0
  315. package/dist/esm/src/data/transformers/trait.js +15 -0
  316. package/dist/esm/src/formula/event.formula.json +125 -0
  317. package/dist/esm/src/formula/events.d.ts +125 -0
  318. package/dist/esm/src/formula/events.js +2 -0
  319. package/dist/esm/src/formula/index.d.ts +3 -0
  320. package/dist/esm/src/formula/index.js +3 -0
  321. package/dist/esm/src/formula/role.formula.json +82 -0
  322. package/dist/esm/src/formula/roles.d.ts +20 -0
  323. package/dist/esm/src/formula/roles.js +3 -0
  324. package/dist/esm/src/formula/stat.formula.json +66 -0
  325. package/dist/esm/src/formula/stats.d.ts +10 -0
  326. package/dist/esm/src/formula/stats.js +11 -0
  327. package/dist/esm/src/index.d.ts +3 -0
  328. package/dist/esm/src/index.js +3 -0
  329. package/dist/esm/src/service/coach/coach.d.ts +19 -0
  330. package/dist/esm/src/service/coach/coach.js +11 -0
  331. package/dist/esm/src/service/coach/formation.d.ts +30 -0
  332. package/dist/esm/src/service/coach/formation.js +119 -0
  333. package/dist/esm/src/service/coach/index.d.ts +2 -0
  334. package/dist/esm/src/service/coach/index.js +2 -0
  335. package/dist/esm/src/service/competition/index.d.ts +11 -0
  336. package/dist/esm/src/service/competition/index.js +12 -0
  337. package/dist/esm/src/service/competition/iteration.d.ts +10 -0
  338. package/dist/esm/src/service/competition/iteration.js +8 -0
  339. package/dist/esm/src/service/competition/league.d.ts +16 -0
  340. package/dist/esm/src/service/competition/league.js +8 -0
  341. package/dist/esm/src/service/competition/season.d.ts +26 -0
  342. package/dist/esm/src/service/competition/season.js +28 -0
  343. package/dist/esm/src/service/competition/stage.d.ts +11 -0
  344. package/dist/esm/src/service/competition/stage.js +24 -0
  345. package/dist/esm/src/service/competition/standing.d.ts +28 -0
  346. package/dist/esm/src/service/competition/standing.js +76 -0
  347. package/dist/esm/src/service/competition/tournament-match.d.ts +14 -0
  348. package/dist/esm/src/service/competition/tournament-match.js +9 -0
  349. package/dist/esm/src/service/competition/tournament.d.ts +23 -0
  350. package/dist/esm/src/service/competition/tournament.js +19 -0
  351. package/dist/esm/src/service/country/country.d.ts +17 -0
  352. package/dist/esm/src/service/country/country.js +18 -0
  353. package/dist/esm/src/service/country/index.d.ts +1 -0
  354. package/dist/esm/src/service/country/index.js +1 -0
  355. package/dist/esm/src/service/draft/draft-pick.d.ts +14 -0
  356. package/dist/esm/src/service/draft/draft-pick.js +7 -0
  357. package/dist/esm/src/service/draft/draft.d.ts +15 -0
  358. package/dist/esm/src/service/draft/draft.js +8 -0
  359. package/dist/esm/src/service/draft/index.d.ts +2 -0
  360. package/dist/esm/src/service/draft/index.js +2 -0
  361. package/dist/esm/src/service/event/index.d.ts +1 -0
  362. package/dist/esm/src/service/event/index.js +1 -0
  363. package/dist/esm/src/service/event/rally-event.d.ts +11 -0
  364. package/dist/esm/src/service/event/rally-event.js +6 -0
  365. package/dist/esm/src/service/index.d.ts +9 -0
  366. package/dist/esm/src/service/index.js +9 -0
  367. package/dist/esm/src/service/match/court-position.d.ts +34 -0
  368. package/dist/esm/src/service/match/court-position.js +62 -0
  369. package/dist/esm/src/service/match/index.d.ts +6 -0
  370. package/dist/esm/src/service/match/index.js +6 -0
  371. package/dist/esm/src/service/match/match-rating.d.ts +35 -0
  372. package/dist/esm/src/service/match/match-rating.js +61 -0
  373. package/dist/esm/src/service/match/match-set.d.ts +65 -0
  374. package/dist/esm/src/service/match/match-set.js +56 -0
  375. package/dist/esm/src/service/match/match-team.d.ts +7 -0
  376. package/dist/esm/src/service/match/match-team.js +17 -0
  377. package/dist/esm/src/service/match/match.d.ts +44 -0
  378. package/dist/esm/src/service/match/match.js +64 -0
  379. package/dist/esm/src/service/match/rally.d.ts +22 -0
  380. package/dist/esm/src/service/match/rally.js +13 -0
  381. package/dist/esm/src/service/player/index.d.ts +5 -0
  382. package/dist/esm/src/service/player/index.js +5 -0
  383. package/dist/esm/src/service/player/performance-stats.d.ts +30 -0
  384. package/dist/esm/src/service/player/performance-stats.js +34 -0
  385. package/dist/esm/src/service/player/player.d.ts +49 -0
  386. package/dist/esm/src/service/player/player.js +85 -0
  387. package/dist/esm/src/service/player/rarity.d.ts +14 -0
  388. package/dist/esm/src/service/player/rarity.js +15 -0
  389. package/dist/esm/src/service/player/role.d.ts +16 -0
  390. package/dist/esm/src/service/player/role.js +40 -0
  391. package/dist/esm/src/service/player/trait.d.ts +22 -0
  392. package/dist/esm/src/service/player/trait.js +121 -0
  393. package/dist/esm/src/service/team/index.d.ts +1 -0
  394. package/dist/esm/src/service/team/index.js +1 -0
  395. package/dist/esm/src/service/team/team.d.ts +31 -0
  396. package/dist/esm/src/service/team/team.js +32 -0
  397. package/dist/esm/src/service/utils/index.d.ts +2 -0
  398. package/dist/esm/src/service/utils/index.js +2 -0
  399. package/dist/esm/src/service/utils/object-utils.d.ts +1 -0
  400. package/dist/esm/src/service/utils/object-utils.js +1 -0
  401. package/dist/esm/src/service/utils/string-utils.d.ts +2 -0
  402. package/dist/esm/src/service/utils/string-utils.js +11 -0
  403. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ interface IterationOpts {
2
+ readonly id: number;
3
+ readonly startDate: Date;
4
+ }
5
+ export declare class Iteration {
6
+ readonly id: number;
7
+ readonly startDate: Date;
8
+ constructor({ id, startDate }: IterationOpts);
9
+ }
10
+ export {};
@@ -0,0 +1,8 @@
1
+ export class Iteration {
2
+ constructor({ id, startDate }) {
3
+ if (id < 1)
4
+ throw new Error(`INVALID_ITERATION: ${id}`);
5
+ this.id = id;
6
+ this.startDate = startDate;
7
+ }
8
+ }
@@ -0,0 +1,16 @@
1
+ import { Season } from './season';
2
+ import { Country } from '../country';
3
+ interface LeagueOpts {
4
+ readonly id: string;
5
+ readonly name: string;
6
+ readonly country: Country;
7
+ readonly seasons: Season[];
8
+ }
9
+ export declare class League {
10
+ readonly id: string;
11
+ readonly name: string;
12
+ readonly seasons: Season[];
13
+ readonly country: Country;
14
+ constructor({ id, name, country, seasons }: LeagueOpts);
15
+ }
16
+ export {};
@@ -0,0 +1,8 @@
1
+ export class League {
2
+ constructor({ id, name, country, seasons }) {
3
+ this.id = id;
4
+ this.name = name;
5
+ this.country = country;
6
+ this.seasons = seasons;
7
+ }
8
+ }
@@ -0,0 +1,26 @@
1
+ import { Team } from '../team';
2
+ import { Match } from '../match';
3
+ import { Standing } from './standing';
4
+ import { Iteration } from './iteration';
5
+ import { StatusEnum } from '../../data';
6
+ interface SeasonOpts {
7
+ readonly id: string;
8
+ readonly teams: Team[];
9
+ readonly matches: Match[];
10
+ readonly iteration: Iteration;
11
+ readonly champion?: Team;
12
+ readonly status: StatusEnum;
13
+ }
14
+ export declare class Season {
15
+ readonly id: string;
16
+ readonly teams: Team[];
17
+ readonly matches: Match[];
18
+ readonly iteration: Iteration;
19
+ readonly standings: Standing[];
20
+ readonly status: StatusEnum;
21
+ champion?: Team;
22
+ constructor({ id, iteration, teams, matches, champion, status }: SeasonOpts);
23
+ calculateStandings(): Standing[];
24
+ updateStandings(): void;
25
+ }
26
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Standing } from './standing';
2
+ export class Season {
3
+ constructor({ id, iteration, teams, matches, champion, status }) {
4
+ this.id = id;
5
+ this.teams = teams;
6
+ this.matches = matches;
7
+ this.iteration = iteration;
8
+ this.champion = champion;
9
+ this.standings = this.calculateStandings();
10
+ this.status = status;
11
+ }
12
+ calculateStandings() {
13
+ return this.teams.map(team => {
14
+ const standing = new Standing({ team });
15
+ standing.calculateStanding(this.matches);
16
+ return standing;
17
+ }).sort(Standing.sortFn);
18
+ }
19
+ updateStandings() {
20
+ if (this.matches == null || this.matches.length < 1)
21
+ throw new Error('NO_MATCHES');
22
+ this.standings.length = 0;
23
+ this.standings.push(...this.calculateStandings());
24
+ if (this.matches.every((match) => match.isOver())) {
25
+ this.champion = this.standings[0].team;
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,11 @@
1
+ export declare enum Stage {
2
+ ROUND_OF_8 = 8,
3
+ QUARTERFINALS = 4,
4
+ SEMIFINALS = 2,
5
+ FINAL = 1,
6
+ LEAGUE = 0
7
+ }
8
+ export declare namespace Stage {
9
+ function getStages(): Stage[];
10
+ function getNextStage(stage: Stage): Stage;
11
+ }
@@ -0,0 +1,24 @@
1
+ export var Stage;
2
+ (function (Stage) {
3
+ Stage[Stage["ROUND_OF_8"] = 8] = "ROUND_OF_8";
4
+ Stage[Stage["QUARTERFINALS"] = 4] = "QUARTERFINALS";
5
+ Stage[Stage["SEMIFINALS"] = 2] = "SEMIFINALS";
6
+ Stage[Stage["FINAL"] = 1] = "FINAL";
7
+ Stage[Stage["LEAGUE"] = 0] = "LEAGUE";
8
+ })(Stage || (Stage = {}));
9
+ // eslint-disable-next-line @typescript-eslint/no-namespace
10
+ (function (Stage) {
11
+ const STAGES = [Stage.ROUND_OF_8, Stage.QUARTERFINALS, Stage.SEMIFINALS, Stage.FINAL, Stage.LEAGUE];
12
+ function getStages() {
13
+ return [...STAGES];
14
+ }
15
+ Stage.getStages = getStages;
16
+ function getNextStage(stage) {
17
+ if (stage < 1)
18
+ throw new Error(`INVALID_STAGE ${stage}`);
19
+ if (stage === 1)
20
+ throw new Error('ALREADY_IN_FINAL_STAGE');
21
+ return stage / 2;
22
+ }
23
+ Stage.getNextStage = getNextStage;
24
+ })(Stage || (Stage = {}));
@@ -0,0 +1,28 @@
1
+ import { Match } from '../match';
2
+ import { Team } from '../team';
3
+ interface StandingOpts {
4
+ readonly team: Team;
5
+ }
6
+ export declare class Standing {
7
+ readonly team: Team;
8
+ won30: number;
9
+ won31: number;
10
+ won32: number;
11
+ lost03: number;
12
+ lost13: number;
13
+ lost23: number;
14
+ pointsWon: number;
15
+ pointsLost: number;
16
+ points: number;
17
+ pointsRatio: number;
18
+ setsWon: number;
19
+ setsLost: number;
20
+ setsRatio: number;
21
+ matchesWon: number;
22
+ matchesLost: number;
23
+ totalMatches: number;
24
+ constructor({ team }: StandingOpts);
25
+ static sortFn(standingA: Standing, standingB: Standing): number;
26
+ calculateStanding(matches: Match[]): void;
27
+ }
28
+ export {};
@@ -0,0 +1,76 @@
1
+ import { MatchTeam } from '../match';
2
+ export class Standing {
3
+ constructor({ team }) {
4
+ this.won30 = 0;
5
+ this.won31 = 0;
6
+ this.won32 = 0;
7
+ this.lost03 = 0;
8
+ this.lost13 = 0;
9
+ this.lost23 = 0;
10
+ this.pointsWon = 0;
11
+ this.pointsLost = 0;
12
+ this.points = 0;
13
+ this.pointsRatio = 0;
14
+ this.setsWon = 0;
15
+ this.setsLost = 0;
16
+ this.setsRatio = 0;
17
+ this.matchesWon = 0;
18
+ this.matchesLost = 0;
19
+ this.totalMatches = 0;
20
+ this.team = team;
21
+ }
22
+ static sortFn(standingA, standingB) {
23
+ if (standingB.points > standingA.points)
24
+ return 1;
25
+ else if (standingA.points > standingB.points)
26
+ return -1;
27
+ else if (standingB.setsRatio > standingA.setsRatio)
28
+ return 1;
29
+ else if (standingA.setsRatio > standingB.setsRatio)
30
+ return -1;
31
+ else if (standingB.pointsRatio > standingA.pointsRatio)
32
+ return 1;
33
+ else if (standingA.pointsRatio > standingB.pointsRatio)
34
+ return -1;
35
+ else
36
+ return 0;
37
+ }
38
+ calculateStanding(matches) {
39
+ matches = matches.filter(match => match.homeTeam.id === this.team.id || match.awayTeam.id === this.team.id)
40
+ .filter(match => match.isOver());
41
+ let teamSide;
42
+ let otherSide;
43
+ let teamScore;
44
+ let otherScore;
45
+ for (const match of matches) {
46
+ if (this.team.id === match.homeTeam.id) {
47
+ teamSide = MatchTeam.HOME;
48
+ otherSide = MatchTeam.AWAY;
49
+ }
50
+ else {
51
+ teamSide = MatchTeam.AWAY;
52
+ otherSide = MatchTeam.HOME;
53
+ }
54
+ if (match.getWinner().id === this.team.id) {
55
+ this[`won3${match.getTeamSets(otherSide)}`]++;
56
+ }
57
+ else {
58
+ this[`lost${match.getTeamSets(teamSide)}3`]++;
59
+ }
60
+ teamScore = `${teamSide === MatchTeam.HOME ? 'home' : 'away'}Score`;
61
+ otherScore = `${otherSide === MatchTeam.HOME ? 'home' : 'away'}Score`;
62
+ for (const set of match.sets) {
63
+ this.pointsWon += set[teamScore];
64
+ this.pointsLost += set[otherScore];
65
+ }
66
+ }
67
+ this.points = (this.won30 + this.won31) * 3 + this.won32 * 2 + this.lost23;
68
+ this.pointsRatio = this.pointsWon / this.pointsLost;
69
+ this.setsWon = (this.won32 + this.won31 + this.won30) * 3 + this.lost23 * 2 + this.lost13;
70
+ this.setsLost = (this.lost03 + this.lost13 + this.lost23) * 3 + this.won32 * 2 + this.won31;
71
+ this.setsRatio = this.setsWon / this.setsLost;
72
+ this.matchesWon = this.won32 + this.won31 + this.won30;
73
+ this.matchesLost = this.lost03 + this.lost13 + this.lost23;
74
+ this.totalMatches = this.matchesWon + this.matchesLost;
75
+ }
76
+ }
@@ -0,0 +1,14 @@
1
+ import { Match } from '../match';
2
+ import { Stage } from './stage';
3
+ interface TournamentStageOpts {
4
+ readonly stage: Stage;
5
+ readonly match: Match;
6
+ readonly index: number;
7
+ }
8
+ export declare class TournamentMatch {
9
+ readonly stage: Stage;
10
+ readonly match: Match;
11
+ readonly index: number;
12
+ constructor({ stage, match, index }: TournamentStageOpts);
13
+ }
14
+ export {};
@@ -0,0 +1,9 @@
1
+ export class TournamentMatch {
2
+ constructor({ stage, match, index }) {
3
+ if (index > stage || index < 0)
4
+ throw new Error('INDEX_OUT_OF_BOUNDS');
5
+ this.stage = stage;
6
+ this.match = match;
7
+ this.index = index;
8
+ }
9
+ }
@@ -0,0 +1,23 @@
1
+ import { TournamentMatch } from './tournament-match';
2
+ import { Team } from '../team';
3
+ import { Iteration } from './iteration';
4
+ import { StatusEnum } from '../../data';
5
+ interface TournamentOpts {
6
+ readonly id: string;
7
+ readonly iteration: Iteration;
8
+ readonly matches: TournamentMatch[];
9
+ readonly teams: Team[];
10
+ readonly champion?: Team;
11
+ readonly status: StatusEnum;
12
+ }
13
+ export declare class Tournament {
14
+ readonly id: string;
15
+ readonly iteration: Iteration;
16
+ readonly matches: TournamentMatch[];
17
+ readonly teams: Team[];
18
+ readonly status: StatusEnum;
19
+ champion?: Team;
20
+ constructor({ id, iteration, matches, teams, champion, status }: TournamentOpts);
21
+ static sortMatchesFn(m1: TournamentMatch, m2: TournamentMatch): number;
22
+ }
23
+ export {};
@@ -0,0 +1,19 @@
1
+ export class Tournament {
2
+ constructor({ id, iteration, matches, teams, champion, status }) {
3
+ this.id = id;
4
+ this.iteration = iteration;
5
+ this.matches = matches;
6
+ this.teams = teams;
7
+ this.champion = champion;
8
+ this.status = status;
9
+ this.matches.sort(Tournament.sortMatchesFn);
10
+ }
11
+ static sortMatchesFn(m1, m2) {
12
+ if (m1.stage > m2.stage)
13
+ return -1;
14
+ else if (m1.stage < m2.stage)
15
+ return 1;
16
+ else
17
+ return m1.index - m2.index;
18
+ }
19
+ }
@@ -0,0 +1,17 @@
1
+ interface CountryOpts {
2
+ readonly id: string;
3
+ readonly name: string;
4
+ readonly short: string;
5
+ readonly language?: string;
6
+ readonly league?: string;
7
+ }
8
+ export declare class Country {
9
+ readonly id: string;
10
+ readonly name: string;
11
+ readonly short: string;
12
+ readonly language?: string;
13
+ readonly league?: string;
14
+ constructor({ id, name, short, language, league }: CountryOpts);
15
+ toString(): string;
16
+ }
17
+ export {};
@@ -0,0 +1,18 @@
1
+ export class Country {
2
+ constructor({ id, name, short, language, league }) {
3
+ this.id = id;
4
+ this.name = name;
5
+ this.short = short;
6
+ this.language = language;
7
+ this.league = league;
8
+ }
9
+ toString() {
10
+ return JSON.stringify({
11
+ id: this.id,
12
+ name: this.name,
13
+ short: this.short,
14
+ language: this.language,
15
+ league: this.league
16
+ });
17
+ }
18
+ }
@@ -0,0 +1 @@
1
+ export * from './country';
@@ -0,0 +1 @@
1
+ export * from './country';
@@ -0,0 +1,14 @@
1
+ import { Team } from '../team';
2
+ import { Player } from '../player';
3
+ interface DraftPickOpts {
4
+ readonly team: Team;
5
+ readonly pick: Player;
6
+ readonly priority: number;
7
+ }
8
+ export declare class DraftPick {
9
+ readonly team: Team;
10
+ readonly pick: Player;
11
+ readonly priority: number;
12
+ constructor({ team, pick, priority }: DraftPickOpts);
13
+ }
14
+ export {};
@@ -0,0 +1,7 @@
1
+ export class DraftPick {
2
+ constructor({ team, pick, priority }) {
3
+ this.team = team;
4
+ this.pick = pick;
5
+ this.priority = priority;
6
+ }
7
+ }
@@ -0,0 +1,15 @@
1
+ import { DraftPick } from './draft-pick';
2
+ interface DraftParams {
3
+ readonly id: string;
4
+ readonly start: Date;
5
+ readonly end: Date;
6
+ readonly picks: DraftPick[];
7
+ }
8
+ export declare class Draft {
9
+ readonly id: string;
10
+ readonly start: Date;
11
+ readonly end: Date;
12
+ readonly picks: DraftPick[];
13
+ constructor({ id, start, end, picks }: DraftParams);
14
+ }
15
+ export {};
@@ -0,0 +1,8 @@
1
+ export class Draft {
2
+ constructor({ id, start, end, picks }) {
3
+ this.id = id;
4
+ this.start = start;
5
+ this.end = end;
6
+ this.picks = picks;
7
+ }
8
+ }
@@ -0,0 +1,2 @@
1
+ export * from './draft';
2
+ export * from './draft-pick';
@@ -0,0 +1,2 @@
1
+ export * from './draft';
2
+ export * from './draft-pick';
@@ -0,0 +1 @@
1
+ export * from './rally-event';
@@ -0,0 +1 @@
1
+ export * from './rally-event';
@@ -0,0 +1,11 @@
1
+ import { EventTypeEnum } from '../../data';
2
+ export interface RallyEventOpts {
3
+ readonly player: string;
4
+ readonly eventType: EventTypeEnum;
5
+ }
6
+ export declare abstract class RallyEvent {
7
+ readonly player: string;
8
+ readonly eventType: EventTypeEnum;
9
+ protected constructor({ eventType, player }: RallyEventOpts);
10
+ abstract toString(): string;
11
+ }
@@ -0,0 +1,6 @@
1
+ export class RallyEvent {
2
+ constructor({ eventType, player }) {
3
+ this.player = player;
4
+ this.eventType = eventType;
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ export * from './match';
2
+ export * from './coach';
3
+ export * from './country';
4
+ export * from './draft';
5
+ export * from './team';
6
+ export * from './event';
7
+ export * from './player';
8
+ export * from './competition';
9
+ export * from './utils';
@@ -0,0 +1,9 @@
1
+ export * from './match';
2
+ export * from './coach';
3
+ export * from './country';
4
+ export * from './draft';
5
+ export * from './team';
6
+ export * from './event';
7
+ export * from './player';
8
+ export * from './competition';
9
+ export * from './utils';
@@ -0,0 +1,34 @@
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[];
@@ -0,0 +1,62 @@
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
+ }
@@ -0,0 +1,6 @@
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 './match-team';
@@ -0,0 +1,6 @@
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 './match-team';
@@ -0,0 +1,35 @@
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 {};