@battle-racing/br-common-lib 1.0.0

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 (411) hide show
  1. package/.prettierrc +8 -0
  2. package/dist/checkpoint/Checkpoint.d.ts +10 -0
  3. package/dist/checkpoint/Checkpoint.js +2 -0
  4. package/dist/checkpoint/CheckpointType.d.ts +5 -0
  5. package/dist/checkpoint/CheckpointType.js +8 -0
  6. package/dist/checkpoint/index.d.ts +2 -0
  7. package/dist/checkpoint/index.js +18 -0
  8. package/dist/color/ColorInfo.d.ts +4 -0
  9. package/dist/color/ColorInfo.js +2 -0
  10. package/dist/color/ColorName.d.ts +1 -0
  11. package/dist/color/ColorName.js +2 -0
  12. package/dist/color/index.d.ts +2 -0
  13. package/dist/color/index.js +18 -0
  14. package/dist/command/CommandConfig.d.ts +156 -0
  15. package/dist/command/CommandConfig.js +2 -0
  16. package/dist/command/index.d.ts +1 -0
  17. package/dist/command/index.js +17 -0
  18. package/dist/damage/Damage.d.ts +14 -0
  19. package/dist/damage/Damage.js +2 -0
  20. package/dist/damage/DamageName.d.ts +1 -0
  21. package/dist/damage/DamageName.js +2 -0
  22. package/dist/damage/DamageTarget.d.ts +1 -0
  23. package/dist/damage/DamageTarget.js +2 -0
  24. package/dist/damage/index.d.ts +3 -0
  25. package/dist/damage/index.js +19 -0
  26. package/dist/flow/Flow.d.ts +7 -0
  27. package/dist/flow/Flow.js +2 -0
  28. package/dist/flow/index.d.ts +1 -0
  29. package/dist/flow/index.js +17 -0
  30. package/dist/game/Game.d.ts +36 -0
  31. package/dist/game/Game.js +14 -0
  32. package/dist/game/GameStatus.d.ts +9 -0
  33. package/dist/game/GameStatus.js +12 -0
  34. package/dist/game/GameType.d.ts +5 -0
  35. package/dist/game/GameType.js +8 -0
  36. package/dist/game/GameWarningEvent.d.ts +1 -0
  37. package/dist/game/GameWarningEvent.js +2 -0
  38. package/dist/game/KartRankingItem.d.ts +5 -0
  39. package/dist/game/KartRankingItem.js +2 -0
  40. package/dist/game/battle/Battle.d.ts +9 -0
  41. package/dist/game/battle/Battle.js +2 -0
  42. package/dist/game/battle/index.d.ts +1 -0
  43. package/dist/game/battle/index.js +17 -0
  44. package/dist/game/index.d.ts +7 -0
  45. package/dist/game/index.js +23 -0
  46. package/dist/game/race/KartProgress.d.ts +10 -0
  47. package/dist/game/race/KartProgress.js +2 -0
  48. package/dist/game/race/Race.d.ts +17 -0
  49. package/dist/game/race/Race.js +2 -0
  50. package/dist/game/race/index.d.ts +2 -0
  51. package/dist/game/race/index.js +18 -0
  52. package/dist/gameTrack/GameTrack.d.ts +12 -0
  53. package/dist/gameTrack/GameTrack.js +2 -0
  54. package/dist/gameTrack/GameTrackKartsConfig.d.ts +21 -0
  55. package/dist/gameTrack/GameTrackKartsConfig.js +2 -0
  56. package/dist/gameTrack/index.d.ts +2 -0
  57. package/dist/gameTrack/index.js +18 -0
  58. package/dist/hardware/KartEffect.d.ts +1 -0
  59. package/dist/hardware/KartEffect.js +2 -0
  60. package/dist/hardware/ModuleName.d.ts +1 -0
  61. package/dist/hardware/ModuleName.js +2 -0
  62. package/dist/hardware/ModuleStatus.d.ts +9 -0
  63. package/dist/hardware/ModuleStatus.js +2 -0
  64. package/dist/hardware/ballSensor/BallSensorCommand.d.ts +1 -0
  65. package/dist/hardware/ballSensor/BallSensorCommand.js +2 -0
  66. package/dist/hardware/ballSensor/BallSensorDiskThrowerModuleStatus.d.ts +4 -0
  67. package/dist/hardware/ballSensor/BallSensorDiskThrowerModuleStatus.js +2 -0
  68. package/dist/hardware/ballSensor/BallSensorStatus.d.ts +1 -0
  69. package/dist/hardware/ballSensor/BallSensorStatus.js +2 -0
  70. package/dist/hardware/ballSensor/ConfigureBallSensorDiskThrowerModuleOptions.d.ts +4 -0
  71. package/dist/hardware/ballSensor/ConfigureBallSensorDiskThrowerModuleOptions.js +2 -0
  72. package/dist/hardware/ballSensor/index.d.ts +4 -0
  73. package/dist/hardware/ballSensor/index.js +20 -0
  74. package/dist/hardware/ballShooter/BallShooterCommand.d.ts +1 -0
  75. package/dist/hardware/ballShooter/BallShooterCommand.js +2 -0
  76. package/dist/hardware/ballShooter/BallShooterStatus.d.ts +1 -0
  77. package/dist/hardware/ballShooter/BallShooterStatus.js +2 -0
  78. package/dist/hardware/ballShooter/index.d.ts +2 -0
  79. package/dist/hardware/ballShooter/index.js +18 -0
  80. package/dist/hardware/diskSensor/ConfigDiskSensorBallShooterModuleOptions.d.ts +8 -0
  81. package/dist/hardware/diskSensor/ConfigDiskSensorBallShooterModuleOptions.js +2 -0
  82. package/dist/hardware/diskSensor/DiskSensorBallShooterModuleStatus.d.ts +4 -0
  83. package/dist/hardware/diskSensor/DiskSensorBallShooterModuleStatus.js +2 -0
  84. package/dist/hardware/diskSensor/DiskSensorCommand.d.ts +1 -0
  85. package/dist/hardware/diskSensor/DiskSensorCommand.js +2 -0
  86. package/dist/hardware/diskSensor/DiskSensorStatus.d.ts +1 -0
  87. package/dist/hardware/diskSensor/DiskSensorStatus.js +2 -0
  88. package/dist/hardware/diskSensor/index.d.ts +4 -0
  89. package/dist/hardware/diskSensor/index.js +20 -0
  90. package/dist/hardware/diskThrower/DiskThrowerCommand.d.ts +1 -0
  91. package/dist/hardware/diskThrower/DiskThrowerCommand.js +2 -0
  92. package/dist/hardware/diskThrower/DiskThrowerStatus.d.ts +1 -0
  93. package/dist/hardware/diskThrower/DiskThrowerStatus.js +2 -0
  94. package/dist/hardware/diskThrower/index.d.ts +2 -0
  95. package/dist/hardware/diskThrower/index.js +18 -0
  96. package/dist/hardware/emergency/EmergencyActionCommand.d.ts +1 -0
  97. package/dist/hardware/emergency/EmergencyActionCommand.js +2 -0
  98. package/dist/hardware/emergency/EmergencyModuleStatus.d.ts +4 -0
  99. package/dist/hardware/emergency/EmergencyModuleStatus.js +2 -0
  100. package/dist/hardware/emergency/EmergencyStatus.d.ts +1 -0
  101. package/dist/hardware/emergency/EmergencyStatus.js +2 -0
  102. package/dist/hardware/emergency/index.d.ts +3 -0
  103. package/dist/hardware/emergency/index.js +19 -0
  104. package/dist/hardware/flag/FlagActionCommand.d.ts +1 -0
  105. package/dist/hardware/flag/FlagActionCommand.js +2 -0
  106. package/dist/hardware/flag/FlagConfigurationOptions.d.ts +10 -0
  107. package/dist/hardware/flag/FlagConfigurationOptions.js +2 -0
  108. package/dist/hardware/flag/FlagMediaName.d.ts +74 -0
  109. package/dist/hardware/flag/FlagMediaName.js +85 -0
  110. package/dist/hardware/flag/FlagModuleStatus.d.ts +7 -0
  111. package/dist/hardware/flag/FlagModuleStatus.js +2 -0
  112. package/dist/hardware/flag/FlagShowMediaOptions.d.ts +14 -0
  113. package/dist/hardware/flag/FlagShowMediaOptions.js +2 -0
  114. package/dist/hardware/flag/FlagStatus.d.ts +1 -0
  115. package/dist/hardware/flag/FlagStatus.js +2 -0
  116. package/dist/hardware/flag/index.d.ts +6 -0
  117. package/dist/hardware/flag/index.js +22 -0
  118. package/dist/hardware/index.d.ts +15 -0
  119. package/dist/hardware/index.js +31 -0
  120. package/dist/hardware/rgb/RGBActionCommand.d.ts +1 -0
  121. package/dist/hardware/rgb/RGBActionCommand.js +2 -0
  122. package/dist/hardware/rgb/RGBConfigurationOptions.d.ts +8 -0
  123. package/dist/hardware/rgb/RGBConfigurationOptions.js +2 -0
  124. package/dist/hardware/rgb/RGBModuleStatus.d.ts +6 -0
  125. package/dist/hardware/rgb/RGBModuleStatus.js +2 -0
  126. package/dist/hardware/rgb/RGBShowEffectOptions.d.ts +4 -0
  127. package/dist/hardware/rgb/RGBShowEffectOptions.js +2 -0
  128. package/dist/hardware/rgb/RGBStatus.d.ts +1 -0
  129. package/dist/hardware/rgb/RGBStatus.js +2 -0
  130. package/dist/hardware/rgb/index.d.ts +5 -0
  131. package/dist/hardware/rgb/index.js +21 -0
  132. package/dist/hardware/screen/ScreenBattleViewConfig.d.ts +4 -0
  133. package/dist/hardware/screen/ScreenBattleViewConfig.js +2 -0
  134. package/dist/hardware/screen/ScreenCountdownParams.d.ts +11 -0
  135. package/dist/hardware/screen/ScreenCountdownParams.js +2 -0
  136. package/dist/hardware/screen/ScreenFinishViewInput.d.ts +7 -0
  137. package/dist/hardware/screen/ScreenFinishViewInput.js +2 -0
  138. package/dist/hardware/screen/ScreenGameTimeLeft.d.ts +4 -0
  139. package/dist/hardware/screen/ScreenGameTimeLeft.js +2 -0
  140. package/dist/hardware/screen/ScreenKartPosition.d.ts +4 -0
  141. package/dist/hardware/screen/ScreenKartPosition.js +2 -0
  142. package/dist/hardware/screen/ScreenRaceLaps.d.ts +4 -0
  143. package/dist/hardware/screen/ScreenRaceLaps.js +2 -0
  144. package/dist/hardware/screen/ScreenRaceViewConfig.d.ts +5 -0
  145. package/dist/hardware/screen/ScreenRaceViewConfig.js +2 -0
  146. package/dist/hardware/screen/ScreenUpdateGameViewInput.d.ts +11 -0
  147. package/dist/hardware/screen/ScreenUpdateGameViewInput.js +2 -0
  148. package/dist/hardware/screen/ScreenView.d.ts +1 -0
  149. package/dist/hardware/screen/ScreenView.js +2 -0
  150. package/dist/hardware/screen/ScreenViewBaseConfig.d.ts +11 -0
  151. package/dist/hardware/screen/ScreenViewBaseConfig.js +2 -0
  152. package/dist/hardware/screen/index.d.ts +10 -0
  153. package/dist/hardware/screen/index.js +26 -0
  154. package/dist/hardware/sound/PlaySoundOptions.d.ts +4 -0
  155. package/dist/hardware/sound/PlaySoundOptions.js +2 -0
  156. package/dist/hardware/sound/index.d.ts +1 -0
  157. package/dist/hardware/sound/index.js +17 -0
  158. package/dist/hardware/speed/SpeedActionCommand.d.ts +1 -0
  159. package/dist/hardware/speed/SpeedActionCommand.js +2 -0
  160. package/dist/hardware/speed/SpeedChangeOptions.d.ts +6 -0
  161. package/dist/hardware/speed/SpeedChangeOptions.js +2 -0
  162. package/dist/hardware/speed/SpeedConfiguration.d.ts +6 -0
  163. package/dist/hardware/speed/SpeedConfiguration.js +2 -0
  164. package/dist/hardware/speed/SpeedModuleStatus.d.ts +12 -0
  165. package/dist/hardware/speed/SpeedModuleStatus.js +2 -0
  166. package/dist/hardware/speed/SpeedStatus.d.ts +1 -0
  167. package/dist/hardware/speed/SpeedStatus.js +2 -0
  168. package/dist/hardware/speed/index.d.ts +5 -0
  169. package/dist/hardware/speed/index.js +21 -0
  170. package/dist/hardware/star-laser/StarLaserCommand.d.ts +1 -0
  171. package/dist/hardware/star-laser/StarLaserCommand.js +2 -0
  172. package/dist/hardware/star-laser/StarLaserConfigureModuleOptions.d.ts +7 -0
  173. package/dist/hardware/star-laser/StarLaserConfigureModuleOptions.js +2 -0
  174. package/dist/hardware/star-laser/StarLaserModuleStatus.d.ts +7 -0
  175. package/dist/hardware/star-laser/StarLaserModuleStatus.js +2 -0
  176. package/dist/hardware/star-laser/StarLaserSendActionsOptions.d.ts +5 -0
  177. package/dist/hardware/star-laser/StarLaserSendActionsOptions.js +2 -0
  178. package/dist/hardware/star-laser/StarLaserStatus.d.ts +1 -0
  179. package/dist/hardware/star-laser/StarLaserStatus.js +2 -0
  180. package/dist/hardware/star-laser/index.d.ts +5 -0
  181. package/dist/hardware/star-laser/index.js +21 -0
  182. package/dist/hardware/steering-wheel/SteeringWheelModuleStatus.d.ts +4 -0
  183. package/dist/hardware/steering-wheel/SteeringWheelModuleStatus.js +2 -0
  184. package/dist/hardware/steering-wheel/index.d.ts +1 -0
  185. package/dist/hardware/steering-wheel/index.js +17 -0
  186. package/dist/index.d.ts +20 -0
  187. package/dist/index.js +36 -0
  188. package/dist/kart/Kart.d.ts +29 -0
  189. package/dist/kart/Kart.js +2 -0
  190. package/dist/kart/KartShield.d.ts +4 -0
  191. package/dist/kart/KartShield.js +2 -0
  192. package/dist/kart/KartStatus.d.ts +2 -0
  193. package/dist/kart/KartStatus.js +4 -0
  194. package/dist/kart/index.d.ts +2 -0
  195. package/dist/kart/index.js +18 -0
  196. package/dist/kartTracking/CheckpointEvent.d.ts +8 -0
  197. package/dist/kartTracking/CheckpointEvent.js +2 -0
  198. package/dist/kartTracking/KartTracking.d.ts +5 -0
  199. package/dist/kartTracking/KartTracking.js +2 -0
  200. package/dist/kartTracking/index.d.ts +2 -0
  201. package/dist/kartTracking/index.js +18 -0
  202. package/dist/powerUp/PowerUp.d.ts +27 -0
  203. package/dist/powerUp/PowerUp.js +2 -0
  204. package/dist/powerUp/PowerUpName.d.ts +1 -0
  205. package/dist/powerUp/PowerUpName.js +2 -0
  206. package/dist/powerUp/PowerUpShield.d.ts +6 -0
  207. package/dist/powerUp/PowerUpShield.js +2 -0
  208. package/dist/powerUp/PowerUpTarget.d.ts +11 -0
  209. package/dist/powerUp/PowerUpTarget.js +10 -0
  210. package/dist/powerUp/PowerUpType.d.ts +8 -0
  211. package/dist/powerUp/PowerUpType.js +7 -0
  212. package/dist/powerUp/index.d.ts +5 -0
  213. package/dist/powerUp/index.js +21 -0
  214. package/dist/response/ErrorResponse.d.ts +6 -0
  215. package/dist/response/ErrorResponse.js +2 -0
  216. package/dist/response/Response.d.ts +3 -0
  217. package/dist/response/Response.js +2 -0
  218. package/dist/response/SuccesResponse.d.ts +5 -0
  219. package/dist/response/SuccesResponse.js +2 -0
  220. package/dist/response/index.d.ts +3 -0
  221. package/dist/response/index.js +2 -0
  222. package/dist/socket/SocketHardwareModulesEventsParams.d.ts +65 -0
  223. package/dist/socket/SocketHardwareModulesEventsParams.js +2 -0
  224. package/dist/socket/SocketHardwareOnDataEventsParams.d.ts +16 -0
  225. package/dist/socket/SocketHardwareOnDataEventsParams.js +2 -0
  226. package/dist/socket/SocketPowerUpEventsParams.d.ts +21 -0
  227. package/dist/socket/SocketPowerUpEventsParams.js +2 -0
  228. package/dist/socket/clientToServer/SocketGameTrackClientToServerEventsParams.d.ts +13 -0
  229. package/dist/socket/clientToServer/SocketGameTrackClientToServerEventsParams.js +2 -0
  230. package/dist/socket/clientToServer/SocketKartClientToServerEventsParams.d.ts +16 -0
  231. package/dist/socket/clientToServer/SocketKartClientToServerEventsParams.js +2 -0
  232. package/dist/socket/clientToServer/SocketWebAppClientToServerEventsParams.d.ts +22 -0
  233. package/dist/socket/clientToServer/SocketWebAppClientToServerEventsParams.js +2 -0
  234. package/dist/socket/clientToServer/index.d.ts +3 -0
  235. package/dist/socket/clientToServer/index.js +19 -0
  236. package/dist/socket/index.d.ts +7 -0
  237. package/dist/socket/index.js +23 -0
  238. package/dist/socket/inputs/MacAddressGameTrackConnection.d.ts +6 -0
  239. package/dist/socket/inputs/MacAddressGameTrackConnection.js +2 -0
  240. package/dist/socket/inputs/SocketInitRaspberryInput.d.ts +3 -0
  241. package/dist/socket/inputs/SocketInitRaspberryInput.js +2 -0
  242. package/dist/socket/inputs/SocketRegisterKartCheckpointInput.d.ts +11 -0
  243. package/dist/socket/inputs/SocketRegisterKartCheckpointInput.js +2 -0
  244. package/dist/socket/inputs/index.d.ts +3 -0
  245. package/dist/socket/inputs/index.js +19 -0
  246. package/dist/socket/serverToClient/SocketGameTrackServerToClientEventParams.d.ts +10 -0
  247. package/dist/socket/serverToClient/SocketGameTrackServerToClientEventParams.js +2 -0
  248. package/dist/socket/serverToClient/SocketKartServerToClientEventsParams.d.ts +48 -0
  249. package/dist/socket/serverToClient/SocketKartServerToClientEventsParams.js +2 -0
  250. package/dist/socket/serverToClient/SocketWebAppServerToClientEventsParams.d.ts +24 -0
  251. package/dist/socket/serverToClient/SocketWebAppServerToClientEventsParams.js +2 -0
  252. package/dist/socket/serverToClient/index.d.ts +3 -0
  253. package/dist/socket/serverToClient/index.js +19 -0
  254. package/dist/socket/utils/SocketParamsToEvents.d.ts +10 -0
  255. package/dist/socket/utils/SocketParamsToEvents.js +2 -0
  256. package/dist/socket/utils/index.d.ts +1 -0
  257. package/dist/socket/utils/index.js +17 -0
  258. package/dist/sounds/SoundName.d.ts +1 -0
  259. package/dist/sounds/SoundName.js +2 -0
  260. package/dist/sounds/index.d.ts +1 -0
  261. package/dist/sounds/index.js +17 -0
  262. package/dist/user/User.d.ts +7 -0
  263. package/dist/user/User.js +2 -0
  264. package/dist/user/UserOrigin.d.ts +1 -0
  265. package/dist/user/UserOrigin.js +2 -0
  266. package/dist/user/index.d.ts +2 -0
  267. package/dist/user/index.js +18 -0
  268. package/dist/utils/ArithmeticString.d.ts +9 -0
  269. package/dist/utils/ArithmeticString.js +2 -0
  270. package/dist/utils/ObjectValues.d.ts +1 -0
  271. package/dist/utils/ObjectValues.js +2 -0
  272. package/dist/utils/index.d.ts +2 -0
  273. package/dist/utils/index.js +18 -0
  274. package/package.json +22 -0
  275. package/src/types/checkpoint/Checkpoint.ts +11 -0
  276. package/src/types/checkpoint/CheckpointType.ts +6 -0
  277. package/src/types/checkpoint/index.ts +2 -0
  278. package/src/types/color/ColorInfo.ts +4 -0
  279. package/src/types/color/ColorName.ts +13 -0
  280. package/src/types/color/index.ts +2 -0
  281. package/src/types/command/CommandConfig.ts +91 -0
  282. package/src/types/command/index.ts +1 -0
  283. package/src/types/damage/Damage.ts +15 -0
  284. package/src/types/damage/DamageName.ts +1 -0
  285. package/src/types/damage/DamageTarget.ts +1 -0
  286. package/src/types/damage/index.ts +3 -0
  287. package/src/types/flow/Flow.ts +8 -0
  288. package/src/types/flow/index.ts +1 -0
  289. package/src/types/game/Game.ts +39 -0
  290. package/src/types/game/GameStatus.ts +10 -0
  291. package/src/types/game/GameType.ts +6 -0
  292. package/src/types/game/GameWarningEvent.ts +1 -0
  293. package/src/types/game/KartRankingItem.ts +5 -0
  294. package/src/types/game/battle/Battle.ts +11 -0
  295. package/src/types/game/battle/index.ts +1 -0
  296. package/src/types/game/index.ts +7 -0
  297. package/src/types/game/race/KartProgress.ts +10 -0
  298. package/src/types/game/race/Race.ts +20 -0
  299. package/src/types/game/race/index.ts +2 -0
  300. package/src/types/gameTrack/GameTrack.ts +13 -0
  301. package/src/types/gameTrack/GameTrackKartsConfig.ts +25 -0
  302. package/src/types/gameTrack/index.ts +2 -0
  303. package/src/types/hardware/KartEffect.ts +19 -0
  304. package/src/types/hardware/ModuleName.ts +10 -0
  305. package/src/types/hardware/ModuleStatus.ts +18 -0
  306. package/src/types/hardware/ballSensor/BallSensorCommand.ts +1 -0
  307. package/src/types/hardware/ballSensor/BallSensorDiskThrowerModuleStatus.ts +5 -0
  308. package/src/types/hardware/ballSensor/BallSensorStatus.ts +1 -0
  309. package/src/types/hardware/ballSensor/ConfigureBallSensorDiskThrowerModuleOptions.ts +4 -0
  310. package/src/types/hardware/ballSensor/index.ts +4 -0
  311. package/src/types/hardware/ballShooter/BallShooterCommand.ts +1 -0
  312. package/src/types/hardware/ballShooter/BallShooterStatus.ts +6 -0
  313. package/src/types/hardware/ballShooter/index.ts +2 -0
  314. package/src/types/hardware/diskSensor/ConfigDiskSensorBallShooterModuleOptions.ts +8 -0
  315. package/src/types/hardware/diskSensor/DiskSensorBallShooterModuleStatus.ts +5 -0
  316. package/src/types/hardware/diskSensor/DiskSensorCommand.ts +1 -0
  317. package/src/types/hardware/diskSensor/DiskSensorStatus.ts +9 -0
  318. package/src/types/hardware/diskSensor/index.ts +4 -0
  319. package/src/types/hardware/diskThrower/DiskThrowerCommand.ts +1 -0
  320. package/src/types/hardware/diskThrower/DiskThrowerStatus.ts +1 -0
  321. package/src/types/hardware/diskThrower/index.ts +2 -0
  322. package/src/types/hardware/emergency/EmergencyActionCommand.ts +1 -0
  323. package/src/types/hardware/emergency/EmergencyModuleStatus.ts +5 -0
  324. package/src/types/hardware/emergency/EmergencyStatus.ts +1 -0
  325. package/src/types/hardware/emergency/index.ts +3 -0
  326. package/src/types/hardware/flag/FlagActionCommand.ts +6 -0
  327. package/src/types/hardware/flag/FlagConfigurationOptions.ts +11 -0
  328. package/src/types/hardware/flag/FlagMediaName.ts +87 -0
  329. package/src/types/hardware/flag/FlagModuleStatus.ts +8 -0
  330. package/src/types/hardware/flag/FlagShowMediaOptions.ts +15 -0
  331. package/src/types/hardware/flag/FlagStatus.ts +8 -0
  332. package/src/types/hardware/flag/index.ts +6 -0
  333. package/src/types/hardware/index.ts +15 -0
  334. package/src/types/hardware/rgb/RGBActionCommand.ts +1 -0
  335. package/src/types/hardware/rgb/RGBConfigurationOptions.ts +9 -0
  336. package/src/types/hardware/rgb/RGBModuleStatus.ts +7 -0
  337. package/src/types/hardware/rgb/RGBShowEffectOptions.ts +5 -0
  338. package/src/types/hardware/rgb/RGBStatus.ts +1 -0
  339. package/src/types/hardware/rgb/index.ts +5 -0
  340. package/src/types/hardware/screen/ScreenBattleViewConfig.ts +5 -0
  341. package/src/types/hardware/screen/ScreenCountdownParams.ts +14 -0
  342. package/src/types/hardware/screen/ScreenFinishViewInput.ts +7 -0
  343. package/src/types/hardware/screen/ScreenGameTimeLeft.ts +4 -0
  344. package/src/types/hardware/screen/ScreenKartPosition.ts +4 -0
  345. package/src/types/hardware/screen/ScreenRaceLaps.ts +4 -0
  346. package/src/types/hardware/screen/ScreenRaceViewConfig.ts +6 -0
  347. package/src/types/hardware/screen/ScreenUpdateGameViewInput.ts +14 -0
  348. package/src/types/hardware/screen/ScreenView.ts +1 -0
  349. package/src/types/hardware/screen/ScreenViewBaseConfig.ts +12 -0
  350. package/src/types/hardware/screen/index.ts +10 -0
  351. package/src/types/hardware/sound/PlaySoundOptions.ts +5 -0
  352. package/src/types/hardware/sound/index.ts +1 -0
  353. package/src/types/hardware/speed/SpeedActionCommand.ts +1 -0
  354. package/src/types/hardware/speed/SpeedChangeOptions.ts +6 -0
  355. package/src/types/hardware/speed/SpeedConfiguration.ts +6 -0
  356. package/src/types/hardware/speed/SpeedModuleStatus.ts +13 -0
  357. package/src/types/hardware/speed/SpeedStatus.ts +1 -0
  358. package/src/types/hardware/speed/index.ts +5 -0
  359. package/src/types/hardware/star-laser/StarLaserCommand.ts +1 -0
  360. package/src/types/hardware/star-laser/StarLaserConfigureModuleOptions.ts +7 -0
  361. package/src/types/hardware/star-laser/StarLaserModuleStatus.ts +10 -0
  362. package/src/types/hardware/star-laser/StarLaserSendActionsOptions.ts +6 -0
  363. package/src/types/hardware/star-laser/StarLaserStatus.ts +1 -0
  364. package/src/types/hardware/star-laser/index.ts +5 -0
  365. package/src/types/hardware/steering-wheel/SteeringWheelModuleStatus.ts +4 -0
  366. package/src/types/hardware/steering-wheel/index.ts +1 -0
  367. package/src/types/index.ts +21 -0
  368. package/src/types/kart/Kart.ts +31 -0
  369. package/src/types/kart/KartShield.ts +4 -0
  370. package/src/types/kart/KartStatus.ts +2 -0
  371. package/src/types/kart/index.ts +2 -0
  372. package/src/types/kartTracking/CheckpointEvent.ts +9 -0
  373. package/src/types/kartTracking/KartTracking.ts +6 -0
  374. package/src/types/kartTracking/index.ts +2 -0
  375. package/src/types/powerUp/PowerUp.ts +50 -0
  376. package/src/types/powerUp/PowerUpName.ts +9 -0
  377. package/src/types/powerUp/PowerUpShield.ts +6 -0
  378. package/src/types/powerUp/PowerUpTarget.ts +12 -0
  379. package/src/types/powerUp/PowerUpType.ts +9 -0
  380. package/src/types/powerUp/index.ts +5 -0
  381. package/src/types/response/ErrorResponse.ts +6 -0
  382. package/src/types/response/Response.ts +4 -0
  383. package/src/types/response/SuccesResponse.ts +5 -0
  384. package/src/types/response/index.ts +3 -0
  385. package/src/types/socket/SocketHardwareModulesEventsParams.ts +106 -0
  386. package/src/types/socket/SocketHardwareOnDataEventsParams.ts +27 -0
  387. package/src/types/socket/SocketPowerUpEventsParams.ts +13 -0
  388. package/src/types/socket/clientToServer/SocketGameTrackClientToServerEventsParams.ts +7 -0
  389. package/src/types/socket/clientToServer/SocketKartClientToServerEventsParams.ts +11 -0
  390. package/src/types/socket/clientToServer/SocketWebAppClientToServerEventsParams.ts +11 -0
  391. package/src/types/socket/clientToServer/index.ts +3 -0
  392. package/src/types/socket/index.ts +7 -0
  393. package/src/types/socket/inputs/MacAddressGameTrackConnection.ts +7 -0
  394. package/src/types/socket/inputs/SocketInitRaspberryInput.ts +3 -0
  395. package/src/types/socket/inputs/SocketRegisterKartCheckpointInput.ts +12 -0
  396. package/src/types/socket/inputs/index.ts +3 -0
  397. package/src/types/socket/serverToClient/SocketGameTrackServerToClientEventParams.ts +14 -0
  398. package/src/types/socket/serverToClient/SocketKartServerToClientEventsParams.ts +47 -0
  399. package/src/types/socket/serverToClient/SocketWebAppServerToClientEventsParams.ts +23 -0
  400. package/src/types/socket/serverToClient/index.ts +3 -0
  401. package/src/types/socket/utils/SocketParamsToEvents.ts +16 -0
  402. package/src/types/socket/utils/index.ts +1 -0
  403. package/src/types/sounds/SoundName.ts +24 -0
  404. package/src/types/sounds/index.ts +1 -0
  405. package/src/types/user/User.ts +8 -0
  406. package/src/types/user/UserOrigin.ts +1 -0
  407. package/src/types/user/index.ts +2 -0
  408. package/src/types/utils/ArithmeticString.ts +17 -0
  409. package/src/types/utils/ObjectValues.ts +2 -0
  410. package/src/types/utils/index.ts +2 -0
  411. package/tsconfig.json +13 -0
