beatsaber-bot-core 0.2.0-rc.8 → 0.3.0-rc.1

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 (678) hide show
  1. package/dist/cjs/cmd/bind/bind-beatleader.js +2 -2
  2. package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
  3. package/dist/cjs/cmd/bind/bind-beatsaver.js +2 -2
  4. package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
  5. package/dist/cjs/cmd/bind/bind-id-beatleader.js +3 -3
  6. package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
  7. package/dist/cjs/cmd/bind/bind-id-beatsaver.js +3 -3
  8. package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
  9. package/dist/cjs/cmd/bind/bind-scoresaber.js +3 -3
  10. package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -1
  11. package/dist/cjs/cmd/bind/index.js +12 -12
  12. package/dist/cjs/cmd/bind/index.js.map +1 -1
  13. package/dist/cjs/cmd/bsmap/id-search.js +3 -3
  14. package/dist/cjs/cmd/bsmap/id-search.js.map +1 -1
  15. package/dist/cjs/cmd/bsmap/key-search.js +2 -2
  16. package/dist/cjs/cmd/bsmap/key-search.js.map +1 -1
  17. package/dist/cjs/cmd/bsmap/latest.js +2 -2
  18. package/dist/cjs/cmd/bsmap/latest.js.map +1 -1
  19. package/dist/cjs/cmd/deprecated/tmp.js +4 -4
  20. package/dist/cjs/cmd/deprecated/tmp.js.map +1 -1
  21. package/dist/cjs/cmd/index.js +11 -11
  22. package/dist/cjs/cmd/index.js.map +1 -1
  23. package/dist/cjs/cmd/rank.js +8 -8
  24. package/dist/cjs/cmd/rank.js.map +1 -1
  25. package/dist/cjs/cmd/score.js +16 -20
  26. package/dist/cjs/cmd/score.js.map +1 -1
  27. package/dist/cjs/cmd/subscribe/beatleader.js +3 -3
  28. package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
  29. package/dist/cjs/cmd/subscribe/beatsaver.js +3 -3
  30. package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
  31. package/dist/cjs/cmd/subscribe/id-beatleader-score.js +4 -4
  32. package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
  33. package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +4 -4
  34. package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
  35. package/dist/cjs/cmd/subscribe/index.js +8 -8
  36. package/dist/cjs/cmd/subscribe/index.js.map +1 -1
  37. package/dist/cjs/cmd/subscribe/subjoin.js +6 -6
  38. package/dist/cjs/cmd/subscribe/subjoin.js.map +1 -1
  39. package/dist/cjs/cmd/subscribe/subleave.js +6 -6
  40. package/dist/cjs/cmd/subscribe/subleave.js.map +1 -1
  41. package/dist/cjs/cmd/subscribe/unsubscribe.js +8 -8
  42. package/dist/cjs/cmd/subscribe/unsubscribe.js.map +1 -1
  43. package/dist/cjs/common/cache.js.map +1 -0
  44. package/dist/cjs/common/fetch/error.js.map +1 -0
  45. package/dist/cjs/{infra/support → common}/fetch/index.js +16 -14
  46. package/dist/cjs/common/fetch/index.js.map +1 -0
  47. package/dist/cjs/{infra/support → common}/fetch/ofetch.js +5 -12
  48. package/dist/cjs/common/fetch/ofetch.js.map +1 -0
  49. package/dist/cjs/common/i18n/index.js +55 -0
  50. package/dist/cjs/common/i18n/index.js.map +1 -0
  51. package/dist/cjs/common/i18n/parser.js.map +1 -0
  52. package/dist/cjs/{infra/i18n/index.js → common/i18n/util.js} +10 -71
  53. package/dist/cjs/common/i18n/util.js.map +1 -0
  54. package/dist/cjs/{infra/support → common}/render/index.js +55 -15
  55. package/dist/cjs/common/render/index.js.map +1 -0
  56. package/dist/cjs/common/render/puppeteer.js.map +1 -0
  57. package/dist/cjs/{infra → common}/s3/index.js +34 -13
  58. package/dist/cjs/common/s3/index.js.map +1 -0
  59. package/dist/cjs/components/components/RankDifficulty.js +60 -84
  60. package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
  61. package/dist/cjs/components/components/base/avatar.js +1 -2
  62. package/dist/cjs/components/components/base/avatar.js.map +1 -1
  63. package/dist/cjs/components/components/bl-rank-score-item.js +25 -87
  64. package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
  65. package/dist/cjs/components/components/bl-score-item.js +28 -69
  66. package/dist/cjs/components/components/bl-score-item.js.map +1 -1
  67. package/dist/cjs/components/components/characteristic.js +106 -118
  68. package/dist/cjs/components/components/characteristic.js.map +1 -1
  69. package/dist/cjs/components/components/flag.js +6 -14
  70. package/dist/cjs/components/components/flag.js.map +1 -1
  71. package/dist/cjs/components/components/icons/BeatLeader.js +55 -71
  72. package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -1
  73. package/dist/cjs/components/components/icons/RankIcon.js +3 -7
  74. package/dist/cjs/components/components/icons/RankIcon.js.map +1 -1
  75. package/dist/cjs/components/components/icons/ScoreSaberIcon.js +276 -312
  76. package/dist/cjs/components/components/icons/ScoreSaberIcon.js.map +1 -1
  77. package/dist/cjs/components/components/progressbar.js +12 -2
  78. package/dist/cjs/components/components/progressbar.js.map +1 -1
  79. package/dist/cjs/components/components/scoreItem.js +26 -63
  80. package/dist/cjs/components/components/scoreItem.js.map +1 -1
  81. package/dist/cjs/components/components/scoregraph.js +4 -5
  82. package/dist/cjs/components/components/scoregraph.js.map +1 -1
  83. package/dist/cjs/components/components/skill-graph.js +147 -164
  84. package/dist/cjs/components/components/skill-graph.js.map +1 -1
  85. package/dist/cjs/components/components/socre-badge.js +7 -10
  86. package/dist/cjs/components/components/socre-badge.js.map +1 -1
  87. package/dist/cjs/components/components/ss-rank-score-item.js +25 -87
  88. package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -1
  89. package/dist/cjs/components/components/ss-score-item.js +38 -65
  90. package/dist/cjs/components/components/ss-score-item.js.map +1 -1
  91. package/dist/cjs/components/index.js +3 -43
  92. package/dist/cjs/components/index.js.map +1 -1
  93. package/dist/cjs/components/pages/bl-player.js +91 -136
  94. package/dist/cjs/components/pages/bl-player.js.map +1 -1
  95. package/dist/cjs/components/pages/bl-score-with-rank.js +114 -221
  96. package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -1
  97. package/dist/cjs/components/pages/bl-score.js +67 -169
  98. package/dist/cjs/components/pages/bl-score.js.map +1 -1
  99. package/dist/cjs/components/pages/bs-map.js +95 -166
  100. package/dist/cjs/components/pages/bs-map.js.map +1 -1
  101. package/dist/cjs/components/pages/index.js +26 -26
  102. package/dist/cjs/components/pages/index.js.map +1 -1
  103. package/dist/cjs/components/pages/ss-player.js +48 -77
  104. package/dist/cjs/components/pages/ss-player.js.map +1 -1
  105. package/dist/cjs/components/utils/bl/bsorReplayAcc.js +2 -2
  106. package/dist/cjs/components/utils/bl/bsorReplayAcc.js.map +1 -1
  107. package/dist/cjs/components/utils/bl/getPart.js.map +1 -1
  108. package/dist/cjs/components/utils/bl/stastic.js.map +1 -1
  109. package/dist/cjs/components/utils/format.js +3 -3
  110. package/dist/cjs/components/utils/format.js.map +1 -1
  111. package/dist/cjs/components/utils/getMods.js.map +1 -1
  112. package/dist/cjs/components/utils/index.js +4 -4
  113. package/dist/cjs/config.js +40 -0
  114. package/dist/cjs/config.js.map +1 -1
  115. package/dist/cjs/{interface → core}/cmd/builder.js +5 -5
  116. package/dist/cjs/core/cmd/builder.js.map +1 -0
  117. package/dist/cjs/core/cmd/type.js.map +1 -0
  118. package/dist/cjs/core/domain.js +16 -0
  119. package/dist/cjs/core/domain.js.map +1 -0
  120. package/dist/cjs/core/error.js +38 -0
  121. package/dist/cjs/core/error.js.map +1 -0
  122. package/dist/cjs/{interface/bot.js → core/event.js} +3 -3
  123. package/dist/cjs/core/event.js.map +1 -0
  124. package/dist/cjs/core/index.js +39 -0
  125. package/dist/cjs/core/index.js.map +1 -0
  126. package/dist/cjs/core/logger.js.map +1 -0
  127. package/dist/cjs/core/session.js +16 -0
  128. package/dist/cjs/core/session.js.map +1 -0
  129. package/dist/cjs/{schedules → events/schedules}/index.js +4 -3
  130. package/dist/cjs/events/schedules/index.js.map +1 -0
  131. package/dist/cjs/{schedules → events/schedules}/temp.js +7 -3
  132. package/dist/cjs/events/schedules/temp.js.map +1 -0
  133. package/dist/cjs/{ws → events/ws}/beatleader.js +6 -6
  134. package/dist/cjs/events/ws/beatleader.js.map +1 -0
  135. package/dist/cjs/{ws → events/ws}/beatsaver.js +11 -11
  136. package/dist/cjs/events/ws/beatsaver.js.map +1 -0
  137. package/dist/cjs/events/ws/handler.js.map +1 -0
  138. package/dist/cjs/{ws → events/ws}/index.js +6 -8
  139. package/dist/cjs/events/ws/index.js.map +1 -0
  140. package/dist/cjs/index.js +27 -18
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/interface/db/index.js +0 -6
  143. package/dist/cjs/interface/db/index.js.map +1 -1
  144. package/dist/cjs/interface/db/models.js.map +1 -1
  145. package/dist/cjs/interface/index.js +12 -21
  146. package/dist/cjs/interface/index.js.map +1 -1
  147. package/dist/cjs/{service → services}/api/base/aioclient.js +1 -1
  148. package/dist/cjs/services/api/base/aioclient.js.map +1 -0
  149. package/dist/cjs/{service → services}/api/base/blclient.js +1 -1
  150. package/dist/cjs/services/api/base/blclient.js.map +1 -0
  151. package/dist/cjs/{service → services}/api/base/bsclient.js +2 -2
  152. package/dist/cjs/services/api/base/bsclient.js.map +1 -0
  153. package/dist/cjs/{service → services}/api/base/index.js +8 -8
  154. package/dist/cjs/services/api/base/index.js.map +1 -0
  155. package/dist/cjs/{service → services}/api/base/ssclient.js +2 -2
  156. package/dist/cjs/services/api/base/ssclient.js.map +1 -0
  157. package/dist/cjs/{service → services}/api/index.js +17 -9
  158. package/dist/cjs/services/api/index.js.map +1 -0
  159. package/dist/cjs/services/api/interfaces/aiosaber/index.js.map +1 -0
  160. package/dist/cjs/services/api/interfaces/beatleader/bsor.js.map +1 -0
  161. package/dist/cjs/{service → services}/api/interfaces/beatleader/index.js +10 -10
  162. package/dist/cjs/services/api/interfaces/beatleader/index.js.map +1 -0
  163. package/dist/cjs/services/api/interfaces/beatleader/req.js.map +1 -0
  164. package/dist/cjs/services/api/interfaces/beatleader/score.js.map +1 -0
  165. package/dist/cjs/services/api/interfaces/beatleader/user.js.map +1 -0
  166. package/dist/cjs/services/api/interfaces/beatleader/ws.js.map +1 -0
  167. package/dist/cjs/services/api/interfaces/beatsaver/alert.js.map +1 -0
  168. package/dist/cjs/services/api/interfaces/beatsaver/bsmap.js.map +1 -0
  169. package/dist/cjs/{service → services}/api/interfaces/beatsaver/index.js +10 -10
  170. package/dist/cjs/services/api/interfaces/beatsaver/index.js.map +1 -0
  171. package/dist/cjs/services/api/interfaces/beatsaver/resp.js.map +1 -0
  172. package/dist/cjs/services/api/interfaces/beatsaver/user.js.map +1 -0
  173. package/dist/cjs/services/api/interfaces/beatsaver/ws.js.map +1 -0
  174. package/dist/cjs/services/api/interfaces/index.js.map +1 -0
  175. package/dist/cjs/{service → services}/api/interfaces/scoresaber/index.js +6 -6
  176. package/dist/cjs/services/api/interfaces/scoresaber/index.js.map +1 -0
  177. package/dist/cjs/services/api/interfaces/scoresaber/item.js.map +1 -0
  178. package/dist/cjs/services/api/interfaces/scoresaber/leaderboard.js.map +1 -0
  179. package/dist/cjs/services/api/interfaces/scoresaber/resp.js.map +1 -0
  180. package/dist/cjs/services/api/interfaces/scoresaber/user.js.map +1 -0
  181. package/dist/cjs/services/api/interfaces/scoresaber/ws.js.map +1 -0
  182. package/dist/cjs/services/api/sortScore.js.map +1 -0
  183. package/dist/cjs/{infra → services}/errors/index.js +21 -38
  184. package/dist/cjs/services/errors/index.js.map +1 -0
  185. package/dist/cjs/services/i18n/index.js +43 -0
  186. package/dist/cjs/services/i18n/index.js.map +1 -0
  187. package/dist/cjs/{infra → services}/i18n/zh-cn.json +1 -1
  188. package/dist/cjs/{infra → services}/index.js +12 -9
  189. package/dist/cjs/services/index.js.map +1 -0
  190. package/dist/cjs/services/preference.js.map +1 -0
  191. package/dist/cjs/{service → services}/render/index.js +36 -13
  192. package/dist/cjs/services/render/index.js.map +1 -0
  193. package/dist/cjs/utils/bsorDecoder.js +329 -0
  194. package/dist/cjs/utils/bsorDecoder.js.map +1 -0
  195. package/dist/cjs/utils/index.js +6 -1
  196. package/dist/cjs/utils/index.js.map +1 -1
  197. package/dist/cjs/utils/platform.js +38 -0
  198. package/dist/cjs/utils/platform.js.map +1 -0
  199. package/dist/esm/cmd/bind/bind-beatleader.js +2 -2
  200. package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
  201. package/dist/esm/cmd/bind/bind-beatsaver.js +2 -2
  202. package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
  203. package/dist/esm/cmd/bind/bind-id-beatleader.js +3 -3
  204. package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
  205. package/dist/esm/cmd/bind/bind-id-beatsaver.js +3 -3
  206. package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
  207. package/dist/esm/cmd/bind/bind-scoresaber.js +3 -3
  208. package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -1
  209. package/dist/esm/cmd/bind/index.js +5 -5
  210. package/dist/esm/cmd/bind/index.js.map +1 -1
  211. package/dist/esm/cmd/bsmap/id-search.js +2 -2
  212. package/dist/esm/cmd/bsmap/id-search.js.map +1 -1
  213. package/dist/esm/cmd/bsmap/key-search.js +1 -1
  214. package/dist/esm/cmd/bsmap/key-search.js.map +1 -1
  215. package/dist/esm/cmd/bsmap/latest.js +2 -2
  216. package/dist/esm/cmd/bsmap/latest.js.map +1 -1
  217. package/dist/esm/cmd/deprecated/tmp.js +3 -3
  218. package/dist/esm/cmd/deprecated/tmp.js.map +1 -1
  219. package/dist/esm/cmd/index.js +11 -11
  220. package/dist/esm/cmd/index.js.map +1 -1
  221. package/dist/esm/cmd/rank.js +5 -5
  222. package/dist/esm/cmd/rank.js.map +1 -1
  223. package/dist/esm/cmd/score.js +13 -17
  224. package/dist/esm/cmd/score.js.map +1 -1
  225. package/dist/esm/cmd/subscribe/beatleader.js +3 -3
  226. package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
  227. package/dist/esm/cmd/subscribe/beatsaver.js +3 -3
  228. package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
  229. package/dist/esm/cmd/subscribe/id-beatleader-score.js +4 -4
  230. package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
  231. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +4 -4
  232. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
  233. package/dist/esm/cmd/subscribe/index.js +7 -7
  234. package/dist/esm/cmd/subscribe/index.js.map +1 -1
  235. package/dist/esm/cmd/subscribe/subjoin.js +5 -5
  236. package/dist/esm/cmd/subscribe/subjoin.js.map +1 -1
  237. package/dist/esm/cmd/subscribe/subleave.js +5 -5
  238. package/dist/esm/cmd/subscribe/subleave.js.map +1 -1
  239. package/dist/esm/cmd/subscribe/unsubscribe.js +7 -7
  240. package/dist/esm/cmd/subscribe/unsubscribe.js.map +1 -1
  241. package/dist/esm/common/cache.js.map +1 -0
  242. package/dist/esm/common/fetch/error.js.map +1 -0
  243. package/dist/esm/common/fetch/index.js +35 -0
  244. package/dist/esm/common/fetch/index.js.map +1 -0
  245. package/dist/esm/{infra/support → common}/fetch/ofetch.js +4 -10
  246. package/dist/esm/common/fetch/ofetch.js.map +1 -0
  247. package/dist/esm/common/i18n/index.js +32 -0
  248. package/dist/esm/common/i18n/index.js.map +1 -0
  249. package/dist/esm/common/i18n/parser.js.map +1 -0
  250. package/dist/esm/{infra/i18n/index.js → common/i18n/util.js} +4 -56
  251. package/dist/esm/common/i18n/util.js.map +1 -0
  252. package/dist/esm/{infra/support → common}/render/index.js +53 -13
  253. package/dist/esm/common/render/index.js.map +1 -0
  254. package/dist/esm/common/render/puppeteer.js.map +1 -0
  255. package/dist/esm/{infra → common}/s3/index.js +32 -12
  256. package/dist/esm/common/s3/index.js.map +1 -0
  257. package/dist/esm/components/components/RankDifficulty.js +60 -84
  258. package/dist/esm/components/components/RankDifficulty.js.map +1 -1
  259. package/dist/esm/components/components/base/avatar.js +1 -2
  260. package/dist/esm/components/components/base/avatar.js.map +1 -1
  261. package/dist/esm/components/components/bl-rank-score-item.js +25 -87
  262. package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
  263. package/dist/esm/components/components/bl-score-item.js +28 -69
  264. package/dist/esm/components/components/bl-score-item.js.map +1 -1
  265. package/dist/esm/components/components/characteristic.js +106 -118
  266. package/dist/esm/components/components/characteristic.js.map +1 -1
  267. package/dist/esm/components/components/flag.js +6 -14
  268. package/dist/esm/components/components/flag.js.map +1 -1
  269. package/dist/esm/components/components/icons/BeatLeader.js +55 -71
  270. package/dist/esm/components/components/icons/BeatLeader.js.map +1 -1
  271. package/dist/esm/components/components/icons/RankIcon.js +3 -7
  272. package/dist/esm/components/components/icons/RankIcon.js.map +1 -1
  273. package/dist/esm/components/components/icons/ScoreSaberIcon.js +276 -312
  274. package/dist/esm/components/components/icons/ScoreSaberIcon.js.map +1 -1
  275. package/dist/esm/components/components/progressbar.js +2 -2
  276. package/dist/esm/components/components/progressbar.js.map +1 -1
  277. package/dist/esm/components/components/scoreItem.js +26 -63
  278. package/dist/esm/components/components/scoreItem.js.map +1 -1
  279. package/dist/esm/components/components/scoregraph.js +4 -5
  280. package/dist/esm/components/components/scoregraph.js.map +1 -1
  281. package/dist/esm/components/components/skill-graph.js +147 -164
  282. package/dist/esm/components/components/skill-graph.js.map +1 -1
  283. package/dist/esm/components/components/socre-badge.js +7 -10
  284. package/dist/esm/components/components/socre-badge.js.map +1 -1
  285. package/dist/esm/components/components/ss-rank-score-item.js +25 -87
  286. package/dist/esm/components/components/ss-rank-score-item.js.map +1 -1
  287. package/dist/esm/components/components/ss-score-item.js +28 -65
  288. package/dist/esm/components/components/ss-score-item.js.map +1 -1
  289. package/dist/esm/components/index.js +3 -43
  290. package/dist/esm/components/index.js.map +1 -1
  291. package/dist/esm/components/pages/bl-player.js +91 -136
  292. package/dist/esm/components/pages/bl-player.js.map +1 -1
  293. package/dist/esm/components/pages/bl-score-with-rank.js +114 -221
  294. package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -1
  295. package/dist/esm/components/pages/bl-score.js +67 -169
  296. package/dist/esm/components/pages/bl-score.js.map +1 -1
  297. package/dist/esm/components/pages/bs-map.js +95 -166
  298. package/dist/esm/components/pages/bs-map.js.map +1 -1
  299. package/dist/esm/components/pages/index.js +21 -21
  300. package/dist/esm/components/pages/index.js.map +1 -1
  301. package/dist/esm/components/pages/ss-player.js +48 -77
  302. package/dist/esm/components/pages/ss-player.js.map +1 -1
  303. package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
  304. package/dist/esm/components/utils/bl/bsorReplayAcc.js.map +1 -1
  305. package/dist/esm/components/utils/bl/getPart.js.map +1 -1
  306. package/dist/esm/components/utils/bl/stastic.js.map +1 -1
  307. package/dist/esm/components/utils/format.js +3 -3
  308. package/dist/esm/components/utils/format.js.map +1 -1
  309. package/dist/esm/components/utils/getMods.js.map +1 -1
  310. package/dist/esm/components/utils/index.js +2 -2
  311. package/dist/esm/config.js +32 -0
  312. package/dist/esm/config.js.map +1 -1
  313. package/dist/esm/{interface → core}/cmd/builder.js +4 -4
  314. package/dist/esm/core/cmd/builder.js.map +1 -0
  315. package/dist/esm/core/domain.js +1 -0
  316. package/dist/esm/core/error.js +16 -0
  317. package/dist/esm/core/error.js.map +1 -0
  318. package/dist/esm/core/event.js +1 -0
  319. package/dist/esm/core/index.js +10 -0
  320. package/dist/esm/core/index.js.map +1 -0
  321. package/dist/esm/core/session.js +1 -0
  322. package/dist/esm/events/schedules/index.js +16 -0
  323. package/dist/esm/events/schedules/index.js.map +1 -0
  324. package/dist/esm/{schedules → events/schedules}/temp.js +7 -3
  325. package/dist/esm/events/schedules/temp.js.map +1 -0
  326. package/dist/esm/{ws → events/ws}/beatleader.js +6 -6
  327. package/dist/esm/events/ws/beatleader.js.map +1 -0
  328. package/dist/esm/{ws → events/ws}/beatsaver.js +11 -11
  329. package/dist/esm/events/ws/beatsaver.js.map +1 -0
  330. package/dist/esm/events/ws/index.js +4 -0
  331. package/dist/esm/events/ws/index.js.map +1 -0
  332. package/dist/esm/index.js +15 -10
  333. package/dist/esm/index.js.map +1 -1
  334. package/dist/esm/interface/db/index.js +0 -1
  335. package/dist/esm/interface/db/index.js.map +1 -1
  336. package/dist/esm/interface/index.js +9 -15
  337. package/dist/esm/interface/index.js.map +1 -1
  338. package/dist/esm/{service → services}/api/base/aioclient.js +1 -1
  339. package/dist/esm/services/api/base/aioclient.js.map +1 -0
  340. package/dist/esm/{service → services}/api/base/blclient.js +1 -1
  341. package/dist/esm/services/api/base/blclient.js.map +1 -0
  342. package/dist/esm/{service → services}/api/base/bsclient.js +2 -2
  343. package/dist/esm/services/api/base/bsclient.js.map +1 -0
  344. package/dist/esm/services/api/base/index.js +5 -0
  345. package/dist/esm/services/api/base/index.js.map +1 -0
  346. package/dist/esm/{service → services}/api/base/ssclient.js +2 -2
  347. package/dist/esm/services/api/base/ssclient.js.map +1 -0
  348. package/dist/esm/{service → services}/api/index.js +16 -8
  349. package/dist/esm/services/api/index.js.map +1 -0
  350. package/dist/esm/services/api/interfaces/beatleader/index.js +6 -0
  351. package/dist/esm/services/api/interfaces/beatleader/index.js.map +1 -0
  352. package/dist/esm/services/api/interfaces/beatsaver/index.js +6 -0
  353. package/dist/esm/services/api/interfaces/beatsaver/index.js.map +1 -0
  354. package/dist/esm/services/api/interfaces/scoresaber/index.js +4 -0
  355. package/dist/esm/services/api/interfaces/scoresaber/index.js.map +1 -0
  356. package/dist/esm/services/api/sortScore.js.map +1 -0
  357. package/dist/esm/{infra → services}/errors/index.js +1 -17
  358. package/dist/esm/services/errors/index.js.map +1 -0
  359. package/dist/esm/services/i18n/index.js +21 -0
  360. package/dist/esm/services/i18n/index.js.map +1 -0
  361. package/dist/esm/services/index.js +9 -0
  362. package/dist/esm/services/index.js.map +1 -0
  363. package/dist/esm/services/preference.js.map +1 -0
  364. package/dist/esm/{service → services}/render/index.js +34 -11
  365. package/dist/esm/services/render/index.js.map +1 -0
  366. package/dist/esm/utils/bsorDecoder.js +301 -0
  367. package/dist/esm/utils/bsorDecoder.js.map +1 -0
  368. package/dist/esm/utils/index.js +2 -0
  369. package/dist/esm/utils/index.js.map +1 -1
  370. package/dist/esm/utils/platform.js +14 -0
  371. package/dist/esm/utils/platform.js.map +1 -0
  372. package/dist/types/index.d.ts +1376 -48
  373. package/package.json +19 -10
  374. package/dist/cjs/components/utils/canvas.js +0 -2
  375. package/dist/cjs/components/utils/canvas.js.map +0 -1
  376. package/dist/cjs/infra/errors/index.js.map +0 -1
  377. package/dist/cjs/infra/i18n/index.js.map +0 -1
  378. package/dist/cjs/infra/i18n/parser.js.map +0 -1
  379. package/dist/cjs/infra/index.js.map +0 -1
  380. package/dist/cjs/infra/s3/index.js.map +0 -1
  381. package/dist/cjs/infra/support/cache.js.map +0 -1
  382. package/dist/cjs/infra/support/fetch/error.js.map +0 -1
  383. package/dist/cjs/infra/support/fetch/index.js.map +0 -1
  384. package/dist/cjs/infra/support/fetch/ofetch.js.map +0 -1
  385. package/dist/cjs/infra/support/render/index.js.map +0 -1
  386. package/dist/cjs/infra/support/render/puppeteer.js.map +0 -1
  387. package/dist/cjs/interface/bot.js.map +0 -1
  388. package/dist/cjs/interface/cmd/builder.js.map +0 -1
  389. package/dist/cjs/interface/cmd/type.js.map +0 -1
  390. package/dist/cjs/interface/logger.js.map +0 -1
  391. package/dist/cjs/schedules/index.js.map +0 -1
  392. package/dist/cjs/schedules/interface.js +0 -16
  393. package/dist/cjs/schedules/interface.js.map +0 -1
  394. package/dist/cjs/schedules/temp.js.map +0 -1
  395. package/dist/cjs/service/api/base/aioclient.js.map +0 -1
  396. package/dist/cjs/service/api/base/blclient.js.map +0 -1
  397. package/dist/cjs/service/api/base/bsclient.js.map +0 -1
  398. package/dist/cjs/service/api/base/index.js.map +0 -1
  399. package/dist/cjs/service/api/base/ssclient.js.map +0 -1
  400. package/dist/cjs/service/api/index.js.map +0 -1
  401. package/dist/cjs/service/api/interfaces/aiosaber/index.js.map +0 -1
  402. package/dist/cjs/service/api/interfaces/beatleader/bsor.js.map +0 -1
  403. package/dist/cjs/service/api/interfaces/beatleader/index.js.map +0 -1
  404. package/dist/cjs/service/api/interfaces/beatleader/req.js.map +0 -1
  405. package/dist/cjs/service/api/interfaces/beatleader/score.js.map +0 -1
  406. package/dist/cjs/service/api/interfaces/beatleader/user.js.map +0 -1
  407. package/dist/cjs/service/api/interfaces/beatleader/ws.js.map +0 -1
  408. package/dist/cjs/service/api/interfaces/beatsaver/alert.js.map +0 -1
  409. package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js.map +0 -1
  410. package/dist/cjs/service/api/interfaces/beatsaver/index.js.map +0 -1
  411. package/dist/cjs/service/api/interfaces/beatsaver/resp.js.map +0 -1
  412. package/dist/cjs/service/api/interfaces/beatsaver/user.js.map +0 -1
  413. package/dist/cjs/service/api/interfaces/beatsaver/ws.js.map +0 -1
  414. package/dist/cjs/service/api/interfaces/index.js.map +0 -1
  415. package/dist/cjs/service/api/interfaces/scoresaber/index.js.map +0 -1
  416. package/dist/cjs/service/api/interfaces/scoresaber/item.js.map +0 -1
  417. package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js.map +0 -1
  418. package/dist/cjs/service/api/interfaces/scoresaber/resp.js.map +0 -1
  419. package/dist/cjs/service/api/interfaces/scoresaber/user.js.map +0 -1
  420. package/dist/cjs/service/api/interfaces/scoresaber/ws.js.map +0 -1
  421. package/dist/cjs/service/api/sortScore.js.map +0 -1
  422. package/dist/cjs/service/index.js +0 -16
  423. package/dist/cjs/service/index.js.map +0 -1
  424. package/dist/cjs/service/preference.js.map +0 -1
  425. package/dist/cjs/service/render/index.js.map +0 -1
  426. package/dist/cjs/service/render/interfaces.js +0 -16
  427. package/dist/cjs/service/render/interfaces.js.map +0 -1
  428. package/dist/cjs/ws/beatleader.js.map +0 -1
  429. package/dist/cjs/ws/beatsaver.js.map +0 -1
  430. package/dist/cjs/ws/bl-filter.js +0 -1
  431. package/dist/cjs/ws/handler.js.map +0 -1
  432. package/dist/cjs/ws/index.js.map +0 -1
  433. package/dist/cjs/ws/scoresaber.js +0 -75
  434. package/dist/cjs/ws/scoresaber.js.map +0 -1
  435. package/dist/esm/components/utils/canvas.js +0 -2
  436. package/dist/esm/components/utils/canvas.js.map +0 -1
  437. package/dist/esm/infra/errors/index.js.map +0 -1
  438. package/dist/esm/infra/i18n/index.js.map +0 -1
  439. package/dist/esm/infra/i18n/parser.js.map +0 -1
  440. package/dist/esm/infra/index.js +0 -6
  441. package/dist/esm/infra/index.js.map +0 -1
  442. package/dist/esm/infra/s3/index.js.map +0 -1
  443. package/dist/esm/infra/support/cache.js.map +0 -1
  444. package/dist/esm/infra/support/fetch/error.js.map +0 -1
  445. package/dist/esm/infra/support/fetch/index.js +0 -33
  446. package/dist/esm/infra/support/fetch/index.js.map +0 -1
  447. package/dist/esm/infra/support/fetch/ofetch.js.map +0 -1
  448. package/dist/esm/infra/support/render/index.js.map +0 -1
  449. package/dist/esm/infra/support/render/puppeteer.js.map +0 -1
  450. package/dist/esm/interface/bot.js +0 -1
  451. package/dist/esm/interface/cmd/builder.js.map +0 -1
  452. package/dist/esm/schedules/index.js +0 -15
  453. package/dist/esm/schedules/index.js.map +0 -1
  454. package/dist/esm/schedules/interface.js +0 -1
  455. package/dist/esm/schedules/temp.js.map +0 -1
  456. package/dist/esm/service/api/base/aioclient.js.map +0 -1
  457. package/dist/esm/service/api/base/blclient.js.map +0 -1
  458. package/dist/esm/service/api/base/bsclient.js.map +0 -1
  459. package/dist/esm/service/api/base/index.js +0 -5
  460. package/dist/esm/service/api/base/index.js.map +0 -1
  461. package/dist/esm/service/api/base/ssclient.js.map +0 -1
  462. package/dist/esm/service/api/index.js.map +0 -1
  463. package/dist/esm/service/api/interfaces/beatleader/index.js +0 -6
  464. package/dist/esm/service/api/interfaces/beatleader/index.js.map +0 -1
  465. package/dist/esm/service/api/interfaces/beatsaver/index.js +0 -6
  466. package/dist/esm/service/api/interfaces/beatsaver/index.js.map +0 -1
  467. package/dist/esm/service/api/interfaces/scoresaber/index.js +0 -4
  468. package/dist/esm/service/api/interfaces/scoresaber/index.js.map +0 -1
  469. package/dist/esm/service/api/sortScore.js.map +0 -1
  470. package/dist/esm/service/index.js +0 -1
  471. package/dist/esm/service/index.js.map +0 -1
  472. package/dist/esm/service/preference.js.map +0 -1
  473. package/dist/esm/service/render/index.js.map +0 -1
  474. package/dist/esm/service/render/interfaces.js +0 -1
  475. package/dist/esm/service/render/interfaces.js.map +0 -1
  476. package/dist/esm/ws/beatleader.js.map +0 -1
  477. package/dist/esm/ws/beatsaver.js.map +0 -1
  478. package/dist/esm/ws/bl-filter.js +0 -1
  479. package/dist/esm/ws/bl-filter.js.map +0 -1
  480. package/dist/esm/ws/index.js +0 -5
  481. package/dist/esm/ws/index.js.map +0 -1
  482. package/dist/esm/ws/scoresaber.js +0 -53
  483. package/dist/esm/ws/scoresaber.js.map +0 -1
  484. package/dist/types/cmd/bind/bind-beatleader.d.ts +0 -34
  485. package/dist/types/cmd/bind/bind-beatsaver.d.ts +0 -34
  486. package/dist/types/cmd/bind/bind-id-beatleader.d.ts +0 -34
  487. package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +0 -34
  488. package/dist/types/cmd/bind/bind-scoresaber.d.ts +0 -34
  489. package/dist/types/cmd/bind/index.d.ts +0 -41
  490. package/dist/types/cmd/bsmap/id-search.d.ts +0 -41
  491. package/dist/types/cmd/bsmap/key-search.d.ts +0 -41
  492. package/dist/types/cmd/bsmap/latest.d.ts +0 -41
  493. package/dist/types/cmd/config/index.d.ts +0 -2
  494. package/dist/types/cmd/deprecated/tmp.d.ts +0 -41
  495. package/dist/types/cmd/index.d.ts +0 -34
  496. package/dist/types/cmd/rank.d.ts +0 -41
  497. package/dist/types/cmd/score.d.ts +0 -41
  498. package/dist/types/cmd/subscribe/beatleader.d.ts +0 -34
  499. package/dist/types/cmd/subscribe/beatsaver.d.ts +0 -34
  500. package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +0 -34
  501. package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +0 -34
  502. package/dist/types/cmd/subscribe/index.d.ts +0 -41
  503. package/dist/types/cmd/subscribe/subjoin.d.ts +0 -41
  504. package/dist/types/cmd/subscribe/subleave.d.ts +0 -41
  505. package/dist/types/cmd/subscribe/unsubscribe.d.ts +0 -41
  506. package/dist/types/components/components/RankDifficulty.d.ts +0 -10
  507. package/dist/types/components/components/base/avatar.d.ts +0 -10
  508. package/dist/types/components/components/bl-rank-score-item.d.ts +0 -21
  509. package/dist/types/components/components/bl-score-item.d.ts +0 -10
  510. package/dist/types/components/components/characteristic.d.ts +0 -9
  511. package/dist/types/components/components/flag.d.ts +0 -9
  512. package/dist/types/components/components/icons/BeatLeader.d.ts +0 -6
  513. package/dist/types/components/components/icons/RankIcon.d.ts +0 -8
  514. package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +0 -6
  515. package/dist/types/components/components/progressbar.d.ts +0 -8
  516. package/dist/types/components/components/scoreItem.d.ts +0 -8
  517. package/dist/types/components/components/scoregraph.d.ts +0 -15
  518. package/dist/types/components/components/skill-graph.d.ts +0 -9
  519. package/dist/types/components/components/socre-badge.d.ts +0 -9
  520. package/dist/types/components/components/ss-rank-score-item.d.ts +0 -21
  521. package/dist/types/components/components/ss-score-item.d.ts +0 -8
  522. package/dist/types/components/index.d.ts +0 -5
  523. package/dist/types/components/pages/bl-player.d.ts +0 -11
  524. package/dist/types/components/pages/bl-score-with-rank.d.ts +0 -18
  525. package/dist/types/components/pages/bl-score.d.ts +0 -15
  526. package/dist/types/components/pages/bs-map.d.ts +0 -11
  527. package/dist/types/components/pages/index.d.ts +0 -14
  528. package/dist/types/components/pages/ss-player.d.ts +0 -13
  529. package/dist/types/components/utils/bl/beatleader.d.ts +0 -15
  530. package/dist/types/components/utils/bl/blheadset.d.ts +0 -275
  531. package/dist/types/components/utils/bl/bsorDecoder.d.ts +0 -189
  532. package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +0 -38
  533. package/dist/types/components/utils/bl/getPart.d.ts +0 -9
  534. package/dist/types/components/utils/bl/stastic.d.ts +0 -3
  535. package/dist/types/components/utils/canvas.d.ts +0 -2
  536. package/dist/types/components/utils/format.d.ts +0 -8
  537. package/dist/types/components/utils/getMods.d.ts +0 -5
  538. package/dist/types/components/utils/index.d.ts +0 -6
  539. package/dist/types/components/utils/qrcode.d.ts +0 -3
  540. package/dist/types/components/utils/sleep.d.ts +0 -3
  541. package/dist/types/components/utils/tag-format.d.ts +0 -3
  542. package/dist/types/components/utils/tw-join.d.ts +0 -5
  543. package/dist/types/config.d.ts +0 -30
  544. package/dist/types/index-Dagy_c8G.d.ts +0 -74
  545. package/dist/types/infra/errors/index.d.ts +0 -69
  546. package/dist/types/infra/i18n/index.d.ts +0 -4
  547. package/dist/types/infra/i18n/parser.d.ts +0 -16
  548. package/dist/types/infra/index.d.ts +0 -6
  549. package/dist/types/infra/s3/index.d.ts +0 -20
  550. package/dist/types/infra/support/cache.d.ts +0 -6
  551. package/dist/types/infra/support/fetch/error.d.ts +0 -11
  552. package/dist/types/infra/support/fetch/index.d.ts +0 -7
  553. package/dist/types/infra/support/fetch/ofetch.d.ts +0 -24
  554. package/dist/types/infra/support/render/index.d.ts +0 -38
  555. package/dist/types/infra/support/render/puppeteer.d.ts +0 -43
  556. package/dist/types/interface/bot.d.ts +0 -22
  557. package/dist/types/interface/cmd/builder.d.ts +0 -53
  558. package/dist/types/interface/cmd/type.d.ts +0 -30
  559. package/dist/types/interface/db/index.d.ts +0 -45
  560. package/dist/types/interface/db/models.d.ts +0 -41
  561. package/dist/types/interface/index.d.ts +0 -30
  562. package/dist/types/interface/logger.d.ts +0 -8
  563. package/dist/types/schedules/index.d.ts +0 -40
  564. package/dist/types/schedules/interface.d.ts +0 -45
  565. package/dist/types/schedules/temp.d.ts +0 -35
  566. package/dist/types/service/api/base/aioclient.d.ts +0 -13
  567. package/dist/types/service/api/base/blclient.d.ts +0 -28
  568. package/dist/types/service/api/base/bsclient.d.ts +0 -29
  569. package/dist/types/service/api/base/index.d.ts +0 -19
  570. package/dist/types/service/api/base/ssclient.d.ts +0 -17
  571. package/dist/types/service/api/index.d.ts +0 -59
  572. package/dist/types/service/api/interfaces/aiosaber/index.d.ts +0 -9
  573. package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +0 -113
  574. package/dist/types/service/api/interfaces/beatleader/index.d.ts +0 -5
  575. package/dist/types/service/api/interfaces/beatleader/req.d.ts +0 -22
  576. package/dist/types/service/api/interfaces/beatleader/score.d.ts +0 -164
  577. package/dist/types/service/api/interfaces/beatleader/user.d.ts +0 -173
  578. package/dist/types/service/api/interfaces/beatleader/ws.d.ts +0 -90
  579. package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +0 -20
  580. package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +0 -70
  581. package/dist/types/service/api/interfaces/beatsaver/index.d.ts +0 -13
  582. package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +0 -11
  583. package/dist/types/service/api/interfaces/beatsaver/user.d.ts +0 -10
  584. package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +0 -13
  585. package/dist/types/service/api/interfaces/index.d.ts +0 -14
  586. package/dist/types/service/api/interfaces/scoresaber/index.d.ts +0 -3
  587. package/dist/types/service/api/interfaces/scoresaber/item.d.ts +0 -67
  588. package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +0 -13
  589. package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +0 -12
  590. package/dist/types/service/api/interfaces/scoresaber/user.d.ts +0 -35
  591. package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +0 -80
  592. package/dist/types/service/api/sortScore.d.ts +0 -5
  593. package/dist/types/service/index.d.ts +0 -30
  594. package/dist/types/service/preference.d.ts +0 -38
  595. package/dist/types/service/render/index.d.ts +0 -43
  596. package/dist/types/service/render/interfaces.d.ts +0 -30
  597. package/dist/types/utils/index.d.ts +0 -5
  598. package/dist/types/ws/beatleader.d.ts +0 -47
  599. package/dist/types/ws/beatsaver.d.ts +0 -52
  600. package/dist/types/ws/bl-filter.d.ts +0 -2
  601. package/dist/types/ws/handler.d.ts +0 -8
  602. package/dist/types/ws/index.d.ts +0 -36
  603. package/dist/types/ws/scoresaber.d.ts +0 -47
  604. /package/dist/cjs/{infra/support → common}/cache.js +0 -0
  605. /package/dist/cjs/{infra/support → common}/fetch/error.js +0 -0
  606. /package/dist/cjs/{infra → common}/i18n/parser.js +0 -0
  607. /package/dist/cjs/{infra/support → common}/render/puppeteer.js +0 -0
  608. /package/dist/cjs/{interface → core}/cmd/type.js +0 -0
  609. /package/dist/cjs/{interface → core}/logger.js +0 -0
  610. /package/dist/cjs/{ws → events/ws}/handler.js +0 -0
  611. /package/dist/cjs/{service → services}/api/interfaces/aiosaber/index.js +0 -0
  612. /package/dist/cjs/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
  613. /package/dist/cjs/{service → services}/api/interfaces/beatleader/req.js +0 -0
  614. /package/dist/cjs/{service → services}/api/interfaces/beatleader/score.js +0 -0
  615. /package/dist/cjs/{service → services}/api/interfaces/beatleader/user.js +0 -0
  616. /package/dist/cjs/{service → services}/api/interfaces/beatleader/ws.js +0 -0
  617. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
  618. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
  619. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
  620. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/user.js +0 -0
  621. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
  622. /package/dist/cjs/{service → services}/api/interfaces/index.js +0 -0
  623. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/item.js +0 -0
  624. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
  625. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
  626. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/user.js +0 -0
  627. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
  628. /package/dist/cjs/{service → services}/api/sortScore.js +0 -0
  629. /package/dist/cjs/{service → services}/preference.js +0 -0
  630. /package/dist/esm/{infra/support → common}/cache.js +0 -0
  631. /package/dist/esm/{infra/support → common}/fetch/error.js +0 -0
  632. /package/dist/esm/{infra → common}/i18n/parser.js +0 -0
  633. /package/dist/esm/{infra/support → common}/render/puppeteer.js +0 -0
  634. /package/dist/esm/{interface → core}/cmd/type.js +0 -0
  635. /package/dist/esm/{interface → core}/cmd/type.js.map +0 -0
  636. /package/dist/{cjs/ws/bl-filter.js.map → esm/core/domain.js.map} +0 -0
  637. /package/dist/esm/{interface/bot.js.map → core/event.js.map} +0 -0
  638. /package/dist/esm/{interface → core}/logger.js +0 -0
  639. /package/dist/esm/{interface → core}/logger.js.map +0 -0
  640. /package/dist/esm/{schedules/interface.js.map → core/session.js.map} +0 -0
  641. /package/dist/esm/{ws → events/ws}/handler.js +0 -0
  642. /package/dist/esm/{ws → events/ws}/handler.js.map +0 -0
  643. /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js +0 -0
  644. /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js.map +0 -0
  645. /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
  646. /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js.map +0 -0
  647. /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js +0 -0
  648. /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js.map +0 -0
  649. /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js +0 -0
  650. /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js.map +0 -0
  651. /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js +0 -0
  652. /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js.map +0 -0
  653. /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js +0 -0
  654. /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js.map +0 -0
  655. /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
  656. /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js.map +0 -0
  657. /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
  658. /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js.map +0 -0
  659. /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
  660. /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js.map +0 -0
  661. /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js +0 -0
  662. /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js.map +0 -0
  663. /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
  664. /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js.map +0 -0
  665. /package/dist/esm/{service → services}/api/interfaces/index.js +0 -0
  666. /package/dist/esm/{service → services}/api/interfaces/index.js.map +0 -0
  667. /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js +0 -0
  668. /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js.map +0 -0
  669. /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
  670. /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js.map +0 -0
  671. /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
  672. /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js.map +0 -0
  673. /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js +0 -0
  674. /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js.map +0 -0
  675. /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
  676. /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js.map +0 -0
  677. /package/dist/esm/{service → services}/api/sortScore.js +0 -0
  678. /package/dist/esm/{service → services}/preference.js +0 -0
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,50 +14,14 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var __async = (__this, __arguments, generator) => {
29
- return new Promise((resolve, reject) => {
30
- var fulfilled = (value) => {
31
- try {
32
- step(generator.next(value));
33
- } catch (e) {
34
- reject(e);
35
- }
36
- };
37
- var rejected = (value) => {
38
- try {
39
- step(generator.throw(value));
40
- } catch (e) {
41
- reject(e);
42
- }
43
- };
44
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
45
- step((generator = generator.apply(__this, __arguments)).next());
46
- });
47
- };
48
- var i18n_exports = {};
49
- __export(i18n_exports, {
50
- loadI18nConfig: () => loadI18nConfig,
51
- tran: () => tran
18
+ var util_exports = {};
19
+ __export(util_exports, {
20
+ interpolateString: () => interpolateString,
21
+ isObject: () => isObject,
22
+ merge: () => merge
52
23
  });
53
- module.exports = __toCommonJS(i18n_exports);
54
- var import_parser = require("./parser");
55
- const i18nObj = {};
56
- init().then((_) => console.log("i18n loaded"));
57
- function init() {
58
- return __async(this, null, function* () {
59
- const zh = yield import("./zh-cn.json");
60
- i18nObj["zh-cn"] = zh;
61
- });
62
- }
24
+ module.exports = __toCommonJS(util_exports);
63
25
  function isObject(item) {
64
26
  return item && typeof item === "object" && !Array.isArray(item);
65
27
  }
@@ -78,30 +40,6 @@ function merge(target, ...sources) {
78
40
  }
79
41
  return merge(target, ...sources);
80
42
  }
81
- function loadI18nConfig(lang, obj) {
82
- const raw = i18nObj[lang];
83
- i18nObj[lang] = merge(raw, obj);
84
- console.log(`overwrite i18n ${lang} `);
85
- }
86
- function tran(path, params = {}, lang = "zh-cn") {
87
- const keys = path.split(".");
88
- let result = i18nObj[lang];
89
- for (const key of keys) {
90
- if (result[key] !== void 0) {
91
- result = result[key];
92
- } else {
93
- return null;
94
- }
95
- }
96
- try {
97
- if (typeof result === "string") {
98
- return (0, import_parser.interpolate)(result, params);
99
- }
100
- } catch (e) {
101
- return interpolateString(result, params);
102
- }
103
- return null;
104
- }
105
43
  function interpolateString(str, context) {
106
44
  const regex = /\{\{(.*?)\?\s*'(.*?)'\s*:\s*'(.*?)'\s*\}\}/;
107
45
  let match;
@@ -131,7 +69,8 @@ function safeEval(expr, context) {
131
69
  }
132
70
  // Annotate the CommonJS export names for ESM import in node:
133
71
  0 && (module.exports = {
134
- loadI18nConfig,
135
- tran
72
+ interpolateString,
73
+ isObject,
74
+ merge
136
75
  });
137
- //# sourceMappingURL=index.js.map
76
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/common/i18n/util.ts"],"sourcesContent":["\nexport function isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function merge(target, ...sources) {\n if (!sources.length) return target\n const source = sources.shift()\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) Object.assign(target, { [key]: {} })\n merge(target[key], source[key])\n } else {\n Object.assign(target, { [key]: source[key] })\n }\n }\n }\n return merge(target, ...sources)\n}\n\n\nexport function interpolateString(str, context) {\n // 正则表达式匹配三元表达式\n const regex = /\\{\\{(.*?)\\?\\s*'(.*?)'\\s*:\\s*'(.*?)'\\s*\\}\\}/\n let match\n\n // 递归解析\n while ((match = regex.exec(str)) !== null) {\n const [fullMatch, condition, trueValue, falseValue] = match\n\n // 递归解析 trueValue 和 falseValue 以处理嵌套情况\n const resolvedTrueValue = interpolateString(trueValue, context)\n const resolvedFalseValue = interpolateString(falseValue, context)\n\n // 计算条件表达式\n let result = safeEval(condition, context)\n if (typeof result === 'string') {\n result = false\n }\n const replacement = result ? resolvedTrueValue : resolvedFalseValue\n\n // 替换匹配到的三元表达式\n str = str.replace(fullMatch, replacement)\n }\n\n // 替换变量插值\n const variableRegex = /\\{\\{(.*?)\\}\\}/g\n str = str.replace(variableRegex, (match, expr) => safeEval(expr, context))\n\n return str\n}\nfunction safeEval(expr, context) {\n try {\n const fn = new Function(...Object.keys(context), `return ${expr}`)\n return fn(...Object.values(context))\n } catch (e) {\n console.error(expr, context, e)\n return expr\n }\n}\n\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,SAAS,SAAS,MAAM;AAC7B,SAAO,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI;AAChE;AAEO,SAAS,MAAM,WAAW,SAAS;AACxC,MAAI,CAAC,QAAQ,OAAQ,QAAO;AAC5B,QAAM,SAAS,QAAQ,MAAM;AAC7B,MAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG;AACxC,eAAW,OAAO,QAAQ;AACxB,UAAI,SAAS,OAAO,GAAG,CAAC,GAAG;AACzB,YAAI,CAAC,OAAO,GAAG,EAAG,QAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AACrD,cAAM,OAAO,GAAG,GAAG,OAAO,GAAG,CAAC;AAAA,MAChC,OAAO;AACL,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,QAAQ,GAAG,OAAO;AACjC;AAGO,SAAS,kBAAkB,KAAK,SAAS;AAE9C,QAAM,QAAQ;AACd,MAAI;AAGJ,UAAQ,QAAQ,MAAM,KAAK,GAAG,OAAO,MAAM;AACzC,UAAM,CAAC,WAAW,WAAW,WAAW,UAAU,IAAI;AAGtD,UAAM,oBAAoB,kBAAkB,WAAW,OAAO;AAC9D,UAAM,qBAAqB,kBAAkB,YAAY,OAAO;AAGhE,QAAI,SAAS,SAAS,WAAW,OAAO;AACxC,QAAI,OAAO,WAAW,UAAU;AAC9B,eAAS;AAAA,IACX;AACA,UAAM,cAAc,SAAS,oBAAoB;AAGjD,UAAM,IAAI,QAAQ,WAAW,WAAW;AAAA,EAC1C;AAGA,QAAM,gBAAgB;AACtB,QAAM,IAAI,QAAQ,eAAe,CAACA,QAAO,SAAS,SAAS,MAAM,OAAO,CAAC;AAEzE,SAAO;AACT;AACA,SAAS,SAAS,MAAM,SAAS;AAC/B,MAAI;AACF,UAAM,KAAK,IAAI,SAAS,GAAG,OAAO,KAAK,OAAO,GAAG,UAAU,IAAI,EAAE;AACjE,WAAO,GAAG,GAAG,OAAO,OAAO,OAAO,CAAC;AAAA,EACrC,SAAS,GAAG;AACV,YAAQ,MAAM,MAAM,SAAS,CAAC;AAC9B,WAAO;AAAA,EACT;AACF;","names":["match"]}
@@ -19,6 +19,18 @@ var __spreadValues = (a, b) => {
19
19
  return a;
20
20
  };
21
21
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __objRest = (source, exclude) => {
23
+ var target = {};
24
+ for (var prop in source)
25
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
26
+ target[prop] = source[prop];
27
+ if (source != null && __getOwnPropSymbols)
28
+ for (var prop of __getOwnPropSymbols(source)) {
29
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
30
+ target[prop] = source[prop];
31
+ }
32
+ return target;
33
+ };
22
34
  var __export = (target, all) => {
23
35
  for (var name in all)
24
36
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -56,21 +68,37 @@ var __async = (__this, __arguments, generator) => {
56
68
  var render_exports = {};
57
69
  __export(render_exports, {
58
70
  CFBrowserRendering: () => CFBrowserRendering,
59
- PuppeteerOptions: () => import_puppeteer.RenderOptions,
60
71
  PuppeteerRendering: () => PuppeteerRendering,
61
72
  RemoteBrowserGetter: () => RemoteBrowserGetter,
62
- getImageRender: () => getImageRender
73
+ getImageRender: () => getImageRender,
74
+ renderSchema: () => renderSchema
63
75
  });
64
76
  module.exports = __toCommonJS(render_exports);
65
- var import_puppeteer = require("./puppeteer");
77
+ var import_puppeteer = require("./puppeteer.js");
66
78
  var import_puppeteer_core = require("puppeteer-core");
67
- var import_fetch = require("../../../infra/support/fetch");
79
+ var import_fetch = require("../fetch/index.js");
80
+ var import_v4 = require("zod/v4");
81
+ const common = import_v4.z.object({
82
+ defaultWaitTimeout: import_v4.z.number().optional(),
83
+ waitTimeout: import_v4.z.number().optional()
84
+ });
85
+ const cfConfig = import_v4.z.object({
86
+ cfAccountId: import_v4.z.string().min(1, "Cloudflare account id is required"),
87
+ cfAPIKey: import_v4.z.string().min(1, "Cloudflare API key is required")
88
+ });
89
+ const puppeteerConfig = import_v4.z.object({
90
+ puppeteerURL: import_v4.z.string().describe("remote puppeteer url, eg: wss://browserless/xxx, https://browserless/xxx").optional()
91
+ });
92
+ const strictRenderConfig = import_v4.z.discriminatedUnion("mode", [
93
+ import_v4.z.object(__spreadValues(__spreadValues({ mode: import_v4.z.literal("cf") }, cfConfig.shape), common.shape)),
94
+ import_v4.z.object(__spreadValues(__spreadValues({ mode: import_v4.z.literal("puppeteer") }, puppeteerConfig.shape), common.shape)),
95
+ import_v4.z.object(__spreadValues({ mode: import_v4.z.literal("custom") }, common.shape))
96
+ ]);
97
+ const renderSchema = strictRenderConfig.and(import_v4.z.object(__spreadValues(__spreadValues(__spreadValues({}, cfConfig.shape), puppeteerConfig.shape), common.shape)).partial());
68
98
  class CFBrowserRendering {
69
- constructor(accountId, cfAPIKey) {
70
- this.accountId = accountId;
71
- this.cfAPIKey = cfAPIKey;
99
+ constructor(accountId, cfAPIKey, logger) {
72
100
  __publicField(this, "f");
73
- this.f = new import_fetch.Fetch().baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`).extend({
101
+ this.f = (0, import_fetch.createFetch)(logger).baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`).extend({
74
102
  headers: {
75
103
  Authorization: `Bearer ${cfAPIKey}`
76
104
  }
@@ -79,7 +107,12 @@ class CFBrowserRendering {
79
107
  post(body) {
80
108
  return this.f.post("/browser-rendering/screenshot", {
81
109
  responseType: "arrayBuffer",
82
- body: __spreadProps(__spreadValues({}, body), {
110
+ body: __spreadProps(__spreadValues({
111
+ "screenshotOptions": {
112
+ quality: 90,
113
+ type: "webp"
114
+ }
115
+ }, body), {
83
116
  "viewport": {
84
117
  "width": 3840,
85
118
  "height": 2160,
@@ -130,23 +163,30 @@ const RemoteBrowserGetter = (addr) => {
130
163
  }
131
164
  return () => p.connect(opt);
132
165
  };
133
- const getImageRender = (cfg) => {
166
+ const getImageRender = (config) => {
167
+ const _a = config, { logger, render, browserGetter } = _a, _cfg = __objRest(_a, ["logger", "render", "browserGetter"]);
168
+ const cfg = strictRenderConfig.parse(_cfg);
134
169
  if (cfg.mode === "cf") {
135
- return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey);
170
+ return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey, logger);
171
+ }
172
+ if (cfg.mode === "custom") {
173
+ if (!render) throw new Error("please provide custom img render");
174
+ return render;
136
175
  }
137
176
  if (cfg.puppeteerURL) {
138
177
  return new PuppeteerRendering(RemoteBrowserGetter(cfg.puppeteerURL));
139
178
  }
140
- if (cfg.browserGetter) {
141
- return new PuppeteerRendering(cfg.browserGetter);
179
+ if (browserGetter) {
180
+ return new PuppeteerRendering(browserGetter);
142
181
  }
182
+ return null;
143
183
  };
144
184
  // Annotate the CommonJS export names for ESM import in node:
145
185
  0 && (module.exports = {
146
186
  CFBrowserRendering,
147
- PuppeteerOptions,
148
187
  PuppeteerRendering,
149
188
  RemoteBrowserGetter,
150
- getImageRender
189
+ getImageRender,
190
+ renderSchema
151
191
  });
152
192
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/common/render/index.ts"],"sourcesContent":["import {html2imgBuffer, type RenderOptions, url2imgBuffer} from \"./puppeteer\";\nimport {Browser, Puppeteer} from \"puppeteer-core\";\nimport {Fetch, createFetch} from \"../fetch\";\nimport { Logger } from \"@/core\";\nimport {z} from \"zod/v4\";\nexport type { RenderOptions as PuppeteerOptions }\n\nexport interface ImageRender {\n html2img: (html: string, opt: RenderOptions) => Promise<Buffer>\n url2img: (url: string, opt: RenderOptions) => Promise<Buffer>\n}\n\nconst common = z.object({\n defaultWaitTimeout: z.number().optional(),\n waitTimeout: z.number().optional(),\n})\n\nconst cfConfig = z.object({\n cfAccountId: z.string().min(1, \"Cloudflare account id is required\"),\n cfAPIKey: z.string().min(1, \"Cloudflare API key is required\"),\n})\n\nconst puppeteerConfig = z.object({\n puppeteerURL: z.string().describe(\"remote puppeteer url, eg: wss://browserless/xxx, https://browserless/xxx\").optional(),\n})\n\nconst strictRenderConfig = z.discriminatedUnion('mode', [\n z.object({ mode: z.literal('cf'), ...cfConfig.shape, ...common.shape }),\n z.object({ mode: z.literal('puppeteer'), ...puppeteerConfig.shape, ...common.shape }),\n z.object({ mode: z.literal('custom'), ...common.shape }),\n])\n\nexport const renderSchema = strictRenderConfig\n .and(z.object({\n ...cfConfig.shape,\n ...puppeteerConfig.shape,\n ...common.shape\n }).partial())\n\nexport type RenderConfig = z.infer<typeof renderSchema>\n\ntype StrictRenderConfig = z.infer<typeof strictRenderConfig>\n\n\n\n\nexport class CFBrowserRendering implements ImageRender {\n f: Fetch\n constructor(accountId: string, cfAPIKey: string, logger: Logger) {\n this.f = createFetch(logger)\n .baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`)\n .extend({\n headers: {\n Authorization: `Bearer ${cfAPIKey}`\n },\n })\n }\n private post(body) {\n return this.f.post('/browser-rendering/screenshot', {\n responseType: 'arrayBuffer',\n body: {\n \"screenshotOptions\": {\n quality: 90,\n type: 'webp'\n },\n ...body,\n \"viewport\": {\n \"width\": 3840,\n \"height\": 2160,\n \"deviceScaleFactor\": 2,\n },\n \"gotoOptions\": {\n \"waitUntil\": \"networkidle0\",\n \"timeout\": 30000\n },\n }\n })\n }\n\n\n\n async html2img (html: string, opt: RenderOptions) {\n const buf = await this.post({html: html, ...opt})\n return Buffer.from(buf)\n }\n async url2img (url: string, opt: RenderOptions) {\n const buf = await this.post({url: url, ...opt})\n return Buffer.from(buf)\n }\n}\n\nexport class PuppeteerRendering implements ImageRender {\n constructor(private browserGetter: () => Promise<Browser>) {\n }\n async html2img (html: string, opt: RenderOptions) {\n return html2imgBuffer(this.browserGetter, html, opt)\n }\n async url2img (html: string, opt: RenderOptions) {\n return url2imgBuffer(this.browserGetter, html, opt)\n }\n}\n\n\nexport const RemoteBrowserGetter = (addr: string) => {\n const p = new Puppeteer()\n let opt = {}\n if(addr.startsWith('ws')) {\n opt = { browserWSEndpoint: addr }\n }else if(addr.startsWith('http')) {\n opt = { browserURL: addr }\n }\n return () => p.connect(opt)\n}\n\ntype ImageRenderCreateOptions = StrictRenderConfig & {\n logger: Logger,\n render?: ImageRender,\n browserGetter?: () => Promise<Browser>\n}\n\n\nexport const getImageRender = (config: ImageRenderCreateOptions) => {\n const { logger, render, browserGetter, ..._cfg} = config\n const cfg = strictRenderConfig.parse(_cfg)\n if(cfg.mode === 'cf') {\n return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey, logger)\n }\n if(cfg.mode === 'custom') {\n if(!render) throw new Error(\"please provide custom img render\")\n return render\n }\n if(cfg.puppeteerURL) {\n return new PuppeteerRendering(RemoteBrowserGetter(cfg.puppeteerURL))\n }\n if(browserGetter) {\n return new PuppeteerRendering(browserGetter)\n }\n return null\n}\n\nexport type CreateImageRenderOption = Parameters<typeof getImageRender>[0]\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAgE;AAChE,4BAAiC;AACjC,mBAAiC;AAEjC,gBAAgB;AAQhB,MAAM,SAAS,YAAE,OAAO;AAAA,EACtB,oBAAoB,YAAE,OAAO,EAAE,SAAS;AAAA,EACxC,aAAa,YAAE,OAAO,EAAE,SAAS;AACnC,CAAC;AAED,MAAM,WAAW,YAAE,OAAO;AAAA,EACxB,aAAa,YAAE,OAAO,EAAE,IAAI,GAAG,mCAAmC;AAAA,EAClE,UAAU,YAAE,OAAO,EAAE,IAAI,GAAG,gCAAgC;AAC9D,CAAC;AAED,MAAM,kBAAkB,YAAE,OAAO;AAAA,EAC/B,cAAc,YAAE,OAAO,EAAE,SAAS,0EAA0E,EAAE,SAAS;AACzH,CAAC;AAED,MAAM,qBAAqB,YAAE,mBAAmB,QAAQ;AAAA,EACtD,YAAE,OAAO,gCAAE,MAAM,YAAE,QAAQ,IAAI,KAAM,SAAS,QAAU,OAAO,MAAO;AAAA,EACtE,YAAE,OAAO,gCAAE,MAAM,YAAE,QAAQ,WAAW,KAAM,gBAAgB,QAAU,OAAO,MAAO;AAAA,EACpF,YAAE,OAAO,iBAAE,MAAM,YAAE,QAAQ,QAAQ,KAAM,OAAO,MAAO;AACzD,CAAC;AAEM,MAAM,eAAe,mBACzB,IAAI,YAAE,OAAO,iDACT,SAAS,QACT,gBAAgB,QAChB,OAAO,MACX,EAAE,QAAQ,CAAC;AASP,MAAM,mBAA0C;AAAA,EAErD,YAAY,WAAmB,UAAkB,QAAgB;AADjE;AAEE,SAAK,QAAI,0BAAY,MAAM,EACxB,QAAQ,iDAAiD,SAAS,EAAE,EACpE,OAAO;AAAA,MACN,SAAS;AAAA,QACP,eAAe,UAAU,QAAQ;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,EACL;AAAA,EACQ,KAAK,MAAM;AACjB,WAAO,KAAK,EAAE,KAAK,iCAAiC;AAAA,MAClD,cAAc;AAAA,MACd,MAAM;AAAA,QACJ,qBAAqB;AAAA,UACnB,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,SACG,OALC;AAAA,QAMJ,YAAY;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,UACV,qBAAqB;AAAA,QACvB;AAAA,QACA,eAAe;AAAA,UACb,aAAa;AAAA,UACb,WAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAIM,SAAU,MAAc,KAAoB;AAAA;AAChD,YAAM,MAAM,MAAM,KAAK,KAAK,iBAAC,QAAe,IAAI;AAChD,aAAO,OAAO,KAAK,GAAG;AAAA,IACxB;AAAA;AAAA,EACM,QAAS,KAAa,KAAoB;AAAA;AAC9C,YAAM,MAAM,MAAM,KAAK,KAAK,iBAAC,OAAa,IAAI;AAC9C,aAAO,OAAO,KAAK,GAAG;AAAA,IACxB;AAAA;AACF;AAEO,MAAM,mBAA0C;AAAA,EACrD,YAAoB,eAAuC;AAAvC;AAAA,EACpB;AAAA,EACM,SAAU,MAAc,KAAoB;AAAA;AAChD,iBAAO,iCAAe,KAAK,eAAe,MAAM,GAAG;AAAA,IACrD;AAAA;AAAA,EACM,QAAS,MAAc,KAAoB;AAAA;AAC/C,iBAAO,gCAAc,KAAK,eAAe,MAAM,GAAG;AAAA,IACpD;AAAA;AACF;AAGO,MAAM,sBAAsB,CAAC,SAAiB;AACnD,QAAM,IAAI,IAAI,gCAAU;AACxB,MAAI,MAAM,CAAC;AACX,MAAG,KAAK,WAAW,IAAI,GAAG;AACxB,UAAM,EAAE,mBAAmB,KAAK;AAAA,EAClC,WAAS,KAAK,WAAW,MAAM,GAAG;AAChC,UAAM,EAAE,YAAY,KAAK;AAAA,EAC3B;AACA,SAAO,MAAM,EAAE,QAAQ,GAAG;AAC5B;AASO,MAAM,iBAAiB,CAAC,WAAqC;AAClE,QAAkD,aAA1C,UAAQ,QAAQ,cA1H1B,IA0HoD,IAAR,iBAAQ,IAAR,CAAlC,UAAQ,UAAQ;AACxB,QAAM,MAAM,mBAAmB,MAAM,IAAI;AACzC,MAAG,IAAI,SAAS,MAAM;AACpB,WAAO,IAAI,mBAAmB,IAAI,aAAa,IAAI,UAAU,MAAM;AAAA,EACrE;AACA,MAAG,IAAI,SAAS,UAAU;AACxB,QAAG,CAAC,OAAQ,OAAM,IAAI,MAAM,kCAAkC;AAC9D,WAAO;AAAA,EACT;AACA,MAAG,IAAI,cAAc;AACnB,WAAO,IAAI,mBAAmB,oBAAoB,IAAI,YAAY,CAAC;AAAA,EACrE;AACA,MAAG,eAAe;AAChB,WAAO,IAAI,mBAAmB,aAAa;AAAA,EAC7C;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/common/render/puppeteer.ts"],"sourcesContent":["import type {Browser, Page, ScreenshotOptions, Viewport} from 'puppeteer-core';\n\n/**\n * Extends Puppeteer's ScreenshotOptions to include an optional viewport setting\n * and a selector for element-specific screenshots.\n */\nexport interface RenderOptions extends ScreenshotOptions {\n /**\n * Sets the viewport of the page.\n */\n viewport?: Viewport;\n /**\n * A CSS selector for an element to screenshot. If provided, the output\n * will be a screenshot of just this element.\n */\n selector?: string;\n /**\n * The maximum time in milliseconds to wait for the selector to appear.\n * If the element is not found within this time, an error will be thrown.\n * Defaults to Puppeteer's default (usually 30000ms).\n */\n timeout?: number;\n}\n\n/**\n * Core rendering function that handles the common logic for taking a screenshot.\n * It's designed to be called by the public-facing wrapper functions.\n * @private\n */\nasync function _renderPageToBuffer(\n browser: Browser | (() => Promise<Browser>),\n options: RenderOptions | undefined,\n loadContent: (page: Page) => Promise<any>,\n defaultScreenshotOptions: ScreenshotOptions,\n defaultViewport: Viewport,\n errorContext?: string,\n): Promise<Buffer> {\n let page: Page | undefined;\n try {\n let b : Browser\n if(typeof browser === \"function\") {\n b = await browser()\n }\n page = await b.newPage();\n\n const viewport = options?.viewport ?? defaultViewport;\n await page.setViewport(viewport);\n\n // The content loading strategy is passed in as a callback.\n await loadContent(page);\n\n const {viewport: _, selector, timeout, ...screenshotOptions} = options || {};\n\n if (selector) {\n const element = await page.waitForSelector(selector, {timeout});\n if (!element) {\n const timeoutMsg = `within the ${timeout || 'default'}ms timeout.`;\n const contextMsg = errorContext ? ` on ${errorContext}` : '';\n throw new Error(`Could not find element with selector: \"${selector}\"${contextMsg} ${timeoutMsg}`);\n }\n return Buffer.from(await element.screenshot(screenshotOptions));\n }\n\n return Buffer.from(await page.screenshot({\n ...defaultScreenshotOptions,\n ...screenshotOptions,\n }))\n } finally {\n if (page) {\n await page.close();\n }\n }\n}\n\n/**\n * Renders an HTML string into an image buffer using a provided Puppeteer browser instance.\n *\n * @param browser The active Puppeteer Browser instance.\n * @param html The HTML content to render.\n * @param options Configuration for the rendering process.\n * @returns A Promise that resolves to a Buffer containing the screenshot image.\n */\nexport async function html2imgBuffer(\n browser: Browser | (() => Promise<Browser>),\n html: string,\n options?: RenderOptions,\n): Promise<Buffer> {\n return _renderPageToBuffer(\n browser,\n options,\n (page) => page.setContent(html, {waitUntil: 'networkidle0'}),\n {fullPage: true},\n {width: 3840, height: 2160, deviceScaleFactor: 2},\n );\n}\n\n/**\n * Captures a screenshot of a given URL and returns it as an image buffer.\n *\n * @param browser The active Puppeteer Browser instance.\n * @param url The URL of the webpage to capture.\n * @param options Configuration for the rendering process.\n * @returns A Promise that resolves to a Buffer containing the screenshot image.\n */\nexport async function url2imgBuffer(\n browser: Browser | (() => Promise<Browser>),\n url: string,\n options?: RenderOptions,\n): Promise<Buffer> {\n return _renderPageToBuffer(\n browser,\n options,\n (page) => page.goto(url, {waitUntil: 'networkidle0'}),\n {fullPage: false},\n {width: 3840, height: 2160, deviceScaleFactor: 2},\n `page: ${url}`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BA,SAAe,oBACb,SACA,SACA,aACA,0BACA,iBACA,cACiB;AAAA;AApCnB;AAqCE,QAAI;AACJ,QAAI;AACF,UAAI;AACJ,UAAG,OAAO,YAAY,YAAY;AAChC,YAAI,MAAM,QAAQ;AAAA,MACpB;AACA,aAAO,MAAM,EAAE,QAAQ;AAEvB,YAAM,YAAW,wCAAS,aAAT,YAAqB;AACtC,YAAM,KAAK,YAAY,QAAQ;AAG/B,YAAM,YAAY,IAAI;AAEtB,YAA+D,gBAAW,CAAC,GAApE,YAAU,GAAG,UAAU,QAnDlC,IAmDmE,IAArB,8BAAqB,IAArB,CAAnC,YAAa,YAAU;AAE9B,UAAI,UAAU;AACZ,cAAM,UAAU,MAAM,KAAK,gBAAgB,UAAU,EAAC,QAAO,CAAC;AAC9D,YAAI,CAAC,SAAS;AACZ,gBAAM,aAAa,cAAc,WAAW,SAAS;AACrD,gBAAM,aAAa,eAAe,OAAO,YAAY,KAAK;AAC1D,gBAAM,IAAI,MAAM,0CAA0C,QAAQ,IAAI,UAAU,IAAI,UAAU,EAAE;AAAA,QAClG;AACA,eAAO,OAAO,KAAK,MAAM,QAAQ,WAAW,iBAAiB,CAAC;AAAA,MAChE;AAEA,aAAO,OAAO,KAAK,MAAM,KAAK,WAAW,kCACpC,2BACA,kBACJ,CAAC;AAAA,IACJ,UAAE;AACA,UAAI,MAAM;AACR,cAAM,KAAK,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA;AAUA,SAAsB,eACpB,SACA,MACA,SACiB;AAAA;AACjB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,CAAC,SAAS,KAAK,WAAW,MAAM,EAAC,WAAW,eAAc,CAAC;AAAA,MAC3D,EAAC,UAAU,KAAI;AAAA,MACf,EAAC,OAAO,MAAM,QAAQ,MAAM,mBAAmB,EAAC;AAAA,IAClD;AAAA,EACF;AAAA;AAUA,SAAsB,cACpB,SACA,KACA,SACiB;AAAA;AACjB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,CAAC,SAAS,KAAK,KAAK,KAAK,EAAC,WAAW,eAAc,CAAC;AAAA,MACpD,EAAC,UAAU,MAAK;AAAA,MAChB,EAAC,OAAO,MAAM,QAAQ,MAAM,mBAAmB,EAAC;AAAA,MAChD,SAAS,GAAG;AAAA,IACd;AAAA,EACF;AAAA;","names":[]}
@@ -2,9 +2,22 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
6
  var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
9
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
8
21
  var __export = (target, all) => {
9
22
  for (var name in all)
10
23
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -49,11 +62,27 @@ var __async = (__this, __arguments, generator) => {
49
62
  };
50
63
  var s3_exports = {};
51
64
  __export(s3_exports, {
52
- S3Service: () => S3Service
65
+ S3Service: () => S3Service,
66
+ s3ConfigSchema: () => s3ConfigSchema,
67
+ strictS3ConfigSchema: () => strictS3ConfigSchema
53
68
  });
54
69
  module.exports = __toCommonJS(s3_exports);
55
70
  var import_client_s3 = require("@aws-sdk/client-s3");
56
71
  var import_crypto = __toESM(require("crypto"));
72
+ var import_v4 = require("zod/v4");
73
+ const strictS3ConfigSchema = import_v4.z.object({
74
+ s3AccessKey: import_v4.z.string(),
75
+ s3SecretKey: import_v4.z.string(),
76
+ endpoint: import_v4.z.string(),
77
+ baseURL: import_v4.z.string(),
78
+ bucketName: import_v4.z.string(),
79
+ region: import_v4.z.string().optional(),
80
+ keyPrefix: import_v4.z.string().optional()
81
+ });
82
+ const s3ConfigSchema = import_v4.z.discriminatedUnion("enabled", [
83
+ import_v4.z.object(__spreadValues({ enabled: import_v4.z.literal(true) }, strictS3ConfigSchema.shape)),
84
+ import_v4.z.object({ enabled: import_v4.z.literal(false) })
85
+ ]);
57
86
  class S3Service {
58
87
  constructor(config) {
59
88
  __publicField(this, "s3Client");
@@ -78,17 +107,7 @@ class S3Service {
78
107
  return __async(this, null, function* () {
79
108
  const res = yield fetch(url).then((it) => it.arrayBuffer());
80
109
  const buf = Buffer.from(res);
81
- const md5 = import_crypto.default.createHash("md5").update(buf).digest("hex");
82
- const key = this.keyPrefix ? `${this.keyPrefix}-${md5}` : md5;
83
- const params = {
84
- Bucket: this.bucket,
85
- Key: key,
86
- Body: buf,
87
- ContentType: mimeType != null ? mimeType : "image/png"
88
- };
89
- const command = new import_client_s3.PutObjectCommand(params);
90
- const data = yield this.s3Client.send(command);
91
- return `${this.baseURL}${key}`;
110
+ return this.uploadImg(buf, mimeType);
92
111
  });
93
112
  }
94
113
  uploadImg(buffer, mimeType) {
@@ -109,6 +128,8 @@ class S3Service {
109
128
  }
110
129
  // Annotate the CommonJS export names for ESM import in node:
111
130
  0 && (module.exports = {
112
- S3Service
131
+ S3Service,
132
+ s3ConfigSchema,
133
+ strictS3ConfigSchema
113
134
  });
114
135
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/common/s3/index.ts"],"sourcesContent":["import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'\nimport crypto from 'crypto'\nimport {z} from \"zod/v4\";\n\nexport interface S3Config {\n s3AccessKey: string\n s3SecretKey: string\n endpoint: string\n region?: string\n bucketName: string\n keyPrefix?: string\n baseURL: string\n}\n\n\nexport const strictS3ConfigSchema = z.object({\n s3AccessKey: z.string(),\n s3SecretKey: z.string(),\n endpoint: z.string(),\n baseURL: z.string(),\n bucketName: z.string(),\n region: z.string().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport const s3ConfigSchema = z.discriminatedUnion('enabled', [\n z.object({ enabled: z.literal(true), ...strictS3ConfigSchema.shape }),\n z.object({ enabled: z.literal(false),}),\n])\n\nexport class S3Service {\n private s3Client: S3Client\n private readonly bucket: string\n private readonly keyPrefix: string = ''\n private readonly baseURL: string = ''\n constructor(config: S3Config) {\n const s3 = new S3Client({\n region: config.region ?? 'auto',\n endpoint: config.endpoint,\n credentials: {\n accessKeyId: config.s3AccessKey,\n secretAccessKey: config.s3SecretKey,\n },\n })\n this.bucket = config.bucketName\n this.keyPrefix = config.keyPrefix\n this.baseURL = config.baseURL\n this.s3Client = s3\n }\n async uploadImgWithUrl(url: string, mimeType?: string): Promise<string> {\n const res = await fetch(url).then((it) => it.arrayBuffer())\n const buf = Buffer.from(res)\n return this.uploadImg(buf, mimeType)\n }\n\n async uploadImg(buffer: Buffer, mimeType?: string): Promise<string> {\n // @ts-ignore\n const md5 = crypto.createHash('md5').update(buffer).digest('hex')\n const key = this.keyPrefix ? `${this.keyPrefix}-${md5}` : md5\n const params = {\n Bucket: this.bucket,\n Key: key,\n Body: buffer,\n ContentType: mimeType ?? 'image/png',\n }\n const command = new PutObjectCommand(params)\n const data = await this.s3Client.send(command)\n return `${this.baseURL}${key}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2C;AAC3C,oBAAmB;AACnB,gBAAgB;AAaT,MAAM,uBAAuB,YAAE,OAAO;AAAA,EAC3C,aAAa,YAAE,OAAO;AAAA,EACtB,aAAa,YAAE,OAAO;AAAA,EACtB,UAAU,YAAE,OAAO;AAAA,EACnB,SAAS,YAAE,OAAO;AAAA,EAClB,YAAY,YAAE,OAAO;AAAA,EACrB,QAAQ,YAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,YAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,MAAM,iBAAiB,YAAE,mBAAmB,WAAW;AAAA,EAC5D,YAAE,OAAO,iBAAE,SAAS,YAAE,QAAQ,IAAI,KAAM,qBAAqB,MAAO;AAAA,EACpE,YAAE,OAAO,EAAE,SAAS,YAAE,QAAQ,KAAK,EAAE,CAAC;AACxC,CAAC;AAEM,MAAM,UAAU;AAAA,EAKrB,YAAY,QAAkB;AAJ9B,wBAAQ;AACR,wBAAiB;AACjB,wBAAiB,aAAoB;AACrC,wBAAiB,WAAkB;AAlCrC;AAoCI,UAAM,KAAK,IAAI,0BAAS;AAAA,MACtB,SAAQ,YAAO,WAAP,YAAiB;AAAA,MACzB,UAAU,OAAO;AAAA,MACjB,aAAa;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,iBAAiB,OAAO;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,SAAK,SAAS,OAAO;AACrB,SAAK,YAAY,OAAO;AACxB,SAAK,UAAU,OAAO;AACtB,SAAK,WAAW;AAAA,EAClB;AAAA,EACM,iBAAiB,KAAa,UAAoC;AAAA;AACtE,YAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AAC1D,YAAM,MAAM,OAAO,KAAK,GAAG;AAC3B,aAAO,KAAK,UAAU,KAAK,QAAQ;AAAA,IACrC;AAAA;AAAA,EAEM,UAAU,QAAgB,UAAoC;AAAA;AAElE,YAAM,MAAM,cAAAA,QAAO,WAAW,KAAK,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK;AAChE,YAAM,MAAM,KAAK,YAAY,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK;AAC1D,YAAM,SAAS;AAAA,QACb,QAAQ,KAAK;AAAA,QACb,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa,8BAAY;AAAA,MAC3B;AACA,YAAM,UAAU,IAAI,kCAAiB,MAAM;AAC3C,YAAM,OAAO,MAAM,KAAK,SAAS,KAAK,OAAO;AAC7C,aAAO,GAAG,KAAK,OAAO,GAAG,GAAG;AAAA,IAC9B;AAAA;AACF;","names":["crypto"]}
@@ -37,9 +37,8 @@ __export(RankDifficulty_exports, {
37
37
  RankDifficulty: () => RankDifficulty
38
38
  });
39
39
  module.exports = __toCommonJS(RankDifficulty_exports);
40
- var import_jsx_runtime = require("react/jsx-runtime");
41
40
  var import_lucide_react = require("lucide-react");
42
- var import_utils = require("../../components/utils");
41
+ var import_utils = require("../../components/utils/index.js");
43
42
  function RankDifficulty({
44
43
  difficulty,
45
44
  star,
@@ -47,108 +46,85 @@ function RankDifficulty({
47
46
  current
48
47
  }) {
49
48
  var _a, _b;
50
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
49
+ return /* @__PURE__ */ React.createElement(
51
50
  "div",
52
51
  {
53
- className: `p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : "opacity-60"} `,
54
- children: [
55
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
56
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.BarChart, { className: "w-4 h-4" }) }),
57
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: (0, import_utils.diffConv)(difficulty) })
58
- ] }),
59
- star && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
60
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSStar, { className: "w-4 h-4" }) }),
61
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
62
- (_a = star == null ? void 0 : star.toFixed(2)) != null ? _a : "none",
63
- " "
64
- ] })
65
- ] }),
66
- blStar && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
67
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BLStar, { className: "w-4 h-4" }) }),
68
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
69
- (_b = blStar == null ? void 0 : blStar.toFixed(2)) != null ? _b : "none",
70
- " "
71
- ] })
72
- ] })
73
- ]
74
- }
52
+ className: `p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : "opacity-60"} `
53
+ },
54
+ /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(import_lucide_react.BarChart, { className: "w-4 h-4" })), /* @__PURE__ */ React.createElement("span", null, (0, import_utils.diffConv)(difficulty))),
55
+ star && /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(SSStar, { className: "w-4 h-4" })), /* @__PURE__ */ React.createElement("span", null, (_a = star == null ? void 0 : star.toFixed(2)) != null ? _a : "none", " ")),
56
+ blStar && /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(BLStar, { className: "w-4 h-4" })), /* @__PURE__ */ React.createElement("span", null, (_b = blStar == null ? void 0 : blStar.toFixed(2)) != null ? _b : "none", " "))
75
57
  );
