volleyballsimtypes 0.0.7 → 0.0.9

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 (936) hide show
  1. package/dist/cjs/src/data/index.d.ts +3 -0
  2. package/dist/cjs/src/data/index.js +96 -0
  3. package/dist/cjs/src/data/models/block.js +98 -0
  4. package/dist/cjs/src/data/models/coach.js +55 -0
  5. package/dist/cjs/src/data/models/country.js +40 -0
  6. package/dist/cjs/src/data/models/event.js +54 -0
  7. package/dist/cjs/src/data/models/index.d.ts +23 -0
  8. package/dist/cjs/src/data/models/index.js +47 -0
  9. package/dist/cjs/src/data/models/league.js +42 -0
  10. package/dist/cjs/src/data/models/libero-replacement.js +66 -0
  11. package/dist/cjs/src/data/models/match-set-stats.js +129 -0
  12. package/dist/cjs/src/data/models/match-set.js +71 -0
  13. package/dist/cjs/src/data/models/match.js +58 -0
  14. package/dist/cjs/src/data/models/performance-stats.js +88 -0
  15. package/dist/cjs/src/data/models/player.d.ts +278 -0
  16. package/dist/cjs/src/data/models/player.js +66 -0
  17. package/dist/cjs/src/data/models/rally-position.js +52 -0
  18. package/dist/cjs/src/data/models/rally.js +50 -0
  19. package/dist/cjs/src/data/models/reception.js +74 -0
  20. package/dist/cjs/src/data/models/score.js +62 -0
  21. package/dist/cjs/src/data/models/season-teams.js +44 -0
  22. package/dist/cjs/src/data/models/season.js +42 -0
  23. package/dist/cjs/src/data/models/serve.js +74 -0
  24. package/dist/cjs/src/data/models/set.js +74 -0
  25. package/dist/cjs/src/data/models/spike.js +74 -0
  26. package/dist/cjs/src/data/models/substitution.js +62 -0
  27. package/dist/cjs/src/data/models/team.js +64 -0
  28. package/dist/cjs/src/data/transformers/block.js +107 -0
  29. package/dist/cjs/src/data/transformers/coach.js +30 -0
  30. package/dist/cjs/src/data/transformers/country.js +20 -0
  31. package/dist/cjs/src/data/transformers/court-position.js +31 -0
  32. package/dist/cjs/src/data/transformers/court-target.js +41 -0
  33. package/dist/cjs/src/data/transformers/event-type.js +31 -0
  34. package/dist/cjs/src/data/transformers/formation.js +12 -0
  35. package/dist/cjs/src/data/transformers/index.d.ts +27 -0
  36. package/dist/cjs/src/data/transformers/index.js +98 -0
  37. package/dist/cjs/src/data/transformers/league.js +23 -0
  38. package/dist/cjs/src/data/transformers/libero-replacement.js +53 -0
  39. package/dist/cjs/src/data/transformers/match-set-stats.js +95 -0
  40. package/dist/cjs/src/data/transformers/match-set.js +52 -0
  41. package/dist/cjs/src/data/transformers/match.js +40 -0
  42. package/dist/cjs/src/data/transformers/performance-stats.js +37 -0
  43. package/dist/cjs/src/data/transformers/player.js +100 -0
  44. package/dist/cjs/src/data/transformers/rally-position.js +20 -0
  45. package/dist/cjs/src/data/transformers/rally.d.ts +7 -0
  46. package/dist/cjs/src/data/transformers/rally.js +101 -0
  47. package/dist/cjs/src/data/transformers/reception.js +86 -0
  48. package/dist/cjs/src/data/transformers/role.js +27 -0
  49. package/dist/cjs/src/data/transformers/score.js +38 -0
  50. package/dist/cjs/src/data/transformers/season.js +36 -0
  51. package/dist/cjs/src/data/transformers/serve.js +88 -0
  52. package/dist/cjs/src/data/transformers/set.js +86 -0
  53. package/dist/cjs/src/data/transformers/spike.js +90 -0
  54. package/dist/cjs/src/data/transformers/substitution.js +37 -0
  55. package/dist/cjs/src/data/transformers/team.js +40 -0
  56. package/dist/cjs/src/data/transformers/trait.js +32 -0
  57. package/dist/cjs/src/index.d.ts +4 -0
  58. package/dist/cjs/src/index.js +149 -0
  59. package/dist/cjs/src/routing/events.js +2 -0
  60. package/dist/cjs/src/routing/index.d.ts +6 -0
  61. package/dist/cjs/src/routing/index.js +5 -0
  62. package/dist/cjs/src/routing/league.js +2 -0
  63. package/dist/cjs/src/routing/match.js +2 -0
  64. package/dist/cjs/src/routing/player.js +12 -0
  65. package/dist/cjs/src/routing/team.js +2 -0
  66. package/dist/cjs/src/service/coach/__stubs__/index.js +46 -0
  67. package/dist/cjs/src/service/coach/coach.js +15 -0
  68. package/dist/cjs/src/service/coach/coach.test.js +11 -0
  69. package/dist/cjs/src/service/coach/formation.js +126 -0
  70. package/dist/cjs/src/service/coach/formation.test.js +10 -0
  71. package/dist/cjs/src/service/coach/index.d.ts +3 -0
  72. package/dist/cjs/src/service/coach/index.js +7 -0
  73. package/dist/cjs/src/service/country/__stubs__/index.js +15 -0
  74. package/dist/cjs/src/service/country/country.js +13 -0
  75. package/dist/cjs/src/service/country/country.test.js +11 -0
  76. package/dist/cjs/src/service/country/index.d.ts +2 -0
  77. package/dist/cjs/src/service/country/index.js +5 -0
  78. package/dist/cjs/src/service/event/__stubs__/index.js +27 -0
  79. package/dist/cjs/src/service/event/block.js +55 -0
  80. package/dist/cjs/src/service/event/block.test.js +98 -0
  81. package/dist/cjs/src/service/event/in-play-event.js +26 -0
  82. package/dist/cjs/src/service/event/libero-replacement.js +17 -0
  83. package/dist/cjs/src/service/event/libero-replacement.test.js +36 -0
  84. package/dist/cjs/src/service/event/rally-event.js +23 -0
  85. package/dist/cjs/src/service/event/reception.js +30 -0
  86. package/dist/cjs/src/service/event/reception.test.js +49 -0
  87. package/dist/cjs/src/service/event/score.js +14 -0
  88. package/dist/cjs/src/service/event/score.test.js +28 -0
  89. package/dist/cjs/src/service/event/serve.js +31 -0
  90. package/dist/cjs/src/service/event/serve.test.js +49 -0
  91. package/dist/cjs/src/service/event/set.js +30 -0
  92. package/dist/cjs/src/service/event/set.test.js +49 -0
  93. package/dist/cjs/src/service/event/spike.js +36 -0
  94. package/dist/cjs/src/service/event/spike.test.js +63 -0
  95. package/dist/cjs/src/service/event/substitution.js +11 -0
  96. package/dist/cjs/src/service/index.d.ts +18 -0
  97. package/dist/cjs/src/service/index.js +70 -0
  98. package/dist/cjs/src/service/league/index.d.ts +4 -0
  99. package/dist/cjs/src/service/league/index.js +9 -0
  100. package/dist/cjs/src/service/league/league.js +87 -0
  101. package/dist/cjs/src/service/league/season.js +26 -0
  102. package/dist/cjs/src/service/league/standing.js +80 -0
  103. package/dist/cjs/src/service/match/__stubs__/index.js +116 -0
  104. package/dist/cjs/src/service/match/court-position.js +56 -0
  105. package/dist/cjs/src/service/match/court-position.test.js +69 -0
  106. package/dist/cjs/src/service/match/court-target.js +42 -0
  107. package/dist/cjs/src/service/match/court-target.test.js +37 -0
  108. package/dist/cjs/src/service/match/index.d.ts +7 -0
  109. package/dist/cjs/src/service/match/index.js +18 -0
  110. package/dist/cjs/src/service/match/match-set.js +89 -0
  111. package/dist/cjs/src/service/match/match-set.test.js +152 -0
  112. package/dist/cjs/src/service/match/match-team.js +20 -0
  113. package/dist/cjs/src/service/match/match-team.test.js +16 -0
  114. package/dist/cjs/src/service/match/match.js +42 -0
  115. package/dist/cjs/src/service/match/match.test.js +72 -0
  116. package/dist/cjs/src/service/match/rally.js +51 -0
  117. package/dist/cjs/src/service/match/rally.test.js +88 -0
  118. package/dist/cjs/src/service/player/__stubs__/index.js +1425 -0
  119. package/dist/cjs/src/service/player/index.d.ts +6 -0
  120. package/dist/cjs/src/service/player/index.js +13 -0
  121. package/dist/cjs/src/service/player/performance-stats.js +23 -0
  122. package/dist/cjs/src/service/player/performance-stats.test.js +23 -0
  123. package/dist/cjs/src/service/player/player.js +61 -0
  124. package/dist/cjs/src/service/player/player.test.js +49 -0
  125. package/dist/cjs/src/service/player/role.js +34 -0
  126. package/dist/cjs/src/service/player/role.test.js +30 -0
  127. package/dist/cjs/src/service/player/stats.js +31 -0
  128. package/dist/cjs/src/service/player/stats.test.js +24 -0
  129. package/dist/cjs/src/service/player/trait.js +97 -0
  130. package/dist/cjs/src/service/player/trait.test.js +11 -0
  131. package/dist/cjs/src/service/team/__stubs__/index.js +289 -0
  132. package/dist/cjs/src/service/team/index.d.ts +2 -0
  133. package/dist/cjs/src/service/team/index.js +5 -0
  134. package/dist/cjs/src/service/team/team.js +23 -0
  135. package/dist/cjs/src/service/team/team.test.js +28 -0
  136. package/dist/cjs/src/service/utils/enum-utils.js +9 -0
  137. package/dist/cjs/src/service/utils/enum-utils.test.js +13 -0
  138. package/dist/cjs/src/service/utils/index.d.ts +5 -0
  139. package/dist/cjs/src/service/utils/index.js +14 -0
  140. package/dist/cjs/src/service/utils/object-utils.js +4 -0
  141. package/dist/cjs/src/service/utils/rng-utils.js +41 -0
  142. package/dist/cjs/src/service/utils/rng-utils.test.js +31 -0
  143. package/dist/cjs/src/service/utils/string-utils.js +16 -0
  144. package/dist/cjs/src/service/utils/string-utils.test.js +27 -0
  145. package/dist/cjs/src/service/utils/testing-utils.js +2 -0
  146. package/dist/esm/data/event.formula.json +124 -0
  147. package/dist/esm/data/role.formula.json +98 -0
  148. package/dist/esm/data/stat.formula.json +66 -0
  149. package/dist/esm/src/data/index.d.ts +3 -0
  150. package/dist/esm/src/data/index.js +3 -0
  151. package/dist/esm/src/data/models/block.d.ts +59 -0
  152. package/dist/esm/src/data/models/block.js +94 -0
  153. package/dist/esm/src/data/models/coach.d.ts +40 -0
  154. package/dist/esm/src/data/models/coach.js +51 -0
  155. package/dist/esm/src/data/models/country.d.ts +64 -0
  156. package/dist/esm/src/data/models/country.js +36 -0
  157. package/dist/esm/src/data/models/event.d.ts +30 -0
  158. package/dist/esm/src/data/models/event.js +50 -0
  159. package/dist/esm/src/data/models/index.d.ts +23 -0
  160. package/dist/esm/src/data/models/index.js +23 -0
  161. package/dist/esm/src/data/models/league.d.ts +48 -0
  162. package/dist/esm/src/data/models/league.js +38 -0
  163. package/dist/esm/src/data/models/libero-replacement.d.ts +38 -0
  164. package/dist/esm/src/data/models/libero-replacement.js +62 -0
  165. package/dist/esm/src/data/models/match-set-stats.d.ts +59 -0
  166. package/dist/esm/src/data/models/match-set-stats.js +125 -0
  167. package/dist/esm/src/data/models/match-set.d.ts +78 -0
  168. package/dist/esm/src/data/models/match-set.js +67 -0
  169. package/dist/esm/src/data/models/match.d.ts +47 -0
  170. package/dist/esm/src/data/models/match.js +54 -0
  171. package/dist/esm/src/data/models/performance-stats.d.ts +40 -0
  172. package/dist/esm/src/data/models/performance-stats.js +84 -0
  173. package/dist/esm/src/data/models/player.d.ts +278 -0
  174. package/dist/esm/src/data/models/player.js +62 -0
  175. package/dist/esm/src/data/models/rally-position.d.ts +28 -0
  176. package/dist/esm/src/data/models/rally-position.js +48 -0
  177. package/dist/esm/src/data/models/rally.d.ts +169 -0
  178. package/dist/esm/src/data/models/rally.js +46 -0
  179. package/dist/esm/src/data/models/reception.d.ts +40 -0
  180. package/dist/esm/src/data/models/reception.js +70 -0
  181. package/dist/esm/src/data/models/score.d.ts +37 -0
  182. package/dist/esm/src/data/models/score.js +58 -0
  183. package/dist/esm/src/data/models/season-teams.d.ts +24 -0
  184. package/dist/esm/src/data/models/season-teams.js +40 -0
  185. package/dist/esm/src/data/models/season.d.ts +60 -0
  186. package/dist/esm/src/data/models/season.js +38 -0
  187. package/dist/esm/src/data/models/serve.d.ts +40 -0
  188. package/dist/esm/src/data/models/serve.js +70 -0
  189. package/dist/esm/src/data/models/set.d.ts +40 -0
  190. package/dist/esm/src/data/models/set.js +70 -0
  191. package/dist/esm/src/data/models/spike.d.ts +40 -0
  192. package/dist/esm/src/data/models/spike.js +70 -0
  193. package/dist/esm/src/data/models/substitution.d.ts +36 -0
  194. package/dist/esm/src/data/models/substitution.js +58 -0
  195. package/dist/esm/src/data/models/team.d.ts +122 -0
  196. package/dist/esm/src/data/models/team.js +60 -0
  197. package/dist/esm/src/data/transformers/block.d.ts +7 -0
  198. package/dist/esm/src/data/transformers/block.js +102 -0
  199. package/dist/esm/src/data/transformers/coach.d.ts +5 -0
  200. package/dist/esm/src/data/transformers/coach.js +26 -0
  201. package/dist/esm/src/data/transformers/country.d.ts +5 -0
  202. package/dist/esm/src/data/transformers/country.js +16 -0
  203. package/dist/esm/src/data/transformers/court-position.d.ts +5 -0
  204. package/dist/esm/src/data/transformers/court-position.js +27 -0
  205. package/dist/esm/src/data/transformers/court-target.d.ts +5 -0
  206. package/dist/esm/src/data/transformers/court-target.js +37 -0
  207. package/dist/esm/src/data/transformers/event-type.d.ts +5 -0
  208. package/dist/esm/src/data/transformers/event-type.js +27 -0
  209. package/dist/esm/src/data/transformers/formation.d.ts +5 -0
  210. package/dist/esm/src/data/transformers/formation.js +8 -0
  211. package/dist/esm/src/data/transformers/index.d.ts +27 -0
  212. package/dist/esm/src/data/transformers/index.js +27 -0
  213. package/dist/esm/src/data/transformers/league.d.ts +5 -0
  214. package/dist/esm/src/data/transformers/league.js +19 -0
  215. package/dist/esm/src/data/transformers/libero-replacement.d.ts +7 -0
  216. package/dist/esm/src/data/transformers/libero-replacement.js +48 -0
  217. package/dist/esm/src/data/transformers/match-set-stats.d.ts +7 -0
  218. package/dist/esm/src/data/transformers/match-set-stats.js +90 -0
  219. package/dist/esm/src/data/transformers/match-set.d.ts +7 -0
  220. package/dist/esm/src/data/transformers/match-set.js +47 -0
  221. package/dist/esm/src/data/transformers/match.d.ts +8 -0
  222. package/dist/esm/src/data/transformers/match.js +35 -0
  223. package/dist/esm/src/data/transformers/performance-stats.d.ts +5 -0
  224. package/dist/esm/src/data/transformers/performance-stats.js +33 -0
  225. package/dist/esm/src/data/transformers/player.d.ts +7 -0
  226. package/dist/esm/src/data/transformers/player.js +95 -0
  227. package/dist/esm/src/data/transformers/rally-position.d.ts +5 -0
  228. package/dist/esm/src/data/transformers/rally-position.js +16 -0
  229. package/dist/esm/src/data/transformers/rally.d.ts +7 -0
  230. package/dist/esm/src/data/transformers/rally.js +96 -0
  231. package/dist/esm/src/data/transformers/reception.d.ts +7 -0
  232. package/dist/esm/src/data/transformers/reception.js +81 -0
  233. package/dist/esm/src/data/transformers/role.d.ts +5 -0
  234. package/dist/esm/src/data/transformers/role.js +23 -0
  235. package/dist/esm/src/data/transformers/score.d.ts +7 -0
  236. package/dist/esm/src/data/transformers/score.js +33 -0
  237. package/dist/esm/src/data/transformers/season.d.ts +7 -0
  238. package/dist/esm/src/data/transformers/season.js +31 -0
  239. package/dist/esm/src/data/transformers/serve.d.ts +7 -0
  240. package/dist/esm/src/data/transformers/serve.js +83 -0
  241. package/dist/esm/src/data/transformers/set.d.ts +7 -0
  242. package/dist/esm/src/data/transformers/set.js +81 -0
  243. package/dist/esm/src/data/transformers/spike.d.ts +7 -0
  244. package/dist/esm/src/data/transformers/spike.js +85 -0
  245. package/dist/esm/src/data/transformers/substitution.d.ts +7 -0
  246. package/dist/esm/src/data/transformers/substitution.js +32 -0
  247. package/dist/esm/src/data/transformers/team.d.ts +7 -0
  248. package/dist/esm/src/data/transformers/team.js +35 -0
  249. package/dist/esm/src/data/transformers/trait.d.ts +7 -0
  250. package/dist/esm/src/data/transformers/trait.js +27 -0
  251. package/dist/esm/src/index.d.ts +4 -0
  252. package/dist/esm/src/index.js +4 -0
  253. package/dist/esm/src/routing/events.d.ts +50 -0
  254. package/dist/esm/src/routing/events.js +1 -0
  255. package/dist/esm/src/routing/index.d.ts +6 -0
  256. package/dist/esm/src/routing/index.js +2 -0
  257. package/dist/esm/src/routing/league.d.ts +13 -0
  258. package/dist/esm/src/routing/league.js +1 -0
  259. package/dist/esm/src/routing/match.d.ts +46 -0
  260. package/dist/esm/src/routing/match.js +1 -0
  261. package/dist/esm/src/routing/player.d.ts +22 -0
  262. package/dist/esm/src/routing/player.js +9 -0
  263. package/dist/esm/src/routing/team.d.ts +12 -0
  264. package/dist/esm/src/routing/team.js +1 -0
  265. package/dist/esm/src/service/coach/__stubs__/index.d.ts +3 -0
  266. package/dist/esm/src/service/coach/__stubs__/index.js +43 -0
  267. package/dist/esm/src/service/coach/coach.d.ts +18 -0
  268. package/dist/esm/src/service/coach/coach.js +11 -0
  269. package/dist/esm/src/service/coach/coach.test.d.ts +1 -0
  270. package/dist/esm/src/service/coach/coach.test.js +9 -0
  271. package/dist/esm/src/service/coach/formation.d.ts +31 -0
  272. package/dist/esm/src/service/coach/formation.js +122 -0
  273. package/dist/esm/src/service/coach/formation.test.d.ts +1 -0
  274. package/dist/esm/src/service/coach/formation.test.js +8 -0
  275. package/dist/esm/src/service/coach/index.d.ts +3 -0
  276. package/dist/esm/src/service/coach/index.js +3 -0
  277. package/dist/esm/src/service/country/__stubs__/index.d.ts +3 -0
  278. package/dist/esm/src/service/country/__stubs__/index.js +12 -0
  279. package/dist/esm/src/service/country/country.d.ts +15 -0
  280. package/dist/esm/src/service/country/country.js +9 -0
  281. package/dist/esm/src/service/country/country.test.d.ts +1 -0
  282. package/dist/esm/src/service/country/country.test.js +9 -0
  283. package/dist/esm/src/service/country/index.d.ts +2 -0
  284. package/dist/esm/src/service/country/index.js +2 -0
  285. package/dist/esm/src/service/event/__stubs__/index.d.ts +4 -0
  286. package/dist/esm/src/service/event/__stubs__/index.js +24 -0
  287. package/dist/esm/src/service/event/block.d.ts +29 -0
  288. package/dist/esm/src/service/event/block.js +51 -0
  289. package/dist/esm/src/service/event/block.test.d.ts +1 -0
  290. package/dist/esm/src/service/event/block.test.js +96 -0
  291. package/dist/esm/src/service/event/in-play-event.d.ts +17 -0
  292. package/dist/esm/src/service/event/in-play-event.js +19 -0
  293. package/dist/esm/src/service/event/libero-replacement.d.ts +16 -0
  294. package/dist/esm/src/service/event/libero-replacement.js +13 -0
  295. package/dist/esm/src/service/event/libero-replacement.test.d.ts +1 -0
  296. package/dist/esm/src/service/event/libero-replacement.test.js +34 -0
  297. package/dist/esm/src/service/event/rally-event.d.ts +24 -0
  298. package/dist/esm/src/service/event/rally-event.js +19 -0
  299. package/dist/esm/src/service/event/reception.d.ts +26 -0
  300. package/dist/esm/src/service/event/reception.js +26 -0
  301. package/dist/esm/src/service/event/reception.test.d.ts +1 -0
  302. package/dist/esm/src/service/event/reception.test.js +47 -0
  303. package/dist/esm/src/service/event/score.d.ts +13 -0
  304. package/dist/esm/src/service/event/score.js +10 -0
  305. package/dist/esm/src/service/event/score.test.d.ts +1 -0
  306. package/dist/esm/src/service/event/score.test.js +26 -0
  307. package/dist/esm/src/service/event/serve.d.ts +27 -0
  308. package/dist/esm/src/service/event/serve.js +27 -0
  309. package/dist/esm/src/service/event/serve.test.d.ts +1 -0
  310. package/dist/esm/src/service/event/serve.test.js +47 -0
  311. package/dist/esm/src/service/event/set.d.ts +26 -0
  312. package/dist/esm/src/service/event/set.js +26 -0
  313. package/dist/esm/src/service/event/set.test.d.ts +1 -0
  314. package/dist/esm/src/service/event/set.test.js +47 -0
  315. package/dist/esm/src/service/event/spike.d.ts +28 -0
  316. package/dist/esm/src/service/event/spike.js +32 -0
  317. package/dist/esm/src/service/event/spike.test.d.ts +1 -0
  318. package/dist/esm/src/service/event/spike.test.js +61 -0
  319. package/dist/esm/src/service/event/substitution.d.ts +9 -0
  320. package/dist/esm/src/service/event/substitution.js +7 -0
  321. package/dist/esm/src/service/index.d.ts +18 -0
  322. package/dist/esm/src/service/index.js +18 -0
  323. package/dist/esm/src/service/league/index.d.ts +4 -0
  324. package/dist/esm/src/service/league/index.js +4 -0
  325. package/dist/esm/src/service/league/league.d.ts +19 -0
  326. package/dist/esm/src/service/league/league.js +80 -0
  327. package/dist/esm/src/service/league/season.d.ts +19 -0
  328. package/dist/esm/src/service/league/season.js +22 -0
  329. package/dist/esm/src/service/league/standing.d.ts +26 -0
  330. package/dist/esm/src/service/league/standing.js +76 -0
  331. package/dist/esm/src/service/match/__stubs__/index.d.ts +11 -0
  332. package/dist/esm/src/service/match/__stubs__/index.js +113 -0
  333. package/dist/esm/src/service/match/court-position.d.ts +21 -0
  334. package/dist/esm/src/service/match/court-position.js +53 -0
  335. package/dist/esm/src/service/match/court-position.test.d.ts +1 -0
  336. package/dist/esm/src/service/match/court-position.test.js +67 -0
  337. package/dist/esm/src/service/match/court-target.d.ts +21 -0
  338. package/dist/esm/src/service/match/court-target.js +39 -0
  339. package/dist/esm/src/service/match/court-target.test.d.ts +1 -0
  340. package/dist/esm/src/service/match/court-target.test.js +35 -0
  341. package/dist/esm/src/service/match/index.d.ts +7 -0
  342. package/dist/esm/src/service/match/index.js +7 -0
  343. package/dist/esm/src/service/match/match-set.d.ts +71 -0
  344. package/dist/esm/src/service/match/match-set.js +85 -0
  345. package/dist/esm/src/service/match/match-set.test.d.ts +1 -0
  346. package/dist/esm/src/service/match/match-set.test.js +150 -0
  347. package/dist/esm/src/service/match/match-team.d.ts +7 -0
  348. package/dist/esm/src/service/match/match-team.js +17 -0
  349. package/dist/esm/src/service/match/match-team.test.d.ts +1 -0
  350. package/dist/esm/src/service/match/match-team.test.js +14 -0
  351. package/dist/esm/src/service/match/match.d.ts +24 -0
  352. package/dist/esm/src/service/match/match.js +38 -0
  353. package/dist/esm/src/service/match/match.test.d.ts +1 -0
  354. package/dist/esm/src/service/match/match.test.js +70 -0
  355. package/dist/esm/src/service/match/rally.d.ts +41 -0
  356. package/dist/esm/src/service/match/rally.js +47 -0
  357. package/dist/esm/src/service/match/rally.test.d.ts +1 -0
  358. package/dist/esm/src/service/match/rally.test.js +86 -0
  359. package/dist/esm/src/service/player/__stubs__/index.d.ts +28 -0
  360. package/dist/esm/src/service/player/__stubs__/index.js +1422 -0
  361. package/dist/esm/src/service/player/index.d.ts +6 -0
  362. package/dist/esm/src/service/player/index.js +6 -0
  363. package/dist/esm/src/service/player/performance-stats.d.ts +28 -0
  364. package/dist/esm/src/service/player/performance-stats.js +19 -0
  365. package/dist/esm/src/service/player/performance-stats.test.d.ts +1 -0
  366. package/dist/esm/src/service/player/performance-stats.test.js +21 -0
  367. package/dist/esm/src/service/player/player.d.ts +38 -0
  368. package/dist/esm/src/service/player/player.js +57 -0
  369. package/dist/esm/src/service/player/player.test.d.ts +1 -0
  370. package/dist/esm/src/service/player/player.test.js +47 -0
  371. package/dist/esm/src/service/player/role.d.ts +13 -0
  372. package/dist/esm/src/service/player/role.js +28 -0
  373. package/dist/esm/src/service/player/role.test.d.ts +1 -0
  374. package/dist/esm/src/service/player/role.test.js +28 -0
  375. package/dist/esm/src/service/player/stats.d.ts +11 -0
  376. package/dist/esm/src/service/player/stats.js +25 -0
  377. package/dist/esm/src/service/player/stats.test.d.ts +1 -0
  378. package/dist/esm/src/service/player/stats.test.js +22 -0
  379. package/dist/esm/src/service/player/trait.d.ts +21 -0
  380. package/dist/esm/src/service/player/trait.js +93 -0
  381. package/dist/esm/src/service/player/trait.test.d.ts +1 -0
  382. package/dist/esm/src/service/player/trait.test.js +9 -0
  383. package/dist/esm/src/service/team/__stubs__/index.d.ts +6 -0
  384. package/dist/esm/src/service/team/__stubs__/index.js +286 -0
  385. package/dist/esm/src/service/team/index.d.ts +2 -0
  386. package/dist/esm/src/service/team/index.js +2 -0
  387. package/dist/esm/src/service/team/team.d.ts +25 -0
  388. package/dist/esm/src/service/team/team.js +19 -0
  389. package/dist/esm/src/service/team/team.test.d.ts +1 -0
  390. package/dist/esm/src/service/team/team.test.js +26 -0
  391. package/dist/esm/src/service/utils/enum-utils.d.ts +1 -0
  392. package/dist/esm/src/service/utils/enum-utils.js +5 -0
  393. package/dist/esm/src/service/utils/enum-utils.test.d.ts +1 -0
  394. package/dist/esm/src/service/utils/enum-utils.test.js +11 -0
  395. package/dist/esm/src/service/utils/index.d.ts +5 -0
  396. package/dist/esm/src/service/utils/index.js +5 -0
  397. package/dist/esm/src/service/utils/object-utils.d.ts +1 -0
  398. package/dist/esm/src/service/utils/object-utils.js +1 -0
  399. package/dist/esm/src/service/utils/rng-utils.d.ts +8 -0
  400. package/dist/esm/src/service/utils/rng-utils.js +35 -0
  401. package/dist/esm/src/service/utils/rng-utils.test.d.ts +1 -0
  402. package/dist/esm/src/service/utils/rng-utils.test.js +29 -0
  403. package/dist/esm/src/service/utils/string-utils.d.ts +2 -0
  404. package/dist/esm/src/service/utils/string-utils.js +11 -0
  405. package/dist/esm/src/service/utils/string-utils.test.d.ts +1 -0
  406. package/dist/esm/src/service/utils/string-utils.test.js +25 -0
  407. package/dist/esm/src/service/utils/testing-utils.d.ts +1 -0
  408. package/dist/esm/src/service/utils/testing-utils.js +1 -0
  409. package/package.json +40 -42
  410. package/dist/src/data/index.d.ts +0 -2
  411. package/dist/src/data/index.js +0 -19
  412. package/dist/src/data/index.js.map +0 -1
  413. package/dist/src/data/models/block.js +0 -99
  414. package/dist/src/data/models/block.js.map +0 -1
  415. package/dist/src/data/models/coach.js +0 -56
  416. package/dist/src/data/models/coach.js.map +0 -1
  417. package/dist/src/data/models/country.js +0 -41
  418. package/dist/src/data/models/country.js.map +0 -1
  419. package/dist/src/data/models/event.js +0 -55
  420. package/dist/src/data/models/event.js.map +0 -1
  421. package/dist/src/data/models/index.d.ts +0 -22
  422. package/dist/src/data/models/index.js +0 -39
  423. package/dist/src/data/models/index.js.map +0 -1
  424. package/dist/src/data/models/league.js +0 -43
  425. package/dist/src/data/models/league.js.map +0 -1
  426. package/dist/src/data/models/libero-replacement.js +0 -67
  427. package/dist/src/data/models/libero-replacement.js.map +0 -1
  428. package/dist/src/data/models/match-set-stats.js +0 -130
  429. package/dist/src/data/models/match-set-stats.js.map +0 -1
  430. package/dist/src/data/models/match-set.js +0 -72
  431. package/dist/src/data/models/match-set.js.map +0 -1
  432. package/dist/src/data/models/match.js +0 -59
  433. package/dist/src/data/models/match.js.map +0 -1
  434. package/dist/src/data/models/performance-stats.js +0 -89
  435. package/dist/src/data/models/performance-stats.js.map +0 -1
  436. package/dist/src/data/models/player.d.ts +0 -278
  437. package/dist/src/data/models/player.js +0 -67
  438. package/dist/src/data/models/player.js.map +0 -1
  439. package/dist/src/data/models/rally-position.js +0 -53
  440. package/dist/src/data/models/rally-position.js.map +0 -1
  441. package/dist/src/data/models/rally.js +0 -51
  442. package/dist/src/data/models/rally.js.map +0 -1
  443. package/dist/src/data/models/reception.js +0 -75
  444. package/dist/src/data/models/reception.js.map +0 -1
  445. package/dist/src/data/models/score.js +0 -63
  446. package/dist/src/data/models/score.js.map +0 -1
  447. package/dist/src/data/models/season-teams.js +0 -45
  448. package/dist/src/data/models/season-teams.js.map +0 -1
  449. package/dist/src/data/models/season.js +0 -43
  450. package/dist/src/data/models/season.js.map +0 -1
  451. package/dist/src/data/models/serve.js +0 -75
  452. package/dist/src/data/models/serve.js.map +0 -1
  453. package/dist/src/data/models/set.js +0 -75
  454. package/dist/src/data/models/set.js.map +0 -1
  455. package/dist/src/data/models/spike.js +0 -75
  456. package/dist/src/data/models/spike.js.map +0 -1
  457. package/dist/src/data/models/substitution.js +0 -63
  458. package/dist/src/data/models/substitution.js.map +0 -1
  459. package/dist/src/data/models/team.js +0 -65
  460. package/dist/src/data/models/team.js.map +0 -1
  461. package/dist/src/data/transformers/block.js +0 -109
  462. package/dist/src/data/transformers/block.js.map +0 -1
  463. package/dist/src/data/transformers/coach.js +0 -31
  464. package/dist/src/data/transformers/coach.js.map +0 -1
  465. package/dist/src/data/transformers/country.js +0 -21
  466. package/dist/src/data/transformers/country.js.map +0 -1
  467. package/dist/src/data/transformers/court-position.js +0 -32
  468. package/dist/src/data/transformers/court-position.js.map +0 -1
  469. package/dist/src/data/transformers/court-target.js +0 -42
  470. package/dist/src/data/transformers/court-target.js.map +0 -1
  471. package/dist/src/data/transformers/event-type.js +0 -32
  472. package/dist/src/data/transformers/event-type.js.map +0 -1
  473. package/dist/src/data/transformers/formation.js +0 -13
  474. package/dist/src/data/transformers/formation.js.map +0 -1
  475. package/dist/src/data/transformers/index.d.ts +0 -26
  476. package/dist/src/data/transformers/index.js +0 -43
  477. package/dist/src/data/transformers/index.js.map +0 -1
  478. package/dist/src/data/transformers/league.js +0 -24
  479. package/dist/src/data/transformers/league.js.map +0 -1
  480. package/dist/src/data/transformers/libero-replacement.js +0 -54
  481. package/dist/src/data/transformers/libero-replacement.js.map +0 -1
  482. package/dist/src/data/transformers/match-set-stats.js +0 -96
  483. package/dist/src/data/transformers/match-set-stats.js.map +0 -1
  484. package/dist/src/data/transformers/match-set.js +0 -54
  485. package/dist/src/data/transformers/match-set.js.map +0 -1
  486. package/dist/src/data/transformers/match.js +0 -41
  487. package/dist/src/data/transformers/match.js.map +0 -1
  488. package/dist/src/data/transformers/performance-stats.js +0 -38
  489. package/dist/src/data/transformers/performance-stats.js.map +0 -1
  490. package/dist/src/data/transformers/player.js +0 -101
  491. package/dist/src/data/transformers/player.js.map +0 -1
  492. package/dist/src/data/transformers/rally-position.js +0 -21
  493. package/dist/src/data/transformers/rally-position.js.map +0 -1
  494. package/dist/src/data/transformers/rally.d.ts +0 -7
  495. package/dist/src/data/transformers/rally.js +0 -102
  496. package/dist/src/data/transformers/rally.js.map +0 -1
  497. package/dist/src/data/transformers/reception.js +0 -87
  498. package/dist/src/data/transformers/reception.js.map +0 -1
  499. package/dist/src/data/transformers/role.js +0 -28
  500. package/dist/src/data/transformers/role.js.map +0 -1
  501. package/dist/src/data/transformers/score.js +0 -39
  502. package/dist/src/data/transformers/score.js.map +0 -1
  503. package/dist/src/data/transformers/season.js +0 -37
  504. package/dist/src/data/transformers/season.js.map +0 -1
  505. package/dist/src/data/transformers/serve.js +0 -89
  506. package/dist/src/data/transformers/serve.js.map +0 -1
  507. package/dist/src/data/transformers/set.js +0 -87
  508. package/dist/src/data/transformers/set.js.map +0 -1
  509. package/dist/src/data/transformers/spike.js +0 -91
  510. package/dist/src/data/transformers/spike.js.map +0 -1
  511. package/dist/src/data/transformers/substitution.js +0 -38
  512. package/dist/src/data/transformers/substitution.js.map +0 -1
  513. package/dist/src/data/transformers/team.js +0 -41
  514. package/dist/src/data/transformers/team.js.map +0 -1
  515. package/dist/src/data/transformers/trait.js +0 -33
  516. package/dist/src/data/transformers/trait.js.map +0 -1
  517. package/dist/src/index.d.ts +0 -3
  518. package/dist/src/index.js +0 -22
  519. package/dist/src/index.js.map +0 -1
  520. package/dist/src/routing/events.js +0 -3
  521. package/dist/src/routing/events.js.map +0 -1
  522. package/dist/src/routing/index.d.ts +0 -5
  523. package/dist/src/routing/index.js +0 -22
  524. package/dist/src/routing/index.js.map +0 -1
  525. package/dist/src/routing/league.js +0 -3
  526. package/dist/src/routing/league.js.map +0 -1
  527. package/dist/src/routing/match.js +0 -3
  528. package/dist/src/routing/match.js.map +0 -1
  529. package/dist/src/routing/player.js +0 -13
  530. package/dist/src/routing/player.js.map +0 -1
  531. package/dist/src/routing/team.js +0 -3
  532. package/dist/src/routing/team.js.map +0 -1
  533. package/dist/src/service/coach/__stubs__/index.js +0 -47
  534. package/dist/src/service/coach/__stubs__/index.js.map +0 -1
  535. package/dist/src/service/coach/coach.js +0 -16
  536. package/dist/src/service/coach/coach.js.map +0 -1
  537. package/dist/src/service/coach/coach.test.js +0 -12
  538. package/dist/src/service/coach/coach.test.js.map +0 -1
  539. package/dist/src/service/coach/formation.js +0 -127
  540. package/dist/src/service/coach/formation.js.map +0 -1
  541. package/dist/src/service/coach/formation.test.js +0 -11
  542. package/dist/src/service/coach/formation.test.js.map +0 -1
  543. package/dist/src/service/coach/index.d.ts +0 -2
  544. package/dist/src/service/coach/index.js +0 -19
  545. package/dist/src/service/coach/index.js.map +0 -1
  546. package/dist/src/service/country/__stubs__/index.js +0 -16
  547. package/dist/src/service/country/__stubs__/index.js.map +0 -1
  548. package/dist/src/service/country/country.js +0 -14
  549. package/dist/src/service/country/country.js.map +0 -1
  550. package/dist/src/service/country/country.test.js +0 -12
  551. package/dist/src/service/country/country.test.js.map +0 -1
  552. package/dist/src/service/country/index.d.ts +0 -1
  553. package/dist/src/service/country/index.js +0 -18
  554. package/dist/src/service/country/index.js.map +0 -1
  555. package/dist/src/service/event/__stubs__/index.js +0 -28
  556. package/dist/src/service/event/__stubs__/index.js.map +0 -1
  557. package/dist/src/service/event/block.js +0 -56
  558. package/dist/src/service/event/block.js.map +0 -1
  559. package/dist/src/service/event/block.test.js +0 -99
  560. package/dist/src/service/event/block.test.js.map +0 -1
  561. package/dist/src/service/event/in-play-event.js +0 -28
  562. package/dist/src/service/event/in-play-event.js.map +0 -1
  563. package/dist/src/service/event/libero-replacement.js +0 -18
  564. package/dist/src/service/event/libero-replacement.js.map +0 -1
  565. package/dist/src/service/event/libero-replacement.test.js +0 -37
  566. package/dist/src/service/event/libero-replacement.test.js.map +0 -1
  567. package/dist/src/service/event/rally-event.js +0 -24
  568. package/dist/src/service/event/rally-event.js.map +0 -1
  569. package/dist/src/service/event/reception.js +0 -31
  570. package/dist/src/service/event/reception.js.map +0 -1
  571. package/dist/src/service/event/reception.test.js +0 -50
  572. package/dist/src/service/event/reception.test.js.map +0 -1
  573. package/dist/src/service/event/score.js +0 -15
  574. package/dist/src/service/event/score.js.map +0 -1
  575. package/dist/src/service/event/score.test.js +0 -29
  576. package/dist/src/service/event/score.test.js.map +0 -1
  577. package/dist/src/service/event/serve.js +0 -32
  578. package/dist/src/service/event/serve.js.map +0 -1
  579. package/dist/src/service/event/serve.test.js +0 -50
  580. package/dist/src/service/event/serve.test.js.map +0 -1
  581. package/dist/src/service/event/set.js +0 -31
  582. package/dist/src/service/event/set.js.map +0 -1
  583. package/dist/src/service/event/set.test.js +0 -50
  584. package/dist/src/service/event/set.test.js.map +0 -1
  585. package/dist/src/service/event/spike.js +0 -37
  586. package/dist/src/service/event/spike.js.map +0 -1
  587. package/dist/src/service/event/spike.test.js +0 -64
  588. package/dist/src/service/event/spike.test.js.map +0 -1
  589. package/dist/src/service/event/substitution.js +0 -12
  590. package/dist/src/service/event/substitution.js.map +0 -1
  591. package/dist/src/service/index.d.ts +0 -17
  592. package/dist/src/service/index.js +0 -34
  593. package/dist/src/service/index.js.map +0 -1
  594. package/dist/src/service/league/index.d.ts +0 -3
  595. package/dist/src/service/league/index.js +0 -20
  596. package/dist/src/service/league/index.js.map +0 -1
  597. package/dist/src/service/league/league.js +0 -88
  598. package/dist/src/service/league/league.js.map +0 -1
  599. package/dist/src/service/league/season.js +0 -27
  600. package/dist/src/service/league/season.js.map +0 -1
  601. package/dist/src/service/league/standing.js +0 -81
  602. package/dist/src/service/league/standing.js.map +0 -1
  603. package/dist/src/service/main.d.ts +0 -1
  604. package/dist/src/service/main.js +0 -56
  605. package/dist/src/service/main.js.map +0 -1
  606. package/dist/src/service/match/__stubs__/index.js +0 -117
  607. package/dist/src/service/match/__stubs__/index.js.map +0 -1
  608. package/dist/src/service/match/court-position.js +0 -57
  609. package/dist/src/service/match/court-position.js.map +0 -1
  610. package/dist/src/service/match/court-position.test.js +0 -70
  611. package/dist/src/service/match/court-position.test.js.map +0 -1
  612. package/dist/src/service/match/court-target.js +0 -43
  613. package/dist/src/service/match/court-target.js.map +0 -1
  614. package/dist/src/service/match/court-target.test.js +0 -38
  615. package/dist/src/service/match/court-target.test.js.map +0 -1
  616. package/dist/src/service/match/index.d.ts +0 -6
  617. package/dist/src/service/match/index.js +0 -23
  618. package/dist/src/service/match/index.js.map +0 -1
  619. package/dist/src/service/match/match-set.js +0 -90
  620. package/dist/src/service/match/match-set.js.map +0 -1
  621. package/dist/src/service/match/match-set.test.js +0 -153
  622. package/dist/src/service/match/match-set.test.js.map +0 -1
  623. package/dist/src/service/match/match-team.js +0 -21
  624. package/dist/src/service/match/match-team.js.map +0 -1
  625. package/dist/src/service/match/match-team.test.js +0 -17
  626. package/dist/src/service/match/match-team.test.js.map +0 -1
  627. package/dist/src/service/match/match.js +0 -43
  628. package/dist/src/service/match/match.js.map +0 -1
  629. package/dist/src/service/match/match.test.js +0 -73
  630. package/dist/src/service/match/match.test.js.map +0 -1
  631. package/dist/src/service/match/rally.js +0 -52
  632. package/dist/src/service/match/rally.js.map +0 -1
  633. package/dist/src/service/match/rally.test.js +0 -91
  634. package/dist/src/service/match/rally.test.js.map +0 -1
  635. package/dist/src/service/player/__stubs__/index.js +0 -1426
  636. package/dist/src/service/player/__stubs__/index.js.map +0 -1
  637. package/dist/src/service/player/index.d.ts +0 -5
  638. package/dist/src/service/player/index.js +0 -22
  639. package/dist/src/service/player/index.js.map +0 -1
  640. package/dist/src/service/player/performance-stats.js +0 -24
  641. package/dist/src/service/player/performance-stats.js.map +0 -1
  642. package/dist/src/service/player/performance-stats.test.js +0 -24
  643. package/dist/src/service/player/performance-stats.test.js.map +0 -1
  644. package/dist/src/service/player/player.js +0 -62
  645. package/dist/src/service/player/player.js.map +0 -1
  646. package/dist/src/service/player/player.test.js +0 -50
  647. package/dist/src/service/player/player.test.js.map +0 -1
  648. package/dist/src/service/player/role.js +0 -35
  649. package/dist/src/service/player/role.js.map +0 -1
  650. package/dist/src/service/player/role.test.js +0 -31
  651. package/dist/src/service/player/role.test.js.map +0 -1
  652. package/dist/src/service/player/stats.js +0 -32
  653. package/dist/src/service/player/stats.js.map +0 -1
  654. package/dist/src/service/player/stats.test.js +0 -25
  655. package/dist/src/service/player/stats.test.js.map +0 -1
  656. package/dist/src/service/player/trait.js +0 -98
  657. package/dist/src/service/player/trait.js.map +0 -1
  658. package/dist/src/service/player/trait.test.js +0 -12
  659. package/dist/src/service/player/trait.test.js.map +0 -1
  660. package/dist/src/service/team/__stubs__/index.js +0 -290
  661. package/dist/src/service/team/__stubs__/index.js.map +0 -1
  662. package/dist/src/service/team/index.d.ts +0 -1
  663. package/dist/src/service/team/index.js +0 -18
  664. package/dist/src/service/team/index.js.map +0 -1
  665. package/dist/src/service/team/team.js +0 -25
  666. package/dist/src/service/team/team.js.map +0 -1
  667. package/dist/src/service/team/team.test.js +0 -29
  668. package/dist/src/service/team/team.test.js.map +0 -1
  669. package/dist/src/service/utils/enum-utils.js +0 -10
  670. package/dist/src/service/utils/enum-utils.js.map +0 -1
  671. package/dist/src/service/utils/enum-utils.test.js +0 -14
  672. package/dist/src/service/utils/enum-utils.test.js.map +0 -1
  673. package/dist/src/service/utils/index.d.ts +0 -4
  674. package/dist/src/service/utils/index.js +0 -21
  675. package/dist/src/service/utils/index.js.map +0 -1
  676. package/dist/src/service/utils/object-utils.js +0 -5
  677. package/dist/src/service/utils/object-utils.js.map +0 -1
  678. package/dist/src/service/utils/rng-utils.js +0 -42
  679. package/dist/src/service/utils/rng-utils.js.map +0 -1
  680. package/dist/src/service/utils/rng-utils.test.js +0 -32
  681. package/dist/src/service/utils/rng-utils.test.js.map +0 -1
  682. package/dist/src/service/utils/string-utils.js +0 -17
  683. package/dist/src/service/utils/string-utils.js.map +0 -1
  684. package/dist/src/service/utils/string-utils.test.js +0 -28
  685. package/dist/src/service/utils/string-utils.test.js.map +0 -1
  686. package/dist/src/service/utils/testing-utils.js +0 -3
  687. package/dist/src/service/utils/testing-utils.js.map +0 -1
  688. package/src/data/index.ts +0 -2
  689. package/src/data/models/block.ts +0 -159
  690. package/src/data/models/coach.ts +0 -94
  691. package/src/data/models/country.ts +0 -105
  692. package/src/data/models/event.ts +0 -83
  693. package/src/data/models/index.ts +0 -22
  694. package/src/data/models/league.ts +0 -90
  695. package/src/data/models/libero-replacement.ts +0 -104
  696. package/src/data/models/match-set-stats.ts +0 -204
  697. package/src/data/models/match-set.ts +0 -152
  698. package/src/data/models/match.ts +0 -106
  699. package/src/data/models/performance-stats.ts +0 -136
  700. package/src/data/models/player.ts +0 -370
  701. package/src/data/models/rally-position.ts +0 -79
  702. package/src/data/models/rally.ts +0 -229
  703. package/src/data/models/reception.ts +0 -113
  704. package/src/data/models/score.ts +0 -99
  705. package/src/data/models/season-teams.ts +0 -67
  706. package/src/data/models/season.ts +0 -103
  707. package/src/data/models/serve.ts +0 -113
  708. package/src/data/models/set.ts +0 -113
  709. package/src/data/models/spike.ts +0 -113
  710. package/src/data/models/substitution.ts +0 -98
  711. package/src/data/models/team.ts +0 -193
  712. package/src/data/transformers/block.ts +0 -117
  713. package/src/data/transformers/coach.ts +0 -33
  714. package/src/data/transformers/country.ts +0 -23
  715. package/src/data/transformers/court-position.ts +0 -43
  716. package/src/data/transformers/court-target.ts +0 -58
  717. package/src/data/transformers/event-type.ts +0 -35
  718. package/src/data/transformers/formation.ts +0 -16
  719. package/src/data/transformers/index.ts +0 -27
  720. package/src/data/transformers/league.ts +0 -26
  721. package/src/data/transformers/libero-replacement.ts +0 -62
  722. package/src/data/transformers/match-set-stats.ts +0 -101
  723. package/src/data/transformers/match-set.ts +0 -59
  724. package/src/data/transformers/match.ts +0 -48
  725. package/src/data/transformers/performance-stats.ts +0 -40
  726. package/src/data/transformers/player.ts +0 -109
  727. package/src/data/transformers/rally-position.ts +0 -24
  728. package/src/data/transformers/rally.ts +0 -139
  729. package/src/data/transformers/reception.ts +0 -98
  730. package/src/data/transformers/role.ts +0 -31
  731. package/src/data/transformers/score.ts +0 -43
  732. package/src/data/transformers/season.ts +0 -42
  733. package/src/data/transformers/serve.ts +0 -100
  734. package/src/data/transformers/set.ts +0 -98
  735. package/src/data/transformers/spike.ts +0 -102
  736. package/src/data/transformers/substitution.ts +0 -42
  737. package/src/data/transformers/team.ts +0 -45
  738. package/src/data/transformers/trait.ts +0 -37
  739. package/src/index.ts +0 -7
  740. package/src/routing/events.ts +0 -60
  741. package/src/routing/index.ts +0 -5
  742. package/src/routing/league.ts +0 -15
  743. package/src/routing/match.ts +0 -52
  744. package/src/routing/player.ts +0 -24
  745. package/src/routing/team.ts +0 -14
  746. package/src/service/coach/__stubs__/index.ts +0 -46
  747. package/src/service/coach/coach.test.ts +0 -10
  748. package/src/service/coach/coach.ts +0 -30
  749. package/src/service/coach/formation.test.ts +0 -10
  750. package/src/service/coach/formation.ts +0 -160
  751. package/src/service/coach/index.ts +0 -2
  752. package/src/service/country/__stubs__/index.ts +0 -13
  753. package/src/service/country/country.test.ts +0 -10
  754. package/src/service/country/country.ts +0 -23
  755. package/src/service/country/index.ts +0 -1
  756. package/src/service/event/__stubs__/index.ts +0 -25
  757. package/src/service/event/block.test.ts +0 -100
  758. package/src/service/event/block.ts +0 -69
  759. package/src/service/event/in-play-event.ts +0 -37
  760. package/src/service/event/libero-replacement.test.ts +0 -37
  761. package/src/service/event/libero-replacement.ts +0 -25
  762. package/src/service/event/rally-event.ts +0 -33
  763. package/src/service/event/reception.test.ts +0 -50
  764. package/src/service/event/reception.ts +0 -38
  765. package/src/service/event/score.test.ts +0 -29
  766. package/src/service/event/score.ts +0 -22
  767. package/src/service/event/serve.test.ts +0 -50
  768. package/src/service/event/serve.ts +0 -39
  769. package/src/service/event/set.test.ts +0 -50
  770. package/src/service/event/set.ts +0 -38
  771. package/src/service/event/spike.test.ts +0 -64
  772. package/src/service/event/spike.ts +0 -46
  773. package/src/service/event/substitution.ts +0 -16
  774. package/src/service/index.ts +0 -17
  775. package/src/service/league/index.ts +0 -3
  776. package/src/service/league/league.ts +0 -112
  777. package/src/service/league/season.ts +0 -41
  778. package/src/service/league/standing.ts +0 -82
  779. package/src/service/main.ts +0 -52
  780. package/src/service/match/__stubs__/index.ts +0 -119
  781. package/src/service/match/court-position.test.ts +0 -73
  782. package/src/service/match/court-position.ts +0 -46
  783. package/src/service/match/court-target.test.ts +0 -39
  784. package/src/service/match/court-target.ts +0 -30
  785. package/src/service/match/index.ts +0 -6
  786. package/src/service/match/match-set.test.ts +0 -174
  787. package/src/service/match/match-set.ts +0 -140
  788. package/src/service/match/match-team.test.ts +0 -16
  789. package/src/service/match/match-team.ts +0 -13
  790. package/src/service/match/match.test.ts +0 -80
  791. package/src/service/match/match.ts +0 -63
  792. package/src/service/match/rally.test.ts +0 -94
  793. package/src/service/match/rally.ts +0 -79
  794. package/src/service/player/__stubs__/index.ts +0 -1433
  795. package/src/service/player/index.ts +0 -5
  796. package/src/service/player/performance-stats.test.ts +0 -24
  797. package/src/service/player/performance-stats.ts +0 -47
  798. package/src/service/player/player.test.ts +0 -51
  799. package/src/service/player/player.ts +0 -101
  800. package/src/service/player/role.test.ts +0 -29
  801. package/src/service/player/role.ts +0 -33
  802. package/src/service/player/stats.test.ts +0 -23
  803. package/src/service/player/stats.ts +0 -29
  804. package/src/service/player/trait.test.ts +0 -10
  805. package/src/service/player/trait.ts +0 -124
  806. package/src/service/team/__stubs__/index.ts +0 -290
  807. package/src/service/team/index.ts +0 -1
  808. package/src/service/team/team.test.ts +0 -30
  809. package/src/service/team/team.ts +0 -45
  810. package/src/service/utils/enum-utils.test.ts +0 -10
  811. package/src/service/utils/enum-utils.ts +0 -6
  812. package/src/service/utils/index.ts +0 -4
  813. package/src/service/utils/object-utils.ts +0 -1
  814. package/src/service/utils/rng-utils.test.ts +0 -32
  815. package/src/service/utils/rng-utils.ts +0 -41
  816. package/src/service/utils/string-utils.test.ts +0 -28
  817. package/src/service/utils/string-utils.ts +0 -13
  818. package/src/service/utils/testing-utils.ts +0 -2
  819. /package/dist/{data/formula → cjs/data}/event.formula.json +0 -0
  820. /package/dist/{data/formula → cjs/data}/role.formula.json +0 -0
  821. /package/dist/{data/formula → cjs/data}/stat.formula.json +0 -0
  822. /package/dist/{src → cjs/src}/data/models/block.d.ts +0 -0
  823. /package/dist/{src → cjs/src}/data/models/coach.d.ts +0 -0
  824. /package/dist/{src → cjs/src}/data/models/country.d.ts +0 -0
  825. /package/dist/{src → cjs/src}/data/models/event.d.ts +0 -0
  826. /package/dist/{src → cjs/src}/data/models/league.d.ts +0 -0
  827. /package/dist/{src → cjs/src}/data/models/libero-replacement.d.ts +0 -0
  828. /package/dist/{src → cjs/src}/data/models/match-set-stats.d.ts +0 -0
  829. /package/dist/{src → cjs/src}/data/models/match-set.d.ts +0 -0
  830. /package/dist/{src → cjs/src}/data/models/match.d.ts +0 -0
  831. /package/dist/{src → cjs/src}/data/models/performance-stats.d.ts +0 -0
  832. /package/dist/{src → cjs/src}/data/models/rally-position.d.ts +0 -0
  833. /package/dist/{src → cjs/src}/data/models/rally.d.ts +0 -0
  834. /package/dist/{src → cjs/src}/data/models/reception.d.ts +0 -0
  835. /package/dist/{src → cjs/src}/data/models/score.d.ts +0 -0
  836. /package/dist/{src → cjs/src}/data/models/season-teams.d.ts +0 -0
  837. /package/dist/{src → cjs/src}/data/models/season.d.ts +0 -0
  838. /package/dist/{src → cjs/src}/data/models/serve.d.ts +0 -0
  839. /package/dist/{src → cjs/src}/data/models/set.d.ts +0 -0
  840. /package/dist/{src → cjs/src}/data/models/spike.d.ts +0 -0
  841. /package/dist/{src → cjs/src}/data/models/substitution.d.ts +0 -0
  842. /package/dist/{src → cjs/src}/data/models/team.d.ts +0 -0
  843. /package/dist/{src → cjs/src}/data/transformers/block.d.ts +0 -0
  844. /package/dist/{src → cjs/src}/data/transformers/coach.d.ts +0 -0
  845. /package/dist/{src → cjs/src}/data/transformers/country.d.ts +0 -0
  846. /package/dist/{src → cjs/src}/data/transformers/court-position.d.ts +0 -0
  847. /package/dist/{src → cjs/src}/data/transformers/court-target.d.ts +0 -0
  848. /package/dist/{src → cjs/src}/data/transformers/event-type.d.ts +0 -0
  849. /package/dist/{src → cjs/src}/data/transformers/formation.d.ts +0 -0
  850. /package/dist/{src → cjs/src}/data/transformers/league.d.ts +0 -0
  851. /package/dist/{src → cjs/src}/data/transformers/libero-replacement.d.ts +0 -0
  852. /package/dist/{src → cjs/src}/data/transformers/match-set-stats.d.ts +0 -0
  853. /package/dist/{src → cjs/src}/data/transformers/match-set.d.ts +0 -0
  854. /package/dist/{src → cjs/src}/data/transformers/match.d.ts +0 -0
  855. /package/dist/{src → cjs/src}/data/transformers/performance-stats.d.ts +0 -0
  856. /package/dist/{src → cjs/src}/data/transformers/player.d.ts +0 -0
  857. /package/dist/{src → cjs/src}/data/transformers/rally-position.d.ts +0 -0
  858. /package/dist/{src → cjs/src}/data/transformers/reception.d.ts +0 -0
  859. /package/dist/{src → cjs/src}/data/transformers/role.d.ts +0 -0
  860. /package/dist/{src → cjs/src}/data/transformers/score.d.ts +0 -0
  861. /package/dist/{src → cjs/src}/data/transformers/season.d.ts +0 -0
  862. /package/dist/{src → cjs/src}/data/transformers/serve.d.ts +0 -0
  863. /package/dist/{src → cjs/src}/data/transformers/set.d.ts +0 -0
  864. /package/dist/{src → cjs/src}/data/transformers/spike.d.ts +0 -0
  865. /package/dist/{src → cjs/src}/data/transformers/substitution.d.ts +0 -0
  866. /package/dist/{src → cjs/src}/data/transformers/team.d.ts +0 -0
  867. /package/dist/{src → cjs/src}/data/transformers/trait.d.ts +0 -0
  868. /package/dist/{src → cjs/src}/routing/events.d.ts +0 -0
  869. /package/dist/{src → cjs/src}/routing/league.d.ts +0 -0
  870. /package/dist/{src → cjs/src}/routing/match.d.ts +0 -0
  871. /package/dist/{src → cjs/src}/routing/player.d.ts +0 -0
  872. /package/dist/{src → cjs/src}/routing/team.d.ts +0 -0
  873. /package/dist/{src → cjs/src}/service/coach/__stubs__/index.d.ts +0 -0
  874. /package/dist/{src → cjs/src}/service/coach/coach.d.ts +0 -0
  875. /package/dist/{src → cjs/src}/service/coach/coach.test.d.ts +0 -0
  876. /package/dist/{src → cjs/src}/service/coach/formation.d.ts +0 -0
  877. /package/dist/{src → cjs/src}/service/coach/formation.test.d.ts +0 -0
  878. /package/dist/{src → cjs/src}/service/country/__stubs__/index.d.ts +0 -0
  879. /package/dist/{src → cjs/src}/service/country/country.d.ts +0 -0
  880. /package/dist/{src → cjs/src}/service/country/country.test.d.ts +0 -0
  881. /package/dist/{src → cjs/src}/service/event/__stubs__/index.d.ts +0 -0
  882. /package/dist/{src → cjs/src}/service/event/block.d.ts +0 -0
  883. /package/dist/{src → cjs/src}/service/event/block.test.d.ts +0 -0
  884. /package/dist/{src → cjs/src}/service/event/in-play-event.d.ts +0 -0
  885. /package/dist/{src → cjs/src}/service/event/libero-replacement.d.ts +0 -0
  886. /package/dist/{src → cjs/src}/service/event/libero-replacement.test.d.ts +0 -0
  887. /package/dist/{src → cjs/src}/service/event/rally-event.d.ts +0 -0
  888. /package/dist/{src → cjs/src}/service/event/reception.d.ts +0 -0
  889. /package/dist/{src → cjs/src}/service/event/reception.test.d.ts +0 -0
  890. /package/dist/{src → cjs/src}/service/event/score.d.ts +0 -0
  891. /package/dist/{src → cjs/src}/service/event/score.test.d.ts +0 -0
  892. /package/dist/{src → cjs/src}/service/event/serve.d.ts +0 -0
  893. /package/dist/{src → cjs/src}/service/event/serve.test.d.ts +0 -0
  894. /package/dist/{src → cjs/src}/service/event/set.d.ts +0 -0
  895. /package/dist/{src → cjs/src}/service/event/set.test.d.ts +0 -0
  896. /package/dist/{src → cjs/src}/service/event/spike.d.ts +0 -0
  897. /package/dist/{src → cjs/src}/service/event/spike.test.d.ts +0 -0
  898. /package/dist/{src → cjs/src}/service/event/substitution.d.ts +0 -0
  899. /package/dist/{src → cjs/src}/service/league/league.d.ts +0 -0
  900. /package/dist/{src → cjs/src}/service/league/season.d.ts +0 -0
  901. /package/dist/{src → cjs/src}/service/league/standing.d.ts +0 -0
  902. /package/dist/{src → cjs/src}/service/match/__stubs__/index.d.ts +0 -0
  903. /package/dist/{src → cjs/src}/service/match/court-position.d.ts +0 -0
  904. /package/dist/{src → cjs/src}/service/match/court-position.test.d.ts +0 -0
  905. /package/dist/{src → cjs/src}/service/match/court-target.d.ts +0 -0
  906. /package/dist/{src → cjs/src}/service/match/court-target.test.d.ts +0 -0
  907. /package/dist/{src → cjs/src}/service/match/match-set.d.ts +0 -0
  908. /package/dist/{src → cjs/src}/service/match/match-set.test.d.ts +0 -0
  909. /package/dist/{src → cjs/src}/service/match/match-team.d.ts +0 -0
  910. /package/dist/{src → cjs/src}/service/match/match-team.test.d.ts +0 -0
  911. /package/dist/{src → cjs/src}/service/match/match.d.ts +0 -0
  912. /package/dist/{src → cjs/src}/service/match/match.test.d.ts +0 -0
  913. /package/dist/{src → cjs/src}/service/match/rally.d.ts +0 -0
  914. /package/dist/{src → cjs/src}/service/match/rally.test.d.ts +0 -0
  915. /package/dist/{src → cjs/src}/service/player/__stubs__/index.d.ts +0 -0
  916. /package/dist/{src → cjs/src}/service/player/performance-stats.d.ts +0 -0
  917. /package/dist/{src → cjs/src}/service/player/performance-stats.test.d.ts +0 -0
  918. /package/dist/{src → cjs/src}/service/player/player.d.ts +0 -0
  919. /package/dist/{src → cjs/src}/service/player/player.test.d.ts +0 -0
  920. /package/dist/{src → cjs/src}/service/player/role.d.ts +0 -0
  921. /package/dist/{src → cjs/src}/service/player/role.test.d.ts +0 -0
  922. /package/dist/{src → cjs/src}/service/player/stats.d.ts +0 -0
  923. /package/dist/{src → cjs/src}/service/player/stats.test.d.ts +0 -0
  924. /package/dist/{src → cjs/src}/service/player/trait.d.ts +0 -0
  925. /package/dist/{src → cjs/src}/service/player/trait.test.d.ts +0 -0
  926. /package/dist/{src → cjs/src}/service/team/__stubs__/index.d.ts +0 -0
  927. /package/dist/{src → cjs/src}/service/team/team.d.ts +0 -0
  928. /package/dist/{src → cjs/src}/service/team/team.test.d.ts +0 -0
  929. /package/dist/{src → cjs/src}/service/utils/enum-utils.d.ts +0 -0
  930. /package/dist/{src → cjs/src}/service/utils/enum-utils.test.d.ts +0 -0
  931. /package/dist/{src → cjs/src}/service/utils/object-utils.d.ts +0 -0
  932. /package/dist/{src → cjs/src}/service/utils/rng-utils.d.ts +0 -0
  933. /package/dist/{src → cjs/src}/service/utils/rng-utils.test.d.ts +0 -0
  934. /package/dist/{src → cjs/src}/service/utils/string-utils.d.ts +0 -0
  935. /package/dist/{src → cjs/src}/service/utils/string-utils.test.d.ts +0 -0
  936. /package/dist/{src → cjs/src}/service/utils/testing-utils.d.ts +0 -0
