beatsaber-bot-core 0.2.0-dev.9 → 0.2.0-rc.10

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 (969) hide show
  1. package/dist/cjs/cmd/bind/bind-beatleader.js +101 -0
  2. package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -0
  3. package/dist/cjs/cmd/bind/bind-beatsaver.js +95 -0
  4. package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -0
  5. package/dist/cjs/cmd/bind/bind-id-beatleader.js +87 -0
  6. package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -0
  7. package/dist/cjs/cmd/bind/bind-id-beatsaver.js +87 -0
  8. package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -0
  9. package/dist/cjs/cmd/bind/bind-scoresaber.js +85 -0
  10. package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -0
  11. package/dist/cjs/cmd/bind/index.js +80 -0
  12. package/dist/cjs/cmd/bind/index.js.map +1 -0
  13. package/dist/cjs/cmd/bsmap/id-search.js +70 -0
  14. package/dist/cjs/cmd/bsmap/id-search.js.map +1 -0
  15. package/dist/cjs/cmd/bsmap/key-search.js +76 -0
  16. package/dist/cjs/cmd/bsmap/key-search.js.map +1 -0
  17. package/dist/cjs/cmd/bsmap/latest.js +57 -0
  18. package/dist/cjs/cmd/bsmap/latest.js.map +1 -0
  19. package/dist/cjs/cmd/config/index.js.map +1 -0
  20. package/dist/cjs/cmd/deprecated/tmp.js +62 -0
  21. package/dist/cjs/cmd/deprecated/tmp.js.map +1 -0
  22. package/dist/cjs/cmd/index.js +65 -0
  23. package/dist/cjs/cmd/index.js.map +1 -0
  24. package/dist/cjs/cmd/rank.js +65 -0
  25. package/dist/cjs/cmd/rank.js.map +1 -0
  26. package/dist/cjs/cmd/score.js +86 -0
  27. package/dist/cjs/cmd/score.js.map +1 -0
  28. package/dist/cjs/cmd/subscribe/beatleader.js +90 -0
  29. package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -0
  30. package/dist/cjs/cmd/subscribe/beatsaver.js +90 -0
  31. package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -0
  32. package/dist/cjs/cmd/subscribe/id-beatleader-score.js +110 -0
  33. package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -0
  34. package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +111 -0
  35. package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -0
  36. package/dist/cjs/cmd/subscribe/index.js +89 -0
  37. package/dist/cjs/cmd/subscribe/index.js.map +1 -0
  38. package/dist/cjs/cmd/subscribe/subjoin.js +77 -0
  39. package/dist/cjs/cmd/subscribe/subjoin.js.map +1 -0
  40. package/dist/cjs/cmd/subscribe/subleave.js +82 -0
  41. package/dist/cjs/cmd/subscribe/subleave.js.map +1 -0
  42. package/dist/cjs/cmd/subscribe/unsubscribe.js +149 -0
  43. package/dist/cjs/cmd/subscribe/unsubscribe.js.map +1 -0
  44. package/dist/cjs/components/components/RankDifficulty.js +158 -0
  45. package/dist/cjs/components/components/RankDifficulty.js.map +1 -0
  46. package/dist/cjs/components/components/base/avatar.js +31 -0
  47. package/dist/cjs/components/components/base/avatar.js.map +1 -0
  48. package/dist/cjs/components/components/bl-rank-score-item.js +137 -0
  49. package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -0
  50. package/dist/cjs/components/components/bl-score-item.js +104 -0
  51. package/dist/cjs/components/components/bl-score-item.js.map +1 -0
  52. package/dist/cjs/components/components/characteristic.js +184 -0
  53. package/dist/cjs/components/components/characteristic.js.map +1 -0
  54. package/dist/cjs/components/components/flag.js +65 -0
  55. package/dist/cjs/components/components/flag.js.map +1 -0
  56. package/dist/cjs/components/components/icons/BeatLeader.js +115 -0
  57. package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -0
  58. package/dist/cjs/components/components/icons/RankIcon.js +45 -0
  59. package/dist/cjs/components/components/icons/RankIcon.js.map +1 -0
  60. package/dist/cjs/components/components/icons/ScoreSaberIcon.js +356 -0
  61. package/dist/cjs/components/components/icons/ScoreSaberIcon.js.map +1 -0
  62. package/dist/cjs/components/components/progressbar.js +34 -0
  63. package/dist/cjs/components/components/progressbar.js.map +1 -0
  64. package/dist/cjs/components/components/scoreItem.js +110 -0
  65. package/dist/cjs/components/components/scoreItem.js.map +1 -0
  66. package/dist/cjs/components/components/scoregraph.js +329 -0
  67. package/dist/cjs/components/components/scoregraph.js.map +1 -0
  68. package/dist/cjs/components/components/skill-graph.js +230 -0
  69. package/dist/cjs/components/components/skill-graph.js.map +1 -0
  70. package/dist/cjs/components/components/socre-badge.js +45 -0
  71. package/dist/cjs/components/components/socre-badge.js.map +1 -0
  72. package/dist/cjs/components/components/ss-rank-score-item.js +137 -0
  73. package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -0
  74. package/dist/cjs/components/components/ss-score-item.js +100 -0
  75. package/dist/cjs/components/components/ss-score-item.js.map +1 -0
  76. package/dist/cjs/components/index.js +87 -0
  77. package/dist/cjs/components/index.js.map +1 -0
  78. package/dist/cjs/components/pages/bl-player.js +204 -0
  79. package/dist/cjs/components/pages/bl-player.js.map +1 -0
  80. package/dist/cjs/components/pages/bl-score-with-rank.js +300 -0
  81. package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -0
  82. package/dist/cjs/components/pages/bl-score.js +223 -0
  83. package/dist/cjs/components/pages/bl-score.js.map +1 -0
  84. package/dist/cjs/components/pages/bs-map.js +214 -0
  85. package/dist/cjs/components/pages/bs-map.js.map +1 -0
  86. package/dist/cjs/components/pages/index.js +94 -0
  87. package/dist/cjs/components/pages/index.js.map +1 -0
  88. package/dist/cjs/components/pages/ss-player.js +120 -0
  89. package/dist/cjs/components/pages/ss-player.js.map +1 -0
  90. package/dist/cjs/components/utils/bl/beatleader.js +57 -0
  91. package/dist/cjs/components/utils/bl/beatleader.js.map +1 -0
  92. package/dist/cjs/components/utils/bl/blheadset.js +306 -0
  93. package/dist/cjs/components/utils/bl/blheadset.js.map +1 -0
  94. package/dist/cjs/components/utils/bl/bsorDecoder.js +329 -0
  95. package/dist/cjs/components/utils/bl/bsorDecoder.js.map +1 -0
  96. package/dist/cjs/components/utils/bl/bsorReplayAcc.js +616 -0
  97. package/dist/cjs/components/utils/bl/bsorReplayAcc.js.map +1 -0
  98. package/dist/cjs/components/utils/bl/getPart.js +51 -0
  99. package/dist/cjs/components/utils/bl/getPart.js.map +1 -0
  100. package/dist/cjs/components/utils/bl/stastic.js +57 -0
  101. package/dist/cjs/components/utils/bl/stastic.js.map +1 -0
  102. package/dist/cjs/components/utils/canvas.js +2 -0
  103. package/dist/cjs/components/utils/canvas.js.map +1 -0
  104. package/dist/cjs/components/utils/format.js +93 -0
  105. package/dist/cjs/components/utils/format.js.map +1 -0
  106. package/dist/cjs/components/utils/getMods.js +44 -0
  107. package/dist/cjs/components/utils/getMods.js.map +1 -0
  108. package/dist/cjs/components/utils/index.js +44 -0
  109. package/dist/cjs/components/utils/index.js.map +1 -0
  110. package/dist/cjs/components/utils/qrcode.js +84 -0
  111. package/dist/cjs/components/utils/qrcode.js.map +1 -0
  112. package/dist/cjs/components/utils/sleep.js +52 -0
  113. package/dist/cjs/components/utils/sleep.js.map +1 -0
  114. package/dist/cjs/components/utils/tag-format.js +248 -0
  115. package/dist/cjs/components/utils/tag-format.js.map +1 -0
  116. package/dist/cjs/components/utils/tw-join.js +58 -0
  117. package/dist/cjs/components/utils/tw-join.js.map +1 -0
  118. package/dist/cjs/config.js +16 -0
  119. package/dist/cjs/config.js.map +1 -0
  120. package/dist/cjs/index.js +50 -0
  121. package/dist/cjs/index.js.map +1 -0
  122. package/dist/cjs/infra/errors/index.js +249 -0
  123. package/dist/cjs/infra/errors/index.js.map +1 -0
  124. package/dist/cjs/infra/i18n/index.js +137 -0
  125. package/dist/cjs/infra/i18n/index.js.map +1 -0
  126. package/dist/cjs/infra/i18n/parser.js +171 -0
  127. package/dist/cjs/infra/i18n/parser.js.map +1 -0
  128. package/dist/cjs/infra/i18n/zh-cn.json +1 -0
  129. package/dist/cjs/infra/index.js +31 -0
  130. package/dist/cjs/infra/index.js.map +1 -0
  131. package/dist/cjs/infra/s3/index.js +114 -0
  132. package/dist/cjs/infra/s3/index.js.map +1 -0
  133. package/dist/cjs/infra/support/cache.js +40 -0
  134. package/dist/cjs/infra/support/cache.js.map +1 -0
  135. package/dist/cjs/infra/support/fetch/error.js +49 -0
  136. package/dist/cjs/infra/support/fetch/error.js.map +1 -0
  137. package/dist/cjs/infra/support/fetch/index.js +57 -0
  138. package/dist/cjs/infra/support/fetch/index.js.map +1 -0
  139. package/dist/cjs/infra/support/fetch/ofetch.js +137 -0
  140. package/dist/cjs/infra/support/fetch/ofetch.js.map +1 -0
  141. package/dist/cjs/infra/support/render/index.js +152 -0
  142. package/dist/cjs/infra/support/render/index.js.map +1 -0
  143. package/dist/cjs/infra/support/render/puppeteer.js +129 -0
  144. package/dist/cjs/infra/support/render/puppeteer.js.map +1 -0
  145. package/dist/cjs/interface/bot.js +16 -0
  146. package/dist/cjs/interface/bot.js.map +1 -0
  147. package/dist/cjs/interface/cmd/builder.js +111 -0
  148. package/dist/cjs/interface/cmd/builder.js.map +1 -0
  149. package/dist/cjs/interface/cmd/type.js +16 -0
  150. package/dist/cjs/interface/cmd/type.js.map +1 -0
  151. package/dist/cjs/interface/db/index.js +22 -0
  152. package/dist/cjs/interface/db/index.js.map +1 -0
  153. package/dist/cjs/interface/db/models.js +16 -0
  154. package/dist/cjs/interface/db/models.js.map +1 -0
  155. package/dist/cjs/interface/index.js +47 -0
  156. package/dist/cjs/interface/index.js.map +1 -0
  157. package/dist/cjs/interface/logger.js +16 -0
  158. package/dist/cjs/interface/logger.js.map +1 -0
  159. package/dist/cjs/schedules/index.js +38 -0
  160. package/dist/cjs/schedules/index.js.map +1 -0
  161. package/dist/cjs/schedules/interface.js +16 -0
  162. package/dist/cjs/schedules/interface.js.map +1 -0
  163. package/dist/cjs/schedules/temp.js +65 -0
  164. package/dist/cjs/schedules/temp.js.map +1 -0
  165. package/dist/cjs/service/api/base/aioclient.js +70 -0
  166. package/dist/cjs/service/api/base/aioclient.js.map +1 -0
  167. package/dist/cjs/service/api/base/blclient.js +118 -0
  168. package/dist/cjs/service/api/base/blclient.js.map +1 -0
  169. package/dist/cjs/service/api/base/bsclient.js +138 -0
  170. package/dist/cjs/service/api/base/bsclient.js.map +1 -0
  171. package/dist/cjs/service/api/base/index.js +28 -0
  172. package/dist/cjs/service/api/base/index.js.map +1 -0
  173. package/dist/cjs/service/api/base/ssclient.js +95 -0
  174. package/dist/cjs/service/api/base/ssclient.js.map +1 -0
  175. package/dist/cjs/service/api/index.js +218 -0
  176. package/dist/cjs/service/api/index.js.map +1 -0
  177. package/dist/cjs/service/api/interfaces/aiosaber/index.js +16 -0
  178. package/dist/cjs/service/api/interfaces/aiosaber/index.js.map +1 -0
  179. package/dist/cjs/service/api/interfaces/beatleader/bsor.js +16 -0
  180. package/dist/cjs/service/api/interfaces/beatleader/bsor.js.map +1 -0
  181. package/dist/cjs/service/api/interfaces/beatleader/index.js +30 -0
  182. package/dist/cjs/service/api/interfaces/beatleader/index.js.map +1 -0
  183. package/dist/cjs/service/api/interfaces/beatleader/req.js +16 -0
  184. package/dist/cjs/service/api/interfaces/beatleader/req.js.map +1 -0
  185. package/dist/cjs/service/api/interfaces/beatleader/score.js +16 -0
  186. package/dist/cjs/service/api/interfaces/beatleader/score.js.map +1 -0
  187. package/dist/cjs/service/api/interfaces/beatleader/user.js +16 -0
  188. package/dist/cjs/service/api/interfaces/beatleader/user.js.map +1 -0
  189. package/dist/cjs/service/api/interfaces/beatleader/ws.js +16 -0
  190. package/dist/cjs/service/api/interfaces/beatleader/ws.js.map +1 -0
  191. package/dist/cjs/service/api/interfaces/beatsaver/alert.js +16 -0
  192. package/dist/cjs/service/api/interfaces/beatsaver/alert.js.map +1 -0
  193. package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js +16 -0
  194. package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js.map +1 -0
  195. package/dist/cjs/service/api/interfaces/beatsaver/index.js +30 -0
  196. package/dist/cjs/service/api/interfaces/beatsaver/index.js.map +1 -0
  197. package/dist/cjs/service/api/interfaces/beatsaver/resp.js +16 -0
  198. package/dist/cjs/service/api/interfaces/beatsaver/resp.js.map +1 -0
  199. package/dist/cjs/service/api/interfaces/beatsaver/user.js +16 -0
  200. package/dist/cjs/service/api/interfaces/beatsaver/user.js.map +1 -0
  201. package/dist/cjs/service/api/interfaces/beatsaver/ws.js +16 -0
  202. package/dist/cjs/service/api/interfaces/beatsaver/ws.js.map +1 -0
  203. package/dist/cjs/service/api/interfaces/index.js +16 -0
  204. package/dist/cjs/service/api/interfaces/index.js.map +1 -0
  205. package/dist/cjs/service/api/interfaces/scoresaber/index.js +26 -0
  206. package/dist/cjs/service/api/interfaces/scoresaber/index.js.map +1 -0
  207. package/dist/cjs/service/api/interfaces/scoresaber/item.js +16 -0
  208. package/dist/cjs/service/api/interfaces/scoresaber/item.js.map +1 -0
  209. package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js +16 -0
  210. package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js.map +1 -0
  211. package/dist/cjs/service/api/interfaces/scoresaber/resp.js +16 -0
  212. package/dist/cjs/service/api/interfaces/scoresaber/resp.js.map +1 -0
  213. package/dist/cjs/service/api/interfaces/scoresaber/user.js +16 -0
  214. package/dist/cjs/service/api/interfaces/scoresaber/user.js.map +1 -0
  215. package/dist/cjs/service/api/interfaces/scoresaber/ws.js +16 -0
  216. package/dist/cjs/service/api/interfaces/scoresaber/ws.js.map +1 -0
  217. package/dist/cjs/service/api/sortScore.js +51 -0
  218. package/dist/cjs/service/api/sortScore.js.map +1 -0
  219. package/dist/cjs/service/index.js +16 -0
  220. package/dist/cjs/service/index.js.map +1 -0
  221. package/dist/cjs/service/preference.js +181 -0
  222. package/dist/cjs/service/preference.js.map +1 -0
  223. package/dist/cjs/service/render/index.js +154 -0
  224. package/dist/cjs/service/render/index.js.map +1 -0
  225. package/dist/cjs/service/render/interfaces.js +16 -0
  226. package/dist/cjs/service/render/interfaces.js.map +1 -0
  227. package/dist/cjs/utils/index.js +95 -0
  228. package/dist/cjs/utils/index.js.map +1 -0
  229. package/dist/cjs/ws/beatleader.js +92 -0
  230. package/dist/cjs/ws/beatleader.js.map +1 -0
  231. package/dist/cjs/ws/beatsaver.js +131 -0
  232. package/dist/cjs/ws/beatsaver.js.map +1 -0
  233. package/dist/cjs/ws/bl-filter.js +1 -0
  234. package/dist/cjs/ws/bl-filter.js.map +1 -0
  235. package/dist/cjs/ws/handler.js +16 -0
  236. package/dist/cjs/ws/handler.js.map +1 -0
  237. package/dist/cjs/ws/index.js +28 -0
  238. package/dist/cjs/ws/index.js.map +1 -0
  239. package/dist/cjs/ws/scoresaber.js +75 -0
  240. package/dist/cjs/ws/scoresaber.js.map +1 -0
  241. package/dist/esm/cmd/bind/bind-beatleader.js +78 -0
  242. package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -0
  243. package/dist/esm/cmd/bind/bind-beatsaver.js +72 -0
  244. package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -0
  245. package/dist/esm/cmd/bind/bind-id-beatleader.js +68 -0
  246. package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -0
  247. package/dist/esm/cmd/bind/bind-id-beatsaver.js +68 -0
  248. package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -0
  249. package/dist/esm/cmd/bind/bind-scoresaber.js +66 -0
  250. package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -0
  251. package/dist/esm/cmd/bind/index.js +61 -0
  252. package/dist/esm/cmd/bind/index.js.map +1 -0
  253. package/dist/esm/cmd/bsmap/id-search.js +51 -0
  254. package/dist/esm/cmd/bsmap/id-search.js.map +1 -0
  255. package/dist/esm/cmd/bsmap/key-search.js +57 -0
  256. package/dist/esm/cmd/bsmap/key-search.js.map +1 -0
  257. package/dist/esm/cmd/bsmap/latest.js +38 -0
  258. package/dist/esm/cmd/bsmap/latest.js.map +1 -0
  259. package/dist/esm/cmd/config/index.js +1 -0
  260. package/dist/esm/cmd/config/index.js.map +1 -0
  261. package/dist/esm/cmd/deprecated/tmp.js +43 -0
  262. package/dist/esm/cmd/deprecated/tmp.js.map +1 -0
  263. package/dist/esm/cmd/index.js +32 -0
  264. package/dist/esm/cmd/index.js.map +1 -0
  265. package/dist/esm/cmd/rank.js +46 -0
  266. package/dist/esm/cmd/rank.js.map +1 -0
  267. package/dist/esm/cmd/score.js +70 -0
  268. package/dist/esm/cmd/score.js.map +1 -0
  269. package/dist/esm/cmd/subscribe/beatleader.js +69 -0
  270. package/dist/esm/cmd/subscribe/beatleader.js.map +1 -0
  271. package/dist/esm/cmd/subscribe/beatsaver.js +69 -0
  272. package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -0
  273. package/dist/esm/cmd/subscribe/id-beatleader-score.js +89 -0
  274. package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -0
  275. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +90 -0
  276. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -0
  277. package/dist/esm/cmd/subscribe/index.js +70 -0
  278. package/dist/esm/cmd/subscribe/index.js.map +1 -0
  279. package/dist/esm/cmd/subscribe/subjoin.js +58 -0
  280. package/dist/esm/cmd/subscribe/subjoin.js.map +1 -0
  281. package/dist/esm/cmd/subscribe/subleave.js +63 -0
  282. package/dist/esm/cmd/subscribe/subleave.js.map +1 -0
  283. package/dist/esm/cmd/subscribe/unsubscribe.js +135 -0
  284. package/dist/esm/cmd/subscribe/unsubscribe.js.map +1 -0
  285. package/dist/esm/components/components/RankDifficulty.js +137 -0
  286. package/dist/esm/components/components/RankDifficulty.js.map +1 -0
  287. package/dist/esm/components/components/base/avatar.js +8 -0
  288. package/dist/esm/components/components/base/avatar.js.map +1 -0
  289. package/dist/esm/components/components/bl-rank-score-item.js +103 -0
  290. package/dist/esm/components/components/bl-rank-score-item.js.map +1 -0
  291. package/dist/esm/components/components/bl-score-item.js +85 -0
  292. package/dist/esm/components/components/bl-score-item.js.map +1 -0
  293. package/dist/esm/components/components/characteristic.js +161 -0
  294. package/dist/esm/components/components/characteristic.js.map +1 -0
  295. package/dist/esm/components/components/flag.js +32 -0
  296. package/dist/esm/components/components/flag.js.map +1 -0
  297. package/dist/esm/components/components/icons/BeatLeader.js +98 -0
  298. package/dist/esm/components/components/icons/BeatLeader.js.map +1 -0
  299. package/dist/esm/components/components/icons/RankIcon.js +16 -0
  300. package/dist/esm/components/components/icons/RankIcon.js.map +1 -0
  301. package/dist/esm/components/components/icons/ScoreSaberIcon.js +339 -0
  302. package/dist/esm/components/components/icons/ScoreSaberIcon.js.map +1 -0
  303. package/dist/esm/components/components/progressbar.js +15 -0
  304. package/dist/esm/components/components/progressbar.js.map +1 -0
  305. package/dist/esm/components/components/scoreItem.js +91 -0
  306. package/dist/esm/components/components/scoreItem.js.map +1 -0
  307. package/dist/esm/components/components/scoregraph.js +299 -0
  308. package/dist/esm/components/components/scoregraph.js.map +1 -0
  309. package/dist/esm/components/components/skill-graph.js +211 -0
  310. package/dist/esm/components/components/skill-graph.js.map +1 -0
  311. package/dist/esm/components/components/socre-badge.js +26 -0
  312. package/dist/esm/components/components/socre-badge.js.map +1 -0
  313. package/dist/esm/components/components/ss-rank-score-item.js +103 -0
  314. package/dist/esm/components/components/ss-rank-score-item.js.map +1 -0
  315. package/dist/esm/components/components/ss-score-item.js +81 -0
  316. package/dist/esm/components/components/ss-score-item.js.map +1 -0
  317. package/dist/esm/components/index.js +54 -0
  318. package/dist/esm/components/index.js.map +1 -0
  319. package/dist/esm/components/pages/bl-player.js +177 -0
  320. package/dist/esm/components/pages/bl-player.js.map +1 -0
  321. package/dist/esm/components/pages/bl-score-with-rank.js +284 -0
  322. package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -0
  323. package/dist/esm/components/pages/bl-score.js +199 -0
  324. package/dist/esm/components/pages/bl-score.js.map +1 -0
  325. package/dist/esm/components/pages/bs-map.js +194 -0
  326. package/dist/esm/components/pages/bs-map.js.map +1 -0
  327. package/dist/esm/components/pages/index.js +57 -0
  328. package/dist/esm/components/pages/index.js.map +1 -0
  329. package/dist/esm/components/pages/ss-player.js +91 -0
  330. package/dist/esm/components/pages/ss-player.js.map +1 -0
  331. package/dist/esm/components/utils/bl/beatleader.js +33 -0
  332. package/dist/esm/components/utils/bl/beatleader.js.map +1 -0
  333. package/dist/esm/components/utils/bl/blheadset.js +282 -0
  334. package/dist/esm/components/utils/bl/blheadset.js.map +1 -0
  335. package/dist/esm/components/utils/bl/bsorDecoder.js +301 -0
  336. package/dist/esm/components/utils/bl/bsorDecoder.js.map +1 -0
  337. package/dist/esm/components/utils/bl/bsorReplayAcc.js +588 -0
  338. package/dist/esm/components/utils/bl/bsorReplayAcc.js.map +1 -0
  339. package/dist/esm/components/utils/bl/getPart.js +32 -0
  340. package/dist/esm/components/utils/bl/getPart.js.map +1 -0
  341. package/dist/esm/components/utils/bl/stastic.js +38 -0
  342. package/dist/esm/components/utils/bl/stastic.js.map +1 -0
  343. package/dist/esm/components/utils/canvas.js +2 -0
  344. package/dist/esm/components/utils/canvas.js.map +1 -0
  345. package/dist/esm/components/utils/format.js +55 -0
  346. package/dist/esm/components/utils/format.js.map +1 -0
  347. package/dist/esm/components/utils/getMods.js +21 -0
  348. package/dist/esm/components/utils/getMods.js.map +1 -0
  349. package/dist/esm/components/utils/index.js +18 -0
  350. package/dist/esm/components/utils/index.js.map +1 -0
  351. package/dist/esm/components/utils/qrcode.js +65 -0
  352. package/dist/esm/components/utils/qrcode.js.map +1 -0
  353. package/dist/esm/components/utils/sleep.js +29 -0
  354. package/dist/esm/components/utils/sleep.js.map +1 -0
  355. package/dist/esm/components/utils/tag-format.js +225 -0
  356. package/dist/esm/components/utils/tag-format.js.map +1 -0
  357. package/dist/esm/components/utils/tw-join.js +35 -0
  358. package/dist/esm/components/utils/tw-join.js.map +1 -0
  359. package/dist/esm/config.js +1 -0
  360. package/dist/esm/config.js.map +1 -0
  361. package/dist/esm/index.js +18 -0
  362. package/dist/esm/index.js.map +1 -0
  363. package/dist/esm/infra/errors/index.js +206 -0
  364. package/dist/esm/infra/errors/index.js.map +1 -0
  365. package/dist/esm/infra/i18n/index.js +103 -0
  366. package/dist/esm/infra/i18n/index.js.map +1 -0
  367. package/dist/esm/infra/i18n/parser.js +148 -0
  368. package/dist/esm/infra/i18n/parser.js.map +1 -0
  369. package/dist/esm/infra/index.js +6 -0
  370. package/dist/esm/infra/index.js.map +1 -0
  371. package/dist/esm/infra/s3/index.js +82 -0
  372. package/dist/esm/infra/s3/index.js.map +1 -0
  373. package/dist/esm/infra/support/cache.js +16 -0
  374. package/dist/esm/infra/support/cache.js.map +1 -0
  375. package/dist/esm/infra/support/fetch/error.js +24 -0
  376. package/dist/esm/infra/support/fetch/error.js.map +1 -0
  377. package/dist/esm/infra/support/fetch/index.js +33 -0
  378. package/dist/esm/infra/support/fetch/index.js.map +1 -0
  379. package/dist/esm/infra/support/fetch/ofetch.js +114 -0
  380. package/dist/esm/infra/support/fetch/ofetch.js.map +1 -0
  381. package/dist/esm/infra/support/render/index.js +127 -0
  382. package/dist/esm/infra/support/render/index.js.map +1 -0
  383. package/dist/esm/infra/support/render/puppeteer.js +107 -0
  384. package/dist/esm/infra/support/render/puppeteer.js.map +1 -0
  385. package/dist/esm/interface/bot.js +1 -0
  386. package/dist/esm/interface/bot.js.map +1 -0
  387. package/dist/esm/interface/cmd/builder.js +89 -0
  388. package/dist/esm/interface/cmd/builder.js.map +1 -0
  389. package/dist/esm/interface/cmd/type.js +1 -0
  390. package/dist/esm/interface/cmd/type.js.map +1 -0
  391. package/dist/esm/interface/db/index.js +2 -0
  392. package/dist/esm/interface/db/index.js.map +1 -0
  393. package/dist/esm/interface/db/models.js +1 -0
  394. package/dist/esm/interface/db/models.js.map +1 -0
  395. package/dist/esm/interface/index.js +18 -0
  396. package/dist/esm/interface/index.js.map +1 -0
  397. package/dist/esm/interface/logger.js +1 -0
  398. package/dist/esm/interface/logger.js.map +1 -0
  399. package/dist/esm/schedules/index.js +15 -0
  400. package/dist/esm/schedules/index.js.map +1 -0
  401. package/dist/esm/schedules/interface.js +1 -0
  402. package/dist/esm/schedules/interface.js.map +1 -0
  403. package/dist/esm/schedules/temp.js +42 -0
  404. package/dist/esm/schedules/temp.js.map +1 -0
  405. package/dist/esm/service/api/base/aioclient.js +48 -0
  406. package/dist/esm/service/api/base/aioclient.js.map +1 -0
  407. package/dist/esm/service/api/base/blclient.js +96 -0
  408. package/dist/esm/service/api/base/blclient.js.map +1 -0
  409. package/dist/esm/service/api/base/bsclient.js +117 -0
  410. package/dist/esm/service/api/base/bsclient.js.map +1 -0
  411. package/dist/esm/service/api/base/index.js +5 -0
  412. package/dist/esm/service/api/base/index.js.map +1 -0
  413. package/dist/esm/service/api/base/ssclient.js +73 -0
  414. package/dist/esm/service/api/base/ssclient.js.map +1 -0
  415. package/dist/esm/service/api/index.js +197 -0
  416. package/dist/esm/service/api/index.js.map +1 -0
  417. package/dist/esm/service/api/interfaces/aiosaber/index.js +1 -0
  418. package/dist/esm/service/api/interfaces/aiosaber/index.js.map +1 -0
  419. package/dist/esm/service/api/interfaces/beatleader/bsor.js +1 -0
  420. package/dist/esm/service/api/interfaces/beatleader/bsor.js.map +1 -0
  421. package/dist/esm/service/api/interfaces/beatleader/index.js +6 -0
  422. package/dist/esm/service/api/interfaces/beatleader/index.js.map +1 -0
  423. package/dist/esm/service/api/interfaces/beatleader/req.js +1 -0
  424. package/dist/esm/service/api/interfaces/beatleader/req.js.map +1 -0
  425. package/dist/esm/service/api/interfaces/beatleader/score.js +1 -0
  426. package/dist/esm/service/api/interfaces/beatleader/score.js.map +1 -0
  427. package/dist/esm/service/api/interfaces/beatleader/user.js +1 -0
  428. package/dist/esm/service/api/interfaces/beatleader/user.js.map +1 -0
  429. package/dist/esm/service/api/interfaces/beatleader/ws.js +1 -0
  430. package/dist/esm/service/api/interfaces/beatleader/ws.js.map +1 -0
  431. package/dist/esm/service/api/interfaces/beatsaver/alert.js +1 -0
  432. package/dist/esm/service/api/interfaces/beatsaver/alert.js.map +1 -0
  433. package/dist/esm/service/api/interfaces/beatsaver/bsmap.js +1 -0
  434. package/dist/esm/service/api/interfaces/beatsaver/bsmap.js.map +1 -0
  435. package/dist/esm/service/api/interfaces/beatsaver/index.js +6 -0
  436. package/dist/esm/service/api/interfaces/beatsaver/index.js.map +1 -0
  437. package/dist/esm/service/api/interfaces/beatsaver/resp.js +1 -0
  438. package/dist/esm/service/api/interfaces/beatsaver/resp.js.map +1 -0
  439. package/dist/esm/service/api/interfaces/beatsaver/user.js +1 -0
  440. package/dist/esm/service/api/interfaces/beatsaver/user.js.map +1 -0
  441. package/dist/esm/service/api/interfaces/beatsaver/ws.js +1 -0
  442. package/dist/esm/service/api/interfaces/beatsaver/ws.js.map +1 -0
  443. package/dist/esm/service/api/interfaces/index.js +1 -0
  444. package/dist/esm/service/api/interfaces/index.js.map +1 -0
  445. package/dist/esm/service/api/interfaces/scoresaber/index.js +4 -0
  446. package/dist/esm/service/api/interfaces/scoresaber/index.js.map +1 -0
  447. package/dist/esm/service/api/interfaces/scoresaber/item.js +1 -0
  448. package/dist/esm/service/api/interfaces/scoresaber/item.js.map +1 -0
  449. package/dist/esm/service/api/interfaces/scoresaber/leaderboard.js +1 -0
  450. package/dist/esm/service/api/interfaces/scoresaber/leaderboard.js.map +1 -0
  451. package/dist/esm/service/api/interfaces/scoresaber/resp.js +1 -0
  452. package/dist/esm/service/api/interfaces/scoresaber/resp.js.map +1 -0
  453. package/dist/esm/service/api/interfaces/scoresaber/user.js +1 -0
  454. package/dist/esm/service/api/interfaces/scoresaber/user.js.map +1 -0
  455. package/dist/esm/service/api/interfaces/scoresaber/ws.js +1 -0
  456. package/dist/esm/service/api/interfaces/scoresaber/ws.js.map +1 -0
  457. package/dist/esm/service/api/sortScore.js +28 -0
  458. package/dist/esm/service/api/sortScore.js.map +1 -0
  459. package/dist/esm/service/index.js +1 -0
  460. package/dist/esm/service/index.js.map +1 -0
  461. package/dist/esm/service/preference.js +156 -0
  462. package/dist/esm/service/preference.js.map +1 -0
  463. package/dist/esm/service/render/index.js +123 -0
  464. package/dist/esm/service/render/index.js.map +1 -0
  465. package/dist/esm/service/render/interfaces.js +1 -0
  466. package/dist/esm/service/render/interfaces.js.map +1 -0
  467. package/dist/esm/utils/index.js +70 -0
  468. package/dist/esm/utils/index.js.map +1 -0
  469. package/dist/esm/ws/beatleader.js +70 -0
  470. package/dist/esm/ws/beatleader.js.map +1 -0
  471. package/dist/esm/ws/beatsaver.js +109 -0
  472. package/dist/esm/ws/beatsaver.js.map +1 -0
  473. package/dist/esm/ws/bl-filter.js +1 -0
  474. package/dist/esm/ws/bl-filter.js.map +1 -0
  475. package/dist/esm/ws/handler.js +1 -0
  476. package/dist/esm/ws/handler.js.map +1 -0
  477. package/dist/esm/ws/index.js +5 -0
  478. package/dist/esm/ws/index.js.map +1 -0
  479. package/dist/esm/ws/scoresaber.js +53 -0
  480. package/dist/esm/ws/scoresaber.js.map +1 -0
  481. package/dist/types/cmd/bind/bind-beatleader.d.ts +34 -0
  482. package/dist/types/cmd/bind/bind-beatsaver.d.ts +34 -0
  483. package/dist/types/cmd/bind/bind-id-beatleader.d.ts +34 -0
  484. package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +34 -0
  485. package/dist/types/cmd/bind/bind-scoresaber.d.ts +34 -0
  486. package/dist/types/cmd/bind/index.d.ts +41 -0
  487. package/dist/types/cmd/bsmap/id-search.d.ts +41 -0
  488. package/dist/types/cmd/bsmap/key-search.d.ts +41 -0
  489. package/dist/types/cmd/bsmap/latest.d.ts +41 -0
  490. package/dist/types/cmd/config/index.d.ts +2 -0
  491. package/dist/types/cmd/deprecated/tmp.d.ts +41 -0
  492. package/dist/types/cmd/index.d.ts +34 -0
  493. package/dist/types/cmd/rank.d.ts +41 -0
  494. package/dist/types/cmd/score.d.ts +41 -0
  495. package/dist/types/cmd/subscribe/beatleader.d.ts +34 -0
  496. package/dist/types/cmd/subscribe/beatsaver.d.ts +34 -0
  497. package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +34 -0
  498. package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +34 -0
  499. package/dist/types/cmd/subscribe/index.d.ts +41 -0
  500. package/dist/types/cmd/subscribe/subjoin.d.ts +41 -0
  501. package/dist/types/cmd/subscribe/subleave.d.ts +41 -0
  502. package/dist/types/cmd/subscribe/unsubscribe.d.ts +41 -0
  503. package/dist/types/components/components/RankDifficulty.d.ts +10 -0
  504. package/dist/types/components/components/base/avatar.d.ts +10 -0
  505. package/dist/types/components/components/bl-rank-score-item.d.ts +21 -0
  506. package/dist/types/components/components/bl-score-item.d.ts +10 -0
  507. package/dist/types/components/components/characteristic.d.ts +9 -0
  508. package/dist/types/components/components/flag.d.ts +9 -0
  509. package/dist/types/components/components/icons/BeatLeader.d.ts +6 -0
  510. package/dist/types/components/components/icons/RankIcon.d.ts +8 -0
  511. package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +6 -0
  512. package/dist/types/components/components/progressbar.d.ts +8 -0
  513. package/dist/types/components/components/scoreItem.d.ts +8 -0
  514. package/dist/types/components/components/scoregraph.d.ts +15 -0
  515. package/dist/types/components/components/skill-graph.d.ts +9 -0
  516. package/dist/types/components/components/socre-badge.d.ts +9 -0
  517. package/dist/types/components/components/ss-rank-score-item.d.ts +21 -0
  518. package/dist/types/components/components/ss-score-item.d.ts +8 -0
  519. package/dist/types/components/index.d.ts +5 -0
  520. package/dist/types/components/pages/bl-player.d.ts +11 -0
  521. package/dist/types/components/pages/bl-score-with-rank.d.ts +18 -0
  522. package/dist/types/components/pages/bl-score.d.ts +15 -0
  523. package/dist/types/components/pages/bs-map.d.ts +11 -0
  524. package/dist/types/components/pages/index.d.ts +14 -0
  525. package/dist/types/components/pages/ss-player.d.ts +13 -0
  526. package/dist/types/components/utils/bl/beatleader.d.ts +15 -0
  527. package/dist/types/components/utils/bl/blheadset.d.ts +275 -0
  528. package/dist/types/components/utils/bl/bsorDecoder.d.ts +189 -0
  529. package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +38 -0
  530. package/dist/types/components/utils/bl/getPart.d.ts +9 -0
  531. package/dist/types/components/utils/bl/stastic.d.ts +3 -0
  532. package/dist/types/components/utils/canvas.d.ts +2 -0
  533. package/dist/types/components/utils/format.d.ts +8 -0
  534. package/dist/types/components/utils/getMods.d.ts +5 -0
  535. package/dist/types/components/utils/index.d.ts +6 -0
  536. package/dist/types/components/utils/qrcode.d.ts +3 -0
  537. package/dist/types/components/utils/sleep.d.ts +3 -0
  538. package/dist/types/components/utils/tag-format.d.ts +3 -0
  539. package/dist/types/components/utils/tw-join.d.ts +5 -0
  540. package/dist/types/config.d.ts +30 -0
  541. package/dist/types/index-Dagy_c8G.d.ts +74 -0
  542. package/dist/types/index.d.ts +54 -0
  543. package/dist/types/infra/errors/index.d.ts +69 -0
  544. package/dist/types/infra/i18n/index.d.ts +4 -0
  545. package/dist/types/infra/i18n/parser.d.ts +16 -0
  546. package/dist/types/infra/index.d.ts +6 -0
  547. package/dist/types/infra/s3/index.d.ts +20 -0
  548. package/dist/types/infra/support/cache.d.ts +6 -0
  549. package/dist/types/infra/support/fetch/error.d.ts +11 -0
  550. package/dist/types/infra/support/fetch/index.d.ts +7 -0
  551. package/dist/types/infra/support/fetch/ofetch.d.ts +24 -0
  552. package/dist/types/infra/support/render/index.d.ts +38 -0
  553. package/dist/types/infra/support/render/puppeteer.d.ts +43 -0
  554. package/dist/types/interface/bot.d.ts +22 -0
  555. package/dist/types/interface/cmd/builder.d.ts +53 -0
  556. package/dist/types/interface/cmd/type.d.ts +30 -0
  557. package/dist/types/interface/db/index.d.ts +45 -0
  558. package/dist/types/interface/db/models.d.ts +41 -0
  559. package/dist/types/interface/index.d.ts +30 -0
  560. package/dist/types/interface/logger.d.ts +8 -0
  561. package/dist/types/schedules/index.d.ts +40 -0
  562. package/dist/types/schedules/interface.d.ts +45 -0
  563. package/dist/types/schedules/temp.d.ts +35 -0
  564. package/dist/types/service/api/base/aioclient.d.ts +13 -0
  565. package/dist/types/service/api/base/blclient.d.ts +28 -0
  566. package/dist/types/service/api/base/bsclient.d.ts +29 -0
  567. package/dist/types/service/api/base/index.d.ts +19 -0
  568. package/dist/types/service/api/base/ssclient.d.ts +17 -0
  569. package/dist/types/service/api/index.d.ts +59 -0
  570. package/dist/types/service/api/interfaces/aiosaber/index.d.ts +9 -0
  571. package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +113 -0
  572. package/dist/types/service/api/interfaces/beatleader/index.d.ts +5 -0
  573. package/dist/types/service/api/interfaces/beatleader/req.d.ts +22 -0
  574. package/dist/types/service/api/interfaces/beatleader/score.d.ts +164 -0
  575. package/dist/types/service/api/interfaces/beatleader/user.d.ts +173 -0
  576. package/dist/types/service/api/interfaces/beatleader/ws.d.ts +90 -0
  577. package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +20 -0
  578. package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +70 -0
  579. package/dist/types/service/api/interfaces/beatsaver/index.d.ts +13 -0
  580. package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +11 -0
  581. package/dist/types/service/api/interfaces/beatsaver/user.d.ts +10 -0
  582. package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +13 -0
  583. package/dist/types/service/api/interfaces/index.d.ts +14 -0
  584. package/dist/types/service/api/interfaces/scoresaber/index.d.ts +3 -0
  585. package/dist/types/service/api/interfaces/scoresaber/item.d.ts +67 -0
  586. package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +13 -0
  587. package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +12 -0
  588. package/dist/types/service/api/interfaces/scoresaber/user.d.ts +35 -0
  589. package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +80 -0
  590. package/dist/types/service/api/sortScore.d.ts +5 -0
  591. package/dist/types/service/index.d.ts +30 -0
  592. package/dist/types/service/preference.d.ts +38 -0
  593. package/dist/types/service/render/index.d.ts +43 -0
  594. package/dist/types/service/render/interfaces.d.ts +30 -0
  595. package/dist/types/utils/index.d.ts +5 -0
  596. package/dist/types/ws/beatleader.d.ts +47 -0
  597. package/dist/types/ws/beatsaver.d.ts +52 -0
  598. package/dist/types/ws/bl-filter.d.ts +2 -0
  599. package/dist/types/ws/handler.d.ts +8 -0
  600. package/dist/types/ws/index.d.ts +36 -0
  601. package/dist/types/ws/scoresaber.d.ts +47 -0
  602. package/package.json +38 -58
  603. package/lib/api/base/aioRequest.d.ts +0 -6
  604. package/lib/api/base/aioRequest.js +0 -24
  605. package/lib/api/base/aioRequest.js.map +0 -1
  606. package/lib/api/base/blRequset.d.ts +0 -12
  607. package/lib/api/base/blRequset.js +0 -68
  608. package/lib/api/base/blRequset.js.map +0 -1
  609. package/lib/api/base/bsRequest.d.ts +0 -24
  610. package/lib/api/base/bsRequest.js +0 -64
  611. package/lib/api/base/bsRequest.js.map +0 -1
  612. package/lib/api/base/index.d.ts +0 -12
  613. package/lib/api/base/index.js +0 -21
  614. package/lib/api/base/index.js.map +0 -1
  615. package/lib/api/base/scRequest.d.ts +0 -6
  616. package/lib/api/base/scRequest.js +0 -28
  617. package/lib/api/base/scRequest.js.map +0 -1
  618. package/lib/api/composed/aiosaber.d.ts +0 -7
  619. package/lib/api/composed/aiosaber.js +0 -16
  620. package/lib/api/composed/aiosaber.js.map +0 -1
  621. package/lib/api/composed/beatleader.d.ts +0 -32
  622. package/lib/api/composed/beatleader.js +0 -112
  623. package/lib/api/composed/beatleader.js.map +0 -1
  624. package/lib/api/composed/beatsaver.d.ts +0 -12
  625. package/lib/api/composed/beatsaver.js +0 -18
  626. package/lib/api/composed/beatsaver.js.map +0 -1
  627. package/lib/api/composed/scoresaber.d.ts +0 -14
  628. package/lib/api/composed/scoresaber.js +0 -67
  629. package/lib/api/composed/scoresaber.js.map +0 -1
  630. package/lib/api/index.d.ts +0 -31
  631. package/lib/api/index.js +0 -134
  632. package/lib/api/index.js.map +0 -1
  633. package/lib/api/interfaces/aiosaber/index.d.ts +0 -7
  634. package/lib/api/interfaces/aiosaber/index.js +0 -3
  635. package/lib/api/interfaces/aiosaber/index.js.map +0 -1
  636. package/lib/api/interfaces/beatleader/bsor.d.ts +0 -112
  637. package/lib/api/interfaces/beatleader/bsor.js +0 -3
  638. package/lib/api/interfaces/beatleader/bsor.js.map +0 -1
  639. package/lib/api/interfaces/beatleader/index.d.ts +0 -5
  640. package/lib/api/interfaces/beatleader/index.js +0 -22
  641. package/lib/api/interfaces/beatleader/index.js.map +0 -1
  642. package/lib/api/interfaces/beatleader/req.d.ts +0 -19
  643. package/lib/api/interfaces/beatleader/req.js +0 -3
  644. package/lib/api/interfaces/beatleader/req.js.map +0 -1
  645. package/lib/api/interfaces/beatleader/score.d.ts +0 -162
  646. package/lib/api/interfaces/beatleader/score.js +0 -3
  647. package/lib/api/interfaces/beatleader/score.js.map +0 -1
  648. package/lib/api/interfaces/beatleader/user.d.ts +0 -171
  649. package/lib/api/interfaces/beatleader/user.js +0 -3
  650. package/lib/api/interfaces/beatleader/user.js.map +0 -1
  651. package/lib/api/interfaces/beatleader/ws.d.ts +0 -87
  652. package/lib/api/interfaces/beatleader/ws.js +0 -3
  653. package/lib/api/interfaces/beatleader/ws.js.map +0 -1
  654. package/lib/api/interfaces/beatsaver/alert.d.ts +0 -18
  655. package/lib/api/interfaces/beatsaver/alert.js +0 -3
  656. package/lib/api/interfaces/beatsaver/alert.js.map +0 -1
  657. package/lib/api/interfaces/beatsaver/bsmap.d.ts +0 -66
  658. package/lib/api/interfaces/beatsaver/bsmap.js +0 -3
  659. package/lib/api/interfaces/beatsaver/bsmap.js.map +0 -1
  660. package/lib/api/interfaces/beatsaver/index.d.ts +0 -10
  661. package/lib/api/interfaces/beatsaver/index.js +0 -22
  662. package/lib/api/interfaces/beatsaver/index.js.map +0 -1
  663. package/lib/api/interfaces/beatsaver/resp.d.ts +0 -8
  664. package/lib/api/interfaces/beatsaver/resp.js +0 -3
  665. package/lib/api/interfaces/beatsaver/resp.js.map +0 -1
  666. package/lib/api/interfaces/beatsaver/user.d.ts +0 -8
  667. package/lib/api/interfaces/beatsaver/user.js +0 -3
  668. package/lib/api/interfaces/beatsaver/user.js.map +0 -1
  669. package/lib/api/interfaces/beatsaver/ws.d.ts +0 -11
  670. package/lib/api/interfaces/beatsaver/ws.js +0 -3
  671. package/lib/api/interfaces/beatsaver/ws.js.map +0 -1
  672. package/lib/api/interfaces/scoresaber/index.d.ts +0 -3
  673. package/lib/api/interfaces/scoresaber/index.js +0 -20
  674. package/lib/api/interfaces/scoresaber/index.js.map +0 -1
  675. package/lib/api/interfaces/scoresaber/item.d.ts +0 -57
  676. package/lib/api/interfaces/scoresaber/item.js +0 -3
  677. package/lib/api/interfaces/scoresaber/item.js.map +0 -1
  678. package/lib/api/interfaces/scoresaber/resp.d.ts +0 -9
  679. package/lib/api/interfaces/scoresaber/resp.js +0 -3
  680. package/lib/api/interfaces/scoresaber/resp.js.map +0 -1
  681. package/lib/api/interfaces/scoresaber/user.d.ts +0 -33
  682. package/lib/api/interfaces/scoresaber/user.js +0 -3
  683. package/lib/api/interfaces/scoresaber/user.js.map +0 -1
  684. package/lib/api/interfaces/scoresaber/ws.d.ts +0 -78
  685. package/lib/api/interfaces/scoresaber/ws.js +0 -3
  686. package/lib/api/interfaces/scoresaber/ws.js.map +0 -1
  687. package/lib/api/netResult.d.ts +0 -18
  688. package/lib/api/netResult.js +0 -42
  689. package/lib/api/netResult.js.map +0 -1
  690. package/lib/api/sortScore.d.ts +0 -2
  691. package/lib/api/sortScore.js +0 -31
  692. package/lib/api/sortScore.js.map +0 -1
  693. package/lib/cmd/bind/bind-beatleader.d.ts +0 -2
  694. package/lib/cmd/bind/bind-beatleader.js +0 -53
  695. package/lib/cmd/bind/bind-beatleader.js.map +0 -1
  696. package/lib/cmd/bind/bind-beatsaver.d.ts +0 -2
  697. package/lib/cmd/bind/bind-beatsaver.js +0 -55
  698. package/lib/cmd/bind/bind-beatsaver.js.map +0 -1
  699. package/lib/cmd/bind/bind-id-beatleader.d.ts +0 -2
  700. package/lib/cmd/bind/bind-id-beatleader.js +0 -55
  701. package/lib/cmd/bind/bind-id-beatleader.js.map +0 -1
  702. package/lib/cmd/bind/bind-id-beatsaver.d.ts +0 -2
  703. package/lib/cmd/bind/bind-id-beatsaver.js +0 -55
  704. package/lib/cmd/bind/bind-id-beatsaver.js.map +0 -1
  705. package/lib/cmd/bind/bind-scoresaber.d.ts +0 -2
  706. package/lib/cmd/bind/bind-scoresaber.js +0 -61
  707. package/lib/cmd/bind/bind-scoresaber.js.map +0 -1
  708. package/lib/cmd/bind/index.d.ts +0 -11
  709. package/lib/cmd/bind/index.js +0 -52
  710. package/lib/cmd/bind/index.js.map +0 -1
  711. package/lib/cmd/bsmap/id-search.d.ts +0 -9
  712. package/lib/cmd/bsmap/id-search.js +0 -35
  713. package/lib/cmd/bsmap/id-search.js.map +0 -1
  714. package/lib/cmd/bsmap/key-search.d.ts +0 -9
  715. package/lib/cmd/bsmap/key-search.js +0 -41
  716. package/lib/cmd/bsmap/key-search.js.map +0 -1
  717. package/lib/cmd/bsmap/latest.d.ts +0 -9
  718. package/lib/cmd/bsmap/latest.js +0 -36
  719. package/lib/cmd/bsmap/latest.js.map +0 -1
  720. package/lib/cmd/builder.d.ts +0 -27
  721. package/lib/cmd/builder.js +0 -60
  722. package/lib/cmd/builder.js.map +0 -1
  723. package/lib/cmd/deprecated/cmp.d.ts +0 -9
  724. package/lib/cmd/deprecated/cmp.js +0 -15
  725. package/lib/cmd/deprecated/cmp.js.map +0 -1
  726. package/lib/cmd/deprecated/me.d.ts +0 -13
  727. package/lib/cmd/deprecated/me.js +0 -66
  728. package/lib/cmd/deprecated/me.js.map +0 -1
  729. package/lib/cmd/deprecated/tmp.d.ts +0 -9
  730. package/lib/cmd/deprecated/tmp.js +0 -21
  731. package/lib/cmd/deprecated/tmp.js.map +0 -1
  732. package/lib/cmd/deprecated/whois.d.ts +0 -11
  733. package/lib/cmd/deprecated/whois.js +0 -40
  734. package/lib/cmd/deprecated/whois.js.map +0 -1
  735. package/lib/cmd/help.d.ts +0 -9
  736. package/lib/cmd/help.js +0 -14
  737. package/lib/cmd/help.js.map +0 -1
  738. package/lib/cmd/index.d.ts +0 -2
  739. package/lib/cmd/index.js +0 -23
  740. package/lib/cmd/index.js.map +0 -1
  741. package/lib/cmd/rank.d.ts +0 -11
  742. package/lib/cmd/rank.js +0 -55
  743. package/lib/cmd/rank.js.map +0 -1
  744. package/lib/cmd/score.d.ts +0 -13
  745. package/lib/cmd/score.js +0 -43
  746. package/lib/cmd/score.js.map +0 -1
  747. package/lib/cmd/subscribe/beatleader.d.ts +0 -2
  748. package/lib/cmd/subscribe/beatleader.js +0 -27
  749. package/lib/cmd/subscribe/beatleader.js.map +0 -1
  750. package/lib/cmd/subscribe/beatsaver.d.ts +0 -2
  751. package/lib/cmd/subscribe/beatsaver.js +0 -27
  752. package/lib/cmd/subscribe/beatsaver.js.map +0 -1
  753. package/lib/cmd/subscribe/deprecated/alert.d.ts +0 -0
  754. package/lib/cmd/subscribe/deprecated/alert.js +0 -86
  755. package/lib/cmd/subscribe/deprecated/alert.js.map +0 -1
  756. package/lib/cmd/subscribe/deprecated/blfilters.d.ts +0 -0
  757. package/lib/cmd/subscribe/deprecated/blfilters.js +0 -49
  758. package/lib/cmd/subscribe/deprecated/blfilters.js.map +0 -1
  759. package/lib/cmd/subscribe/deprecated/scoresaber.d.ts +0 -0
  760. package/lib/cmd/subscribe/deprecated/scoresaber.js +0 -43
  761. package/lib/cmd/subscribe/deprecated/scoresaber.js.map +0 -1
  762. package/lib/cmd/subscribe/index.d.ts +0 -11
  763. package/lib/cmd/subscribe/index.js +0 -45
  764. package/lib/cmd/subscribe/index.js.map +0 -1
  765. package/lib/cmd/subscribe/subjoin.d.ts +0 -11
  766. package/lib/cmd/subscribe/subjoin.js +0 -42
  767. package/lib/cmd/subscribe/subjoin.js.map +0 -1
  768. package/lib/cmd/subscribe/subleave.d.ts +0 -11
  769. package/lib/cmd/subscribe/subleave.js +0 -35
  770. package/lib/cmd/subscribe/subleave.js.map +0 -1
  771. package/lib/cmd/subscribe/unsubscribe.d.ts +0 -11
  772. package/lib/cmd/subscribe/unsubscribe.js +0 -41
  773. package/lib/cmd/subscribe/unsubscribe.js.map +0 -1
  774. package/lib/config.d.ts +0 -23
  775. package/lib/config.js +0 -3
  776. package/lib/config.js.map +0 -1
  777. package/lib/db/index.d.ts +0 -0
  778. package/lib/db/index.js.map +0 -1
  779. package/lib/errors/index.d.ts +0 -37
  780. package/lib/errors/index.js +0 -108
  781. package/lib/errors/index.js.map +0 -1
  782. package/lib/i18n/index.d.ts +0 -2
  783. package/lib/i18n/index.js +0 -112
  784. package/lib/i18n/index.js.map +0 -1
  785. package/lib/i18n/zh-cn.json +0 -1
  786. package/lib/img-render/components/RankDifficulty.d.ts +0 -5
  787. package/lib/img-render/components/RankDifficulty.js +0 -11
  788. package/lib/img-render/components/RankDifficulty.js.map +0 -1
  789. package/lib/img-render/components/base/avatar.d.ts +0 -7
  790. package/lib/img-render/components/base/avatar.js +0 -12
  791. package/lib/img-render/components/base/avatar.js.map +0 -1
  792. package/lib/img-render/components/blScoreItem.d.ts +0 -6
  793. package/lib/img-render/components/blScoreItem.js +0 -14
  794. package/lib/img-render/components/blScoreItem.js.map +0 -1
  795. package/lib/img-render/components/characteristic.d.ts +0 -5
  796. package/lib/img-render/components/characteristic.js +0 -27
  797. package/lib/img-render/components/characteristic.js.map +0 -1
  798. package/lib/img-render/components/flag.d.ts +0 -5
  799. package/lib/img-render/components/flag.js +0 -39
  800. package/lib/img-render/components/flag.js.map +0 -1
  801. package/lib/img-render/components/icons/BeatLeader.d.ts +0 -3
  802. package/lib/img-render/components/icons/BeatLeader.js +0 -10
  803. package/lib/img-render/components/icons/BeatLeader.js.map +0 -1
  804. package/lib/img-render/components/icons/RankIcon.d.ts +0 -4
  805. package/lib/img-render/components/icons/RankIcon.js +0 -14
  806. package/lib/img-render/components/icons/RankIcon.js.map +0 -1
  807. package/lib/img-render/components/icons/ScoreSaberIcon.d.ts +0 -3
  808. package/lib/img-render/components/icons/ScoreSaberIcon.js +0 -8
  809. package/lib/img-render/components/icons/ScoreSaberIcon.js.map +0 -1
  810. package/lib/img-render/components/progressbar.d.ts +0 -4
  811. package/lib/img-render/components/progressbar.js +0 -9
  812. package/lib/img-render/components/progressbar.js.map +0 -1
  813. package/lib/img-render/components/rankScoreItem.d.ts +0 -15
  814. package/lib/img-render/components/rankScoreItem.js +0 -38
  815. package/lib/img-render/components/rankScoreItem.js.map +0 -1
  816. package/lib/img-render/components/scoreItem.d.ts +0 -4
  817. package/lib/img-render/components/scoreItem.js +0 -29
  818. package/lib/img-render/components/scoreItem.js.map +0 -1
  819. package/lib/img-render/components/scoregraph.d.ts +0 -10
  820. package/lib/img-render/components/scoregraph.js +0 -301
  821. package/lib/img-render/components/scoregraph.js.map +0 -1
  822. package/lib/img-render/components/skill-graph.d.ts +0 -5
  823. package/lib/img-render/components/skill-graph.js +0 -50
  824. package/lib/img-render/components/skill-graph.js.map +0 -1
  825. package/lib/img-render/components/socre-badge.d.ts +0 -5
  826. package/lib/img-render/components/socre-badge.js +0 -10
  827. package/lib/img-render/components/socre-badge.js.map +0 -1
  828. package/lib/img-render/components/ssScoreItem.d.ts +0 -4
  829. package/lib/img-render/components/ssScoreItem.js +0 -14
  830. package/lib/img-render/components/ssScoreItem.js.map +0 -1
  831. package/lib/img-render/index.d.ts +0 -22
  832. package/lib/img-render/index.js +0 -134
  833. package/lib/img-render/index.js.map +0 -1
  834. package/lib/img-render/interfaces.d.ts +0 -17
  835. package/lib/img-render/interfaces.js +0 -3
  836. package/lib/img-render/interfaces.js.map +0 -1
  837. package/lib/img-render/remote/index.d.ts +0 -0
  838. package/lib/img-render/remote/index.js +0 -56
  839. package/lib/img-render/remote/index.js.map +0 -1
  840. package/lib/img-render/render.d.ts +0 -7
  841. package/lib/img-render/render.js +0 -65
  842. package/lib/img-render/render.js.map +0 -1
  843. package/lib/img-render/renderImg.d.ts +0 -0
  844. package/lib/img-render/renderImg.js +0 -1
  845. package/lib/img-render/renderImg.js.map +0 -1
  846. package/lib/img-render/result/bl-player.d.ts +0 -7
  847. package/lib/img-render/result/bl-player.js +0 -44
  848. package/lib/img-render/result/bl-player.js.map +0 -1
  849. package/lib/img-render/result/bl-score.d.ts +0 -11
  850. package/lib/img-render/result/bl-score.js +0 -18
  851. package/lib/img-render/result/bl-score.js.map +0 -1
  852. package/lib/img-render/result/bs-map.d.ts +0 -8
  853. package/lib/img-render/result/bs-map.js +0 -26
  854. package/lib/img-render/result/bs-map.js.map +0 -1
  855. package/lib/img-render/result/bs-score-with-rank.d.ts +0 -13
  856. package/lib/img-render/result/bs-score-with-rank.js +0 -21
  857. package/lib/img-render/result/bs-score-with-rank.js.map +0 -1
  858. package/lib/img-render/result/index.d.ts +0 -8
  859. package/lib/img-render/result/index.js +0 -33
  860. package/lib/img-render/result/index.js.map +0 -1
  861. package/lib/img-render/result/ss-player.d.ts +0 -8
  862. package/lib/img-render/result/ss-player.js +0 -39
  863. package/lib/img-render/result/ss-player.js.map +0 -1
  864. package/lib/img-render/utils/bl/beatleader.d.ts +0 -13
  865. package/lib/img-render/utils/bl/beatleader.js +0 -38
  866. package/lib/img-render/utils/bl/beatleader.js.map +0 -1
  867. package/lib/img-render/utils/bl/blheadset.d.ts +0 -273
  868. package/lib/img-render/utils/bl/blheadset.js +0 -281
  869. package/lib/img-render/utils/bl/blheadset.js.map +0 -1
  870. package/lib/img-render/utils/bl/bsorDecoder.d.ts +0 -68
  871. package/lib/img-render/utils/bl/bsorDecoder.js +0 -286
  872. package/lib/img-render/utils/bl/bsorDecoder.js.map +0 -1
  873. package/lib/img-render/utils/bl/bsorReplayAcc.d.ts +0 -35
  874. package/lib/img-render/utils/bl/bsorReplayAcc.js +0 -590
  875. package/lib/img-render/utils/bl/bsorReplayAcc.js.map +0 -1
  876. package/lib/img-render/utils/bl/getPart.d.ts +0 -7
  877. package/lib/img-render/utils/bl/getPart.js +0 -31
  878. package/lib/img-render/utils/bl/getPart.js.map +0 -1
  879. package/lib/img-render/utils/bl/stastic.d.ts +0 -2
  880. package/lib/img-render/utils/bl/stastic.js +0 -53
  881. package/lib/img-render/utils/bl/stastic.js.map +0 -1
  882. package/lib/img-render/utils/canvas.d.ts +0 -5
  883. package/lib/img-render/utils/canvas.js +0 -70
  884. package/lib/img-render/utils/canvas.js.map +0 -1
  885. package/lib/img-render/utils/format.d.ts +0 -5
  886. package/lib/img-render/utils/format.js +0 -52
  887. package/lib/img-render/utils/format.js.map +0 -1
  888. package/lib/img-render/utils/getMods.d.ts +0 -2
  889. package/lib/img-render/utils/getMods.js +0 -22
  890. package/lib/img-render/utils/getMods.js.map +0 -1
  891. package/lib/img-render/utils/index.d.ts +0 -3
  892. package/lib/img-render/utils/index.js +0 -36
  893. package/lib/img-render/utils/index.js.map +0 -1
  894. package/lib/img-render/utils/qrcode.d.ts +0 -1
  895. package/lib/img-render/utils/qrcode.js +0 -43
  896. package/lib/img-render/utils/qrcode.js.map +0 -1
  897. package/lib/img-render/utils/sleep.d.ts +0 -1
  898. package/lib/img-render/utils/sleep.js +0 -10
  899. package/lib/img-render/utils/sleep.js.map +0 -1
  900. package/lib/img-render/utils/tag-format.d.ts +0 -1
  901. package/lib/img-render/utils/tag-format.js +0 -225
  902. package/lib/img-render/utils/tag-format.js.map +0 -1
  903. package/lib/img-render/utils/tw-join.d.ts +0 -4
  904. package/lib/img-render/utils/tw-join.js +0 -36
  905. package/lib/img-render/utils/tw-join.js.map +0 -1
  906. package/lib/index.d.ts +0 -8
  907. package/lib/index.js +0 -25
  908. package/lib/index.js.map +0 -1
  909. package/lib/interface/bot.d.ts +0 -20
  910. package/lib/interface/bot.js +0 -3
  911. package/lib/interface/bot.js.map +0 -1
  912. package/lib/interface/cmd.d.ts +0 -36
  913. package/lib/interface/cmd.js +0 -3
  914. package/lib/interface/cmd.js.map +0 -1
  915. package/lib/interface/db/index.d.ts +0 -35
  916. package/lib/interface/db/index.js +0 -18
  917. package/lib/interface/db/index.js.map +0 -1
  918. package/lib/interface/db/models.d.ts +0 -34
  919. package/lib/interface/db/models.js +0 -3
  920. package/lib/interface/db/models.js.map +0 -1
  921. package/lib/interface/index.d.ts +0 -14
  922. package/lib/interface/index.js +0 -34
  923. package/lib/interface/index.js.map +0 -1
  924. package/lib/interface/logger.d.ts +0 -6
  925. package/lib/interface/logger.js +0 -3
  926. package/lib/interface/logger.js.map +0 -1
  927. package/lib/interface/render.d.ts +0 -21
  928. package/lib/interface/render.js +0 -3
  929. package/lib/interface/render.js.map +0 -1
  930. package/lib/schedules/BeatSaverAlertMonitor.d.ts +0 -0
  931. package/lib/schedules/BeatSaverAlertMonitor.js +0 -231
  932. package/lib/schedules/BeatSaverAlertMonitor.js.map +0 -1
  933. package/lib/schedules/index.d.ts +0 -3
  934. package/lib/schedules/index.js +0 -16
  935. package/lib/schedules/index.js.map +0 -1
  936. package/lib/schedules/interface.d.ts +0 -17
  937. package/lib/schedules/interface.js +0 -3
  938. package/lib/schedules/interface.js.map +0 -1
  939. package/lib/schedules/oauthTokenRefreshTask.d.ts +0 -2
  940. package/lib/schedules/oauthTokenRefreshTask.js +0 -53
  941. package/lib/schedules/oauthTokenRefreshTask.js.map +0 -1
  942. package/lib/schedules/temp.d.ts +0 -1
  943. package/lib/schedules/temp.js +0 -28
  944. package/lib/schedules/temp.js.map +0 -1
  945. package/lib/utils/cache.d.ts +0 -2
  946. package/lib/utils/cache.js +0 -28
  947. package/lib/utils/cache.js.map +0 -1
  948. package/lib/utils/index.d.ts +0 -5
  949. package/lib/utils/index.js +0 -77
  950. package/lib/utils/index.js.map +0 -1
  951. package/lib/ws/beatleader.d.ts +0 -18
  952. package/lib/ws/beatleader.js +0 -56
  953. package/lib/ws/beatleader.js.map +0 -1
  954. package/lib/ws/beatsaver.d.ts +0 -23
  955. package/lib/ws/beatsaver.js +0 -58
  956. package/lib/ws/beatsaver.js.map +0 -1
  957. package/lib/ws/bl-filter.d.ts +0 -0
  958. package/lib/ws/bl-filter.js +0 -64
  959. package/lib/ws/bl-filter.js.map +0 -1
  960. package/lib/ws/handler.d.ts +0 -6
  961. package/lib/ws/handler.js +0 -3
  962. package/lib/ws/handler.js.map +0 -1
  963. package/lib/ws/index.d.ts +0 -4
  964. package/lib/ws/index.js +0 -21
  965. package/lib/ws/index.js.map +0 -1
  966. package/lib/ws/scoresaber.d.ts +0 -18
  967. package/lib/ws/scoresaber.js +0 -37
  968. package/lib/ws/scoresaber.js.map +0 -1
  969. /package/{lib/db → dist/cjs/cmd/config}/index.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=bsmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ export * from "./ws";