76
58
  }
77
59
  const BLStar = (props) => {
78
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
60
+ return /* @__PURE__ */ React.createElement(
79
61
  "svg",
80
62
  __spreadProps(__spreadValues({}, props), {
81
63
  width: "16",
82
64
  height: "16",
83
65
  viewBox: "0 0 16 16",
84
66
  fill: "none",
85
- xmlns: "http://www.w3.org/2000/svg",
86
- children: [
87
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
- "path",
89
- {
90
- d: "M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z",
91
- fill: "url(#paint0_linear_36_531)"
92
- }
93
- ),
94
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "8", cy: "8", r: "2", fill: "#D9D9D9" }),
95
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
96
- "linearGradient",
97
- {
98
- id: "paint0_linear_36_531",
99
- x1: "3.50006",
100
- y1: "14",
101
- x2: "15.0001",
102
- y2: "1.00003",
103
- gradientUnits: "userSpaceOnUse",
104
- children: [
105
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { stopColor: "#2A79F8" }),
106
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: "0.5", stopColor: "#F41AFF" }),
107
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: "1", stopColor: "#FF0303" })
108
- ]
109
- }
110
- ) })
111
- ]
112
- })
67
+ xmlns: "http://www.w3.org/2000/svg"
68
+ }),
69
+ /* @__PURE__ */ React.createElement(
70
+ "path",
71
+ {
72
+ d: "M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z",
73
+ fill: "url(#paint0_linear_36_531)"
74
+ }
75
+ ),
76
+ /* @__PURE__ */ React.createElement("circle", { cx: "8", cy: "8", r: "2", fill: "#D9D9D9" }),
77
+ /* @__PURE__ */ React.createElement("defs", null, /* @__PURE__ */ React.createElement(
78
+ "linearGradient",
79
+ {
80
+ id: "paint0_linear_36_531",
81
+ x1: "3.50006",
82
+ y1: "14",
83
+ x2: "15.0001",
84
+ y2: "1.00003",
85
+ gradientUnits: "userSpaceOnUse"
86
+ },
87
+ /* @__PURE__ */ React.createElement("stop", { stopColor: "#2A79F8" }),
88
+ /* @__PURE__ */ React.createElement("stop", { offset: "0.5", stopColor: "#F41AFF" }),
89
+ /* @__PURE__ */ React.createElement("stop", { offset: "1", stopColor: "#FF0303" })
90
+ ))
113
91
  );