@@ -1,119 +0,0 @@
1
- import { Rally } from '../rally'
2
- import { MatchSet } from '../match-set'
3
- import { MatchTeam } from '../match-team'
4
- import { team } from '../../team/__stubs__'
5
- import { libero, rosters } from '../../player/__stubs__'
6
- import { Match } from '../match'
7
- import { Team } from '../../team'
8
- import { coaches } from '../../coach/__stubs__'
9
- import { country } from '../../country/__stubs__'
10
-
11
- export const newRally: Rally = new Rally({
12
- servingTeam: team,
13
- events: [],
14
- order: 1,
15
- id: '0ac3ba3a-d710-42dc-a1e7-7066b8df5fd9',
16
- homePlayerPosition: [],
17
- awayPlayerPosition: []
18
- })
19
-
20
- export const newSet: MatchSet = new MatchSet({
21
- id: 'bf337ec2-9fee-495e-8d5a-d834b307d537',
22
- stats: [],
23
- rallies: [],
24
- order: 0,
25
- homeScore: 0,
26
- awayScore: 0,
27
- isTieBreak: false,
28
- homeLibero: libero,
29
- awayLibero: libero
30
- })
31
-
32
- export const finishedSet: MatchSet = (() => {
33
- const set = new MatchSet({
34
- id: 'c959fcf6-873f-4eae-80aa-a820e25329c4',
35
- stats: [],
36
- rallies: [],
37
- order: 0,
38
- homeScore: 0,
39
- awayScore: 0,
40
- isTieBreak: false,
41
- homeLibero: libero,
42
- awayLibero: libero
43
- })
44
- set.nextState()
45
- for (let i = 0; i < 25; i++) {
46
- set.increaseScore(MatchTeam.HOME)
47
- }
48
- set.nextState()
49
- return set
50
- })()
51
- export const inProgressSet: MatchSet = (() => {
52
- const set = new MatchSet({
53
- id: 'c1095b6c-9e70-4f9d-9942-d54aaa8655d0',
54
- stats: [],
55
- rallies: [],
56
- order: 0,
57
- homeScore: 0,
58
- awayScore: 0,
59
- isTieBreak: false,
60
- homeLibero: libero,
61
- awayLibero: libero
62
- })
63
- set.nextState()
64
- for (let i = 0; i < 20; i++) {
65
- set.increaseScore(MatchTeam.AWAY)
66
- }
67
- return set
68
- })()
69
-
70
- export const teams: Team[] = [
71
- new Team({
72
- id: '334ca929-6e71-4011-a2f0-5ca4fa83dbe5',
73
- name: 'Jaloo',
74
- shortName: 'JAL',
75
- country,
76
- roster: rosters[0],
77
- coach: coaches[0]
78
- }),
79
- new Team({
80
- id: 'f244d62d-f0ec-4005-8eb2-d955b0b8b191',
81
- name: 'Fatz',
82
- shortName: 'FAT',
83
- country,
84
- roster: rosters[1],
85
- coach: coaches[1]
86
- }),
87
- new Team({
88
- id: '749a5755-5c8b-4b07-aca9-1365a26c9a2e',
89
- name: 'Tagtune',
90
- shortName: 'TAG',
91
- country,
92
- roster: rosters[2],
93
- coach: coaches[2]
94
- }),
95
- new Team({
96
- id: 'd3dd532d-4898-44a3-853f-25f6fbdb3534',
97
- name: 'Gigabox',
98
- shortName: 'GIG',
99
- country,
100
- roster: rosters[3],
101
- coach: coaches[3]
102
- })
103
- ]
104
-
105
- export const match: Match = new Match({
106
- id: '59aa2ea0-cf71-4081-b817-48dfdd454841',
107
- homeTeam: teams[0],
108
- awayTeam: teams[1],
109
- sets: [],
110
- scheduledDate: new Date('2023-07-26T21:48:12.273Z')
111
- })
112
-
113
- export const match2: Match = new Match({
114
- id: 'dfd87bdc-20c2-4383-92ea-b5c36a8ba7aa',
115
- homeTeam: teams[2],
116
- awayTeam: teams[3],
117
- sets: [],
118
- scheduledDate: new Date('2023-07-26T21:48:12.273Z')
119
- })
@@ -1,73 +0,0 @@
1
- import { describe, expect, test } from '@jest/globals'
2
- import { CourtPosition, CourtRow } from './court-position'
3
-
4
- describe('CourtPosition Test Module', () => {
5
- const positions: CourtPosition[] = [CourtPosition.LEFT_BACK, CourtPosition.MIDDLE_BACK, CourtPosition.RIGHT_BACK,
6
- CourtPosition.LEFT_FRONT, CourtPosition.MIDDLE_FRONT, CourtPosition.RIGHT_FRONT]
7
-
8
- // getPositions Tests
9
- test('Should get all positions', () => {
10
- expect(CourtPosition.getPositions()).toEqual(positions)
11
- })
12
- // rotatePosition Tests
13
- test('Should return correct positions for rotation', () => {
14
- expect(CourtPosition.rotatePosition(1)).toEqual(CourtPosition.MIDDLE_BACK)
15
- expect(CourtPosition.rotatePosition(2)).toEqual(CourtPosition.RIGHT_BACK)
16
- expect(CourtPosition.rotatePosition(3)).toEqual(CourtPosition.RIGHT_FRONT)
17
- expect(CourtPosition.rotatePosition(4)).toEqual(CourtPosition.MIDDLE_FRONT)
18
- expect(CourtPosition.rotatePosition(5)).toEqual(CourtPosition.LEFT_FRONT)
19
- expect(CourtPosition.rotatePosition(6)).toEqual(CourtPosition.LEFT_BACK)
20
- })
21
- test('Should throw Error when rotating an invalid position', () => {
22
- function rotate (): void { CourtPosition.rotatePosition(0) }
23
-
24
- expect(rotate).toThrow(/^POSITION_INDEX_OUT_OF_BOUNDS$/)
25
- })
26
- // isFrontRow Tests
27
- test('Should return true for front-row positions', () => {
28
- expect(CourtPosition.isFrontRow(CourtPosition.LEFT_FRONT)).toEqual(true)
29
- expect(CourtPosition.isFrontRow(CourtPosition.MIDDLE_FRONT)).toEqual(true)
30
- expect(CourtPosition.isFrontRow(CourtPosition.RIGHT_FRONT)).toEqual(true)
31
- })
32
- test('Should return false for back-row positions', () => {
33
- expect(CourtPosition.isFrontRow(CourtPosition.LEFT_BACK)).toEqual(false)
34
- expect(CourtPosition.isFrontRow(CourtPosition.MIDDLE_BACK)).toEqual(false)
35
- expect(CourtPosition.isFrontRow(CourtPosition.RIGHT_BACK)).toEqual(false)
36
- })
37
- test('Should throw Error providing an invalid position', () => {
38
- function front (): void { CourtPosition.isFrontRow(0) }
39
-
40
- expect(front).toThrow(/^POSITION_INDEX_OUT_OF_BOUNDS$/)
41
- })
42
- // isBackRow Tests
43
- test('Should return true for back-row positions', () => {
44
- expect(CourtPosition.isBackRow(CourtPosition.LEFT_BACK)).toEqual(true)
45
- expect(CourtPosition.isBackRow(CourtPosition.MIDDLE_BACK)).toEqual(true)
46
- expect(CourtPosition.isBackRow(CourtPosition.RIGHT_BACK)).toEqual(true)
47
- })
48
- test('Should return false for front-row positions', () => {
49
- expect(CourtPosition.isBackRow(CourtPosition.LEFT_FRONT)).toEqual(false)
50
- expect(CourtPosition.isBackRow(CourtPosition.MIDDLE_FRONT)).toEqual(false)
51
- expect(CourtPosition.isBackRow(CourtPosition.RIGHT_FRONT)).toEqual(false)
52
- })
53
- test('Should throw Error providing an invalid position', () => {
54
- function back (): void { CourtPosition.isBackRow(0) }
55
-
56
- expect(back).toThrow(/^POSITION_INDEX_OUT_OF_BOUNDS: 0$/)
57
- })
58
- // getRow Tests
59
- test('Should get all front-row positions', () => {
60
- expect(CourtPosition.getRow(CourtRow.FRONT))
61
- .toEqual([CourtPosition.LEFT_FRONT, CourtPosition.MIDDLE_FRONT, CourtPosition.RIGHT_FRONT])
62
- })
63
- test('Should get all back-row positions', () => {
64
- expect(CourtPosition.getRow(CourtRow.BACK))
65
- .toEqual([CourtPosition.LEFT_BACK, CourtPosition.MIDDLE_BACK, CourtPosition.RIGHT_BACK])
66
- })
67
- test('Should throw Error providing an invalid row', () => {
68
- // @ts-expect-error
69
- function row (): void { CourtPosition.getRow(CourtRow.FAKE) }
70
-
71
- expect(row).toThrow(/^INVALID_ROW: undefined$/)
72
- })
73
- })
@@ -1,46 +0,0 @@
1
- export enum CourtRow {
2
- BACK = 'BACK_ROW',
3
- FRONT = 'FRONT_ROW'
4
- }
5
-
6
- export enum CourtPosition {
7
- NOT_IN_COURT = -1, LIBERO_ZONE = 0,
8
- // -----------------------------------------------------
9
- LEFT_FRONT = 4, MIDDLE_FRONT = 3, RIGHT_FRONT = 2,
10
- LEFT_BACK = 5, MIDDLE_BACK = 6, RIGHT_BACK = 1
11
- }
12
-
13
- // eslint-disable-next-line @typescript-eslint/no-namespace
14
- export namespace CourtPosition {
15
- const FRONT_ROW = [CourtPosition.LEFT_FRONT, CourtPosition.MIDDLE_FRONT, CourtPosition.RIGHT_FRONT]
16
- const BACK_ROW = [CourtPosition.LEFT_BACK, CourtPosition.MIDDLE_BACK, CourtPosition.RIGHT_BACK]
17
-
18
- export function getPositions (): CourtPosition[] {
19
- return [...BACK_ROW, ...FRONT_ROW]
20
- }
21
-
22
- export function rotatePosition (position: number): CourtPosition {
23
- if (position < 1 || position > 6) throw new Error('POSITION_INDEX_OUT_OF_BOUNDS')
24
-
25
- if (position > CourtPosition.RIGHT_BACK) return position - 1
26
- else return CourtPosition.MIDDLE_BACK
27
- }
28
-
29
- export function isFrontRow (position: number): boolean {
30
- if (position < 1 || position > 6) throw new Error('POSITION_INDEX_OUT_OF_BOUNDS')
31
-
32
- return FRONT_ROW.includes(position)
33
- }
34
-
35
- export function isBackRow (position: number): boolean {
36
- if (position < 1 || position > 6) throw new Error(`POSITION_INDEX_OUT_OF_BOUNDS: ${position}`)
37
-
38
- return BACK_ROW.includes(position)
39
- }
40
-
41
- export function getRow (row: CourtRow): CourtPosition[] {
42
- if (![CourtRow.BACK, CourtRow.FRONT].includes(row)) throw new Error(`INVALID_ROW: ${row}`)
43
-
44
- return CourtRow.BACK === row ? [...BACK_ROW] : [...FRONT_ROW]
45
- }
46
- }
@@ -1,39 +0,0 @@
1
- import { describe, expect, test } from '@jest/globals'
2
- import { CourtTarget } from './court-target'
3
-
4
- describe('CourtTarget Test Module', () => {
5
- // getSidePosition Tests
6
- test('Should get correct court position', () => {
7
- for (let i = 1; i < 7; i++) {
8
- expect(CourtTarget.getSidePosition(i)).toBe(i)
9
- expect(CourtTarget.getSidePosition(i + 6)).toBe(i)
10
- }
11
- })
12
- test('Should throw Error when position is out of bounds', () => {
13
- function position (): void { CourtTarget.getSidePosition(0) }
14
-
15
- expect(position).toThrow(/^POSITION_INDEX_OUT_OF_BOUNDS$/)
16
- })
17
- // getTeamSide Tests
18
- test('Should return team positions', () => {
19
- const positions: CourtTarget[] = CourtTarget.getTeamSide()
20
-
21
- expect(positions[0]).toBe(CourtTarget.TEAM_RIGHT_BACK)
22
- expect(positions[1]).toBe(CourtTarget.TEAM_RIGHT_FRONT)
23
- expect(positions[2]).toBe(CourtTarget.TEAM_MIDDLE_FRONT)
24
- expect(positions[3]).toBe(CourtTarget.TEAM_LEFT_FRONT)
25
- expect(positions[4]).toBe(CourtTarget.TEAM_LEFT_BACK)
26
- expect(positions[5]).toBe(CourtTarget.TEAM_MIDDLE_BACK)
27
- })
28
- // getOpponentSide Tests
29
- test('Should return opponent team positions', () => {
30
- const positions: CourtTarget[] = CourtTarget.getOpponentSide()
31
-
32
- expect(positions[0]).toBe(CourtTarget.OPPONENT_RIGHT_BACK)
33
- expect(positions[1]).toBe(CourtTarget.OPPONENT_RIGHT_FRONT)
34
- expect(positions[2]).toBe(CourtTarget.OPPONENT_MIDDLE_FRONT)
35
- expect(positions[3]).toBe(CourtTarget.OPPONENT_LEFT_FRONT)
36
- expect(positions[4]).toBe(CourtTarget.OPPONENT_LEFT_BACK)
37
- expect(positions[5]).toBe(CourtTarget.OPPONENT_MIDDLE_BACK)
38
- })
39
- })
@@ -1,30 +0,0 @@
1
- import { CourtPosition } from './court-position'
2
-
3
- export enum CourtTarget {
4
- NO_TARGET = 0,
5
- OPPONENT_RIGHT_BACK = 7, OPPONENT_MIDDLE_BACK = 12, OPPONENT_LEFT_BACK = 11,
6
- OPPONENT_RIGHT_FRONT = 8, OPPONENT_MIDDLE_FRONT = 9, OPPONENT_LEFT_FRONT = 10,
7
- // --------------------------------------------------------------------------------
8
- TEAM_LEFT_FRONT = 4, TEAM_MIDDLE_FRONT = 3, TEAM_RIGHT_FRONT = 2,
9
- TEAM_LEFT_BACK = 5, TEAM_MIDDLE_BACK = 6, TEAM_RIGHT_BACK = 1,
10
- }
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-namespace
13
- export namespace CourtTarget {
14
- export function getTeamSide (): CourtTarget[] {
15
- return [CourtTarget.TEAM_RIGHT_BACK, CourtTarget.TEAM_RIGHT_FRONT, CourtTarget.TEAM_MIDDLE_FRONT,
16
- CourtTarget.TEAM_LEFT_FRONT, CourtTarget.TEAM_LEFT_BACK, CourtTarget.TEAM_MIDDLE_BACK]
17
- }
18
-
19
- export function getOpponentSide (): CourtTarget[] {
20
- return [CourtTarget.OPPONENT_RIGHT_BACK, CourtTarget.OPPONENT_RIGHT_FRONT, CourtTarget.OPPONENT_MIDDLE_FRONT,
21
- CourtTarget.OPPONENT_LEFT_FRONT, CourtTarget.OPPONENT_LEFT_BACK, CourtTarget.OPPONENT_MIDDLE_BACK]
22
- }
23
-
24
- export function getSidePosition (position: number): CourtPosition {
25
- if (position < 1 || position > 12) throw new Error('POSITION_INDEX_OUT_OF_BOUNDS')
26
-
27
- if (position > 6) return position - 6
28
- else return position
29
- }
30
- }
@@ -1,6 +0,0 @@
1
- export * from './match'
2
- export * from './match-set'
3
- export * from './rally'
4
- export * from './court-position'
5
- export * from './court-target'
6
- export * from './match-team'
@@ -1,174 +0,0 @@
1
- import { describe, expect, test } from '@jest/globals'
2
- import { MatchSet, MatchSetState } from './match-set'
3
- import { MatchTeam } from './match-team'
4
- import { newRally } from './__stubs__'
5
- import { libero } from '../player/__stubs__'
6
-
7
- describe('MatchSet Test Module', () => {
8
- let set: MatchSet
9
- let tieBreakSet: MatchSet
10
-
11
- beforeEach(() => {
12
- set = new MatchSet({
13
- id: '4a8d1149-0157-461c-afb4-8a2d9776da5a',
14
- rallies: [],
15
- stats: [],
16
- awayScore: 0,
17
- homeScore: 0,
18
- order: 0,
19
- isTieBreak: false,
20
- homeLibero: libero,
21
- awayLibero: libero
22
- })
23
- tieBreakSet = new MatchSet({
24
- id: '5fed79c1-1146-45fb-acdd-acd4eb99bda3',
25
- rallies: [],
26
- stats: [],
27
- awayScore: 0,
28
- homeScore: 0,
29
- order: 0,
30
- isTieBreak: true,
31
- homeLibero: libero,
32
- awayLibero: libero
33
- })
34
- })
35
-
36
- test('Should instantiate object properly', () => {
37
- expect(set.id).toBe('4a8d1149-0157-461c-afb4-8a2d9776da5a')
38
- expect(set.rallies.length).toBe(0)
39
- expect(set.state).toBe(0)
40
- expect(set.getHomeScore()).toBe(0)
41
- expect(set.getAwayScore()).toBe(0)
42
- })
43
- // increaseScore Tests
44
- test('Should increase score of home team', () => {
45
- set.nextState()
46
- expect(set.getHomeScore).toBe(0)
47
- set.increaseScore(MatchTeam.HOME)
48
- expect(set.getHomeScore).toBe(1)
49
- })
50
- test('Should increase score of away team', () => {
51
- set.nextState()
52
- expect(set.getAwayScore).toBe(0)
53
- set.increaseScore(MatchTeam.AWAY)
54
- expect(set.getAwayScore).toBe(1)
55
- })
56
- test('Should throw Error when trying to increase score of finished set', () => {
57
- set.nextState()
58
- for (let i = 0; i < 25; i++) set.increaseScore(MatchTeam.HOME)
59
-
60
- function fin1 (): void { set.increaseScore(MatchTeam.HOME) }
61
-
62
- function fin2 (): void { tieBreakSet.increaseScore(MatchTeam.HOME) }
63
-
64
- expect(fin1).toThrow(/^CANNOT_INCREASE_SCORE_OF_SET$/)
65
- expect(fin2).toThrow(/^CANNOT_INCREASE_SCORE_OF_SET$/)
66
- })
67
- test('Should throw Error when providing invalid team', () => {
68
- set.nextState()
69
-
70
- // @ts-expect-error
71
- function fin (): void { set.increaseScore(MatchTeam.OTHER) }
72
-
73
- expect(fin).toThrow(/^UNKNOWN_TEAM$/)
74
- })
75
- // addRally Tests
76
- test('Should rally to rally array', () => {
77
- expect(set.rallies.length).toBe(0)
78
- set.addRally(newRally)
79
- expect(set.rallies.length).toBe(1)
80
- })
81
- // isOver Tests
82
- test('Should return true for team reaching point threshold', () => {
83
- set.nextState()
84
- expect(set.isOver()).toBe(false)
85
-
86
- for (let i = 0; i < 25; i++) set.increaseScore(MatchTeam.HOME)
87
-
88
- expect(set.isOver()).toBe(true)
89
- })
90
- test('Should return true for both teams reaching point threshold and point difference greater than 1',
91
- () => {
92
- set.nextState()
93
-
94
- for (let i = 0; i < 25; i++) {
95
- set.increaseScore(MatchTeam.HOME)
96
- set.increaseScore(MatchTeam.AWAY)
97
- }
98
-
99
- expect(set.isOver()).toBe(false)
100
- set.increaseScore(MatchTeam.HOME)
101
- expect(set.isOver()).toBe(false)
102
- set.increaseScore(MatchTeam.HOME)
103
- expect(set.isOver()).toBe(true)
104
- })
105
- // nextState Tests
106
- test('Should advance to in play', () => {
107
- expect(set.state).toBe(0)
108
- set.nextState()
109
- expect(set.state).toBe(1)
110
- })
111
- test('Should throw Error if in play and set not over', () => {
112
- set.nextState()
113
-
114
- function fin (): void { set.nextState() }
115
-
116
- expect(fin).toThrow(/^CANNOT_ADVANCE_SET_STATE$/)
117
- })
118
- test('Should advance to FINISHED if set is over', () => {
119
- set.nextState()
120
-
121
- for (let i = 0; i < 25; i++) set.increaseScore(MatchTeam.HOME)
122
-
123
- set.nextState()
124
- expect(set.state).toBe(2)
125
- })
126
- test('Should throw Error when trying to transition from FINISHED state', () => {
127
- set.nextState()
128
-
129
- for (let i = 0; i < 25; i++) set.increaseScore(MatchTeam.HOME)
130
-
131
- set.nextState()
132
-
133
- function fin (): void { set.nextState() }
134
-
135
- expect(fin).toThrow(/^CANT_GET_STATE_AFTER: FINISHED$/)
136
- })
137
- // getWinner Tests
138
- test('Should throw Error when getting winner of unfinished set', () => {
139
- function fin (): void { set.getWinner() }
140
-
141
- expect(fin).toThrow(/^UNFINISHED_SET$/)
142
- })
143
- test('Should get correct set winner', () => {
144
- set.nextState()
145
-
146
- for (let i = 0; i < 25; i++) set.increaseScore(MatchTeam.HOME)
147
-
148
- expect(set.getWinner()).toBe(MatchTeam.HOME)
149
-
150
- tieBreakSet.nextState()
151
-
152
- for (let i = 0; i < 15; i++) tieBreakSet.increaseScore(MatchTeam.AWAY)
153
-
154
- expect(tieBreakSet.getWinner()).toBe(MatchTeam.AWAY)
155
- })
156
- // MatchSetState Tests
157
- test('Should get next state', () => {
158
- expect(MatchSetState.nextState(0)).toBe(1)
159
- expect(MatchSetState.nextState(1)).toBe(2)
160
- })
161
- test('Should throw Error for state outside range', () => {
162
- function fn1 (): void { MatchSetState.nextState(-1) }
163
-
164
- function fn2 (): void { MatchSetState.nextState(3) }
165
-
166
- expect(fn1).toThrow(/^STATE_INDEX_OUT_OF_BOUNDS$/)
167
- expect(fn2).toThrow(/^STATE_INDEX_OUT_OF_BOUNDS$/)
168
- })
169
- test('Should throw Error for last state', () => {
170
- function fn (): void { MatchSetState.nextState(2) }
171
-
172
- expect(fn).toThrow(/^CANT_GET_STATE_AFTER: FINISHED$/)
173
- })
174
- })
@@ -1,140 +0,0 @@
1
- import { Rally } from './rally'
2
- import { validateUUID } from '../utils'
3
- import { MatchTeam } from './match-team'
4
- import { Player } from '../player'
5
-
6
- export enum MatchSetState {
7
- NEW = 0,
8
- IN_PLAY = 1,
9
- FINISHED = 2
10
- }
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-namespace
13
- export namespace MatchSetState {
14
- export function nextState (state: number): MatchSetState {
15
- if (state < 0 || state > 2) throw new Error('STATE_INDEX_OUT_OF_BOUNDS')
16
- if (state === 2) throw new Error(`CANT_GET_STATE_AFTER: ${MatchSetState[state]}`)
17
-
18
- return state + 1
19
- }
20
- }
21
-
22
- enum ScoreThreshold {
23
- SET = 25,
24
- TIE_BREAK = 15
25
- }
26
-
27
- export interface MatchSetOpts {
28
- readonly id: string
29
- readonly order: number
30
- readonly isTieBreak: boolean
31
- readonly homeLibero: Player | undefined
32
- readonly awayLibero: Player | undefined
33
- readonly homeScore: number
34
- readonly awayScore: number
35
- readonly stats: SetStatistics[]
36
- readonly rallies: Rally[]
37
- }
38
-
39
- export interface EventStat {
40
- success: number
41
- error: number
42
- }
43
-
44
- export interface SetStatistics {
45
- player: Player
46
- ace: number
47
- attempts: number
48
- contacts: number
49
- ralliesPlayed: number
50
- serve: EventStat
51
- reception: EventStat
52
- set: EventStat
53
- attack: EventStat
54
- block: EventStat
55
- kills: number
56
- killBlocks: number
57
- assists: number
58
- }
59
-
60
- export class MatchSet {
61
- readonly id: string
62
- readonly order: number
63
- readonly isTieBreak: boolean
64
- readonly homeLibero: Player | undefined
65
- readonly awayLibero: Player | undefined
66
- private readonly scoreThreshold: ScoreThreshold
67
- private homeScore: number
68
- private awayScore: number
69
- readonly stats: SetStatistics[]
70
- readonly rallies: Rally[]
71
-
72
- constructor ({ id, order, isTieBreak, homeLibero, awayLibero, stats, rallies, homeScore, awayScore }: MatchSetOpts) {
73
- validateUUID(id)
74
-
75
- this.id = id
76
- this.order = order
77
- this.homeScore = homeScore
78
- this.awayScore = awayScore
79
- this.homeLibero = homeLibero
80
- this.awayLibero = awayLibero
81
- this.stats = stats
82
- this.rallies = rallies
83
- this.isTieBreak = isTieBreak
84
- this.scoreThreshold = isTieBreak ? ScoreThreshold.TIE_BREAK : ScoreThreshold.SET
85
- this._state = MatchSetState.NEW
86
- }
87
-
88
- public getHomeScore (): number {
89
- return this.homeScore
90
- }
91
-
92
- public getAwayScore (): number {
93
- return this.awayScore
94
- }
95
-
96
- private _state: MatchSetState
97
-
98
- get state (): MatchSetState {
99
- return this._state
100
- }
101
-
102
- public increaseScore (team: MatchTeam): void {
103
- if (this._state !== MatchSetState.IN_PLAY || this.isOver()) throw new Error('CANNOT_INCREASE_SCORE_OF_SET')
104
-
105
- if (team === MatchTeam.HOME) this.homeScore++
106
- else if (team === MatchTeam.AWAY) this.awayScore++
107
- else throw new Error('UNKNOWN_TEAM')
108
- }
109
-
110
- public addRally (rally: Rally): void {
111
- this.rallies.push(rally)
112
- }
113
-
114
- /**
115
- * Has a team reached at least 25 points and is the score difference between both teams at least 2?
116
- * @returns boolean
117
- */
118
- public isOver (): boolean {
119
- return Math.abs(this.homeScore - this.awayScore) > 1 &&
120
- (this.homeScore >= this.scoreThreshold || this.awayScore >= this.scoreThreshold)
121
- }
122
-
123
- public nextState (): void {
124
- if (this._state === 1 && !this.isOver()) {
125
- throw new Error('CANNOT_ADVANCE_SET_STATE')
126
- }
127
-
128
- this._state = MatchSetState.nextState(this._state)
129
- }
130
-
131
- /**
132
- * Get the team that won the Set. Return undefined if set is not over.
133
- * @returns CourtTeam
134
- */
135
- public getWinner (): MatchTeam {
136
- if (!this.isOver()) throw new Error('UNFINISHED_SET')
137
-
138
- return this.homeScore > this.awayScore ? MatchTeam.HOME : MatchTeam.AWAY
139
- }
140
- }
@@ -1,16 +0,0 @@
1
- import { describe, expect, test } from '@jest/globals'
2
- import { MatchTeam } from './match-team'
3
-
4
- describe('MatchTeam Test Module', () => {
5
- // otherTeam Tests
6
- test('Should return correct team string', () => {
7
- expect(MatchTeam.otherTeam(MatchTeam.AWAY)).toBe(MatchTeam.HOME)
8
- expect(MatchTeam.otherTeam(MatchTeam.HOME)).toBe(MatchTeam.AWAY)
9
- })
10
- test('Should throw Error when providing invalid MatchTeam', () => {
11
- // @ts-expect-error
12
- function team (): void { MatchTeam.otherTeam(MatchTeam.OTHER) }
13
-
14
- expect(team).toThrow(/^UNKNOWN_MATCH_TEAM$/)
15
- })
16
- })
@@ -1,13 +0,0 @@
1
- export enum MatchTeam {
2
- HOME = 'homeTeam',
3
- AWAY = 'awayTeam'
4
- }
5
-
6
- // eslint-disable-next-line @typescript-eslint/no-namespace
7
- export namespace MatchTeam {
8
- export function otherTeam (team: MatchTeam): MatchTeam {
9
- if (team === MatchTeam.HOME) return MatchTeam.AWAY
10
- else if (team === MatchTeam.AWAY) return MatchTeam.HOME
11
- else throw new Error('UNKNOWN_MATCH_TEAM')
12
- }
13
- }