beatsaber-bot-core 0.2.0-dev.2 → 0.2.0-dev.20

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 (377) hide show
  1. package/lib/api/base/aioRequest.d.ts +6 -0
  2. package/lib/api/base/aioRequest.js +24 -0
  3. package/lib/api/base/aioRequest.js.map +1 -0
  4. package/lib/api/base/blRequset.d.ts +12 -0
  5. package/lib/api/base/blRequset.js +68 -0
  6. package/lib/api/base/blRequset.js.map +1 -0
  7. package/lib/api/base/bsRequest.d.ts +24 -0
  8. package/lib/api/base/bsRequest.js +64 -0
  9. package/lib/api/base/bsRequest.js.map +1 -0
  10. package/lib/api/base/index.d.ts +12 -0
  11. package/lib/api/base/index.js +21 -0
  12. package/lib/api/base/index.js.map +1 -0
  13. package/lib/api/base/scRequest.d.ts +6 -0
  14. package/lib/api/base/scRequest.js +28 -0
  15. package/lib/api/base/scRequest.js.map +1 -0
  16. package/lib/api/composed/aiosaber.d.ts +7 -0
  17. package/lib/api/composed/aiosaber.js +16 -0
  18. package/lib/api/composed/aiosaber.js.map +1 -0
  19. package/lib/api/composed/beatleader.d.ts +32 -0
  20. package/lib/api/composed/beatleader.js +112 -0
  21. package/lib/api/composed/beatleader.js.map +1 -0
  22. package/lib/api/composed/beatsaver.d.ts +12 -0
  23. package/lib/api/composed/beatsaver.js +18 -0
  24. package/lib/api/composed/beatsaver.js.map +1 -0
  25. package/lib/api/composed/scoresaber.d.ts +14 -0
  26. package/lib/api/composed/scoresaber.js +67 -0
  27. package/lib/api/composed/scoresaber.js.map +1 -0
  28. package/lib/api/index.d.ts +31 -0
  29. package/lib/api/index.js +134 -0
  30. package/lib/api/index.js.map +1 -0
  31. package/lib/api/interfaces/aiosaber/index.d.ts +7 -0
  32. package/lib/api/interfaces/aiosaber/index.js +3 -0
  33. package/lib/api/interfaces/aiosaber/index.js.map +1 -0
  34. package/lib/api/interfaces/beatleader/bsor.d.ts +112 -0
  35. package/lib/api/interfaces/beatleader/bsor.js +3 -0
  36. package/lib/api/interfaces/beatleader/bsor.js.map +1 -0
  37. package/lib/api/interfaces/beatleader/index.d.ts +5 -0
  38. package/lib/api/interfaces/beatleader/index.js +22 -0
  39. package/lib/api/interfaces/beatleader/index.js.map +1 -0
  40. package/lib/api/interfaces/beatleader/req.d.ts +19 -0
  41. package/lib/api/interfaces/beatleader/req.js +3 -0
  42. package/lib/api/interfaces/beatleader/req.js.map +1 -0
  43. package/lib/api/interfaces/beatleader/score.d.ts +162 -0
  44. package/lib/api/interfaces/beatleader/score.js +3 -0
  45. package/lib/api/interfaces/beatleader/score.js.map +1 -0
  46. package/lib/api/interfaces/beatleader/user.d.ts +171 -0
  47. package/lib/api/interfaces/beatleader/user.js +3 -0
  48. package/lib/api/interfaces/beatleader/user.js.map +1 -0
  49. package/lib/api/interfaces/beatleader/ws.d.ts +87 -0
  50. package/lib/api/interfaces/beatleader/ws.js +3 -0
  51. package/lib/api/interfaces/beatleader/ws.js.map +1 -0
  52. package/lib/api/interfaces/beatsaver/alert.d.ts +18 -0
  53. package/lib/api/interfaces/beatsaver/alert.js +3 -0
  54. package/lib/api/interfaces/beatsaver/alert.js.map +1 -0
  55. package/lib/api/interfaces/beatsaver/bsmap.d.ts +66 -0
  56. package/lib/api/interfaces/beatsaver/bsmap.js +3 -0
  57. package/lib/api/interfaces/beatsaver/bsmap.js.map +1 -0
  58. package/lib/api/interfaces/beatsaver/index.d.ts +10 -0
  59. package/lib/api/interfaces/beatsaver/index.js +22 -0
  60. package/lib/api/interfaces/beatsaver/index.js.map +1 -0
  61. package/lib/api/interfaces/beatsaver/resp.d.ts +8 -0
  62. package/lib/api/interfaces/beatsaver/resp.js +3 -0
  63. package/lib/api/interfaces/beatsaver/resp.js.map +1 -0
  64. package/lib/api/interfaces/beatsaver/user.d.ts +8 -0
  65. package/lib/api/interfaces/beatsaver/user.js +3 -0
  66. package/lib/api/interfaces/beatsaver/user.js.map +1 -0
  67. package/lib/api/interfaces/beatsaver/ws.d.ts +11 -0
  68. package/lib/api/interfaces/beatsaver/ws.js +3 -0
  69. package/lib/api/interfaces/beatsaver/ws.js.map +1 -0
  70. package/lib/api/interfaces/scoresaber/index.d.ts +3 -0
  71. package/lib/api/interfaces/scoresaber/index.js +20 -0
  72. package/lib/api/interfaces/scoresaber/index.js.map +1 -0
  73. package/lib/api/interfaces/scoresaber/item.d.ts +57 -0
  74. package/lib/api/interfaces/scoresaber/item.js +3 -0
  75. package/lib/api/interfaces/scoresaber/item.js.map +1 -0
  76. package/lib/api/interfaces/scoresaber/resp.d.ts +9 -0
  77. package/lib/api/interfaces/scoresaber/resp.js +3 -0
  78. package/lib/api/interfaces/scoresaber/resp.js.map +1 -0
  79. package/lib/api/interfaces/scoresaber/user.d.ts +33 -0
  80. package/lib/api/interfaces/scoresaber/user.js +3 -0
  81. package/lib/api/interfaces/scoresaber/user.js.map +1 -0
  82. package/lib/api/interfaces/scoresaber/ws.d.ts +78 -0
  83. package/lib/api/interfaces/scoresaber/ws.js +3 -0
  84. package/lib/api/interfaces/scoresaber/ws.js.map +1 -0
  85. package/lib/api/netResult.d.ts +18 -0
  86. package/lib/api/netResult.js +42 -0
  87. package/lib/api/netResult.js.map +1 -0
  88. package/lib/api/sortScore.d.ts +2 -0
  89. package/lib/api/sortScore.js +31 -0
  90. package/lib/api/sortScore.js.map +1 -0
  91. package/lib/cmd/bind/bind-beatleader.d.ts +2 -0
  92. package/lib/cmd/bind/bind-beatleader.js +53 -0
  93. package/lib/cmd/bind/bind-beatleader.js.map +1 -0
  94. package/lib/cmd/bind/bind-beatsaver.d.ts +2 -0
  95. package/lib/cmd/bind/bind-beatsaver.js +55 -0
  96. package/lib/cmd/bind/bind-beatsaver.js.map +1 -0
  97. package/lib/cmd/bind/bind-id-beatleader.d.ts +2 -0
  98. package/lib/cmd/bind/bind-id-beatleader.js +55 -0
  99. package/lib/cmd/bind/bind-id-beatleader.js.map +1 -0
  100. package/lib/cmd/bind/bind-id-beatsaver.d.ts +2 -0
  101. package/lib/cmd/bind/bind-id-beatsaver.js +55 -0
  102. package/lib/cmd/bind/bind-id-beatsaver.js.map +1 -0
  103. package/lib/cmd/bind/bind-scoresaber.d.ts +2 -0
  104. package/lib/cmd/bind/bind-scoresaber.js +61 -0
  105. package/lib/cmd/bind/bind-scoresaber.js.map +1 -0
  106. package/lib/cmd/bind/index.d.ts +11 -0
  107. package/lib/cmd/bind/index.js +52 -0
  108. package/lib/cmd/bind/index.js.map +1 -0
  109. package/lib/cmd/bsmap/id-search.d.ts +9 -0
  110. package/lib/cmd/bsmap/id-search.js +35 -0
  111. package/lib/cmd/bsmap/id-search.js.map +1 -0
  112. package/lib/cmd/bsmap/key-search.d.ts +9 -0
  113. package/lib/cmd/bsmap/key-search.js +41 -0
  114. package/lib/cmd/bsmap/key-search.js.map +1 -0
  115. package/lib/cmd/bsmap/latest.d.ts +9 -0
  116. package/lib/cmd/bsmap/latest.js +36 -0
  117. package/lib/cmd/bsmap/latest.js.map +1 -0
  118. package/lib/cmd/builder.d.ts +27 -0
  119. package/lib/cmd/builder.js +60 -0
  120. package/lib/cmd/builder.js.map +1 -0
  121. package/lib/cmd/deprecated/cmp.d.ts +9 -0
  122. package/lib/cmd/deprecated/cmp.js +15 -0
  123. package/lib/cmd/deprecated/cmp.js.map +1 -0
  124. package/lib/cmd/deprecated/me.d.ts +13 -0
  125. package/lib/cmd/deprecated/me.js +66 -0
  126. package/lib/cmd/deprecated/me.js.map +1 -0
  127. package/lib/cmd/deprecated/tmp.d.ts +9 -0
  128. package/lib/cmd/deprecated/tmp.js +23 -0
  129. package/lib/cmd/deprecated/tmp.js.map +1 -0
  130. package/lib/cmd/deprecated/whois.d.ts +11 -0
  131. package/lib/cmd/deprecated/whois.js +40 -0
  132. package/lib/cmd/deprecated/whois.js.map +1 -0
  133. package/lib/cmd/help.d.ts +9 -0
  134. package/lib/cmd/help.js +14 -0
  135. package/lib/cmd/help.js.map +1 -0
  136. package/lib/cmd/index.d.ts +2 -0
  137. package/lib/cmd/index.js +24 -0
  138. package/lib/cmd/index.js.map +1 -0
  139. package/lib/cmd/rank.d.ts +11 -0
  140. package/lib/cmd/rank.js +56 -0
  141. package/lib/cmd/rank.js.map +1 -0
  142. package/lib/cmd/score.d.ts +13 -0
  143. package/lib/cmd/score.js +48 -0
  144. package/lib/cmd/score.js.map +1 -0
  145. package/lib/cmd/subscribe/beatleader.d.ts +2 -0
  146. package/lib/cmd/subscribe/beatleader.js +27 -0
  147. package/lib/cmd/subscribe/beatleader.js.map +1 -0
  148. package/lib/cmd/subscribe/beatsaver.d.ts +2 -0
  149. package/lib/cmd/subscribe/beatsaver.js +27 -0
  150. package/lib/cmd/subscribe/beatsaver.js.map +1 -0
  151. package/lib/cmd/subscribe/deprecated/alert.d.ts +0 -0
  152. package/lib/cmd/subscribe/deprecated/alert.js +86 -0
  153. package/lib/cmd/subscribe/deprecated/alert.js.map +1 -0
  154. package/lib/cmd/subscribe/deprecated/blfilters.d.ts +0 -0
  155. package/lib/cmd/subscribe/deprecated/blfilters.js +49 -0
  156. package/lib/cmd/subscribe/deprecated/blfilters.js.map +1 -0
  157. package/lib/cmd/subscribe/deprecated/scoresaber.d.ts +0 -0
  158. package/lib/cmd/subscribe/deprecated/scoresaber.js +43 -0
  159. package/lib/cmd/subscribe/deprecated/scoresaber.js.map +1 -0
  160. package/lib/cmd/subscribe/index.d.ts +11 -0
  161. package/lib/cmd/subscribe/index.js +45 -0
  162. package/lib/cmd/subscribe/index.js.map +1 -0
  163. package/lib/cmd/subscribe/subjoin.d.ts +11 -0
  164. package/lib/cmd/subscribe/subjoin.js +42 -0
  165. package/lib/cmd/subscribe/subjoin.js.map +1 -0
  166. package/lib/cmd/subscribe/subleave.d.ts +11 -0
  167. package/lib/cmd/subscribe/subleave.js +35 -0
  168. package/lib/cmd/subscribe/subleave.js.map +1 -0
  169. package/lib/cmd/subscribe/unsubscribe.d.ts +11 -0
  170. package/lib/cmd/subscribe/unsubscribe.js +41 -0
  171. package/lib/cmd/subscribe/unsubscribe.js.map +1 -0
  172. package/lib/config.d.ts +40 -0
  173. package/lib/config.js +3 -0
  174. package/lib/config.js.map +1 -0
  175. package/lib/db/index.d.ts +0 -0
  176. package/lib/db/index.js +1 -0
  177. package/lib/db/index.js.map +1 -0
  178. package/lib/errors/index.d.ts +40 -0
  179. package/lib/errors/index.js +117 -0
  180. package/lib/errors/index.js.map +1 -0
  181. package/lib/i18n/index.d.ts +2 -0
  182. package/lib/i18n/index.js +118 -0
  183. package/lib/i18n/index.js.map +1 -0
  184. package/lib/i18n/parser.d.ts +14 -0
  185. package/lib/i18n/parser.js +165 -0
  186. package/lib/i18n/parser.js.map +1 -0
  187. package/lib/i18n/zh-cn.json +1 -0
  188. package/lib/img-render/components/RankDifficulty.d.ts +5 -0
  189. package/lib/img-render/components/RankDifficulty.js +11 -0
  190. package/lib/img-render/components/RankDifficulty.js.map +1 -0
  191. package/lib/img-render/components/base/avatar.d.ts +7 -0
  192. package/lib/img-render/components/base/avatar.js +12 -0
  193. package/lib/img-render/components/base/avatar.js.map +1 -0
  194. package/lib/img-render/components/blScoreItem.d.ts +6 -0
  195. package/lib/img-render/components/blScoreItem.js +14 -0
  196. package/lib/img-render/components/blScoreItem.js.map +1 -0
  197. package/lib/img-render/components/characteristic.d.ts +5 -0
  198. package/lib/img-render/components/characteristic.js +27 -0
  199. package/lib/img-render/components/characteristic.js.map +1 -0
  200. package/lib/img-render/components/flag.d.ts +5 -0
  201. package/lib/img-render/components/flag.js +39 -0
  202. package/lib/img-render/components/flag.js.map +1 -0
  203. package/lib/img-render/components/icons/BeatLeader.d.ts +3 -0
  204. package/lib/img-render/components/icons/BeatLeader.js +10 -0
  205. package/lib/img-render/components/icons/BeatLeader.js.map +1 -0
  206. package/lib/img-render/components/icons/RankIcon.d.ts +4 -0
  207. package/lib/img-render/components/icons/RankIcon.js +14 -0
  208. package/lib/img-render/components/icons/RankIcon.js.map +1 -0
  209. package/lib/img-render/components/icons/ScoreSaberIcon.d.ts +3 -0
  210. package/lib/img-render/components/icons/ScoreSaberIcon.js +8 -0
  211. package/lib/img-render/components/icons/ScoreSaberIcon.js.map +1 -0
  212. package/lib/img-render/components/progressbar.d.ts +4 -0
  213. package/lib/img-render/components/progressbar.js +9 -0
  214. package/lib/img-render/components/progressbar.js.map +1 -0
  215. package/lib/img-render/components/rankScoreItem.d.ts +18 -0
  216. package/lib/img-render/components/rankScoreItem.js +42 -0
  217. package/lib/img-render/components/rankScoreItem.js.map +1 -0
  218. package/lib/img-render/components/scoreItem.d.ts +4 -0
  219. package/lib/img-render/components/scoreItem.js +29 -0
  220. package/lib/img-render/components/scoreItem.js.map +1 -0
  221. package/lib/img-render/components/scoregraph.d.ts +10 -0
  222. package/lib/img-render/components/scoregraph.js +301 -0
  223. package/lib/img-render/components/scoregraph.js.map +1 -0
  224. package/lib/img-render/components/skill-graph.d.ts +5 -0
  225. package/lib/img-render/components/skill-graph.js +50 -0
  226. package/lib/img-render/components/skill-graph.js.map +1 -0
  227. package/lib/img-render/components/socre-badge.d.ts +5 -0
  228. package/lib/img-render/components/socre-badge.js +10 -0
  229. package/lib/img-render/components/socre-badge.js.map +1 -0
  230. package/lib/img-render/components/ssScoreItem.d.ts +4 -0
  231. package/lib/img-render/components/ssScoreItem.js +14 -0
  232. package/lib/img-render/components/ssScoreItem.js.map +1 -0
  233. package/lib/img-render/index.d.ts +24 -0
  234. package/lib/img-render/index.js +134 -0
  235. package/lib/img-render/index.js.map +1 -0
  236. package/lib/img-render/interfaces.d.ts +17 -0
  237. package/lib/img-render/interfaces.js +3 -0
  238. package/lib/img-render/interfaces.js.map +1 -0
  239. package/lib/img-render/remote/index.d.ts +0 -0
  240. package/lib/img-render/remote/index.js +56 -0
  241. package/lib/img-render/remote/index.js.map +1 -0
  242. package/lib/img-render/render.d.ts +7 -0
  243. package/lib/img-render/render.js +65 -0
  244. package/lib/img-render/render.js.map +1 -0
  245. package/lib/img-render/renderImg.d.ts +0 -0
  246. package/lib/img-render/renderImg.js +1 -0
  247. package/lib/img-render/renderImg.js.map +1 -0
  248. package/lib/img-render/result/bl-player.d.ts +7 -0
  249. package/lib/img-render/result/bl-player.js +44 -0
  250. package/lib/img-render/result/bl-player.js.map +1 -0
  251. package/lib/img-render/result/bl-score.d.ts +11 -0
  252. package/lib/img-render/result/bl-score.js +18 -0
  253. package/lib/img-render/result/bl-score.js.map +1 -0
  254. package/lib/img-render/result/bs-map.d.ts +8 -0
  255. package/lib/img-render/result/bs-map.js +26 -0
  256. package/lib/img-render/result/bs-map.js.map +1 -0
  257. package/lib/img-render/result/bs-score-with-rank.d.ts +13 -0
  258. package/lib/img-render/result/bs-score-with-rank.js +33 -0
  259. package/lib/img-render/result/bs-score-with-rank.js.map +1 -0
  260. package/lib/img-render/result/index.d.ts +8 -0
  261. package/lib/img-render/result/index.js +33 -0
  262. package/lib/img-render/result/index.js.map +1 -0
  263. package/lib/img-render/result/ss-player.d.ts +8 -0
  264. package/lib/img-render/result/ss-player.js +39 -0
  265. package/lib/img-render/result/ss-player.js.map +1 -0
  266. package/lib/img-render/utils/bl/beatleader.d.ts +13 -0
  267. package/lib/img-render/utils/bl/beatleader.js +38 -0
  268. package/lib/img-render/utils/bl/beatleader.js.map +1 -0
  269. package/lib/img-render/utils/bl/blheadset.d.ts +273 -0
  270. package/lib/img-render/utils/bl/blheadset.js +281 -0
  271. package/lib/img-render/utils/bl/blheadset.js.map +1 -0
  272. package/lib/img-render/utils/bl/bsorDecoder.d.ts +68 -0
  273. package/lib/img-render/utils/bl/bsorDecoder.js +286 -0
  274. package/lib/img-render/utils/bl/bsorDecoder.js.map +1 -0
  275. package/lib/img-render/utils/bl/bsorReplayAcc.d.ts +35 -0
  276. package/lib/img-render/utils/bl/bsorReplayAcc.js +590 -0
  277. package/lib/img-render/utils/bl/bsorReplayAcc.js.map +1 -0
  278. package/lib/img-render/utils/bl/getPart.d.ts +7 -0
  279. package/lib/img-render/utils/bl/getPart.js +31 -0
  280. package/lib/img-render/utils/bl/getPart.js.map +1 -0
  281. package/lib/img-render/utils/bl/stastic.d.ts +2 -0
  282. package/lib/img-render/utils/bl/stastic.js +53 -0
  283. package/lib/img-render/utils/bl/stastic.js.map +1 -0
  284. package/lib/img-render/utils/canvas.d.ts +5 -0
  285. package/lib/img-render/utils/canvas.js +70 -0
  286. package/lib/img-render/utils/canvas.js.map +1 -0
  287. package/lib/img-render/utils/format.d.ts +6 -0
  288. package/lib/img-render/utils/format.js +66 -0
  289. package/lib/img-render/utils/format.js.map +1 -0
  290. package/lib/img-render/utils/getMods.d.ts +2 -0
  291. package/lib/img-render/utils/getMods.js +22 -0
  292. package/lib/img-render/utils/getMods.js.map +1 -0
  293. package/lib/img-render/utils/index.d.ts +3 -0
  294. package/lib/img-render/utils/index.js +36 -0
  295. package/lib/img-render/utils/index.js.map +1 -0
  296. package/lib/img-render/utils/qrcode.d.ts +1 -0
  297. package/lib/img-render/utils/qrcode.js +43 -0
  298. package/lib/img-render/utils/qrcode.js.map +1 -0
  299. package/lib/img-render/utils/sleep.d.ts +1 -0
  300. package/lib/img-render/utils/sleep.js +10 -0
  301. package/lib/img-render/utils/sleep.js.map +1 -0
  302. package/lib/img-render/utils/tag-format.d.ts +1 -0
  303. package/lib/img-render/utils/tag-format.js +225 -0
  304. package/lib/img-render/utils/tag-format.js.map +1 -0
  305. package/lib/img-render/utils/tw-join.d.ts +4 -0
  306. package/lib/img-render/utils/tw-join.js +36 -0
  307. package/lib/img-render/utils/tw-join.js.map +1 -0
  308. package/lib/index.d.ts +8 -0
  309. package/lib/index.js +25 -0
  310. package/lib/index.js.map +1 -0
  311. package/lib/interface/bot.d.ts +20 -0
  312. package/lib/interface/bot.js +3 -0
  313. package/lib/interface/bot.js.map +1 -0
  314. package/lib/interface/cmd.d.ts +36 -0
  315. package/lib/interface/cmd.js +3 -0
  316. package/lib/interface/cmd.js.map +1 -0
  317. package/lib/interface/db/index.d.ts +36 -0
  318. package/lib/interface/db/index.js +18 -0
  319. package/lib/interface/db/index.js.map +1 -0
  320. package/lib/interface/db/models.d.ts +34 -0
  321. package/lib/interface/db/models.js +3 -0
  322. package/lib/interface/db/models.js.map +1 -0
  323. package/lib/interface/index.d.ts +14 -0
  324. package/lib/interface/index.js +34 -0
  325. package/lib/interface/index.js.map +1 -0
  326. package/lib/interface/logger.d.ts +6 -0
  327. package/lib/interface/logger.js +3 -0
  328. package/lib/interface/logger.js.map +1 -0
  329. package/lib/interface/render.d.ts +22 -0
  330. package/lib/interface/render.js +3 -0
  331. package/lib/interface/render.js.map +1 -0
  332. package/lib/schedules/BeatSaverAlertMonitor.d.ts +0 -0
  333. package/lib/schedules/BeatSaverAlertMonitor.js +231 -0
  334. package/lib/schedules/BeatSaverAlertMonitor.js.map +1 -0
  335. package/lib/schedules/index.d.ts +7 -0
  336. package/lib/schedules/index.js +23 -0
  337. package/lib/schedules/index.js.map +1 -0
  338. package/lib/schedules/interface.d.ts +18 -0
  339. package/lib/schedules/interface.js +3 -0
  340. package/lib/schedules/interface.js.map +1 -0
  341. package/lib/schedules/oauthTokenRefreshTask.d.ts +2 -0
  342. package/lib/schedules/oauthTokenRefreshTask.js +53 -0
  343. package/lib/schedules/oauthTokenRefreshTask.js.map +1 -0
  344. package/lib/schedules/temp.d.ts +2 -0
  345. package/lib/schedules/temp.js +23 -0
  346. package/lib/schedules/temp.js.map +1 -0
  347. package/lib/utils/cache.d.ts +2 -0
  348. package/lib/utils/cache.js +28 -0
  349. package/lib/utils/cache.js.map +1 -0
  350. package/lib/utils/index.d.ts +7 -0
  351. package/lib/utils/index.js +79 -0
  352. package/lib/utils/index.js.map +1 -0
  353. package/lib/utils/puppeteer.d.ts +20 -0
  354. package/lib/utils/puppeteer.js +79 -0
  355. package/lib/utils/puppeteer.js.map +1 -0
  356. package/lib/utils/s3.d.ts +10 -0
  357. package/lib/utils/s3.js +45 -0
  358. package/lib/utils/s3.js.map +1 -0
  359. package/lib/ws/beatleader.d.ts +18 -0
  360. package/lib/ws/beatleader.js +56 -0
  361. package/lib/ws/beatleader.js.map +1 -0
  362. package/lib/ws/beatsaver.d.ts +23 -0
  363. package/lib/ws/beatsaver.js +58 -0
  364. package/lib/ws/beatsaver.js.map +1 -0
  365. package/lib/ws/bl-filter.d.ts +0 -0
  366. package/lib/ws/bl-filter.js +64 -0
  367. package/lib/ws/bl-filter.js.map +1 -0
  368. package/lib/ws/handler.d.ts +6 -0
  369. package/lib/ws/handler.js +3 -0
  370. package/lib/ws/handler.js.map +1 -0
  371. package/lib/ws/index.d.ts +4 -0
  372. package/lib/ws/index.js +21 -0
  373. package/lib/ws/index.js.map +1 -0
  374. package/lib/ws/scoresaber.d.ts +18 -0
  375. package/lib/ws/scoresaber.js +37 -0
  376. package/lib/ws/scoresaber.js.map +1 -0
  377. package/package.json +4 -1
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatNumber = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const bsorReplayAcc_1 = require("../utils/bl/bsorReplayAcc");
9
+ const beatleader_1 = require("../utils/bl/beatleader");
10
+ const stastic_1 = __importDefault(require("../utils/bl/stastic"));
11
+ const auto_1 = __importDefault(require("chart.js/auto"));
12
+ const canvas_1 = require("../utils/canvas");
13
+ function formatNumber(num, digits = 2, addSign = false, notANumber = null) {
14
+ if (!Number.isFinite(num)) {
15
+ return notANumber;
16
+ }
17
+ return ((addSign && num > 0 ? '+' : '') +
18
+ num.toLocaleString('zh-CN', {
19
+ minimumFractionDigits: digits,
20
+ maximumFractionDigits: digits,
21
+ }));
22
+ }
23
+ exports.formatNumber = formatNumber;
24
+ function timeToLabel(time) {
25
+ const minutes = Math.floor(time / 60);
26
+ const seconds = Math.floor(time % 60);
27
+ return minutes + ':' + seconds.toString().padStart(2, '0');
28
+ }
29
+ function processChartData(chartData, resolution, smoothPeriodPercentage, weightFunctionSteepness) {
30
+ const data = [];
31
+ if (chartData.length === 0 || resolution === 0)
32
+ return data;
33
+ const songDuration = chartData[chartData.length - 1][1];
34
+ const distanceWeightFunction = (0, beatleader_1.createDistanceWeightFunction)(songDuration * smoothPeriodPercentage, weightFunctionSteepness);
35
+ for (let i = 0.0; i < resolution; i += 1.0) {
36
+ const songTime = (songDuration * i) / (resolution - 1);
37
+ let sum = 0;
38
+ let divider = 0;
39
+ for (let j = 0.0; j < chartData.length; j += 1.0) {
40
+ const item = chartData[j];
41
+ const weight = distanceWeightFunction.getWeight(item[1] - songTime);
42
+ sum += item[0] * weight;
43
+ divider += weight;
44
+ }
45
+ if (divider === 0)
46
+ continue;
47
+ const value = 100 + (sum / divider) * 15;
48
+ data.push(value);
49
+ }
50
+ return data;
51
+ }
52
+ // get score Statics
53
+ function ScoreGraph({ scoreId, scoreInfo, statistic, bsor, height, width, }) {
54
+ // 400 192
55
+ const canvas = canvas_1.canvasHelper.createCanvas(width * 4, height * 4);
56
+ const setupChart = (canvas, chartData, underswingsData, beatSavior) => {
57
+ if (!canvas || !chartData || !Object.keys(chartData).length)
58
+ return;
59
+ const title = underswingsData?.noUnderswingsScore > underswingsData?.score
60
+ ? `Lost by underswings: ${formatNumber(underswingsData.noUnderswingsScore - underswingsData.score, 0)}pts, ${formatNumber(underswingsData.noUnderswingsAcc - underswingsData.acc, 2)}% acc` +
61
+ (underswingsData?.noUnderswingsPp &&
62
+ underswingsData?.noUnderswingsPp > underswingsData?.pp
63
+ ? `, ${formatNumber(underswingsData.noUnderswingsPp - underswingsData.pp, 2)}pp`
64
+ : '')
65
+ : null;
66
+ const labels = chartData.times.map(timeToLabel);
67
+ const minMaxCounter = (0, beatleader_1.createMinMaxCounter)(0, 115, 1.0);
68
+ const hands = [];
69
+ if (beatSavior?.stats?.accLeft) {
70
+ hands.push('red');
71
+ }
72
+ if (beatSavior?.stats?.accRight) {
73
+ hands.push('blue');
74
+ }
75
+ if (hands.length == 2) {
76
+ hands.push('total');
77
+ }
78
+ for (let i = 0; i < chartData.times.length; i++) {
79
+ hands.forEach((saberType) => {
80
+ minMaxCounter.update(chartData.realScoreBySaber[saberType][i]);
81
+ minMaxCounter.update(chartData.fullSwingBySaber[saberType][i]);
82
+ });
83
+ }
84
+ let datasets = [];
85
+ if (beatSavior?.stats?.accLeft) {
86
+ datasets.push({
87
+ yAxisID: 'score',
88
+ label: 'Accuracy (left)',
89
+ data: chartData.fullSwingBySaber.red,
90
+ type: 'line',
91
+ borderColor: '#ee5555',
92
+ backgroundColor: '#ee5555',
93
+ borderWidth: 8,
94
+ pointRadius: 0,
95
+ cubicInterpolationMode: 'monotone',
96
+ tension: 0.4,
97
+ spanGaps: true,
98
+ order: 3,
99
+ });
100
+ datasets.push({
101
+ yAxisID: 'score',
102
+ label: 'Underswing (left)',
103
+ data: chartData.realScoreBySaber.red,
104
+ type: 'line',
105
+ fill: '-1',
106
+ borderColor: '#ee555555',
107
+ backgroundColor: '#ee555555',
108
+ borderWidth: 2,
109
+ pointRadius: 0,
110
+ cubicInterpolationMode: 'monotone',
111
+ tension: 0.4,
112
+ spanGaps: true,
113
+ order: 4,
114
+ });
115
+ }
116
+ if (beatSavior?.stats?.accRight) {
117
+ datasets.push({
118
+ yAxisID: 'score',
119
+ label: 'Accuracy (right)',
120
+ data: chartData.fullSwingBySaber.blue,
121
+ type: 'line',
122
+ borderColor: '#5555ee',
123
+ backgroundColor: '#5555ee',
124
+ borderWidth: 8,
125
+ pointRadius: 0,
126
+ cubicInterpolationMode: 'monotone',
127
+ tension: 0.4,
128
+ spanGaps: true,
129
+ order: 5,
130
+ });
131
+ datasets.push({
132
+ yAxisID: 'score',
133
+ label: 'Underswing (right)',
134
+ data: chartData.realScoreBySaber.blue,
135
+ type: 'line',
136
+ fill: '-1',
137
+ borderColor: '#5555ee55',
138
+ backgroundColor: '#5555ee55',
139
+ borderWidth: 2,
140
+ pointRadius: 0,
141
+ cubicInterpolationMode: 'monotone',
142
+ tension: 0.4,
143
+ spanGaps: true,
144
+ order: 6,
145
+ });
146
+ }
147
+ datasets = datasets.concat([
148
+ {
149
+ yAxisID: 'score',
150
+ label: 'Accuracy',
151
+ data: chartData.fullSwingBySaber.total,
152
+ type: 'line',
153
+ borderColor: 'white',
154
+ backgroundColor: 'white',
155
+ borderWidth: 8,
156
+ pointRadius: 0,
157
+ cubicInterpolationMode: 'monotone',
158
+ tension: 0.4,
159
+ spanGaps: true,
160
+ order: 1,
161
+ },
162
+ {
163
+ yAxisID: 'score',
164
+ label: 'Underswing',
165
+ data: chartData.realScoreBySaber.total,
166
+ type: 'line',
167
+ fill: '-1',
168
+ borderColor: '#aaaaaa55',
169
+ backgroundColor: '#aaaaaa55',
170
+ borderWidth: 2,
171
+ pointRadius: 0,
172
+ cubicInterpolationMode: 'monotone',
173
+ tension: 0.4,
174
+ spanGaps: true,
175
+ order: 2,
176
+ },
177
+ {
178
+ yAxisID: 'score',
179
+ label: 'Score',
180
+ data: chartData.realScoreBySaber.total,
181
+ type: 'line',
182
+ borderColor: '#aaaaaa',
183
+ backgroundColor: '#aaaaaa',
184
+ borderWidth: 8,
185
+ pointRadius: 0,
186
+ cubicInterpolationMode: 'monotone',
187
+ tension: 0.4,
188
+ spanGaps: true,
189
+ order: 0,
190
+ },
191
+ ]);
192
+ new auto_1.default(canvas, {
193
+ data: { labels, datasets },
194
+ options: {
195
+ responsive: false,
196
+ devicePixelRatio: 1,
197
+ maintainAspectRatio: false,
198
+ plugins: {
199
+ legend: {
200
+ display: false,
201
+ },
202
+ title: {
203
+ display: !!title?.length,
204
+ text: title,
205
+ color: 'white',
206
+ font: {
207
+ weight: 'normal',
208
+ size: 60,
209
+ },
210
+ position: 'bottom',
211
+ padding: { top: 5, bottom: 0 },
212
+ },
213
+ tooltip: {
214
+ callbacks: {
215
+ title(tooltipItems) {
216
+ const item = tooltipItems[0];
217
+ const labels = item.chart.data.labels;
218
+ return labels[item.dataIndex] + ' (10 seconds average)';
219
+ },
220
+ label(ctx) {
221
+ const datasetLabel = ctx.dataset.label;
222
+ let percentage;
223
+ let value;
224
+ switch (datasetLabel) {
225
+ case 'Underswing (left)':
226
+ value =
227
+ ctx.raw - chartData.fullSwingBySaber.red[ctx.dataIndex];
228
+ percentage = value / 115.0;
229
+ return `${datasetLabel}: ${formatNumber(value, 1)} (${formatNumber(percentage * 100, 2)}%)`;
230
+ case 'Underswing (right)':
231
+ value =
232
+ ctx.raw - chartData.fullSwingBySaber.blue[ctx.dataIndex];
233
+ percentage = value / 115.0;
234
+ return `${datasetLabel}: ${formatNumber(value, 1)} (${formatNumber(percentage * 100, 2)}%)`;
235
+ case 'Underswing':
236
+ value =
237
+ ctx.raw - chartData.fullSwingBySaber.total[ctx.dataIndex];
238
+ percentage = value / 115.0;
239
+ return `${datasetLabel}: ${formatNumber(value, 1)} (${formatNumber(percentage * 100, 2)}%)`;
240
+ case 'Score':
241
+ value = ctx.raw;
242
+ percentage = value / 115.0;
243
+ return `${datasetLabel}: ${formatNumber(value, 1)} (${formatNumber(percentage * 100, 2)}%)`;
244
+ default:
245
+ value = ctx.raw;
246
+ percentage = value / 115.0;
247
+ return `${datasetLabel}: ${formatNumber(value - 100.0, 1)} (${formatNumber(percentage * 100, 2)}%)`;
248
+ }
249
+ },
250
+ },
251
+ },
252
+ },
253
+ scales: {
254
+ x: {
255
+ ticks: {
256
+ autoSkip: true,
257
+ autoSkipPadding: 4,
258
+ color: 'white',
259
+ font: {
260
+ weight: 'normal',
261
+ size: 60,
262
+ },
263
+ },
264
+ },
265
+ y: {
266
+ display: true,
267
+ min: minMaxCounter.minValue,
268
+ max: minMaxCounter.maxValue,
269
+ ticks: {
270
+ autoSkip: true,
271
+ autoSkipPadding: 4,
272
+ color: 'white',
273
+ font: {
274
+ weight: 'normal',
275
+ size: 60,
276
+ },
277
+ },
278
+ },
279
+ score: {
280
+ display: false,
281
+ min: minMaxCounter.minValue,
282
+ max: minMaxCounter.maxValue,
283
+ ticks: {
284
+ autoSkip: true,
285
+ autoSkipPadding: 4,
286
+ color: 'white',
287
+ },
288
+ },
289
+ },
290
+ },
291
+ });
292
+ };
293
+ const beatSavior = (0, stastic_1.default)(scoreInfo, scoreId, statistic);
294
+ const replayAccGraphs = (0, bsorReplayAcc_1.processAccGraphs)(bsor);
295
+ const underswingsData = (0, bsorReplayAcc_1.processUnderswings)(bsor);
296
+ setupChart(canvas, replayAccGraphs, underswingsData, beatSavior);
297
+ const dataURL = canvas_1.canvasHelper.canvasToDataURL(canvas);
298
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("img", { src: dataURL, width: width, height: height }) }) }));
299
+ }
300
+ exports.default = ScoreGraph;
301
+ //# sourceMappingURL=scoregraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoregraph.js","sourceRoot":"","sources":["../../../src/img-render/components/scoregraph.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default function SkillGraph({ factorA, factorB, factorC, }: {
2
+ factorA?: number;
3
+ factorB?: number;
4
+ factorC?: number;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const getPoint = (center, edgePoint, edgeFactor, pointFactor) => {
5
+ const factorY = (center.y - edgePoint.y) / edgeFactor;
6
+ const factorX = (center.x - edgePoint.x) / edgeFactor;
7
+ return {
8
+ x: center.x - pointFactor * factorX,
9
+ y: center.y - pointFactor * factorY,
10
+ };
11
+ };
12
+ function SkillGraph({ factorA = 0.4, factorB = 0.2, factorC = 0.2, }) {
13
+ const base = 0.4;
14
+ const sqrt3 = Math.sqrt(3);
15
+ const centerPoint = {
16
+ x: 60,
17
+ y: 80 / sqrt3 + 10,
18
+ };
19
+ const edgePointA = {
20
+ x: 20,
21
+ y: 40 / sqrt3 + 10,
22
+ };
23
+ const edgePointB = {
24
+ x: 100,
25
+ y: 40 / sqrt3 + 10,
26
+ };
27
+ const edgePointC = {
28
+ x: 60,
29
+ y: 160 / sqrt3 + 10,
30
+ };
31
+ const PA = getPoint(centerPoint, edgePointA, base, factorA);
32
+ const PB = getPoint(centerPoint, edgePointB, base, factorB);
33
+ const PC = getPoint(centerPoint, edgePointC, base, factorC);
34
+ // 50,78 90,10 10,10
35
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("svg", { height: "145", viewBox: `0 0 125 125`, xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("circle", { cx: centerPoint.x, cy: centerPoint.y, r: 80 / sqrt3, className: "fill-gray-100/30", filter: "url(#blur)" }), (0, jsx_runtime_1.jsx)("circle", { cx: PA.x, cy: PA.y }), (0, jsx_runtime_1.jsx)("text", { x: edgePointA.x - 10, y: edgePointA.y, fill: "url(#gradient1)", className: "text-[8px] font-bold text-white", children: "Acc" }), (0, jsx_runtime_1.jsxs)("text", { x: edgePointA.x - 20, y: edgePointA.y + 10, fill: "url(#gradient1)", className: "text-[8px] font-bold text-white", children: [(factorA * 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsx)("text", { x: edgePointB.x - 6, y: edgePointB.y, fill: "url(#gradient1)", className: "text-[8px] font-bold text-white", children: "Tech" }), (0, jsx_runtime_1.jsxs)("text", { x: edgePointB.x - 6, y: edgePointB.y + 8, fill: "url(#gradient1)", className: "text-[8px] font-bold text-white", children: [(factorB * 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsx)("text", { x: edgePointC.x - 6, y: edgePointC.y + 2, fill: "url(#gradient1)", className: "text-[8px] font-bold text-white", children: "Pass" }), (0, jsx_runtime_1.jsxs)("text", { x: edgePointC.x - 8, y: edgePointC.y + 12, fill: "url(#gradient1)", className: "text-[8px] font-bold text-white", children: [(factorC * 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsx)("circle", { cx: PB.x, cy: PB.y }), (0, jsx_runtime_1.jsx)("circle", { cx: PC.x, cy: PC.y }), (0, jsx_runtime_1.jsx)("line", { x1: PA.x, y1: PA.y, x2: PC.x, y2: PC.y }), (0, jsx_runtime_1.jsx)("line", { x1: PA.x, y1: PA.y, x2: PB.x, y2: PB.y }), (0, jsx_runtime_1.jsx)("line", { x1: PC.x, y1: PC.y, x2: PB.x, y2: PB.y }), (0, jsx_runtime_1.jsx)("polygon", { points: `${PA.x},${PA.y} ${PB.x},${PB.y} ${PC.x},${PC.y}`, fill: "url(#gradient)" }), (0, jsx_runtime_1.jsxs)("defs", { children: [(0, jsx_runtime_1.jsxs)("linearGradient", { id: "gradient1", x1: "0%", y1: "0%", x2: "100%", y2: "100%", opacity: 0, children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", style: {
36
+ stopColor: 'rgb(252 165 165)',
37
+ stopOpacity: 1,
38
+ } }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", style: {
39
+ stopColor: 'rgb(147 197 253)',
40
+ stopOpacity: 1,
41
+ } })] }), (0, jsx_runtime_1.jsxs)("linearGradient", { id: "gradient", x1: "0%", y1: "0%", x2: "100%", y2: "100%", opacity: 0, children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", style: {
42
+ stopColor: 'red',
43
+ stopOpacity: 0.3,
44
+ } }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", style: {
45
+ stopColor: 'blue',
46
+ stopOpacity: 0.4,
47
+ } })] }), (0, jsx_runtime_1.jsx)("filter", { id: "blur", children: (0, jsx_runtime_1.jsx)("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "1" }) })] })] }) }));
48
+ }
49
+ exports.default = SkillGraph;
50
+ //# sourceMappingURL=skill-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-graph.js","sourceRoot":"","sources":["../../../src/img-render/components/skill-graph.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default function ScoreBadge({ name, count, className, }: {
2
+ name: string;
3
+ count: string | number;
4
+ className?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /** @jsxImportSource react */
5
+ const tw_join_1 = require("../utils/tw-join");
6
+ function ScoreBadge({ name, count, className, }) {
7
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('flex items-center self-center rounded-md w-18', 'bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', className), children: [(0, jsx_runtime_1.jsx)("span", { className: "border-r-0.5 font-semibold m-auto text-center rounded-l-lg w-8", children: name }), (0, jsx_runtime_1.jsx)("span", { className: "bg-transparent m-auto text-ellipsis line-clamp-1", children: count })] }) }));
8
+ }
9
+ exports.default = ScoreBadge;
10
+ //# sourceMappingURL=socre-badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socre-badge.js","sourceRoot":"","sources":["../../../src/img-render/components/socre-badge.tsx"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,8CAAyC;AAEzC,SAAwB,UAAU,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,SAAS,GAKV;IACC,OAAO,CACL,2DACE,iCACE,SAAS,EAAE,IAAA,gBAAM,EACf,iDAAiD,EACjD,yEAAyE,EACzE,SAAS,CACV,aAED,iCAAM,SAAS,EAAC,gEAAgE,YAC7E,IAAI,GACA,EACP,iCAAM,SAAS,EAAC,kDAAkD,YAC/D,KAAK,GACD,IACH,GACL,CACJ,CAAA;AACH,CAAC;AA3BD,6BA2BC"}
@@ -0,0 +1,4 @@
1
+ import { ScoreSaberItem } from '../../api/interfaces/scoresaber';
2
+ export default function SsScoreItem({ scoreItem, }: {
3
+ scoreItem: ScoreSaberItem;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const lucide_react_1 = require("lucide-react");
5
+ const utils_1 = require("../utils");
6
+ const getModifiers = (modifiers) => {
7
+ return modifiers ? modifiers.split(',') : [];
8
+ };
9
+ function SsScoreItem({ scoreItem, }) {
10
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'relative', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden', children: [(0, jsx_runtime_1.jsx)("img", { loading: 'eager', src: scoreItem.leaderboard.coverImage, className: 'rounded-md h-20 w-20' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col space-y-1 py-0.5', children: [(0, jsx_runtime_1.jsx)("div", { className: 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all', children: scoreItem.leaderboard.songName }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 ', children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(scoreItem.leaderboard.difficulty.difficultyRaw) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [scoreItem.leaderboard.stars, " "] })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: scoreItem.mapId ?? 'unknown' })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-xs', children: [(0, jsx_runtime_1.jsxs)("span", { children: [((scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *
11
+ 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [scoreItem.score.pp.toFixed(1), "PP"] }), (0, jsx_runtime_1.jsx)("span", { className: 'opacity-70', children: (0, utils_1.formatRelativeTimeByDay)(scoreItem.score.timeSet) })] }), getModifiers(scoreItem.score.modifiers).length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex flex-wrap space-x-2 items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Wrench, { className: "h-3 w-3" }), getModifiers(scoreItem.score.modifiers).map((modifier) => ((0, jsx_runtime_1.jsx)("span", { children: modifier }, modifier)))] }))] })] }), (0, jsx_runtime_1.jsx)("div", { className: "absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center", children: scoreItem.score.fullCombo && ((0, jsx_runtime_1.jsx)("span", { className: "from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent", children: "FC" })) })] }));
12
+ }
13
+ exports.default = SsScoreItem;
14
+ //# sourceMappingURL=ssScoreItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/ssScoreItem.tsx"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,oCAA4D;AAI5D,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC,CAAA;AACD,SAAwB,WAAW,CAAC,EAClC,SAAS,GAGV;IACC,OAAO,CACL,iCAAK,SAAS,EAAE,UAAU,aACxB,iCACE,SAAS,EACP,2EAA2E,aAG7E,gCACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,UAAU,EACrC,SAAS,EAAE,sBAAsB,GACjC,EACF,iCAAK,SAAS,EAAE,gCAAgC,aAC9C,gCACE,SAAS,EACP,4EAA4E,YAG7E,SAAS,CAAC,WAAW,CAAC,QAAQ,GAC3B,EACN,iCACE,SAAS,EACP,wEAAwE,aAG1E,4CACE,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CACG,IAAA,gBAAQ,EAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,GACpD,IACH,EACN,4CACE,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CAAO,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,IACvC,EACN,4CACE,2CACE,uBAAC,kBAAG,IAAC,SAAS,EAAE,SAAS,GAAI,GACxB,EACP,2CAAO,SAAS,CAAC,KAAK,IAAI,SAAS,GAAQ,IACvC,IACF,EACN,iCAAK,SAAS,EAAE,wBAAwB,aACtC,6CACG,CACC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC;gDAC5D,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,SAEP,EACP,kCAAM,SAAS,EAAE,iBAAiB,aAC/B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAEzB,EACP,iCAAM,SAAS,EAAE,YAAY,YAC1B,IAAA,+BAAuB,EAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAC5C,IACH,EACL,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACrD,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,qBAAM,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzD,2CAAsB,QAAQ,IAAnB,QAAQ,CAAmB,CACvC,CAAC,IACE,CACP,IACG,IACF,EACN,gCAAK,SAAS,EAAC,0EAA0E,YACtF,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,CAC5B,iCAAM,SAAS,EAAC,yEAAyE,mBAElF,CACR,GACG,IACF,CACP,CAAA;AACH,CAAC;AAtFD,8BAsFC"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import { APIService } from '../api';
3
+ import { RenderOption } from './interfaces';
4
+ import { Config } from '../config';
5
+ import { BSMap } from '../api/interfaces/beatsaver';
6
+ import { ImgRender, Platform } from '../interface';
7
+ type HtmlToImgBufferConverter = (html: string, onRenderStart?: () => void, onRenderError?: (e: any) => void) => Promise<Buffer>;
8
+ type UrlToImgBufferConverter = HtmlToImgBufferConverter;
9
+ export declare abstract class RenderService implements ImgRender {
10
+ config: Config;
11
+ api: APIService;
12
+ baseConfig: Partial<RenderOption>;
13
+ htmlToImgBufferConverter: HtmlToImgBufferConverter;
14
+ urlToImgBufferConverter: UrlToImgBufferConverter;
15
+ renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
16
+ _renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<Buffer>;
17
+ renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
18
+ _renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<Buffer>;
19
+ renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
20
+ renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
21
+ renderUrl(url: string, onRenderStart?: () => void): Promise<Buffer>;
22
+ _renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<Buffer>;
23
+ }
24
+ export {};
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RenderService = void 0;
7
+ const result_1 = require("./result");
8
+ const qrcode_1 = __importDefault(require("./utils/qrcode"));
9
+ const render_1 = require("../img-render/render");
10
+ const interface_1 = require("../interface");
11
+ const noop = () => { };
12
+ class RenderService {
13
+ config;
14
+ api;
15
+ baseConfig;
16
+ htmlToImgBufferConverter;
17
+ urlToImgBufferConverter;
18
+ async renderRank(accountId, platform, onRenderStart, onRenderError
19
+ // type: 'remote' | 'local' = this.config.renderMode
20
+ ) {
21
+ return this._renderRank(accountId, platform, this.api, {
22
+ ...this.baseConfig,
23
+ type: 'local',
24
+ onRenderError,
25
+ onRenderStart,
26
+ });
27
+ }
28
+ _renderRank = async (accountId, platform, api, renderOpts) => {
29
+ // if (renderOpts.type == 'remote') {
30
+ // const remoteP = platform == Platform.SS ? 'score-saber' : 'beat-leader'
31
+ // return renderRemoteRank(
32
+ // accountId,
33
+ // remoteP,
34
+ // renderOpts as RemoteRenderOpts
35
+ // )
36
+ // }
37
+ if (platform == interface_1.Platform.BL) {
38
+ const { scores, userInfo } = await api.BeatLeader.getPlayerScoresWithUserInfo(accountId);
39
+ //
40
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLPlayerComp)(scores, userInfo)), renderOpts.onRenderStart, renderOpts.onRenderError);
41
+ }
42
+ const { scores, userInfo } = await api.ScoreSaber.getPlayerRecentScoreWithUserInfo(accountId);
43
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getSSPlayerComp)(scores, userInfo)), renderOpts.onRenderStart, renderOpts.onRenderError);
44
+ };
45
+ async renderScore(scoreId, platform, onRenderStart, onRenderError
46
+ // type: 'remote' | 'local' = this.config.renderMode
47
+ ) {
48
+ return this._renderScore(scoreId, platform, this.api, {
49
+ ...this.baseConfig,
50
+ type: 'local',
51
+ onRenderError,
52
+ onRenderStart,
53
+ });
54
+ }
55
+ _renderScore = async (scoreId, platform, api, renderOpts) => {
56
+ const remoteP = 'beat-leader';
57
+ // if (renderOpts.type == 'remote') {
58
+ // const remoteP = platform == Platform.SS ? 'score-saber' : 'beat-leader'
59
+ // return renderRemoteScore(scoreId, remoteP, renderOpts as RemoteRenderOpts)
60
+ // }
61
+ const { score, statistic, bsor, bsMap } = await api.BeatLeader.withRetry(3)
62
+ .onRetry((times, e) => {
63
+ console.log(`retrying ${times} due to ${e}`);
64
+ })
65
+ .getScoreAndBSMapByScoreId(scoreId)
66
+ .catch((e) => {
67
+ throw Error('渲染错误');
68
+ });
69
+ const { aroundScores, regionTopScores, difficulties } = await api.BeatLeader.withRetry(3).getAroundScoreAndRegionScoreByRankAndPage(score.leaderboardId, score.rank, score.player.country);
70
+ // api.BeatLeader
71
+ // const qrcodeUrl = await createQrcode(
72
+ // `https://replay.beatleader.xyz/?scoreId=${score.id}`
73
+ // )
74
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLRankScoreComp)(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor)), renderOpts.onRenderStart, renderOpts.onRenderError);
75
+ };
76
+ async renderMapById(mapId, onRenderStart, onRenderError
77
+ // type: 'remote' | 'local' = this.config.renderMode
78
+ ) {
79
+ const map = await this.api.BeatSaver.searchMapById(mapId);
80
+ return this._renderMap(map, {
81
+ ...this.baseConfig,
82
+ type: 'local',
83
+ onRenderError,
84
+ onRenderStart,
85
+ });
86
+ }
87
+ async renderMap(map, onRenderStart = noop, onRenderError = noop
88
+ // type: 'remote' | 'local' = this.config.renderMode
89
+ ) {
90
+ return this._renderMap(map, {
91
+ ...this.baseConfig,
92
+ type: 'local',
93
+ onRenderError,
94
+ onRenderStart,
95
+ });
96
+ }
97
+ async renderUrl(url, onRenderStart) {
98
+ if (this.urlToImgBufferConverter) {
99
+ return this.urlToImgBufferConverter(url, onRenderStart);
100
+ }
101
+ }
102
+ _renderMap = async (bsMap, renderOpts) => {
103
+ // if (renderOpts.type == 'remote') {
104
+ // for (let i = 0; i < 3; i++) {
105
+ // const image = await renderRemoteMap(
106
+ // bsMap.id,
107
+ // renderOpts as RemoteRenderOpts
108
+ // )
109
+ // if (image) {
110
+ // return image
111
+ // }
112
+ // }
113
+ // }
114
+ const previewQrUrl = await (0, qrcode_1.default)(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
115
+ const bsMapQrUrl = await (0, qrcode_1.default)(`https://beatsaver.com/maps/${bsMap.id}`);
116
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBSMapComp)(bsMap, bsMapQrUrl, previewQrUrl)), renderOpts.onRenderStart, renderOpts.onRenderError);
117
+ };
118
+ }
119
+ exports.RenderService = RenderService;
120
+ class RenderHelper {
121
+ _onStart;
122
+ _onRenderStart;
123
+ _onRenderError;
124
+ constructor() { }
125
+ onStart(func) {
126
+ this._onStart = func;
127
+ return this;
128
+ }
129
+ onRenderError(func) {
130
+ this._onRenderError = func;
131
+ return this;
132
+ }
133
+ }
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ interface BaseRenderOpts {
2
+ type: 'local' | 'remote';
3
+ puppeteer: any;
4
+ onRenderStart?: () => void;
5
+ onRenderError?: (e: any) => void;
6
+ customBackground?: string;
7
+ waitTimeout?: number;
8
+ }
9
+ export interface RemoteRenderOpts extends BaseRenderOpts {
10
+ type: 'remote';
11
+ renderBaseURL: string;
12
+ }
13
+ export interface LocalRenderOpts extends BaseRenderOpts {
14
+ type: 'local';
15
+ }
16
+ export type RenderOption = RemoteRenderOpts | LocalRenderOpts;
17
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/img-render/interfaces.ts"],"names":[],"mappings":""}
File without changes