114
92
  };
115
93
  const SSStar = (props) => {
116
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
94
+ return /* @__PURE__ */ React.createElement(
117
95
  "svg",
118
96
  __spreadProps(__spreadValues({}, props), {
119
97
  width: "16",
120
98
  height: "16",
121
99
  viewBox: "0 0 16 16",
122
100
  fill: "none",
123
- xmlns: "http://www.w3.org/2000/svg",
124
- children: [
125
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
126
- "path",
127
- {
128
- d: "M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z",
129
- fill: "url(#paint0_linear_36_522)"
130
- }
131
- ),
132
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9.90888 6H6.0907V7H9.90888V6Z", fill: "white" }),
133
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M8.81825 9H7.18188V10H8.81825V9Z", fill: "white" }),
134
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9.90902 8H8.81812V9H9.90902V8Z", fill: "white" }),
135
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7.18161 8H6.0907V9H7.18161V8Z", fill: "white" }),
136
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11.0002 7H9.9093V8H11.0002V7Z", fill: "white" }),
137
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M6.09091 7H5V8H6.09091V7Z", fill: "white" }),
138
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
139
- "linearGradient",
140
- {
141
- id: "paint0_linear_36_522",
142
- x1: "3.50006",
143
- y1: "14",
144
- x2: "34.5001",
145
- y2: "-12",
146
- gradientUnits: "userSpaceOnUse",
147
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { stopColor: "#FFDE18" })
148
- }
149
- ) })
150
- ]
151
- })
101
+ xmlns: "http://www.w3.org/2000/svg"
102
+ }),
103
+ /* @__PURE__ */ React.createElement(
104
+ "path",
105
+ {
106
+ d: "M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z",
107
+ fill: "url(#paint0_linear_36_522)"
108
+ }
109
+ ),
110
+ /* @__PURE__ */ React.createElement("path", { d: "M9.90888 6H6.0907V7H9.90888V6Z", fill: "white" }),
111
+ /* @__PURE__ */ React.createElement("path", { d: "M8.81825 9H7.18188V10H8.81825V9Z", fill: "white" }),
112
+ /* @__PURE__ */ React.createElement("path", { d: "M9.90902 8H8.81812V9H9.90902V8Z", fill: "white" }),
113
+ /* @__PURE__ */ React.createElement("path", { d: "M7.18161 8H6.0907V9H7.18161V8Z", fill: "white" }),
114
+ /* @__PURE__ */ React.createElement("path", { d: "M11.0002 7H9.9093V8H11.0002V7Z", fill: "white" }),
115
+ /* @__PURE__ */ React.createElement("path", { d: "M6.09091 7H5V8H6.09091V7Z", fill: "white" }),
116
+ /* @__PURE__ */ React.createElement("defs", null, /* @__PURE__ */ React.createElement(
117
+ "linearGradient",
118
+ {
119
+ id: "paint0_linear_36_522",
120
+ x1: "3.50006",
121
+ y1: "14",
122
+ x2: "34.5001",
123
+ y2: "-12",
124
+ gradientUnits: "userSpaceOnUse"
125
+ },
126
+ /* @__PURE__ */ React.createElement("stop", { stopColor: "#FFDE18" })
127
+ ))
152
128
  );