2
+ export * from "./bsmap";
3
+ export * from "./resp";
4
+ export * from "./user";
5
+ export * from "./alert";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/service/api/interfaces/beatsaver/index.ts"],"sourcesContent":["export * from './ws'\nexport * from './bsmap'\nexport * from './resp'\nexport * from './user'\nexport * from './alert'\n\nimport { BSUserResponse } from './user'\n\nexport type BSUserResp = BSUserResponse | BSErrorResponse\n\nexport interface BSErrorResponse {\n success?: boolean\n errors?: string\n}\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=resp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,4 @@
1
+ export * from "./item";
2
+ export * from "./resp";
3
+ export * from "./user";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/service/api/interfaces/scoresaber/index.ts"],"sourcesContent":["export * from './item'\nexport * from './resp'\nexport * from './user'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=leaderboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=resp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,28 @@
1
+ const difficulties = {
2
+ Easy: 0,
3
+ Normal: 1,
4
+ Hard: 2,
5
+ Expert: 3,
6
+ ExpertPlus: 4
7
+ };
8
+ const modes = {
9
+ Legacy: 0,
10
+ Lawless: 1,
11
+ Lightshow: 2,
12
+ "360Degree": 3,
13
+ "90Degree": 4,
14
+ NoArrows: 5,
15
+ OneSaber: 6,
16
+ Standard: 7
17
+ };
18
+ function sortScore(a, b) {
19
+ let res = modes[b.difficulty.modeName] - modes[a.difficulty.modeName];
20
+ if (res == 0) {
21
+ res = difficulties[b.difficulty.difficultyName] - difficulties[a.difficulty.difficultyName];
22
+ }
23
+ return res;
24
+ }
25
+ export {
26
+ sortScore
27
+ };
28
+ //# sourceMappingURL=sortScore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/service/api/sortScore.ts"],"sourcesContent":["import { Leaderboard } from './interfaces/beatleader'\n\nconst difficulties = {\n Easy: 0,\n Normal: 1,\n Hard: 2,\n Expert: 3,\n ExpertPlus: 4,\n}\n\nconst modes = {\n Legacy: 0,\n Lawless: 1,\n Lightshow: 2,\n '360Degree': 3,\n '90Degree': 4,\n NoArrows: 5,\n OneSaber: 6,\n Standard: 7,\n}\n\nexport function sortScore(a: Leaderboard, b: Leaderboard) {\n let res = modes[b.difficulty.modeName] - modes[a.difficulty.modeName]\n if (res == 0) {\n res =\n difficulties[b.difficulty.difficultyName] -\n difficulties[a.difficulty.difficultyName]\n }\n return res\n}\n"],"mappings":"AAEA,MAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AACd;AAEA,MAAM,QAAQ;AAAA,EACZ,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAAS,UAAU,GAAgB,GAAgB;AACxD,MAAI,MAAM,MAAM,EAAE,WAAW,QAAQ,IAAI,MAAM,EAAE,WAAW,QAAQ;AACpE,MAAI,OAAO,GAAG;AACZ,UACE,aAAa,EAAE,WAAW,cAAc,IACxC,aAAa,EAAE,WAAW,cAAc;AAAA,EAC5C;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,156 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
+ var __async = (__this, __arguments, generator) => {
22
+ return new Promise((resolve, reject) => {
23
+ var fulfilled = (value) => {
24
+ try {
25
+ step(generator.next(value));
26
+ } catch (e) {
27
+ reject(e);
28
+ }
29
+ };
30
+ var rejected = (value) => {
31
+ try {
32
+ step(generator.throw(value));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+ };
37
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
38
+ step((generator = generator.apply(__this, __arguments)).next());
39
+ });
40
+ };
41
+ import { LRUCache } from "lru-cache";
42
+ const cache = new LRUCache({
43
+ max: 500,
44
+ maxSize: 500,
45
+ sizeCalculation: () => 1,
46
+ ttl: 1e3 * 60 * 60 * 24 * 7,
47
+ allowStale: false,
48
+ updateAgeOnGet: true,
49
+ updateAgeOnHas: true
50
+ });
51
+ class UserPreferenceStore {
52
+ constructor(db, uid) {
53
+ this.db = db;
54
+ this.uid = uid;
55
+ __publicField(this, "v");
56
+ }
57
+ getUserPreference(uid) {
58
+ return __async(this, null, function* () {
59
+ return new UserPreferenceStore(this.db, uid);
60
+ });
61
+ }
62
+ set(key, value) {
63
+ return __async(this, null, function* () {
64
+ var _a;
65
+ if (!this.v) {
66
+ this.v = (_a = yield this.db.getUserPreference(this.uid)) != null ? _a : {};
67
+ }
68
+ const cacheKey = `${this.uid}`;
69
+ const v = __spreadProps(__spreadValues({}, this.v), {
70
+ [key]: value
71
+ });
72
+ yield this.db.storeUserPreference(this.uid, v);
73
+ cache.set(cacheKey, v);
74
+ this.v = v;
75
+ return true;
76
+ });
77
+ }
78
+ get(key) {
79
+ return __async(this, null, function* () {
80
+ var _a, _b, _c, _d, _e;
81
+ const cacheKey = `${this.uid}`;
82
+ const has = cache.has(cacheKey);
83
+ if (has) {
84
+ const v = cache.get(cacheKey);
85
+ return (_b = v == null ? void 0 : v[key]) != null ? _b : (_a = preferenceSchema[key]) == null ? void 0 : _a.default;
86
+ }
87
+ const value = (_c = yield this.db.getUserPreference(this.uid)) != null ? _c : {};
88
+ cache.set(cacheKey, value);
89
+ return (_e = value == null ? void 0 : value[key]) != null ? _e : (_d = preferenceSchema[key]) == null ? void 0 : _d.default;
90
+ });
91
+ }
92
+ configEntries() {
93
+ return __async(this, null, function* () {
94
+ yield this.get("");
95
+ return cache.get(this.uid);
96
+ });
97
+ }
98
+ }
99
+ const preferenceKey = {
100
+ blProfileRenderImg: {
101
+ key: "bl::profile::render::img",
102
+ i18nName: "BLProfile\u80CC\u666F\u56FE\u7247"
103
+ },
104
+ ssProfileRenderImg: {
105
+ key: "ss::profile::render::img",
106
+ i18nName: "SSProfile\u80CC\u666F\u56FE\u7247"
107
+ },
108
+ blScoreImg: {
109
+ key: "bl::score::render::img",
110
+ i18nName: "BLScore\u80CC\u666F\u56FE\u7247"
111
+ }
112
+ };
113
+ const preferenceSchema = {
114
+ "bl::profile::render::img": {
115
+ key: "bl::profile::render::img",
116
+ i18nName: "BLProfile\u80CC\u666F\u56FE\u7247",
117
+ valueType: "img-url",
118
+ default: "https://www.loliapi.com/acg/pc/"
119
+ },
120
+ "ss::profile::render::img": {
121
+ key: "ss::profile::render::img",
122
+ i18nName: "SSProfile\u80CC\u666F\u56FE\u7247",
123
+ valueType: "img-url",
124
+ default: "https://www.loliapi.com/acg/pc/"
125
+ },
126
+ "bl::score::render::img": {
127
+ key: "bl::score::render::img",
128
+ i18nName: "BLScore\u80CC\u666F\u56FE\u7247",
129
+ valueType: "img-url",
130
+ default: "https://www.loliapi.com/acg/pc/"
131
+ }
132
+ };
133
+ const preferenceMap = /* @__PURE__ */ new Map();
134
+ Object.entries(preferenceSchema).forEach(([key, value]) => {
135
+ preferenceMap.set(value.i18nName, value);
136
+ });
137
+ const hasPreferenceSchemaByKeyOrName = (key) => {
138
+ if (key in preferenceSchema) {
139
+ return true;
140
+ }
141
+ return preferenceMap.has(key);
142
+ };
143
+ const getPreferenceSchemaByKeyOrName = (key) => {
144
+ if (key in preferenceSchema) {
145
+ return preferenceSchema[key];
146
+ }
147
+ return preferenceMap.get(key);
148
+ };
149
+ export {
150
+ UserPreferenceStore,
151
+ getPreferenceSchemaByKeyOrName,
152
+ hasPreferenceSchemaByKeyOrName,
153
+ preferenceKey,
154
+ preferenceSchema
155
+ };
156
+ //# sourceMappingURL=preference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/service/preference.ts"],"sourcesContent":["import { DB } from '@/interface'\nimport { LRUCache } from 'lru-cache'\n\n// uid is key currently\n\nconst cache = new LRUCache({\n max: 500,\n maxSize: 500,\n sizeCalculation: () => 1,\n ttl: 1000 * 60 * 60 * 24 * 7,\n allowStale: false,\n updateAgeOnGet: true,\n updateAgeOnHas: true,\n})\n\nexport class UserPreferenceStore {\n v: any = undefined\n constructor(\n private db: DB<any>,\n private uid: number\n ) {}\n async getUserPreference(uid: number) {\n return new UserPreferenceStore(this.db, uid)\n }\n async set<T extends string | number | boolean>(\n key: string,\n value: T\n ): Promise<boolean> {\n if (!this.v) {\n this.v = (await this.db.getUserPreference(this.uid)) ?? {}\n }\n const cacheKey = `${this.uid}`\n const v = {\n ...this.v,\n [key]: value,\n }\n await this.db.storeUserPreference(this.uid, v)\n cache.set(cacheKey, v)\n this.v = v\n return true\n }\n async get<T extends string | number | boolean>(\n key: string\n ): Promise<T | undefined> {\n const cacheKey = `${this.uid}`\n const has = cache.has(cacheKey)\n if (has) {\n const v = cache.get(cacheKey) as T\n return v?.[key] ?? preferenceSchema[key]?.default\n }\n const value = (await this.db.getUserPreference(this.uid)) ?? {}\n cache.set(cacheKey, value)\n return (value?.[key] as T) ?? preferenceSchema[key]?.default\n }\n async configEntries(): Promise<Record<string, any>> {\n await this.get('')\n return cache.get(this.uid) as Record<string, any>\n }\n}\n\ntype PreferenceItem = {\n key: string\n i18nName: string\n valueType: 'img-url' | 'string' | 'number' | 'boolean'\n default: any\n}\nexport const preferenceKey = {\n blProfileRenderImg: {\n key: 'bl::profile::render::img',\n i18nName: 'BLProfile背景图片',\n },\n ssProfileRenderImg: {\n key: 'ss::profile::render::img',\n i18nName: 'SSProfile背景图片',\n },\n blScoreImg: {\n key: 'bl::score::render::img',\n i18nName: 'BLScore背景图片',\n },\n}\n\nexport const preferenceSchema: Record<string, PreferenceItem> = {\n 'bl::profile::render::img': {\n key: 'bl::profile::render::img',\n i18nName: 'BLProfile背景图片',\n valueType: 'img-url',\n default: 'https://www.loliapi.com/acg/pc/',\n },\n 'ss::profile::render::img': {\n key: 'ss::profile::render::img',\n i18nName: 'SSProfile背景图片',\n valueType: 'img-url',\n default: 'https://www.loliapi.com/acg/pc/',\n },\n 'bl::score::render::img': {\n key: 'bl::score::render::img',\n i18nName: 'BLScore背景图片',\n valueType: 'img-url',\n default: 'https://www.loliapi.com/acg/pc/',\n },\n}\n\nconst preferenceMap = new Map<string, PreferenceItem>()\n\nObject.entries(preferenceSchema).forEach(([key, value]) => {\n preferenceMap.set(value.i18nName, value)\n})\n\nexport const hasPreferenceSchemaByKeyOrName = (key: string) => {\n if (key in preferenceSchema) {\n return true\n }\n return preferenceMap.has(key)\n}\nexport const getPreferenceSchemaByKeyOrName = (key: string) => {\n if (key in preferenceSchema) {\n return preferenceSchema[key]\n }\n return preferenceMap.get(key)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,gBAAgB;AAIzB,MAAM,QAAQ,IAAI,SAAS;AAAA,EACzB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,iBAAiB,MAAM;AAAA,EACvB,KAAK,MAAO,KAAK,KAAK,KAAK;AAAA,EAC3B,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAClB,CAAC;AAEM,MAAM,oBAAoB;AAAA,EAE/B,YACU,IACA,KACR;AAFQ;AACA;AAHV;AAAA,EAIG;AAAA,EACG,kBAAkB,KAAa;AAAA;AACnC,aAAO,IAAI,oBAAoB,KAAK,IAAI,GAAG;AAAA,IAC7C;AAAA;AAAA,EACM,IACJ,KACA,OACkB;AAAA;AA3BtB;AA4BI,UAAI,CAAC,KAAK,GAAG;AACX,aAAK,KAAK,WAAM,KAAK,GAAG,kBAAkB,KAAK,GAAG,MAAxC,YAA8C,CAAC;AAAA,MAC3D;AACA,YAAM,WAAW,GAAG,KAAK,GAAG;AAC5B,YAAM,IAAI,iCACL,KAAK,IADA;AAAA,QAER,CAAC,GAAG,GAAG;AAAA,MACT;AACA,YAAM,KAAK,GAAG,oBAAoB,KAAK,KAAK,CAAC;AAC7C,YAAM,IAAI,UAAU,CAAC;AACrB,WAAK,IAAI;AACT,aAAO;AAAA,IACT;AAAA;AAAA,EACM,IACJ,KACwB;AAAA;AA3C5B;AA4CI,YAAM,WAAW,GAAG,KAAK,GAAG;AAC5B,YAAM,MAAM,MAAM,IAAI,QAAQ;AAC9B,UAAI,KAAK;AACP,cAAM,IAAI,MAAM,IAAI,QAAQ;AAC5B,gBAAO,4BAAI,SAAJ,aAAY,sBAAiB,GAAG,MAApB,mBAAuB;AAAA,MAC5C;AACA,YAAM,SAAS,WAAM,KAAK,GAAG,kBAAkB,KAAK,GAAG,MAAxC,YAA8C,CAAC;AAC9D,YAAM,IAAI,UAAU,KAAK;AACzB,cAAQ,oCAAQ,SAAR,aAAsB,sBAAiB,GAAG,MAApB,mBAAuB;AAAA,IACvD;AAAA;AAAA,EACM,gBAA8C;AAAA;AAClD,YAAM,KAAK,IAAI,EAAE;AACjB,aAAO,MAAM,IAAI,KAAK,GAAG;AAAA,IAC3B;AAAA;AACF;AAQO,MAAM,gBAAgB;AAAA,EAC3B,oBAAoB;AAAA,IAClB,KAAK;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EACA,oBAAoB;AAAA,IAClB,KAAK;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,KAAK;AAAA,IACL,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,mBAAmD;AAAA,EAC9D,4BAA4B;AAAA,IAC1B,KAAK;AAAA,IACL,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,4BAA4B;AAAA,IAC1B,KAAK;AAAA,IACL,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,0BAA0B;AAAA,IACxB,KAAK;AAAA,IACL,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AACF;AAEA,MAAM,gBAAgB,oBAAI,IAA4B;AAEtD,OAAO,QAAQ,gBAAgB,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,gBAAc,IAAI,MAAM,UAAU,KAAK;AACzC,CAAC;AAEM,MAAM,iCAAiC,CAAC,QAAgB;AAC7D,MAAI,OAAO,kBAAkB;AAC3B,WAAO;AAAA,EACT;AACA,SAAO,cAAc,IAAI,GAAG;AAC9B;AACO,MAAM,iCAAiC,CAAC,QAAgB;AAC7D,MAAI,OAAO,kBAAkB;AAC3B,WAAO,iBAAiB,GAAG;AAAA,EAC7B;AACA,SAAO,cAAc,IAAI,GAAG;AAC9B;","names":[]}
@@ -0,0 +1,123 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __async = (__this, __arguments, generator) => {
18
+ return new Promise((resolve, reject) => {
19
+ var fulfilled = (value) => {
20
+ try {
21
+ step(generator.next(value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ };
26
+ var rejected = (value) => {
27
+ try {
28
+ step(generator.throw(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
34
+ step((generator = generator.apply(__this, __arguments)).next());
35
+ });
36
+ };
37
+ import { getHtml } from "../../components";
38
+ import { PuppeteerError, TimeoutError } from "puppeteer-core";
39
+ import { Platform } from "../../interface";
40
+ import { getBLPlayerComp, getBLRankScoreComp, getBSMapComp, getSSPlayerComp } from "../../components/pages";
41
+ import { preferenceKey } from "../../service/preference";
42
+ import { ImageRenderError, RequestError } from "../../infra/errors";
43
+ import createQrcode from "../../components/utils/qrcode";
44
+ const getPreferenceKey = (platform) => {
45
+ return platform == Platform.SS ? preferenceKey.ssProfileRenderImg.key : preferenceKey.blProfileRenderImg.key;
46
+ };
47
+ class RenderService {
48
+ constructor(api, imageRender) {
49
+ this.api = api;
50
+ this.imageRender = imageRender;
51
+ }
52
+ renderRank(accountId, platform, renderOpts) {
53
+ return __async(this, null, function* () {
54
+ var _a;
55
+ try {
56
+ let bg = yield (_a = renderOpts == null ? void 0 : renderOpts.userPreference) == null ? void 0 : _a.get(getPreferenceKey(platform));
57
+ bg = bg || "https://www.loliapi.com/acg/pc/";
58
+ let html;
59
+ if (platform == Platform.BL) {
60
+ const { scores, userInfo } = yield this.api.getBLPlayerScoresWithUserInfo(accountId);
61
+ html = getHtml(getBLPlayerComp(scores, userInfo, bg));
62
+ } else {
63
+ const { scores, userInfo } = yield this.api.getSSPlayerRecentScoreWithUserInfo(accountId);
64
+ html = getHtml(getSSPlayerComp(scores, userInfo, bg));
65
+ }
66
+ return this.imageRender.html2img(html, __spreadValues({ selector: "#render-result" }, renderOpts));
67
+ } catch (e) {
68
+ if (e instanceof TimeoutError || e instanceof PuppeteerError) {
69
+ throw new ImageRenderError();
70
+ }
71
+ throw e;
72
+ }
73
+ });
74
+ }
75
+ renderScore(scoreId, renderOpts) {
76
+ return __async(this, null, function* () {
77
+ var _a, _b;
78
+ const bg = (_b = yield (_a = renderOpts == null ? void 0 : renderOpts.userPreference) == null ? void 0 : _a.get(preferenceKey.blScoreImg.key)) != null ? _b : "https://www.loliapi.com/acg/pc/";
79
+ try {
80
+ const { score, statistic, bsor, bsMap } = yield this.api.getScoreAndBSMapByScoreId(scoreId);
81
+ const { aroundScores, regionTopScores, difficulties } = yield this.api.getAroundScoreAndRegionScoreByRankAndPage(
82
+ score.leaderboardId,
83
+ score.rank,
84
+ score.player.country
85
+ );
86
+ return this.imageRender.html2img(
87
+ getHtml(getBLRankScoreComp(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),
88
+ __spreadValues({ selector: "#render-result" }, renderOpts)
89
+ );
90
+ } catch (e) {
91
+ if (e instanceof RequestError) {
92
+ throw e;
93
+ }
94
+ throw new ImageRenderError();
95
+ }
96
+ });
97
+ }
98
+ renderMapById(mapId, renderOption) {
99
+ return __async(this, null, function* () {
100
+ const map = yield this.api.BeatSaver.searchMapById(mapId);
101
+ return this.renderMap(map, renderOption);
102
+ });
103
+ }
104
+ renderMap(bsMap, renderOption) {
105
+ return __async(this, null, function* () {
106
+ const previewQrUrl = yield createQrcode(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
107
+ const bsMapQrUrl = yield createQrcode(`https://beatsaver.com/maps/${bsMap.id}`);
108
+ return this.imageRender.html2img(
109
+ getHtml(getBSMapComp(bsMap, bsMapQrUrl, previewQrUrl)),
110
+ __spreadValues({ selector: "#render-result" }, renderOption)
111
+ );
112
+ });
113
+ }
114
+ renderUrl(url, renderOption) {
115
+ return __async(this, null, function* () {
116
+ return this.imageRender.url2img(url, renderOption);
117
+ });
118
+ }
119
+ }
120
+ export {
121
+ RenderService
122
+ };
123
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/service/render/index.ts"],"sourcesContent":["import {IRenderService, RenderOption} from './interfaces'\nimport { getHtml } from '@/components'\nimport { PuppeteerError, TimeoutError } from 'puppeteer-core'\nimport { Platform } from '@/interface'\nimport {getBLPlayerComp, getBLRankScoreComp, getBSMapComp, getSSPlayerComp} from '@/components/pages'\nimport {preferenceKey} from \"@/service/preference\";\nimport {ImageRenderError, RequestError} from \"@/infra/errors\";\nimport createQrcode from \"@/components/utils/qrcode\";\nimport {APIService} from \"@/service/api\";\nimport {BSMap} from \"@/service/api/interfaces/beatsaver\";\nimport {ImageRender} from \"@/infra/support/render\";\n\n\nconst getPreferenceKey = (platform: string) => {\n return platform == Platform.SS\n ? preferenceKey.ssProfileRenderImg.key\n : preferenceKey.blProfileRenderImg.key\n}\n\nexport class RenderService implements IRenderService {\n constructor(\n private api: APIService,\n private imageRender: ImageRender\n ) {}\n async renderRank(\n accountId: string,\n platform: Platform,\n renderOpts?: RenderOption\n ) {\n try {\n let bg = (await renderOpts?.userPreference?.get<string>(getPreferenceKey(platform)))\n bg = bg || 'https://www.loliapi.com/acg/pc/'\n let html: string\n if (platform == Platform.BL) {\n const { scores, userInfo } = await this.api.getBLPlayerScoresWithUserInfo(accountId)\n html = getHtml(getBLPlayerComp(scores, userInfo, bg))\n } else {\n const { scores, userInfo } = await this.api.getSSPlayerRecentScoreWithUserInfo(accountId)\n html = getHtml(getSSPlayerComp(scores, userInfo, bg))\n }\n return this.imageRender.html2img(html, {selector: '#render-result', ...renderOpts})\n }catch (e) {\n if (e instanceof TimeoutError || e instanceof PuppeteerError) {\n throw new ImageRenderError()\n }\n throw e\n }\n }\n\n async renderScore(\n scoreId: string,\n renderOpts?: RenderOption\n ) {\n const bg = (await renderOpts?.userPreference?.get<string>(preferenceKey.blScoreImg.key))\n ?? 'https://www.loliapi.com/acg/pc/'\n try {\n const { score, statistic, bsor, bsMap } =\n await this.api.getScoreAndBSMapByScoreId(scoreId)\n\n const { aroundScores, regionTopScores, difficulties } =\n await this.api.getAroundScoreAndRegionScoreByRankAndPage(\n score.leaderboardId,\n score.rank,\n score.player.country\n )\n return this.imageRender.html2img(\n getHtml(getBLRankScoreComp(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),\n {selector: '#render-result', ...renderOpts}\n )\n }catch (e) {\n if (e instanceof RequestError) {\n throw e\n }\n throw new ImageRenderError()\n }\n }\n\n async renderMapById(\n mapId: string,\n renderOption: RenderOption\n ) {\n const map = await this.api.BeatSaver.searchMapById(mapId)\n return this.renderMap(map, renderOption)\n }\n\n async renderMap(\n bsMap: BSMap,\n renderOption?: RenderOption\n ) {\n const previewQrUrl = await createQrcode(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`)\n const bsMapQrUrl = await createQrcode(`https://beatsaver.com/maps/${bsMap.id}`)\n return this.imageRender.html2img(\n getHtml(getBSMapComp(bsMap, bsMapQrUrl, previewQrUrl)), {selector: '#render-result', ...renderOption}\n )\n }\n\n async renderUrl(url: string, renderOption?: RenderOption) {\n return this.imageRender.url2img(url, renderOption)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,eAAe;AACxB,SAAS,gBAAgB,oBAAoB;AAC7C,SAAS,gBAAgB;AACzB,SAAQ,iBAAiB,oBAAoB,cAAc,uBAAsB;AACjF,SAAQ,qBAAoB;AAC5B,SAAQ,kBAAkB,oBAAmB;AAC7C,OAAO,kBAAkB;AAMzB,MAAM,mBAAmB,CAAC,aAAqB;AAC7C,SAAO,YAAY,SAAS,KACxB,cAAc,mBAAmB,MACjC,cAAc,mBAAmB;AACvC;AAEO,MAAM,cAAwC;AAAA,EACnD,YACU,KACA,aACR;AAFQ;AACA;AAAA,EACP;AAAA,EACG,WACJ,WACA,UACA,YACA;AAAA;AA5BJ;AA6BI,UAAI;AACF,YAAI,KAAM,OAAM,8CAAY,mBAAZ,mBAA4B,IAAY,iBAAiB,QAAQ;AACjF,aAAK,MAAM;AACX,YAAI;AACJ,YAAI,YAAY,SAAS,IAAI;AAC3B,gBAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,KAAK,IAAI,8BAA8B,SAAS;AACnF,iBAAO,QAAQ,gBAAgB,QAAQ,UAAU,EAAE,CAAC;AAAA,QACtD,OAAO;AACL,gBAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,KAAK,IAAI,mCAAmC,SAAS;AACxF,iBAAO,QAAQ,gBAAgB,QAAQ,UAAU,EAAE,CAAC;AAAA,QACtD;AACA,eAAO,KAAK,YAAY,SAAS,MAAM,iBAAC,UAAU,oBAAqB,WAAW;AAAA,MACpF,SAAQ,GAAG;AACT,YAAI,aAAa,gBAAgB,aAAa,gBAAgB;AAC5D,gBAAM,IAAI,iBAAiB;AAAA,QAC7B;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AAAA,EAEM,YACJ,SACA,YACA;AAAA;AApDJ;AAqDI,YAAM,MAAM,YAAM,8CAAY,mBAAZ,mBAA4B,IAAY,cAAc,WAAW,SAAvE,YACP;AACL,UAAI;AACF,cAAM,EAAE,OAAO,WAAW,MAAM,MAAM,IACpC,MAAM,KAAK,IAAI,0BAA0B,OAAO;AAElD,cAAM,EAAE,cAAc,iBAAiB,aAAa,IAClD,MAAM,KAAK,IAAI;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM,OAAO;AAAA,QACf;AACF,eAAO,KAAK,YAAY;AAAA,UACtB,QAAQ,mBAAmB,OAAO,cAAc,iBAAiB,cAAc,OAAO,WAAW,MAAM,EAAE,CAAC;AAAA,UAC1G,iBAAC,UAAU,oBAAqB;AAAA,QAClC;AAAA,MACF,SAAQ,GAAG;AACT,YAAI,aAAa,cAAc;AAC7B,gBAAM;AAAA,QACR;AACA,cAAM,IAAI,iBAAiB;AAAA,MAC7B;AAAA,IACF;AAAA;AAAA,EAEM,cACJ,OACA,cACA;AAAA;AACA,YAAM,MAAM,MAAM,KAAK,IAAI,UAAU,cAAc,KAAK;AACxD,aAAO,KAAK,UAAU,KAAK,YAAY;AAAA,IACzC;AAAA;AAAA,EAEM,UACJ,OACA,cACA;AAAA;AACA,YAAM,eAAe,MAAM,aAAa,6CAA6C,MAAM,EAAE,EAAE;AAC/F,YAAM,aAAa,MAAM,aAAa,8BAA8B,MAAM,EAAE,EAAE;AAC9E,aAAO,KAAK,YAAY;AAAA,QACtB,QAAQ,aAAa,OAAO,YAAY,YAAY,CAAC;AAAA,QAAG,iBAAC,UAAU,oBAAqB;AAAA,MAC1F;AAAA,IACF;AAAA;AAAA,EAEM,UAAU,KAAa,cAA6B;AAAA;AACxD,aAAO,KAAK,YAAY,QAAQ,KAAK,YAAY;AAAA,IACnD;AAAA;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,70 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { LRUCache } from "lru-cache";
22
+ const handleWSEventWithCache = (fnThat, fn, ttl, eventParser, eventFilter, eventIdSelector) => {
23
+ const WSCache = new LRUCache({
24
+ max: 500,
25
+ size: 50,
26
+ sizeCalculation: (value, key) => 1,
27
+ // for use with tracking overall storage size
28
+ maxSize: 5e3,
29
+ allowStale: false,
30
+ updateAgeOnGet: false,
31
+ noUpdateTTL: true,
32
+ ttl
33
+ });
34
+ return function(event) {
35
+ return __async(this, null, function* () {
36
+ const data = eventParser(event);
37
+ const key = eventIdSelector(data);
38
+ if (!eventFilter(data) || WSCache.get(key)) {
39
+ return;
40
+ }
41
+ WSCache.set(key, true);
42
+ yield fn.apply(fnThat, [data]);
43
+ });
44
+ };
45
+ };
46
+ const sleep = (millsec = 5e3) => __async(null, null, function* () {
47
+ yield new Promise((resolve, reject) => {
48
+ setTimeout(resolve, millsec);
49
+ });
50
+ });
51
+ const diffMap = {
52
+ E: "Easy",
53
+ N: "Normal",
54
+ H: "Hard",
55
+ EX: "Expert",
56
+ EP: "ExpertPlus",
57
+ "EX+": "ExpertPlus"
58
+ };
59
+ const convertDiff = (diff) => {
60
+ if (!diff) {
61
+ return diff;
62
+ }
63
+ return diffMap[diff.toUpperCase()];
64
+ };
65
+ export {
66
+ convertDiff,
67
+ handleWSEventWithCache,
68
+ sleep
69
+ };
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["import { LRUCache } from 'lru-cache'\n\nexport const handleWSEventWithCache = (\n fnThat,\n fn,\n ttl,\n eventParser,\n eventFilter,\n eventIdSelector\n) => {\n\n const WSCache = new LRUCache({\n max: 500,\n size: 50,\n sizeCalculation: (value, key) => 1,\n // for use with tracking overall storage size\n maxSize: 5000,\n allowStale: false,\n updateAgeOnGet: false,\n noUpdateTTL: true,\n ttl: ttl,\n })\n return async function (event: any) {\n const data = eventParser(event)\n const key = eventIdSelector(data)\n if (!eventFilter(data) || WSCache.get(key)) {\n return\n }\n WSCache.set(key, true)\n await fn.apply(fnThat, [data])\n }\n}\n\nexport const sleep = async (millsec: number = 5000) => {\n await new Promise<void>((resolve, reject) => {\n setTimeout(resolve, millsec)\n })\n}\n\nconst diffMap = {\n E: 'Easy',\n N: 'Normal',\n H: 'Hard',\n EX: 'Expert',\n EP: 'ExpertPlus',\n 'EX+': 'ExpertPlus',\n}\n\nexport const convertDiff = (diff: string | null) => {\n if (!diff) {\n return diff\n }\n return diffMap[diff.toUpperCase()]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAElB,MAAM,yBAAyB,CACpC,QACA,IACA,KACA,aACA,aACA,oBACG;AAEH,QAAM,UAAU,IAAI,SAAS;AAAA,IAC3B,KAAK;AAAA,IACL,MAAM;AAAA,IACN,iBAAiB,CAAC,OAAO,QAAQ;AAAA;AAAA,IAEjC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb;AAAA,EACF,CAAC;AACD,SAAO,SAAgB,OAAY;AAAA;AACjC,YAAM,OAAO,YAAY,KAAK;AAC9B,YAAM,MAAM,gBAAgB,IAAI;AAChC,UAAI,CAAC,YAAY,IAAI,KAAK,QAAQ,IAAI,GAAG,GAAG;AAC1C;AAAA,MACF;AACA,cAAQ,IAAI,KAAK,IAAI;AACrB,YAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;AAAA,IAC/B;AAAA;AACF;AAEO,MAAM,QAAQ,CAAO,UAAkB,QAAS;AACrD,QAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AAC3C,eAAW,SAAS,OAAO;AAAA,EAC7B,CAAC;AACH;AAEA,MAAM,UAAU;AAAA,EACd,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACT;AAEO,MAAM,cAAc,CAAC,SAAwB;AAClD,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,KAAK,YAAY,CAAC;AACnC;","names":[]}
@@ -0,0 +1,70 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ var __async = (__this, __arguments, generator) => {
5
+ return new Promise((resolve, reject) => {
6
+ var fulfilled = (value) => {
7
+ try {
8
+ step(generator.next(value));
9
+ } catch (e) {
10
+ reject(e);
11
+ }
12
+ };
13
+ var rejected = (value) => {
14
+ try {
15
+ step(generator.throw(value));
16
+ } catch (e) {
17
+ reject(e);
18
+ }
19
+ };
20
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
21
+ step((generator = generator.apply(__this, __arguments)).next());
22
+ });
23
+ };
24
+ class BeatleaderWSHandler {
25
+ constructor(db, render, logger, config, botService) {
26
+ __publicField(this, "logger");
27
+ __publicField(this, "render");
28
+ __publicField(this, "botService");
29
+ __publicField(this, "wsUrl", "wss://sockets.api.beatleader.xyz/scores");
30
+ __publicField(this, "db");
31
+ __publicField(this, "config");
32
+ this.logger = logger;
33
+ this.render = render;
34
+ this.botService = botService;
35
+ this.config = config;
36
+ this.db = db;
37
+ }
38
+ onOpen() {
39
+ this.logger.info("BeatleaderWS opened");
40
+ }
41
+ onClose() {
42
+ this.logger.info("BeatleaderWS closed");
43
+ }
44
+ onEvent(event) {
45
+ return __async(this, null, function* () {
46
+ const data = JSON.parse(event.toString());
47
+ const playerId = data.player.id;
48
+ const subscriptions = yield this.db.getAllSubscriptionByUIDAndPlatform(playerId, "beatleader");
49
+ const restSub = subscriptions.filter(
50
+ (it) => it.subscribe.type == "beatleader-score" && it.subscribe.enable == true
51
+ );
52
+ if (restSub.length === 0) return;
53
+ const img = yield this.render.renderScore(data.id.toString());
54
+ for (const item of restSub) {
55
+ const session = this.botService.getSessionByChannelInfo(item.groupChannel);
56
+ if (!session) {
57
+ continue;
58
+ }
59
+ yield session.send(
60
+ `\u606D\u559C <at id="${item.account.uid}"/> \u521A\u521A\u5728\u8C31\u9762\u300C${data.leaderboard.song.name}\u300D\u4E2D\u6253\u51FA\u4E86 ${(data.accuracy * 100).toFixed(2)}% \u7684\u597D\u6210\u7EE9`
61
+ );
62
+ yield session.sendImgBuffer(img);
63
+ }
64
+ });
65
+ }
66
+ }
67
+ export {
68
+ BeatleaderWSHandler
69
+ };
70
+ //# sourceMappingURL=beatleader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/ws/beatleader.ts"],"sourcesContent":["import { WSHandler } from '@/ws/handler'\nimport { Logger } from '@/interface/logger'\nimport { Config } from '@/config'\nimport { DB } from '@/interface/db'\nimport { BotService, Session } from '@/interface'\nimport {RenderService} from \"@/service/render\";\nimport {BeatLeaderWSEvent} from \"@/service/api/interfaces/beatleader\";\n\nexport class BeatleaderWSHandler<T> implements WSHandler {\n private readonly logger: Logger\n private render: RenderService\n private botService: BotService<T, Session<T>>\n wsUrl: string = 'wss://sockets.api.beatleader.xyz/scores'\n private db: DB<T>\n config: Config\n constructor(\n db: DB<T>,\n render: RenderService,\n logger: Logger,\n config: Config,\n botService: BotService<T, Session<T>>\n ) {\n this.logger = logger\n this.render = render\n this.botService = botService\n this.config = config\n this.db = db\n }\n\n onOpen() {\n this.logger.info('BeatleaderWS opened')\n }\n\n onClose() {\n this.logger.info('BeatleaderWS closed')\n }\n\n async onEvent(event: any) {\n const data = JSON.parse(event.toString()) as BeatLeaderWSEvent\n const playerId = data.player.id\n // const ok = BeatLeaderFilter(data, ...this.config.BLScoreFilters)\n // if (!ok) {\n // return\n // }\n // logger.info('Received beatleader message',data.id, data.player.id);\n // cache all playerId\n const subscriptions = await this.db.getAllSubscriptionByUIDAndPlatform(playerId, 'beatleader')\n // .filter(item=> {\n // const channelFilters = item.sub.data as BLScoreFilter[]\n // const memberFilters = item.member.subscribeData\n // return BeatLeaderFilter(data, ...channelFilters, ...memberFilters)\n // })\n const restSub = subscriptions.filter((it) =>\n it.subscribe.type == 'beatleader-score' && it.subscribe.enable == true\n )\n // cacheService\n if (restSub.length === 0) return\n const img = await this.render.renderScore(data.id.toString())\n for (const item of restSub) {\n const session = this.botService.getSessionByChannelInfo(item.groupChannel)\n if (!session) {\n continue\n }\n await session.send(\n `恭喜 <at id=\"${item.account.uid}\"/> 刚刚在谱面「${data.leaderboard.song.name}」中打出了 ${(data.accuracy * 100).toFixed(2)}% 的好成绩`\n )\n await session.sendImgBuffer(img)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,oBAA4C;AAAA,EAOvD,YACE,IACA,QACA,QACA,QACA,YACA;AAZF,wBAAiB;AACjB,wBAAQ;AACR,wBAAQ;AACR,iCAAgB;AAChB,wBAAQ;AACR;AAQE,SAAK,SAAS;AACd,SAAK,SAAS;AACd,SAAK,aAAa;AAClB,SAAK,SAAS;AACd,SAAK,KAAK;AAAA,EACZ;AAAA,EAEA,SAAS;AACP,SAAK,OAAO,KAAK,qBAAqB;AAAA,EACxC;AAAA,EAEA,UAAU;AACR,SAAK,OAAO,KAAK,qBAAqB;AAAA,EACxC;AAAA,EAEM,QAAQ,OAAY;AAAA;AACxB,YAAM,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AACxC,YAAM,WAAW,KAAK,OAAO;AAO7B,YAAM,gBAAgB,MAAM,KAAK,GAAG,mCAAmC,UAAU,YAAY;AAM7F,YAAM,UAAU,cAAc;AAAA,QAAO,CAAC,OACpC,GAAG,UAAU,QAAQ,sBAAsB,GAAG,UAAU,UAAU;AAAA,MACpE;AAEA,UAAI,QAAQ,WAAW,EAAG;AAC1B,YAAM,MAAM,MAAM,KAAK,OAAO,YAAY,KAAK,GAAG,SAAS,CAAC;AAC5D,iBAAW,QAAQ,SAAS;AAC1B,cAAM,UAAU,KAAK,WAAW,wBAAwB,KAAK,YAAY;AACzE,YAAI,CAAC,SAAS;AACZ;AAAA,QACF;AACA,cAAM,QAAQ;AAAA,UACZ,wBAAc,KAAK,QAAQ,GAAG,2CAAa,KAAK,YAAY,KAAK,IAAI,mCAAU,KAAK,WAAW,KAAK,QAAQ,CAAC,CAAC;AAAA,QAChH;AACA,cAAM,QAAQ,cAAc,GAAG;AAAA,MACjC;AAAA,IACF;AAAA;AACF;","names":[]}