@@ -0,0 +1,2 @@
1
+ export * from './CheckpointEvent';
2
+ export * from './KartTracking';
@@ -0,0 +1,50 @@
1
+ import type {
2
+ BallSensorDiskThrowerModuleCommands,
3
+ DiskSensorBallShooterModuleCommands,
4
+ FlagModuleCommands,
5
+ LeftStarBackLaserModuleCommands,
6
+ RGBModuleCommands,
7
+ RightStarFrontLaserModuleCommands,
8
+ SoundModuleCommands,
9
+ SpeedModuleCommands,
10
+ SteeringWheelModuleCommands,
11
+ } from '../command';
12
+ import type { Damage } from '../damage';
13
+ import type { PowerUpName } from './PowerUpName';
14
+ import type { PowerUpShield } from './PowerUpShield';
15
+
16
+ export type PowerUpLevel = 1 | 2 | 3 | 4 | 5;
17
+
18
+ /**
19
+ * The Power-up command exclude the ScreenModuleCommands because
20
+ * the system needs to know to know in which kind of game is the kart.
21
+ */
22
+ export type PowerUpCommand =
23
+ | BallSensorDiskThrowerModuleCommands
24
+ | DiskSensorBallShooterModuleCommands
25
+ | FlagModuleCommands
26
+ | RGBModuleCommands
27
+ | SpeedModuleCommands
28
+ | LeftStarBackLaserModuleCommands
29
+ | RightStarFrontLaserModuleCommands
30
+ | SteeringWheelModuleCommands
31
+ | SoundModuleCommands;
32
+
33
+ export interface PowerUp {
34
+ id: string;
35
+ name: PowerUpName;
36
+ imageName: string;
37
+ description: string;
38
+ level: PowerUpLevel;
39
+
40
+ /** Commands to be executed when the power-up is assigned */
41
+ assignationCommands: PowerUpCommand[];
42
+ /** Whenever the user activates the assigned power-up */
43
+ activationCommands: PowerUpCommand[];
44
+ shield?: PowerUpShield;
45
+ /**
46
+ * Represents damage that needs the backend to be propagated
47
+ * to other(s) kart(s)
48
+ */
49
+ networkDamage?: Damage;
50
+ }
@@ -0,0 +1,9 @@
1
+ export type PowerUpName =
2
+ | 'Battle God'
3
+ | 'Battle Star'
4
+ | 'Battle Shot'
5
+ | 'Battle Nitro'
6
+ | 'Battle Pulse'
7
+ | 'Battle Trap'
8
+ | 'Battle Shield'
9
+ | 'Battle Turbo';
@@ -0,0 +1,6 @@
1
+ export interface PowerUpShield {
2
+ /**
3
+ * Time of the event in seconds
4
+ */
5
+ duration: number;
6
+ }
@@ -0,0 +1,12 @@
1
+ import type { ObjectValues } from '../utils';
2
+
3
+ const POWER_UP_TARGET = {
4
+ /** Affect the owner of the power-up */
5
+ Self: 'Self',
6
+ /** Affect a single Kart */
7
+ Any: 'Any',
8
+ /** Affect all the other Karts in game (must communicate to the server) */
9
+ All: 'All',
10
+ } as const;
11
+
12
+ export type PowerUpTarget = ObjectValues<typeof POWER_UP_TARGET>;
@@ -0,0 +1,9 @@
1
+ import type { ObjectValues } from '../utils';
2
+
3
+ const POWER_UP_TYPE = {
4
+ Damage: 'Damage',
5
+ Shield: 'Shield',
6
+ Speed: 'Speed',
7
+ } as const;
8
+
9
+ export type PowerUpType = ObjectValues<typeof POWER_UP_TYPE>;
@@ -0,0 +1,5 @@
1
+ export * from './PowerUp';
2
+ export * from './PowerUpName';
3
+ export * from './PowerUpShield';
4
+ export * from './PowerUpTarget';
5
+ export * from './PowerUpType';
@@ -0,0 +1,6 @@
1
+ export interface ErrorResponse {
2
+ status: 'error';
3
+ code: number;
4
+ errorType: string;
5
+ message: string;
6
+ }
@@ -0,0 +1,4 @@
1
+ import type { ErrorResponse } from './ErrorResponse';
2
+ import type { SuccesResponse } from './SuccesResponse';
3
+
4
+ export type Response<T> = SuccesResponse<T> | ErrorResponse;
@@ -0,0 +1,5 @@
1
+ export interface SuccesResponse<T> {
2
+ status: 'success';
3
+ code: 200;
4
+ data?: T;
5
+ }
@@ -0,0 +1,3 @@
1
+ export type { ErrorResponse } from './ErrorResponse';
2
+ export type { SuccesResponse } from './SuccesResponse';
3
+ export type { Response } from './Response';
@@ -0,0 +1,106 @@
1
+ import type {
2
+ ConfigDiskSensorBallShooterModuleOptions,
3
+ ConfigureBallSensorDiskThrowerModuleOptions,
4
+ FlagConfigurationOptions,
5
+ FlagShowMediaOptions,
6
+ PlaySoundOptions,
7
+ RGBConfigurationOptions,
8
+ RGBShowEffectOptions,
9
+ ScreenCountdownParams,
10
+ ScreenFinishViewInput,
11
+ ScreenUpdateGameViewInput,
12
+ SpeedChangeOptions,
13
+ SpeedConfiguration,
14
+ StarLaserConfigureModuleOptions,
15
+ StarLaserSendActionsOptions,
16
+ } from '../hardware';
17
+
18
+ export type SocketHardwareDataSubscriptionEventsParams = {
19
+ 'hardware:data:subscribe': undefined;
20
+ 'hardware:data:unsubscribe': undefined;
21
+ };
22
+
23
+ export type SocketHardwareBallSensorDiskThrowerModuleEventsParams = {
24
+ 'hardware:ball-sensor-disk-thrower:activateSensor': undefined;
25
+ 'hardware:ball-sensor-disk-thrower:deactivateSensor': undefined;
26
+ 'hardware:ball-sensor-disk-thrower:configureModule': ConfigureBallSensorDiskThrowerModuleOptions;
27
+ 'hardware:ball-sensor-disk-thrower:throwDisk': undefined;
28
+ 'hardware:ball-sensor-disk-thrower:activateDiskThrower': undefined;
29
+ 'hardware:ball-sensor-disk-thrower:deactivateDiskThrower': undefined;
30
+ };
31
+
32
+ export type SocketHardwareDiskSensorBallShooterModuleEventsParams = {
33
+ 'hardware:disk-sensor-ball-shooter:configure': ConfigDiskSensorBallShooterModuleOptions;
34
+ 'hardware:disk-sensor-ball-shooter:prepareShooter': undefined;
35
+ 'hardware:disk-sensor-ball-shooter:shootBall': undefined;
36
+ 'hardware:disk-sensor-ball-shooter:activateSensor': undefined;
37
+ 'hardware:disk-sensor-ball-shooter:deactivateSensor': undefined;
38
+ 'hardware:disk-sensor-ball-shooter:calibrateSensor': undefined;
39
+ };
40
+
41
+ export type SocketHardwareFlagModuleEventsParams = {
42
+ 'hardware:flag:activate': undefined;
43
+ 'hardware:flag:deactivate': undefined;
44
+ 'hardware:flag:configure': FlagConfigurationOptions;
45
+ 'hardware:flag:showMediaIndefinitely': FlagShowMediaOptions;
46
+ 'hardware:flag:showMediaTemporarily': FlagShowMediaOptions;
47
+ };
48
+
49
+ export type SocketHardwareRGBModuleEventsParams = {
50
+ 'hardware:rgb:configure': RGBConfigurationOptions;
51
+ 'hardware:rgb:showEffect': RGBShowEffectOptions;
52
+ };
53
+
54
+ export type SocketHardwareSpeedModuleEventsParams = {
55
+ 'hardware:speed:activate': undefined;
56
+ 'hardware:speed:deactivate': undefined;
57
+ 'hardware:speed:update': SpeedChangeOptions;
58
+ 'hardware:speed:configure': SpeedConfiguration;
59
+ };
60
+
61
+ export type SocketHardwareLeftStarBackLaserModuleEventsParams = {
62
+ 'hardware:left-star-back-laser:action': StarLaserSendActionsOptions;
63
+ 'hardware:left-star-back-laser:configure': StarLaserConfigureModuleOptions;
64
+ };
65
+
66
+ export type SocketHardwareRightStarFrontLaserModuleEventsParams = {
67
+ 'hardware:right-star-front-laser:action': StarLaserSendActionsOptions;
68
+ 'hardware:right-star-front-laser:configure': StarLaserConfigureModuleOptions;
69
+ };
70
+
71
+ export type SocketHardwareScreenModuleEventsParams = {
72
+ 'hardware:screen:showHomeView': undefined;
73
+ 'hardware:screen:showCountdownView': ScreenCountdownParams;
74
+ 'hardware:screen:updateGameView': ScreenUpdateGameViewInput;
75
+ 'hardware:screen:showScreenVictoryView': ScreenFinishViewInput;
76
+ 'hardware:screen:showScreenDefeatView': ScreenFinishViewInput;
77
+ };
78
+
79
+ export type SocketHardwareSteeringWheelModuleEventsParams = {
80
+ 'hardware:steering-wheel:turnLedOn': undefined;
81
+ 'hardware:steering-wheel:turnLedOff': undefined;
82
+ };
83
+
84
+ export type SocketHardwareSoundModuleEventsParams = {
85
+ 'hardware:sound:play': PlaySoundOptions;
86
+ };
87
+
88
+ // UNIQUE FOR GAME TRACK RPI
89
+ export type SocketHardwareEmergencyModuleEventsParams = {
90
+ 'hardware:emergency:activate': undefined;
91
+ 'hardware:emergency:deactivate': undefined;
92
+ };
93
+
94
+ // Just the union of all the events params
95
+ export type SocketHardwareModulesEventsParams = SocketHardwareBallSensorDiskThrowerModuleEventsParams &
96
+ SocketHardwareDiskSensorBallShooterModuleEventsParams &
97
+ SocketHardwareFlagModuleEventsParams &
98
+ SocketHardwareRGBModuleEventsParams &
99
+ SocketHardwareSpeedModuleEventsParams &
100
+ SocketHardwareDataSubscriptionEventsParams &
101
+ SocketHardwareLeftStarBackLaserModuleEventsParams &
102
+ SocketHardwareRightStarFrontLaserModuleEventsParams &
103
+ SocketHardwareScreenModuleEventsParams &
104
+ SocketHardwareSteeringWheelModuleEventsParams &
105
+ SocketHardwareSoundModuleEventsParams &
106
+ SocketHardwareEmergencyModuleEventsParams;
@@ -0,0 +1,27 @@
1
+ import type {
2
+ BallSensorDiskThrowerModuleStatus,
3
+ DiskSensorBallShooterModuleStatus,
4
+ EmergencyModuleStatus,
5
+ FlagModuleStatus,
6
+ RGBModuleStatus,
7
+ SpeedModuleStatus,
8
+ StarLaserModuleStatus,
9
+ SteeringWheelModuleStatus,
10
+ } from '../hardware';
11
+
12
+ /** Data that are triggered from Hardware Modules of Kart */
13
+ export type SocketHardwareOnDataEventsParams = {
14
+ 'hardware:disk-sensor-ball-shooter:onModuleStatus': DiskSensorBallShooterModuleStatus;
15
+ 'hardware:ball-sensor-disk-thrower:onModuleStatus': BallSensorDiskThrowerModuleStatus;
16
+ 'hardware:rgb:onModuleStatus': RGBModuleStatus;
17
+ 'hardware:flag:onModuleStatus': FlagModuleStatus;
18
+ 'hardware:speed:onModuleStatus': SpeedModuleStatus;
19
+ 'hardware:left-star-back-laser:onModuleStatus': StarLaserModuleStatus;
20
+ 'hardware:right-star-front-laser:onModuleStatus': StarLaserModuleStatus;
21
+ 'hardware:steering-wheel:onModuleStatus': SteeringWheelModuleStatus;
22
+ };
23
+
24
+ /** Data that are triggered from Hardware Modules of Game Track */
25
+ export type SocketGameTrackHardwareOnDataEventsParams = {
26
+ 'hardware:emergency:onModuleStatus': EmergencyModuleStatus;
27
+ };
@@ -0,0 +1,13 @@
1
+ import type { DamageEffectName } from '../damage';
2
+ import type { PowerUp } from '../powerUp';
3
+
4
+ export type SocketPowerUpEventsParams = {
5
+ /** Assign the Powerup, shouldOverride will force the assignation */
6
+ 'powerUp:assign': { powerUpId: PowerUp['id']; shouldOverride?: boolean };
7
+ /** Affect the Kart by a Damage */
8
+ 'powerUp:damage': { damageName: DamageEffectName };
9
+ /** Trigger the Powerup */
10
+ 'powerUp:execute': { powerUpId?: PowerUp['id'] };
11
+ /** Sync PowerUps */
12
+ 'powerUps:sync': { powerUps: PowerUp[] };
13
+ };
@@ -0,0 +1,7 @@
1
+ export interface SocketGameTrackClientToServerEventsParams {
2
+ 'game-track:init': { macAddress: string };
3
+ /** Emergency Button Pressed phisicaly */
4
+ 'game-track:emergency:buttonPressed': { macAddress: string };
5
+ /** Emergency Button released phisicaly */
6
+ 'game-track:emergency:buttonReleased': { macAddress: string };
7
+ }
@@ -0,0 +1,11 @@
1
+ import type { DamageEffectName } from '../../damage';
2
+ import type { SocketInitRaspberryInput, SocketRegisterKartCheckpointInput } from '../inputs';
3
+
4
+ export interface SocketKartClientToServerEventsParams {
5
+ 'kart:init': SocketInitRaspberryInput;
6
+ 'kart:checkpoint': SocketRegisterKartCheckpointInput;
7
+ /** Activate the damage of a powerUp */
8
+ 'kart:damage:sent': { macAddress: string; damageName: DamageEffectName };
9
+ /** The Kart received damage */
10
+ 'kart:damage:received': { macAddress: string; damageName: DamageEffectName };
11
+ }
@@ -0,0 +1,11 @@
1
+ import type { Game, GameType } from '../../game';
2
+
3
+ export interface SocketWebAppClientToServerEventsParams {
4
+ 'karts:authenticate': { authToken: string };
5
+ 'karts:list': undefined;
6
+ 'karts:tracking:subscribe': { kartGuid: string };
7
+ 'karts:tracking:unsubscribe': { kartGuid: string };
8
+ 'game-changed:subscribe': { gameId: Game['id']; gameType: GameType };
9
+ 'game-changed:unsubscribe': { gameId: Game['id']; gameType: GameType };
10
+ 'game-tracks:list': undefined;
11
+ }
@@ -0,0 +1,3 @@
1
+ export * from './SocketGameTrackClientToServerEventsParams';
2
+ export * from './SocketKartClientToServerEventsParams';
3
+ export * from './SocketWebAppClientToServerEventsParams';
@@ -0,0 +1,7 @@
1
+ export * from './clientToServer';
2
+ export * from './inputs';
3
+ export * from './serverToClient';
4
+ export * from './SocketHardwareModulesEventsParams';
5
+ export * from './SocketHardwareOnDataEventsParams';
6
+ export * from './SocketPowerUpEventsParams';
7
+ export * from './utils';
@@ -0,0 +1,7 @@
1
+ import type { GameTrack } from '../../gameTrack';
2
+
3
+ export interface MacAddressGameTrackConnection {
4
+ macAddress: string;
5
+ gameTrack: GameTrack | null;
6
+ isConnected: boolean;
7
+ }
@@ -0,0 +1,3 @@
1
+ export type SocketInitRaspberryInput = {
2
+ macAddress: string;
3
+ };
@@ -0,0 +1,12 @@
1
+ import type { Checkpoint } from '../../checkpoint';
2
+
3
+ export type SocketRegisterKartCheckpointInput = {
4
+ /** The macAddress is necessary to avoid extra process in the backend to find the macAddress */
5
+ macAddress: string;
6
+ checkpointAddress: Checkpoint['address'];
7
+ checkpointType: Checkpoint['type'];
8
+ /** Just Request the power-up when there is no a power-up already assigned */
9
+ shouldRequestPowerUp: boolean;
10
+ /** The real time when the event was generated on RPI */
11
+ originTimestampISO: string;
12
+ };
@@ -0,0 +1,3 @@
1
+ export * from './SocketInitRaspberryInput';
2
+ export * from './MacAddressGameTrackConnection';
3
+ export * from './SocketRegisterKartCheckpointInput';
@@ -0,0 +1,14 @@
1
+ import type { GameTrack } from '../../gameTrack';
2
+ import type { Response } from '../../response';
3
+
4
+ export interface SocketGameTrackEventsParams {
5
+ // Response from server (game-track:init)
6
+ 'game-track:init:response': Response<GameTrack>;
7
+ }
8
+
9
+ export interface SocketGameTrackEventParams {
10
+ 'game-track:emergency:activate': undefined;
11
+ 'game-track:emergency:deactivate': undefined;
12
+ }
13
+
14
+ export type SocketGameTrackServerToClientEventsParams = SocketGameTrackEventsParams & SocketGameTrackEventParams;
@@ -0,0 +1,47 @@
1
+ import type { Game, GameType } from '../../game';
2
+ import type { GameTrack } from '../../gameTrack';
3
+ import type { Kart } from '../../kart';
4
+ import type { Response } from '../../response';
5
+ import type { SocketPowerUpEventsParams } from '../SocketPowerUpEventsParams';
6
+
7
+ interface BaseGameEventParams {
8
+ gameId: Game['id'];
9
+ gameType: GameType;
10
+ }
11
+
12
+ // Add the kart: prefix to the SocketPowerUpEventsParams
13
+ export type SocketKartPowerUpEventsParams = {
14
+ [Key in keyof SocketPowerUpEventsParams as `kart:${Key}`]: SocketPowerUpEventsParams[Key];
15
+ };
16
+
17
+ export interface SocketKartEventsParams {
18
+ 'kart:updated': { kart: Kart };
19
+ // Response from server
20
+ 'kart:init:response': Response<Kart>;
21
+ /** Whenever the Game Track config changed */
22
+ 'kart:gameTrack:updated': { gameTrack: GameTrack };
23
+ /** When the physical button of the game track is pressed */
24
+ 'kart:gameTrack:emergency:started': undefined;
25
+ /** When the physical button of the game track is released */
26
+ 'kart:gameTrack:emergency:stopped': undefined;
27
+ }
28
+
29
+ export interface SocketGameEventParams {
30
+ /** Kart is selected for a game */
31
+ 'kart:game:selected': BaseGameEventParams;
32
+ /** Kart Is eliminated from a game (game is in progress) */
33
+ 'kart:game:eliminated': BaseGameEventParams;
34
+ 'kart:game:yellow-flag:started': BaseGameEventParams;
35
+ 'kart:game:yellow-flag:stopped': BaseGameEventParams;
36
+ 'kart:game:red-flag:started': BaseGameEventParams;
37
+ 'kart:game:red-flag:stopped': BaseGameEventParams;
38
+
39
+ // Critical Game Events that require the whole game state to be sent
40
+ 'kart:game:started': { game: Game };
41
+ 'kart:game:finished': { game: Game; isWinner: boolean };
42
+ 'kart:game:sync': { game: Game };
43
+ }
44
+
45
+ export type SocketKartServerToClientEventsParams = SocketKartEventsParams &
46
+ SocketGameEventParams &
47
+ SocketKartPowerUpEventsParams;
@@ -0,0 +1,23 @@
1
+ import type { Game } from '../../game';
2
+ import type { Kart } from '../../kart';
3
+ import type { CheckpointEvent } from '../../kartTracking';
4
+ import type { Response } from '../../response';
5
+ import type { MacAddressGameTrackConnection } from '../inputs';
6
+ import type { SocketHardwareOnDataEventsParams } from '../SocketHardwareOnDataEventsParams';
7
+
8
+ export interface SocketWebAppServerToClientEventsParams {
9
+ 'karts:authenticate:response': Response<void>;
10
+ 'karts:list:response': Response<Kart[]>;
11
+ 'karts:onKartsUpdated': Kart[];
12
+ 'karts:onHardwareData': {
13
+ kartGuid: string;
14
+ socketEvent: keyof SocketHardwareOnDataEventsParams;
15
+ payload: SocketHardwareOnDataEventsParams[keyof SocketHardwareOnDataEventsParams];
16
+ };
17
+ 'karts:tracking:checkpointEvent': {
18
+ checkpointEvent: CheckpointEvent;
19
+ };
20
+ 'game:changed': { game: Game };
21
+ 'gameTracks:onGameTrackUpdated': MacAddressGameTrackConnection[];
22
+ 'gameTracks:list:response': Response<MacAddressGameTrackConnection[]>;
23
+ }
@@ -0,0 +1,3 @@
1
+ export * from './SocketGameTrackServerToClientEventParams';
2
+ export * from './SocketKartServerToClientEventsParams';
3
+ export * from './SocketWebAppServerToClientEventsParams';
@@ -0,0 +1,16 @@
1
+ /** Map the Events Params Types to Event to be used on Socket.io */
2
+ export type EmptyEventParams = () => void;
3
+ export type EventParams<EventParams> = (payload: EventParams) => void;
4
+ //With Extra
5
+ export type EmptyEventParamsWithExtra<Extra> = (params: Extra) => void;
6
+ export type EventParamsWithExtra<EventParams, Extra> = (params: Extra & { payload: EventParams }) => void;
7
+
8
+ export type SocketParamsToEvents<Event, Extra = undefined> = {
9
+ [EventKey in keyof Event]: Event[EventKey] extends undefined
10
+ ? Extra extends undefined
11
+ ? EmptyEventParams
12
+ : EmptyEventParamsWithExtra<Extra>
13
+ : Extra extends undefined
14
+ ? EventParams<Event[EventKey]>
15
+ : EventParamsWithExtra<Event[EventKey], Extra>;
16
+ };
@@ -0,0 +1 @@
1
+ export * from './SocketParamsToEvents';
@@ -0,0 +1,24 @@
1
+ export type SoundName =
2
+ | 'battle_god_activation.mp3'
3
+ | 'battle_laser_activation.mp3'
4
+ | 'battle_laser_damage.mp3'
5
+ | 'battle_pulse_activation.mp3'
6
+ | 'battle_pulse_damage.mp3'
7
+ | 'battle_shield_activation.mp3'
8
+ | 'battle_shot_activation.mp3'
9
+ | 'battle_shot_damage.mp3'
10
+ | 'battle_star_damage.mp3'
11
+ | 'battle_trap_activation.mp3'
12
+ | 'battle_trap_damage.mp3'
13
+ | 'battle_turbo_activation.mp3'
14
+ | 'countdown_3_2_1.mp3'
15
+ | 'emergency_alert.mp3'
16
+ | 'engine_start.mp3'
17
+ | 'final_lap_mario_kart.mp3'
18
+ | 'kart_skiding.mp3'
19
+ | 'pick_coin_x2.mp3'
20
+ | 'power_up_selection.mp3'
21
+ | 'sad_trumpet_loser.mp3'
22
+ | 'system_started.mp3'
23
+ | 'warning_alert_this_is_not_a_test.mp3'
24
+ | 'winner_laugh.mp3';
@@ -0,0 +1 @@
1
+ export * from './SoundName';
@@ -0,0 +1,8 @@
1
+ import type { UserOrigin } from './UserOrigin';
2
+
3
+ export interface User {
4
+ id: string;
5
+ username: string;
6
+ name: string;
7
+ origin: UserOrigin;
8
+ }
@@ -0,0 +1 @@
1
+ export type UserOrigin = 'webapp' | 'hardware';
@@ -0,0 +1,2 @@
1
+ export * from './User';
2
+ export * from './UserOrigin';
@@ -0,0 +1,17 @@
1
+ export type ArithmeticOperator = '+' | '-' | '*' | '/';
2
+
3
+ /**
4
+ * The Value is determined by an arithmetic operator followed by a number.
5
+ */
6
+ export type SimpleArithmeticString = `${ArithmeticOperator}${number}`;
7
+
8
+ export type KartContextVariable = '$kart.configuredSpeed';
9
+
10
+ export type ContextVariable = KartContextVariable;
11
+
12
+ export type ContextArithmeticString =
13
+ // Example: $kart.configuredSpeed + 1
14
+ `${ContextVariable} ${ArithmeticOperator} ${number}`;
15
+
16
+ // Unión de todos los posibles formatos de expresión
17
+ export type ArithmeticExpression = number | SimpleArithmeticString | ContextArithmeticString;
@@ -0,0 +1,2 @@
1
+ // Create a type from the object values
2
+ export type ObjectValues<T> = T[keyof T];
@@ -0,0 +1,2 @@
1
+ export * from './ObjectValues';
2
+ export * from './ArithmeticString';
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "./dist",
4
+ "declaration": true,
5
+ "moduleResolution": "node",
6
+ "target": "es2020",
7
+ "module": "commonjs",
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true
11
+ },
12
+ "include": ["src"]
13
+ }