153
129
  };
154
130
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/components/RankDifficulty.tsx"],"sourcesContent":["import { BarChart, Star } from 'lucide-react'\nimport { diffConv } from '@/components/utils'\nimport { HTMLProps } from 'react'\n\nexport function RankDifficulty({\n difficulty,\n star,\n blStar,\n current,\n}: {\n difficulty: string\n star: number | undefined\n blStar: number | undefined\n current: boolean\n}) {\n return (\n <div\n className={`p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : 'opacity-60'} `}\n >\n <div className={'flex items-center gap-2'}>\n <span>\n <BarChart className={'w-4 h-4'} />\n </span>\n <span>{diffConv(difficulty)}</span>\n </div>\n {star && (\n <div className={'flex items-center gap-2'}>\n <span>\n <SSStar className={'w-4 h-4'} />\n </span>\n <span>{star?.toFixed(2) ?? 'none'} </span>\n </div>\n )}\n {blStar && (\n <div className={'flex items-center gap-2'}>\n <span>\n <BLStar className={'w-4 h-4'} />\n </span>\n <span>{blStar?.toFixed(2) ?? 'none'} </span>\n </div>\n )}\n </div>\n )\n}\n\nconst BLStar = (props: HTMLProps<SVGSVGElement>) => {\n return (\n <svg\n {...props}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z\"\n fill=\"url(#paint0_linear_36_531)\"\n />\n <circle cx=\"8\" cy=\"8\" r=\"2\" fill=\"#D9D9D9\" />\n <defs>\n <linearGradient\n id=\"paint0_linear_36_531\"\n x1=\"3.50006\"\n y1=\"14\"\n x2=\"15.0001\"\n y2=\"1.00003\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#2A79F8\" />\n <stop offset=\"0.5\" stopColor=\"#F41AFF\" />\n <stop offset=\"1\" stopColor=\"#FF0303\" />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n\nconst SSStar = (props: HTMLProps<SVGSVGElement>) => {\n return (\n <svg\n {...props}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z\"\n fill=\"url(#paint0_linear_36_522)\"\n />\n <path d=\"M9.90888 6H6.0907V7H9.90888V6Z\" fill=\"white\" />\n <path d=\"M8.81825 9H7.18188V10H8.81825V9Z\" fill=\"white\" />\n <path d=\"M9.90902 8H8.81812V9H9.90902V8Z\" fill=\"white\" />\n <path d=\"M7.18161 8H6.0907V9H7.18161V8Z\" fill=\"white\" />\n <path d=\"M11.0002 7H9.9093V8H11.0002V7Z\" fill=\"white\" />\n <path d=\"M6.09091 7H5V8H6.09091V7Z\" fill=\"white\" />\n <defs>\n <linearGradient\n id=\"paint0_linear_36_522\"\n x1=\"3.50006\"\n y1=\"14\"\n x2=\"34.5001\"\n y2=\"-12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#FFDE18\" />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBM;AAnBN,0BAA+B;AAC/B,mBAAyB;AAGlB,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAdH;AAeE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,kCAAkC,UAAU,gCAAgC,YAAY;AAAA,MAEnG;AAAA,qDAAC,SAAI,WAAW,2BACd;AAAA,sDAAC,UACC,sDAAC,gCAAS,WAAW,WAAW,GAClC;AAAA,UACA,4CAAC,UAAM,qCAAS,UAAU,GAAE;AAAA,WAC9B;AAAA,QACC,QACC,6CAAC,SAAI,WAAW,2BACd;AAAA,sDAAC,UACC,sDAAC,UAAO,WAAW,WAAW,GAChC;AAAA,UACA,6CAAC,UAAM;AAAA,+CAAM,QAAQ,OAAd,YAAoB;AAAA,YAAO;AAAA,aAAC;AAAA,WACrC;AAAA,QAED,UACC,6CAAC,SAAI,WAAW,2BACd;AAAA,sDAAC,UACC,sDAAC,UAAO,WAAW,WAAW,GAChC;AAAA,UACA,6CAAC,UAAM;AAAA,mDAAQ,QAAQ,OAAhB,YAAsB;AAAA,YAAO;AAAA,aAAC;AAAA,WACvC;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,MAAM,SAAS,CAAC,UAAoC;AAClD,SACE;AAAA,IAAC;AAAA,qCACK,QADL;AAAA,MAEC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MAEN;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QACP;AAAA,QACA,4CAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAK,WAAU;AAAA,QAC3C,4CAAC,UACC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,eAAc;AAAA,YAEd;AAAA,0DAAC,UAAK,WAAU,WAAU;AAAA,cAC1B,4CAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,cACvC,4CAAC,UAAK,QAAO,KAAI,WAAU,WAAU;AAAA;AAAA;AAAA,QACvC,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,SAAS,CAAC,UAAoC;AAClD,SACE;AAAA,IAAC;AAAA,qCACK,QADL;AAAA,MAEC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MAEN;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QACP;AAAA,QACA,4CAAC,UAAK,GAAE,kCAAiC,MAAK,SAAQ;AAAA,QACtD,4CAAC,UAAK,GAAE,oCAAmC,MAAK,SAAQ;AAAA,QACxD,4CAAC,UAAK,GAAE,mCAAkC,MAAK,SAAQ;AAAA,QACvD,4CAAC,UAAK,GAAE,kCAAiC,MAAK,SAAQ;AAAA,QACtD,4CAAC,UAAK,GAAE,kCAAiC,MAAK,SAAQ;AAAA,QACtD,4CAAC,UAAK,GAAE,6BAA4B,MAAK,SAAQ;AAAA,QACjD,4CAAC,UACC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAG;AAAA,YACH,eAAc;AAAA,YAEd,sDAAC,UAAK,WAAU,WAAU;AAAA;AAAA,QAC5B,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/components/RankDifficulty.tsx"],"sourcesContent":["import { BarChart, Star } from 'lucide-react'\nimport { diffConv } from '@/components/utils'\nimport { HTMLProps } from 'react'\n\nexport function RankDifficulty({\n difficulty,\n star,\n blStar,\n current,\n}: {\n difficulty: string\n star: number | undefined\n blStar: number | undefined\n current: boolean\n}) {\n return (\n <div\n className={`p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : 'opacity-60'} `}\n >\n <div className={'flex items-center gap-2'}>\n <span>\n <BarChart className={'w-4 h-4'} />\n </span>\n <span>{diffConv(difficulty)}</span>\n </div>\n {star && (\n <div className={'flex items-center gap-2'}>\n <span>\n <SSStar className={'w-4 h-4'} />\n </span>\n <span>{star?.toFixed(2) ?? 'none'} </span>\n </div>\n )}\n {blStar && (\n <div className={'flex items-center gap-2'}>\n <span>\n <BLStar className={'w-4 h-4'} />\n </span>\n <span>{blStar?.toFixed(2) ?? 'none'} </span>\n </div>\n )}\n </div>\n )\n}\n\nconst BLStar = (props: HTMLProps<SVGSVGElement>) => {\n return (\n <svg\n {...props}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z\"\n fill=\"url(#paint0_linear_36_531)\"\n />\n <circle cx=\"8\" cy=\"8\" r=\"2\" fill=\"#D9D9D9\" />\n <defs>\n <linearGradient\n id=\"paint0_linear_36_531\"\n x1=\"3.50006\"\n y1=\"14\"\n x2=\"15.0001\"\n y2=\"1.00003\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#2A79F8\" />\n <stop offset=\"0.5\" stopColor=\"#F41AFF\" />\n <stop offset=\"1\" stopColor=\"#FF0303\" />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n\nconst SSStar = (props: HTMLProps<SVGSVGElement>) => {\n return (\n <svg\n {...props}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z\"\n fill=\"url(#paint0_linear_36_522)\"\n />\n <path d=\"M9.90888 6H6.0907V7H9.90888V6Z\" fill=\"white\" />\n <path d=\"M8.81825 9H7.18188V10H8.81825V9Z\" fill=\"white\" />\n <path d=\"M9.90902 8H8.81812V9H9.90902V8Z\" fill=\"white\" />\n <path d=\"M7.18161 8H6.0907V9H7.18161V8Z\" fill=\"white\" />\n <path d=\"M11.0002 7H9.9093V8H11.0002V7Z\" fill=\"white\" />\n <path d=\"M6.09091 7H5V8H6.09091V7Z\" fill=\"white\" />\n <defs>\n <linearGradient\n id=\"paint0_linear_36_522\"\n x1=\"3.50006\"\n y1=\"14\"\n x2=\"34.5001\"\n y2=\"-12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#FFDE18\" />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA+B;AAC/B,mBAAyB;AAGlB,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAdH;AAeE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,kCAAkC,UAAU,gCAAgC,YAAY;AAAA;AAAA,IAEnG,oCAAC,SAAI,WAAW,6BACd,oCAAC,cACC,oCAAC,gCAAS,WAAW,WAAW,CAClC,GACA,oCAAC,kBAAM,uBAAS,UAAU,CAAE,CAC9B;AAAA,IACC,QACC,oCAAC,SAAI,WAAW,6BACd,oCAAC,cACC,oCAAC,UAAO,WAAW,WAAW,CAChC,GACA,oCAAC,eAAM,kCAAM,QAAQ,OAAd,YAAoB,QAAO,GAAC,CACrC;AAAA,IAED,UACC,oCAAC,SAAI,WAAW,6BACd,oCAAC,cACC,oCAAC,UAAO,WAAW,WAAW,CAChC,GACA,oCAAC,eAAM,sCAAQ,QAAQ,OAAhB,YAAsB,QAAO,GAAC,CACvC;AAAA,EAEJ;AAEJ;AAEA,MAAM,SAAS,CAAC,UAAoC;AAClD,SACE;AAAA,IAAC;AAAA,qCACK,QADL;AAAA,MAEC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA;AAAA,IAEN;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,oCAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAK,WAAU;AAAA,IAC3C,oCAAC,cACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,eAAc;AAAA;AAAA,MAEd,oCAAC,UAAK,WAAU,WAAU;AAAA,MAC1B,oCAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,MACvC,oCAAC,UAAK,QAAO,KAAI,WAAU,WAAU;AAAA,IACvC,CACF;AAAA,EACF;AAEJ;AAEA,MAAM,SAAS,CAAC,UAAoC;AAClD,SACE;AAAA,IAAC;AAAA,qCACK,QADL;AAAA,MAEC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA;AAAA,IAEN;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,oCAAC,UAAK,GAAE,kCAAiC,MAAK,SAAQ;AAAA,IACtD,oCAAC,UAAK,GAAE,oCAAmC,MAAK,SAAQ;AAAA,IACxD,oCAAC,UAAK,GAAE,mCAAkC,MAAK,SAAQ;AAAA,IACvD,oCAAC,UAAK,GAAE,kCAAiC,MAAK,SAAQ;AAAA,IACtD,oCAAC,UAAK,GAAE,kCAAiC,MAAK,SAAQ;AAAA,IACtD,oCAAC,UAAK,GAAE,6BAA4B,MAAK,SAAQ;AAAA,IACjD,oCAAC,cACC;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,eAAc;AAAA;AAAA,MAEd,oCAAC,UAAK,WAAU,WAAU;AAAA,IAC5B,CACF;AAAA,EACF;AAEJ;","names":[]}
@@ -20,9 +20,8 @@ __export(avatar_exports, {
20
20
  Avatar: () => Avatar
21
21
  });
22
22
  module.exports = __toCommonJS(avatar_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
23
  function Avatar({ src, fallback, className }) {
25
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { className, src });
24
+ return /* @__PURE__ */ React.createElement("img", { className, src });
26
25
  }
27
26
  // Annotate the CommonJS export names for ESM import in node:
28
27
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/components/base/avatar.tsx"],"sourcesContent":["interface AvatarProps {\n className?: string\n src: string\n fallback?: string\n}\nexport function Avatar({ src, fallback, className }: AvatarProps) {\n // className={'h-4 w-4 rounded-full'}\n // src={beatmap.uploader.avatar}\n // fallback={score.song.mapper.slice(0, 1)}\n return <img className={className} src={src} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASS;AAJF,SAAS,OAAO,EAAE,KAAK,UAAU,UAAU,GAAgB;AAIhE,SAAO,4CAAC,SAAI,WAAsB,KAAU;AAC9C;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/components/base/avatar.tsx"],"sourcesContent":["interface AvatarProps {\n className?: string\n src: string\n fallback?: string\n}\nexport function Avatar({ src, fallback, className }: AvatarProps) {\n // className={'h-4 w-4 rounded-full'}\n // src={beatmap.uploader.avatar}\n // fallback={score.song.mapper.slice(0, 1)}\n return <img className={className} src={src} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,SAAS,OAAO,EAAE,KAAK,UAAU,UAAU,GAAgB;AAIhE,SAAO,oCAAC,SAAI,WAAsB,KAAU;AAC9C;","names":[]}