beatsaber-bot-core 0.2.0-dev.2 → 0.2.0-dev.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/base/aioRequest.d.ts +6 -0
- package/lib/api/base/aioRequest.js +24 -0
- package/lib/api/base/aioRequest.js.map +1 -0
- package/lib/api/base/blRequset.d.ts +12 -0
- package/lib/api/base/blRequset.js +68 -0
- package/lib/api/base/blRequset.js.map +1 -0
- package/lib/api/base/bsRequest.d.ts +24 -0
- package/lib/api/base/bsRequest.js +64 -0
- package/lib/api/base/bsRequest.js.map +1 -0
- package/lib/api/base/index.d.ts +12 -0
- package/lib/api/base/index.js +21 -0
- package/lib/api/base/index.js.map +1 -0
- package/lib/api/base/scRequest.d.ts +6 -0
- package/lib/api/base/scRequest.js +28 -0
- package/lib/api/base/scRequest.js.map +1 -0
- package/lib/api/composed/aiosaber.d.ts +7 -0
- package/lib/api/composed/aiosaber.js +16 -0
- package/lib/api/composed/aiosaber.js.map +1 -0
- package/lib/api/composed/beatleader.d.ts +32 -0
- package/lib/api/composed/beatleader.js +112 -0
- package/lib/api/composed/beatleader.js.map +1 -0
- package/lib/api/composed/beatsaver.d.ts +12 -0
- package/lib/api/composed/beatsaver.js +18 -0
- package/lib/api/composed/beatsaver.js.map +1 -0
- package/lib/api/composed/scoresaber.d.ts +14 -0
- package/lib/api/composed/scoresaber.js +67 -0
- package/lib/api/composed/scoresaber.js.map +1 -0
- package/lib/api/index.d.ts +31 -0
- package/lib/api/index.js +134 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/interfaces/aiosaber/index.d.ts +7 -0
- package/lib/api/interfaces/aiosaber/index.js +3 -0
- package/lib/api/interfaces/aiosaber/index.js.map +1 -0
- package/lib/api/interfaces/beatleader/bsor.d.ts +112 -0
- package/lib/api/interfaces/beatleader/bsor.js +3 -0
- package/lib/api/interfaces/beatleader/bsor.js.map +1 -0
- package/lib/api/interfaces/beatleader/index.d.ts +5 -0
- package/lib/api/interfaces/beatleader/index.js +22 -0
- package/lib/api/interfaces/beatleader/index.js.map +1 -0
- package/lib/api/interfaces/beatleader/req.d.ts +19 -0
- package/lib/api/interfaces/beatleader/req.js +3 -0
- package/lib/api/interfaces/beatleader/req.js.map +1 -0
- package/lib/api/interfaces/beatleader/score.d.ts +162 -0
- package/lib/api/interfaces/beatleader/score.js +3 -0
- package/lib/api/interfaces/beatleader/score.js.map +1 -0
- package/lib/api/interfaces/beatleader/user.d.ts +171 -0
- package/lib/api/interfaces/beatleader/user.js +3 -0
- package/lib/api/interfaces/beatleader/user.js.map +1 -0
- package/lib/api/interfaces/beatleader/ws.d.ts +87 -0
- package/lib/api/interfaces/beatleader/ws.js +3 -0
- package/lib/api/interfaces/beatleader/ws.js.map +1 -0
- package/lib/api/interfaces/beatsaver/alert.d.ts +18 -0
- package/lib/api/interfaces/beatsaver/alert.js +3 -0
- package/lib/api/interfaces/beatsaver/alert.js.map +1 -0
- package/lib/api/interfaces/beatsaver/bsmap.d.ts +66 -0
- package/lib/api/interfaces/beatsaver/bsmap.js +3 -0
- package/lib/api/interfaces/beatsaver/bsmap.js.map +1 -0
- package/lib/api/interfaces/beatsaver/index.d.ts +10 -0
- package/lib/api/interfaces/beatsaver/index.js +22 -0
- package/lib/api/interfaces/beatsaver/index.js.map +1 -0
- package/lib/api/interfaces/beatsaver/resp.d.ts +8 -0
- package/lib/api/interfaces/beatsaver/resp.js +3 -0
- package/lib/api/interfaces/beatsaver/resp.js.map +1 -0
- package/lib/api/interfaces/beatsaver/user.d.ts +8 -0
- package/lib/api/interfaces/beatsaver/user.js +3 -0
- package/lib/api/interfaces/beatsaver/user.js.map +1 -0
- package/lib/api/interfaces/beatsaver/ws.d.ts +11 -0
- package/lib/api/interfaces/beatsaver/ws.js +3 -0
- package/lib/api/interfaces/beatsaver/ws.js.map +1 -0
- package/lib/api/interfaces/scoresaber/index.d.ts +3 -0
- package/lib/api/interfaces/scoresaber/index.js +20 -0
- package/lib/api/interfaces/scoresaber/index.js.map +1 -0
- package/lib/api/interfaces/scoresaber/item.d.ts +57 -0
- package/lib/api/interfaces/scoresaber/item.js +3 -0
- package/lib/api/interfaces/scoresaber/item.js.map +1 -0
- package/lib/api/interfaces/scoresaber/resp.d.ts +9 -0
- package/lib/api/interfaces/scoresaber/resp.js +3 -0
- package/lib/api/interfaces/scoresaber/resp.js.map +1 -0
- package/lib/api/interfaces/scoresaber/user.d.ts +33 -0
- package/lib/api/interfaces/scoresaber/user.js +3 -0
- package/lib/api/interfaces/scoresaber/user.js.map +1 -0
- package/lib/api/interfaces/scoresaber/ws.d.ts +78 -0
- package/lib/api/interfaces/scoresaber/ws.js +3 -0
- package/lib/api/interfaces/scoresaber/ws.js.map +1 -0
- package/lib/api/netResult.d.ts +18 -0
- package/lib/api/netResult.js +42 -0
- package/lib/api/netResult.js.map +1 -0
- package/lib/api/sortScore.d.ts +2 -0
- package/lib/api/sortScore.js +31 -0
- package/lib/api/sortScore.js.map +1 -0
- package/lib/cmd/bind/bind-beatleader.d.ts +2 -0
- package/lib/cmd/bind/bind-beatleader.js +53 -0
- package/lib/cmd/bind/bind-beatleader.js.map +1 -0
- package/lib/cmd/bind/bind-beatsaver.d.ts +2 -0
- package/lib/cmd/bind/bind-beatsaver.js +55 -0
- package/lib/cmd/bind/bind-beatsaver.js.map +1 -0
- package/lib/cmd/bind/bind-id-beatleader.d.ts +2 -0
- package/lib/cmd/bind/bind-id-beatleader.js +55 -0
- package/lib/cmd/bind/bind-id-beatleader.js.map +1 -0
- package/lib/cmd/bind/bind-id-beatsaver.d.ts +2 -0
- package/lib/cmd/bind/bind-id-beatsaver.js +55 -0
- package/lib/cmd/bind/bind-id-beatsaver.js.map +1 -0
- package/lib/cmd/bind/bind-scoresaber.d.ts +2 -0
- package/lib/cmd/bind/bind-scoresaber.js +61 -0
- package/lib/cmd/bind/bind-scoresaber.js.map +1 -0
- package/lib/cmd/bind/index.d.ts +11 -0
- package/lib/cmd/bind/index.js +52 -0
- package/lib/cmd/bind/index.js.map +1 -0
- package/lib/cmd/bsmap/id-search.d.ts +9 -0
- package/lib/cmd/bsmap/id-search.js +35 -0
- package/lib/cmd/bsmap/id-search.js.map +1 -0
- package/lib/cmd/bsmap/key-search.d.ts +9 -0
- package/lib/cmd/bsmap/key-search.js +41 -0
- package/lib/cmd/bsmap/key-search.js.map +1 -0
- package/lib/cmd/bsmap/latest.d.ts +9 -0
- package/lib/cmd/bsmap/latest.js +36 -0
- package/lib/cmd/bsmap/latest.js.map +1 -0
- package/lib/cmd/builder.d.ts +27 -0
- package/lib/cmd/builder.js +60 -0
- package/lib/cmd/builder.js.map +1 -0
- package/lib/cmd/deprecated/cmp.d.ts +9 -0
- package/lib/cmd/deprecated/cmp.js +15 -0
- package/lib/cmd/deprecated/cmp.js.map +1 -0
- package/lib/cmd/deprecated/me.d.ts +13 -0
- package/lib/cmd/deprecated/me.js +66 -0
- package/lib/cmd/deprecated/me.js.map +1 -0
- package/lib/cmd/deprecated/tmp.d.ts +9 -0
- package/lib/cmd/deprecated/tmp.js +23 -0
- package/lib/cmd/deprecated/tmp.js.map +1 -0
- package/lib/cmd/deprecated/whois.d.ts +11 -0
- package/lib/cmd/deprecated/whois.js +40 -0
- package/lib/cmd/deprecated/whois.js.map +1 -0
- package/lib/cmd/help.d.ts +9 -0
- package/lib/cmd/help.js +14 -0
- package/lib/cmd/help.js.map +1 -0
- package/lib/cmd/index.d.ts +2 -0
- package/lib/cmd/index.js +24 -0
- package/lib/cmd/index.js.map +1 -0
- package/lib/cmd/rank.d.ts +11 -0
- package/lib/cmd/rank.js +56 -0
- package/lib/cmd/rank.js.map +1 -0
- package/lib/cmd/score.d.ts +13 -0
- package/lib/cmd/score.js +48 -0
- package/lib/cmd/score.js.map +1 -0
- package/lib/cmd/subscribe/beatleader.d.ts +2 -0
- package/lib/cmd/subscribe/beatleader.js +27 -0
- package/lib/cmd/subscribe/beatleader.js.map +1 -0
- package/lib/cmd/subscribe/beatsaver.d.ts +2 -0
- package/lib/cmd/subscribe/beatsaver.js +27 -0
- package/lib/cmd/subscribe/beatsaver.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/alert.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/alert.js +86 -0
- package/lib/cmd/subscribe/deprecated/alert.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/blfilters.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/blfilters.js +49 -0
- package/lib/cmd/subscribe/deprecated/blfilters.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.js +43 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.js.map +1 -0
- package/lib/cmd/subscribe/index.d.ts +11 -0
- package/lib/cmd/subscribe/index.js +45 -0
- package/lib/cmd/subscribe/index.js.map +1 -0
- package/lib/cmd/subscribe/subjoin.d.ts +11 -0
- package/lib/cmd/subscribe/subjoin.js +42 -0
- package/lib/cmd/subscribe/subjoin.js.map +1 -0
- package/lib/cmd/subscribe/subleave.d.ts +11 -0
- package/lib/cmd/subscribe/subleave.js +35 -0
- package/lib/cmd/subscribe/subleave.js.map +1 -0
- package/lib/cmd/subscribe/unsubscribe.d.ts +11 -0
- package/lib/cmd/subscribe/unsubscribe.js +41 -0
- package/lib/cmd/subscribe/unsubscribe.js.map +1 -0
- package/lib/config.d.ts +40 -0
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -0
- package/lib/db/index.d.ts +0 -0
- package/lib/db/index.js +1 -0
- package/lib/db/index.js.map +1 -0
- package/lib/errors/index.d.ts +40 -0
- package/lib/errors/index.js +117 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/i18n/index.d.ts +2 -0
- package/lib/i18n/index.js +118 -0
- package/lib/i18n/index.js.map +1 -0
- package/lib/i18n/parser.d.ts +14 -0
- package/lib/i18n/parser.js +165 -0
- package/lib/i18n/parser.js.map +1 -0
- package/lib/i18n/zh-cn.json +1 -0
- package/lib/img-render/components/RankDifficulty.d.ts +5 -0
- package/lib/img-render/components/RankDifficulty.js +11 -0
- package/lib/img-render/components/RankDifficulty.js.map +1 -0
- package/lib/img-render/components/base/avatar.d.ts +7 -0
- package/lib/img-render/components/base/avatar.js +12 -0
- package/lib/img-render/components/base/avatar.js.map +1 -0
- package/lib/img-render/components/blScoreItem.d.ts +6 -0
- package/lib/img-render/components/blScoreItem.js +14 -0
- package/lib/img-render/components/blScoreItem.js.map +1 -0
- package/lib/img-render/components/characteristic.d.ts +5 -0
- package/lib/img-render/components/characteristic.js +27 -0
- package/lib/img-render/components/characteristic.js.map +1 -0
- package/lib/img-render/components/flag.d.ts +5 -0
- package/lib/img-render/components/flag.js +39 -0
- package/lib/img-render/components/flag.js.map +1 -0
- package/lib/img-render/components/icons/BeatLeader.d.ts +3 -0
- package/lib/img-render/components/icons/BeatLeader.js +10 -0
- package/lib/img-render/components/icons/BeatLeader.js.map +1 -0
- package/lib/img-render/components/icons/RankIcon.d.ts +4 -0
- package/lib/img-render/components/icons/RankIcon.js +14 -0
- package/lib/img-render/components/icons/RankIcon.js.map +1 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.d.ts +3 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.js +8 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.js.map +1 -0
- package/lib/img-render/components/progressbar.d.ts +4 -0
- package/lib/img-render/components/progressbar.js +9 -0
- package/lib/img-render/components/progressbar.js.map +1 -0
- package/lib/img-render/components/rankScoreItem.d.ts +18 -0
- package/lib/img-render/components/rankScoreItem.js +42 -0
- package/lib/img-render/components/rankScoreItem.js.map +1 -0
- package/lib/img-render/components/scoreItem.d.ts +4 -0
- package/lib/img-render/components/scoreItem.js +29 -0
- package/lib/img-render/components/scoreItem.js.map +1 -0
- package/lib/img-render/components/scoregraph.d.ts +10 -0
- package/lib/img-render/components/scoregraph.js +301 -0
- package/lib/img-render/components/scoregraph.js.map +1 -0
- package/lib/img-render/components/skill-graph.d.ts +5 -0
- package/lib/img-render/components/skill-graph.js +50 -0
- package/lib/img-render/components/skill-graph.js.map +1 -0
- package/lib/img-render/components/socre-badge.d.ts +5 -0
- package/lib/img-render/components/socre-badge.js +10 -0
- package/lib/img-render/components/socre-badge.js.map +1 -0
- package/lib/img-render/components/ssScoreItem.d.ts +4 -0
- package/lib/img-render/components/ssScoreItem.js +14 -0
- package/lib/img-render/components/ssScoreItem.js.map +1 -0
- package/lib/img-render/index.d.ts +24 -0
- package/lib/img-render/index.js +134 -0
- package/lib/img-render/index.js.map +1 -0
- package/lib/img-render/interfaces.d.ts +17 -0
- package/lib/img-render/interfaces.js +3 -0
- package/lib/img-render/interfaces.js.map +1 -0
- package/lib/img-render/remote/index.d.ts +0 -0
- package/lib/img-render/remote/index.js +56 -0
- package/lib/img-render/remote/index.js.map +1 -0
- package/lib/img-render/render.d.ts +7 -0
- package/lib/img-render/render.js +65 -0
- package/lib/img-render/render.js.map +1 -0
- package/lib/img-render/renderImg.d.ts +0 -0
- package/lib/img-render/renderImg.js +1 -0
- package/lib/img-render/renderImg.js.map +1 -0
- package/lib/img-render/result/bl-player.d.ts +7 -0
- package/lib/img-render/result/bl-player.js +44 -0
- package/lib/img-render/result/bl-player.js.map +1 -0
- package/lib/img-render/result/bl-score.d.ts +11 -0
- package/lib/img-render/result/bl-score.js +18 -0
- package/lib/img-render/result/bl-score.js.map +1 -0
- package/lib/img-render/result/bs-map.d.ts +8 -0
- package/lib/img-render/result/bs-map.js +26 -0
- package/lib/img-render/result/bs-map.js.map +1 -0
- package/lib/img-render/result/bs-score-with-rank.d.ts +13 -0
- package/lib/img-render/result/bs-score-with-rank.js +33 -0
- package/lib/img-render/result/bs-score-with-rank.js.map +1 -0
- package/lib/img-render/result/index.d.ts +8 -0
- package/lib/img-render/result/index.js +33 -0
- package/lib/img-render/result/index.js.map +1 -0
- package/lib/img-render/result/ss-player.d.ts +8 -0
- package/lib/img-render/result/ss-player.js +39 -0
- package/lib/img-render/result/ss-player.js.map +1 -0
- package/lib/img-render/utils/bl/beatleader.d.ts +13 -0
- package/lib/img-render/utils/bl/beatleader.js +38 -0
- package/lib/img-render/utils/bl/beatleader.js.map +1 -0
- package/lib/img-render/utils/bl/blheadset.d.ts +273 -0
- package/lib/img-render/utils/bl/blheadset.js +281 -0
- package/lib/img-render/utils/bl/blheadset.js.map +1 -0
- package/lib/img-render/utils/bl/bsorDecoder.d.ts +68 -0
- package/lib/img-render/utils/bl/bsorDecoder.js +286 -0
- package/lib/img-render/utils/bl/bsorDecoder.js.map +1 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.d.ts +35 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.js +590 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.js.map +1 -0
- package/lib/img-render/utils/bl/getPart.d.ts +7 -0
- package/lib/img-render/utils/bl/getPart.js +31 -0
- package/lib/img-render/utils/bl/getPart.js.map +1 -0
- package/lib/img-render/utils/bl/stastic.d.ts +2 -0
- package/lib/img-render/utils/bl/stastic.js +53 -0
- package/lib/img-render/utils/bl/stastic.js.map +1 -0
- package/lib/img-render/utils/canvas.d.ts +5 -0
- package/lib/img-render/utils/canvas.js +70 -0
- package/lib/img-render/utils/canvas.js.map +1 -0
- package/lib/img-render/utils/format.d.ts +6 -0
- package/lib/img-render/utils/format.js +66 -0
- package/lib/img-render/utils/format.js.map +1 -0
- package/lib/img-render/utils/getMods.d.ts +2 -0
- package/lib/img-render/utils/getMods.js +22 -0
- package/lib/img-render/utils/getMods.js.map +1 -0
- package/lib/img-render/utils/index.d.ts +3 -0
- package/lib/img-render/utils/index.js +36 -0
- package/lib/img-render/utils/index.js.map +1 -0
- package/lib/img-render/utils/qrcode.d.ts +1 -0
- package/lib/img-render/utils/qrcode.js +43 -0
- package/lib/img-render/utils/qrcode.js.map +1 -0
- package/lib/img-render/utils/sleep.d.ts +1 -0
- package/lib/img-render/utils/sleep.js +10 -0
- package/lib/img-render/utils/sleep.js.map +1 -0
- package/lib/img-render/utils/tag-format.d.ts +1 -0
- package/lib/img-render/utils/tag-format.js +225 -0
- package/lib/img-render/utils/tag-format.js.map +1 -0
- package/lib/img-render/utils/tw-join.d.ts +4 -0
- package/lib/img-render/utils/tw-join.js +36 -0
- package/lib/img-render/utils/tw-join.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -0
- package/lib/interface/bot.d.ts +20 -0
- package/lib/interface/bot.js +3 -0
- package/lib/interface/bot.js.map +1 -0
- package/lib/interface/cmd.d.ts +36 -0
- package/lib/interface/cmd.js +3 -0
- package/lib/interface/cmd.js.map +1 -0
- package/lib/interface/db/index.d.ts +36 -0
- package/lib/interface/db/index.js +18 -0
- package/lib/interface/db/index.js.map +1 -0
- package/lib/interface/db/models.d.ts +34 -0
- package/lib/interface/db/models.js +3 -0
- package/lib/interface/db/models.js.map +1 -0
- package/lib/interface/index.d.ts +14 -0
- package/lib/interface/index.js +34 -0
- package/lib/interface/index.js.map +1 -0
- package/lib/interface/logger.d.ts +6 -0
- package/lib/interface/logger.js +3 -0
- package/lib/interface/logger.js.map +1 -0
- package/lib/interface/render.d.ts +22 -0
- package/lib/interface/render.js +3 -0
- package/lib/interface/render.js.map +1 -0
- package/lib/schedules/BeatSaverAlertMonitor.d.ts +0 -0
- package/lib/schedules/BeatSaverAlertMonitor.js +231 -0
- package/lib/schedules/BeatSaverAlertMonitor.js.map +1 -0
- package/lib/schedules/index.d.ts +7 -0
- package/lib/schedules/index.js +23 -0
- package/lib/schedules/index.js.map +1 -0
- package/lib/schedules/interface.d.ts +18 -0
- package/lib/schedules/interface.js +3 -0
- package/lib/schedules/interface.js.map +1 -0
- package/lib/schedules/oauthTokenRefreshTask.d.ts +2 -0
- package/lib/schedules/oauthTokenRefreshTask.js +53 -0
- package/lib/schedules/oauthTokenRefreshTask.js.map +1 -0
- package/lib/schedules/temp.d.ts +2 -0
- package/lib/schedules/temp.js +23 -0
- package/lib/schedules/temp.js.map +1 -0
- package/lib/utils/cache.d.ts +2 -0
- package/lib/utils/cache.js +28 -0
- package/lib/utils/cache.js.map +1 -0
- package/lib/utils/index.d.ts +7 -0
- package/lib/utils/index.js +79 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/puppeteer.d.ts +20 -0
- package/lib/utils/puppeteer.js +79 -0
- package/lib/utils/puppeteer.js.map +1 -0
- package/lib/utils/s3.d.ts +10 -0
- package/lib/utils/s3.js +45 -0
- package/lib/utils/s3.js.map +1 -0
- package/lib/ws/beatleader.d.ts +18 -0
- package/lib/ws/beatleader.js +56 -0
- package/lib/ws/beatleader.js.map +1 -0
- package/lib/ws/beatsaver.d.ts +23 -0
- package/lib/ws/beatsaver.js +58 -0
- package/lib/ws/beatsaver.js.map +1 -0
- package/lib/ws/bl-filter.d.ts +0 -0
- package/lib/ws/bl-filter.js +64 -0
- package/lib/ws/bl-filter.js.map +1 -0
- package/lib/ws/handler.d.ts +6 -0
- package/lib/ws/handler.js +3 -0
- package/lib/ws/handler.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +21 -0
- package/lib/ws/index.js.map +1 -0
- package/lib/ws/scoresaber.d.ts +18 -0
- package/lib/ws/scoresaber.js +37 -0
- package/lib/ws/scoresaber.js.map +1 -0
- package/package.json +4 -1
@@ -0,0 +1,117 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.SubscriptionNotExistError = exports.NoneSubscriptionExistError = exports.SubscriptionExistError = exports.SessionPromotionCancelError = exports.SessionPromotionTimeoutError = exports.ScoreSaberIDNotFoundError = exports.MapIdNotFoundError = exports.InvalidMapIdError = exports.UnknownUserIDError = exports.AccountBindingNotFoundError = exports.ScoreNotFoundError = exports.BizError = exports.UnexpectedError = void 0;
|
4
|
+
class UnexpectedError extends Error {
|
5
|
+
constructor() {
|
6
|
+
super('UnexpectedError');
|
7
|
+
}
|
8
|
+
}
|
9
|
+
exports.UnexpectedError = UnexpectedError;
|
10
|
+
class BizError extends Error {
|
11
|
+
id;
|
12
|
+
params;
|
13
|
+
}
|
14
|
+
exports.BizError = BizError;
|
15
|
+
class ScoreNotFoundError extends BizError {
|
16
|
+
constructor(params) {
|
17
|
+
super('ScoreNotFoundError');
|
18
|
+
this.name = 'ScoreNotFoundError';
|
19
|
+
this.id = 'commands.bsbot.me.score-not-found';
|
20
|
+
this.params = params;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
exports.ScoreNotFoundError = ScoreNotFoundError;
|
24
|
+
class AccountBindingNotFoundError extends BizError {
|
25
|
+
constructor(params) {
|
26
|
+
super('AccountBindingNotFoundError');
|
27
|
+
this.name = 'AccountBindingNotFoundError';
|
28
|
+
this.id = 'commands.bsbot.score.not-bind';
|
29
|
+
this.params = params;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.AccountBindingNotFoundError = AccountBindingNotFoundError;
|
33
|
+
class UnknownUserIDError extends BizError {
|
34
|
+
constructor(params) {
|
35
|
+
super('UnknownUserIDError');
|
36
|
+
this.name = 'UnknownUserIDError';
|
37
|
+
this.id = 'commands.bsbot.me.not-found';
|
38
|
+
this.params = params;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
exports.UnknownUserIDError = UnknownUserIDError;
|
42
|
+
class InvalidMapIdError extends BizError {
|
43
|
+
constructor(params) {
|
44
|
+
super('InvalidMapIdError');
|
45
|
+
this.name = 'InvalidMapIdError';
|
46
|
+
this.id = 'commands.bsbot.id.error-map-id';
|
47
|
+
this.params = params;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
exports.InvalidMapIdError = InvalidMapIdError;
|
51
|
+
class MapIdNotFoundError extends BizError {
|
52
|
+
constructor(params) {
|
53
|
+
super('MapIdNotFoundError');
|
54
|
+
this.name = 'MapIdNotFoundError';
|
55
|
+
this.id = 'commands.bsbot.id.not-found';
|
56
|
+
this.params = params;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
exports.MapIdNotFoundError = MapIdNotFoundError;
|
60
|
+
class ScoreSaberIDNotFoundError extends BizError {
|
61
|
+
constructor(params) {
|
62
|
+
super('ScoreSaberIdNotFoundError');
|
63
|
+
this.name = 'ScoreSaberIdNotFoundError';
|
64
|
+
this.id = 'commands.bsbot.bind.not-found';
|
65
|
+
this.params = params;
|
66
|
+
this.params = params;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
exports.ScoreSaberIDNotFoundError = ScoreSaberIDNotFoundError;
|
70
|
+
class SessionPromotionTimeoutError extends BizError {
|
71
|
+
constructor(params) {
|
72
|
+
super('SessionPromotionTimeoutError');
|
73
|
+
this.name = 'SessionPromotionTimeoutError';
|
74
|
+
this.id = 'commands.bsbot.session-promotion-timeout';
|
75
|
+
this.params = params;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
exports.SessionPromotionTimeoutError = SessionPromotionTimeoutError;
|
79
|
+
class SessionPromotionCancelError extends BizError {
|
80
|
+
constructor(params) {
|
81
|
+
const name = 'SessionPromotionCancelError';
|
82
|
+
super(name);
|
83
|
+
this.name = name;
|
84
|
+
this.id = 'commands.bsbot.bind.cancel';
|
85
|
+
this.params = params;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
exports.SessionPromotionCancelError = SessionPromotionCancelError;
|
89
|
+
class SubscriptionExistError extends BizError {
|
90
|
+
constructor(params) {
|
91
|
+
super('SubscriptionExistError');
|
92
|
+
this.params = params;
|
93
|
+
this.name = 'SubscriptionExistError';
|
94
|
+
this.id = 'commands.bsbot.subscribe.exist';
|
95
|
+
this.params = params;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
exports.SubscriptionExistError = SubscriptionExistError;
|
99
|
+
class NoneSubscriptionExistError extends BizError {
|
100
|
+
constructor(params) {
|
101
|
+
super('NoneSubscriptionExistError');
|
102
|
+
this.name = 'NoneSubscriptionExistError';
|
103
|
+
this.id = 'commands.bsbot.subscribe.info.none';
|
104
|
+
this.params = params;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
exports.NoneSubscriptionExistError = NoneSubscriptionExistError;
|
108
|
+
class SubscriptionNotExistError extends BizError {
|
109
|
+
constructor(params) {
|
110
|
+
super('SubscriptionNotExistError');
|
111
|
+
this.name = 'SubscriptionNotExistError';
|
112
|
+
this.id = 'commands.bsbot.unsubscribe.nosub';
|
113
|
+
this.params = params;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
exports.SubscriptionNotExistError = SubscriptionNotExistError;
|
117
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,118 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.tran = exports.loadI18nConfig = void 0;
|
27
|
+
const parser_1 = require("../i18n/parser");
|
28
|
+
const i18nObj = {};
|
29
|
+
init().then((_) => console.log('i18n loaded'));
|
30
|
+
async function init() {
|
31
|
+
// @ts-expect-error
|
32
|
+
const zh = await Promise.resolve().then(() => __importStar(require('./zh-cn.json')));
|
33
|
+
i18nObj['zh-cn'] = zh;
|
34
|
+
}
|
35
|
+
function isObject(item) {
|
36
|
+
return item && typeof item === 'object' && !Array.isArray(item);
|
37
|
+
}
|
38
|
+
function merge(target, ...sources) {
|
39
|
+
if (!sources.length)
|
40
|
+
return target;
|
41
|
+
const source = sources.shift();
|
42
|
+
if (isObject(target) && isObject(source)) {
|
43
|
+
for (const key in source) {
|
44
|
+
if (isObject(source[key])) {
|
45
|
+
if (!target[key])
|
46
|
+
Object.assign(target, { [key]: {} });
|
47
|
+
merge(target[key], source[key]);
|
48
|
+
}
|
49
|
+
else {
|
50
|
+
Object.assign(target, { [key]: source[key] });
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
return merge(target, ...sources);
|
55
|
+
}
|
56
|
+
function loadI18nConfig(lang, obj) {
|
57
|
+
const raw = i18nObj[lang];
|
58
|
+
i18nObj[lang] = merge(raw, obj);
|
59
|
+
console.log(`overwrite i18n ${lang} `);
|
60
|
+
}
|
61
|
+
exports.loadI18nConfig = loadI18nConfig;
|
62
|
+
function tran(path, params = {}, lang = 'zh-cn') {
|
63
|
+
const keys = path.split('.');
|
64
|
+
let result = i18nObj[lang];
|
65
|
+
for (const key of keys) {
|
66
|
+
if (result[key] !== undefined) {
|
67
|
+
result = result[key];
|
68
|
+
}
|
69
|
+
else {
|
70
|
+
return null;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
try {
|
74
|
+
if (typeof result === 'string') {
|
75
|
+
return (0, parser_1.interpolate)(result, params);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
catch (e) {
|
79
|
+
return interpolateString(result, params);
|
80
|
+
}
|
81
|
+
return null;
|
82
|
+
}
|
83
|
+
exports.tran = tran;
|
84
|
+
function interpolateString(str, context) {
|
85
|
+
// 正则表达式匹配三元表达式
|
86
|
+
const regex = /\{\{(.*?)\?\s*'(.*?)'\s*:\s*'(.*?)'\s*\}\}/;
|
87
|
+
let match;
|
88
|
+
// 递归解析
|
89
|
+
while ((match = regex.exec(str)) !== null) {
|
90
|
+
const [fullMatch, condition, trueValue, falseValue] = match;
|
91
|
+
// 递归解析 trueValue 和 falseValue 以处理嵌套情况
|
92
|
+
const resolvedTrueValue = interpolateString(trueValue, context);
|
93
|
+
const resolvedFalseValue = interpolateString(falseValue, context);
|
94
|
+
// 计算条件表达式
|
95
|
+
let result = safeEval(condition, context);
|
96
|
+
if (typeof result === 'string') {
|
97
|
+
result = false;
|
98
|
+
}
|
99
|
+
const replacement = result ? resolvedTrueValue : resolvedFalseValue;
|
100
|
+
// 替换匹配到的三元表达式
|
101
|
+
str = str.replace(fullMatch, replacement);
|
102
|
+
}
|
103
|
+
// 替换变量插值
|
104
|
+
const variableRegex = /\{\{(.*?)\}\}/g;
|
105
|
+
str = str.replace(variableRegex, (match, expr) => safeEval(expr, context));
|
106
|
+
return str;
|
107
|
+
}
|
108
|
+
function safeEval(expr, context) {
|
109
|
+
try {
|
110
|
+
const fn = new Function(...Object.keys(context), `return ${expr}`);
|
111
|
+
return fn(...Object.values(context));
|
112
|
+
}
|
113
|
+
catch (e) {
|
114
|
+
console.error(expr, context, e);
|
115
|
+
return expr;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export declare class Parser {
|
2
|
+
private template;
|
3
|
+
private data;
|
4
|
+
private tokens;
|
5
|
+
private current;
|
6
|
+
constructor(template: string, data: any);
|
7
|
+
private tokenize;
|
8
|
+
private match;
|
9
|
+
private consume;
|
10
|
+
private parseExpression;
|
11
|
+
private parseInterpolation;
|
12
|
+
parse(): string;
|
13
|
+
}
|
14
|
+
export declare function interpolate(template: string, data: any): string;
|
@@ -0,0 +1,165 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.interpolate = exports.Parser = void 0;
|
4
|
+
var TokenType;
|
5
|
+
(function (TokenType) {
|
6
|
+
TokenType[TokenType["TEXT"] = 0] = "TEXT";
|
7
|
+
TokenType[TokenType["OPEN_BRACE"] = 1] = "OPEN_BRACE";
|
8
|
+
TokenType[TokenType["CLOSE_BRACE"] = 2] = "CLOSE_BRACE";
|
9
|
+
TokenType[TokenType["IDENTIFIER"] = 3] = "IDENTIFIER";
|
10
|
+
TokenType[TokenType["QUESTION"] = 4] = "QUESTION";
|
11
|
+
TokenType[TokenType["COLON"] = 5] = "COLON";
|
12
|
+
TokenType[TokenType["STRING"] = 6] = "STRING";
|
13
|
+
})(TokenType || (TokenType = {}));
|
14
|
+
// 插值解析Parser {{}},暂时没转义支持
|
15
|
+
// "😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"
|
16
|
+
class Parser {
|
17
|
+
template;
|
18
|
+
data;
|
19
|
+
tokens = [];
|
20
|
+
current = 0;
|
21
|
+
constructor(template, data) {
|
22
|
+
this.template = template;
|
23
|
+
this.data = data;
|
24
|
+
this.tokenize();
|
25
|
+
}
|
26
|
+
tokenize() {
|
27
|
+
let current = 0;
|
28
|
+
while (current < this.template.length) {
|
29
|
+
let char = this.template[current];
|
30
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
31
|
+
// 处理转义字符
|
32
|
+
const nextChar = this.template[current + 1];
|
33
|
+
if (nextChar === '{' ||
|
34
|
+
nextChar === '}' ||
|
35
|
+
nextChar === '?' ||
|
36
|
+
nextChar === ':' ||
|
37
|
+
nextChar === "'" ||
|
38
|
+
nextChar === '\\') {
|
39
|
+
this.tokens.push({ type: TokenType.TEXT, value: nextChar });
|
40
|
+
current += 2;
|
41
|
+
continue;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
if (char === '{' && this.template[current + 1] === '{') {
|
45
|
+
this.tokens.push({ type: TokenType.OPEN_BRACE, value: '{{' });
|
46
|
+
current += 2;
|
47
|
+
continue;
|
48
|
+
}
|
49
|
+
if (char === '}' && this.template[current + 1] === '}') {
|
50
|
+
this.tokens.push({ type: TokenType.CLOSE_BRACE, value: '}}' });
|
51
|
+
current += 2;
|
52
|
+
continue;
|
53
|
+
}
|
54
|
+
if (char === '?') {
|
55
|
+
this.tokens.push({ type: TokenType.QUESTION, value: '?' });
|
56
|
+
current++;
|
57
|
+
continue;
|
58
|
+
}
|
59
|
+
if (char === ':') {
|
60
|
+
this.tokens.push({ type: TokenType.COLON, value: ':' });
|
61
|
+
current++;
|
62
|
+
continue;
|
63
|
+
}
|
64
|
+
if (char === "'") {
|
65
|
+
let value = '';
|
66
|
+
char = this.template[++current];
|
67
|
+
while (char !== "'" && current < this.template.length) {
|
68
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
69
|
+
char = this.template[++current];
|
70
|
+
}
|
71
|
+
value += char;
|
72
|
+
char = this.template[++current];
|
73
|
+
}
|
74
|
+
if (char === "'")
|
75
|
+
current++;
|
76
|
+
this.tokens.push({ type: TokenType.STRING, value });
|
77
|
+
continue;
|
78
|
+
}
|
79
|
+
if (/[a-zA-Z0-9_]/.test(char)) {
|
80
|
+
let value = '';
|
81
|
+
while (/[a-zA-Z0-9_]/.test(char)) {
|
82
|
+
value += char;
|
83
|
+
char = this.template[++current];
|
84
|
+
}
|
85
|
+
this.tokens.push({ type: TokenType.IDENTIFIER, value });
|
86
|
+
continue;
|
87
|
+
}
|
88
|
+
if (/\s/.test(char)) {
|
89
|
+
current++;
|
90
|
+
continue;
|
91
|
+
}
|
92
|
+
let value = '';
|
93
|
+
while (current < this.template.length &&
|
94
|
+
char !== '{' &&
|
95
|
+
char !== '}' &&
|
96
|
+
char !== '?' &&
|
97
|
+
char !== ':' &&
|
98
|
+
char !== "'"
|
99
|
+
// &&
|
100
|
+
// !/[a-zA-Z0-9_]/.test(char)
|
101
|
+
) {
|
102
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
103
|
+
value += this.template[++current];
|
104
|
+
}
|
105
|
+
else {
|
106
|
+
value += char;
|
107
|
+
}
|
108
|
+
char = this.template[++current];
|
109
|
+
}
|
110
|
+
if (value) {
|
111
|
+
this.tokens.push({ type: TokenType.TEXT, value });
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
match(...types) {
|
116
|
+
if (this.current >= this.tokens.length)
|
117
|
+
return false;
|
118
|
+
return types.includes(this.tokens[this.current].type);
|
119
|
+
}
|
120
|
+
consume(type) {
|
121
|
+
if (this.match(type)) {
|
122
|
+
return this.tokens[this.current++];
|
123
|
+
}
|
124
|
+
throw new Error(`Expected token type ${type}, but got ${this.tokens[this.current].type}`);
|
125
|
+
}
|
126
|
+
parseExpression() {
|
127
|
+
if (this.match(TokenType.OPEN_BRACE)) {
|
128
|
+
this.consume(TokenType.OPEN_BRACE);
|
129
|
+
const result = this.parseInterpolation();
|
130
|
+
this.consume(TokenType.CLOSE_BRACE);
|
131
|
+
return result;
|
132
|
+
}
|
133
|
+
if (this.match(TokenType.STRING)) {
|
134
|
+
const tmp = this.consume(TokenType.STRING).value;
|
135
|
+
return interpolate(tmp, this.data);
|
136
|
+
}
|
137
|
+
return this.consume(TokenType.TEXT).value;
|
138
|
+
}
|
139
|
+
parseInterpolation() {
|
140
|
+
const identifier = this.consume(TokenType.IDENTIFIER).value;
|
141
|
+
if (this.match(TokenType.QUESTION)) {
|
142
|
+
this.consume(TokenType.QUESTION);
|
143
|
+
const truePart = this.parseExpression();
|
144
|
+
this.consume(TokenType.COLON);
|
145
|
+
const falsePart = this.parseExpression();
|
146
|
+
return this.data[identifier] ? truePart : falsePart;
|
147
|
+
}
|
148
|
+
return this.data[identifier]?.toString() || '';
|
149
|
+
}
|
150
|
+
parse() {
|
151
|
+
// console.log(this.current, this.tokens)
|
152
|
+
let result = '';
|
153
|
+
while (this.current < this.tokens.length) {
|
154
|
+
result += this.parseExpression();
|
155
|
+
}
|
156
|
+
return result;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
exports.Parser = Parser;
|
160
|
+
function interpolate(template, data) {
|
161
|
+
const parser = new Parser(template, data);
|
162
|
+
return parser.parse();
|
163
|
+
}
|
164
|
+
exports.interpolate = interpolate;
|
165
|
+
//# sourceMappingURL=parser.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/i18n/parser.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"😯,没有找到用户「{{user}}」谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的BL打分数据"},"bind":{"description":"绑定自己的 ScoreSaberId(也就是 steam 的用户 Id,仅公开信息,无需验证)","usage":"输入 bbbind,后接 userId,按照提示即可绑定","examples":"示例\nbsbot.bind 76561198339986544\nbbbind 76561198339986544","bs":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatSaver 用户 {{name}}({{id}})"},"bl":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatLeader 用户 {{name}}({{id}})"},"network-error":"☹️似乎发生了网络错误,请稍后重试吧","exist":"另外,你已经绑定了「{{id}}」,继续绑定丢失当前绑定哦","cancel":"已取消","timeout":"已超时取消","not-found":"Ops,没有找到 id 为「{{id}}」的 {{platform]} 用户","ack-prompt":"确定要绑定「{{user}}」吗,30 秒内回复「y」或「yes」以确认,超时或回复其他内容取消操作","success":"🎉,成功绑定「{{user}}」啦"},"score":{"description":"查询用户在Beatleader 上的某次打分成绩,并生成渲染图。","usage":"1. bbscore 加上 beatleader 的 scoreId,即可生成渲染图。\n2. bbscore 加上 Beatsaver 的 mapId,即可查询自己绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图\n3. bbscore 加上 Beatsaver 的 mapId 并@某人,即可查询该用户绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图","examples":"示例\nbsbot.score 13887221\nbbscore 33b62\nbbscore 33b62@someone","not-a-score-id":"似乎不是一个 score ID","not-bind":"你还没有绑定哦,使用 bind 指令进行绑定吧","who-not-bind":"你要查询的ta,还没有绑定哦"},"search":{"description":"按关键词进行谱面搜索","usage":"通过关键字进行谱面搜索,会发送将最相关的 3 个谱面。","examples":"示例\nbsbot.search megalovania\nbbsou megalovania\nbbsearch megalovania","success":"为你奉上关于「{{key}}」的{{length}}首谱面 🎉","not-found":"Ops,关于「{{key}}」什么都没找到","too-long-key":"关键词长度不应该超过 15 哦,因为这样容易什么都找不到,较长的部分已经帮你截掉啦,正在搜索中「{{key}}」"},"id":{"description":"按谱面id查找谱面。","usage":"根据谱面ID查找谱面。","examples":"示例\nbsbot.id 36677\nbbid 36677\n!bsr 36677\n36677","error-map-id":"「{{input}}」似乎不是一个 mapId,正确的 mapId 是这样的哦(3877a)","not-found":"Ops! 似乎没有找到 id 为「{{input}}」的谱面"},"latest":{"description":"查找最新的三首谱面。","usage":"获取最新的三首谱面。","examples":"示例\nbsbot.latest\nbsbot.new\nbbnew","info":"为你奉上最新的 3 首谱面 🎉"},"subscribe":{"description":"订阅 BeatSaber 相关的事件,并主动推送。(RC)","usage":"通过 bbsub 订阅 BeatSaber 相关的事件,当特定事件发生时会进行主动推送。","examples":"示例\nbsbot.subscribe\nbbsub","alert":{"no-bind-bs-id":"你还未绑定 beatsaver,快使用 bbbindbs 进行绑定吧","not-success":"订阅失败,可能是因为凭证已经过期","success":"成功订阅BeatSaver通知,当新通知出现时,会主动推送给你。","invalid-token":"似乎token 已经失效了,快使用 bbbindbs 重新进行绑定吧"},"beatleader":{"exist":"当前群聊/频道已订阅 BeatLeader 打分更新事件","success":"成功订阅 BeatLeader 打分更新事件,当参与群员出现满足条件的打分事件时,会主动推送"},"beatsaver":{"exist":"当前群聊/频道已订阅 BeatSaver 谱面更新事件","success":"成功订阅 BeatSaver 谱面更新事件,当参与群员发布新谱面时,会主动推送"},"info":{"none":"当前群聊/频道没有任何 BeatSaber 事件订阅。","header":"当前群聊/频道 BeatSaber 订阅如下:","body-item":"订阅类型「{{type}}」, 共 {{cnt}} 名参与成员","body-item-include-you":"(包括你哦)"},"join":{"description":"加入本群聊订阅的 BeatSaber 相关的事件","usage":"","examples":"示例\nbsbot.subscribe\nbbsub","success":{"beatleader":"成功加入本群Beatleader订阅组,当你打出高分时,会在本群推送","beatsaver":"成功加入本群订阅组,当你发布新谱面时,会在本群推送"},"nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"}},"leave":{"description":"离开本群 BeatSaber 相关事件订阅组","usage":"","examples":"示例\nbsbot.subscribe 查看当前会话的订阅信息\nbbsub\nbbsub --type beatsaver 为当前会话订阅 beatsaver 新谱面事件,当特定新谱面出现,会主动推送\nbbsub --type beatleader 为当前会话订阅 beatleader 打分事件,当满足要求的打分事件出现,会主动推送\nbbsub --type alert 订阅个人 BeatSaver 通知,当 beatsaver 新通知出现,会主动推送","not-exist":{"beatleader":"你还未加入当前群组/频道的 beatleader 打分订阅,无需离开","beatsaver":null},"success":{"beatleader":"成功离开本群「beatleader」订阅组,当你打出高分时,不会再在本群推送了","beatsaver":"成功离开本群「beatsaver」订阅组,当你发布新谱面时,不会再在本群推送了"}}},"unsubscribe":{"description":"取消订阅 BeatSaber 相关的事件。(RC)","usage":"取消通过 bbsub 订阅的 BeatSaber 相关的事件,当特定事件发生时不会进行主动推送。","examples":"示例\nbsbot.unsubscribe\nbbunsub","nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"},"success":{"beatleader":"成功禁用 beatleader 打分订阅","beatsaver":"成功禁用 beatsaver 谱师订阅"},"cancel-all":"已成功取消所有更新订阅","cancel":"已取消对谱师「{id}」的更新订阅"}}},"_config":{"beatSaverHost":"BeatSaverOrigin,例如:https://api.beatsaver.com","beatSaverWSHost":"BeatSaverWebSocketOrigin,用于实时监听谱面更新,例如wss://ws.beatsaver.com/maps","renderMode":"谱面图是由插件本地生成/远程获取"}}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RankDifficulty = void 0;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const lucide_react_1 = require("lucide-react");
|
6
|
+
const utils_1 = require("../../img-render/utils");
|
7
|
+
function RankDifficulty({ difficulty, stars, current, }) {
|
8
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : 'opacity-60'} `, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-4 h-4' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(difficulty) })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { className: 'w-4 h-4' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [stars?.toFixed(2) ?? 'none', " "] })] })] }));
|
9
|
+
}
|
10
|
+
exports.RankDifficulty = RankDifficulty;
|
11
|
+
//# sourceMappingURL=RankDifficulty.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RankDifficulty.js","sourceRoot":"","sources":["../../../src/img-render/components/RankDifficulty.tsx"],"names":[],"mappings":";;;;AAAA,+CAA6C;AAC7C,8CAA6C;AAE7C,SAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,KAAK,EACL,OAAO,GAKR;IACC,OAAO,CACL,iCACE,SAAS,EAAE,kCAAkC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,YAAY,GAAG,aAEtG,iCAAK,SAAS,EAAE,yBAAyB,aACvC,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CAAO,IAAA,gBAAQ,EAAC,UAAU,CAAC,GAAQ,IAC/B,EACN,iCAAK,SAAS,EAAE,yBAAyB,aACvC,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CAAO,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,SAAS,IACvC,IACF,CACP,CAAA;AACH,CAAC;AA3BD,wCA2BC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Avatar = void 0;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
function Avatar({ src, fallback, className }) {
|
6
|
+
// className={'h-4 w-4 rounded-full'}
|
7
|
+
// src={beatmap.uploader.avatar}
|
8
|
+
// fallback={score.song.mapper.slice(0, 1)}
|
9
|
+
return (0, jsx_runtime_1.jsx)("img", { className: className, src: src });
|
10
|
+
}
|
11
|
+
exports.Avatar = Avatar;
|
12
|
+
//# sourceMappingURL=avatar.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../../src/img-render/components/base/avatar.tsx"],"names":[],"mappings":";;;;AAKA,SAAgB,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAe;IAC9D,qCAAqC;IACrC,gCAAgC;IAChC,2CAA2C;IAC3C,OAAO,gCAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAI,CAAA;AAChD,CAAC;AALD,wBAKC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
const lucide_react_1 = require("lucide-react");
|
5
|
+
const utils_1 = require("../utils");
|
6
|
+
const getModifiers = (modifiers) => {
|
7
|
+
return modifiers ? modifiers.split(',') : [];
|
8
|
+
};
|
9
|
+
function BeatLeaderItem({ item, }) {
|
10
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative overflow-hidden", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md', children: [(0, jsx_runtime_1.jsx)("img", { loading: 'eager', src: item.leaderboard.song.coverImage, className: 'rounded-md h-20 w-20', alt: 'score item cover' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col space-y-1 py-0.5', children: [(0, jsx_runtime_1.jsx)("div", { className: 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all', children: item.leaderboard.song.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 ', children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(item.leaderboard.difficulty.difficultyName) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [item.leaderboard.difficulty.stars?.toFixed(2) ?? 'none', ' '] })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: item.leaderboard.song.id.toLowerCase().replaceAll('x', '') })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-xs items-center', children: [(0, jsx_runtime_1.jsxs)("span", { children: [((item.baseScore / item.leaderboard.difficulty.maxScore) *
|
11
|
+
100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [item.pp.toFixed(2), "PP"] }), (0, jsx_runtime_1.jsx)("span", { className: 'text-xs opacity-70', children: (0, utils_1.formatRelativeTimeByDay)(item.timepost * 1000) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'flex items-center space-x-2', children: getModifiers(item.modifiers).length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex flex-wrap space-x-2 items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Wrench, { className: "h-3 w-3" }), getModifiers(item.modifiers).map((modifier) => ((0, jsx_runtime_1.jsx)("span", { children: modifier }, modifier)))] })) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center", children: [item.fullCombo && ((0, jsx_runtime_1.jsx)("span", { className: "from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent", children: "FC" })), item.pinned && (0, jsx_runtime_1.jsx)(lucide_react_1.Pin, { className: "rotate-45 h-3 w-3 my-auto" })] })] }));
|
12
|
+
}
|
13
|
+
exports.default = BeatLeaderItem;
|
14
|
+
//# sourceMappingURL=blScoreItem.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"blScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/blScoreItem.tsx"],"names":[],"mappings":";;;AAAA,+CAA+D;AAC/D,oCAA4D;AAG5D,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC,CAAA;AAED,SAAwB,cAAc,CAAC,EACrC,IAAI,GAKL;IACC,OAAO,CACL,iCAAK,SAAS,EAAC,2BAA2B,aACxC,iCACE,SAAS,EAAE,0DAA0D,aAErE,gCACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EACrC,SAAS,EAAE,sBAAsB,EACjC,GAAG,EAAE,kBAAkB,GACvB,EACF,iCAAK,SAAS,EAAE,gCAAgC,aAC9C,gCACE,SAAS,EACP,4EAA4E,YAG7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GACvB,EACN,iCACE,SAAS,EACP,wEAAwE,aAG1E,4CACE,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CACG,IAAA,gBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,GAChD,IACH,EACN,4CACE,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CACG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IACxD,IACH,EACN,4CACE,2CACE,uBAAC,kBAAG,IAAC,SAAS,EAAE,SAAS,GAAI,GACxB,EACP,2CACG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,GACtD,IACH,IACF,EACN,iCAAK,SAAS,EAAE,qCAAqC,aACnD,6CACG,CACC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;gDACvD,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,SAEP,EACP,kCAAM,SAAS,EAAE,iBAAiB,aAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EACjE,iCAAM,SAAS,EAAE,oBAAoB,YAClC,IAAA,+BAAuB,EAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GACzC,IACH,EACN,gCAAK,SAAS,EAAE,6BAA6B,YAC1C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1C,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,qBAAM,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC9C,2CAAsB,QAAQ,IAAnB,QAAQ,CAAmB,CACvC,CAAC,IACE,CACP,GACG,IACF,IACF,EAEN,iCAAK,SAAS,EAAC,0EAA0E,aACtF,IAAI,CAAC,SAAS,IAAI,CACjB,iCAAM,SAAS,EAAC,yEAAyE,mBAElF,CACR,EACA,IAAI,CAAC,MAAM,IAAI,uBAAC,kBAAG,IAAC,SAAS,EAAC,2BAA2B,GAAG,IACzD,IACF,CACP,CAAA;AACH,CAAC;AA5FD,iCA4FC"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.CharacteristicIcon = void 0;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
/** @jsxImportSource react */
|
6
|
+
const LawlessIcon = () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 1280 1280", children: [(0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M639.63,931.84c-32.42,0-64.85,0.01-97.27,0c-49.35-0.02-91.47-40.08-94.1-89.41\n c-0.23-4.24-0.68-8.49-1.24-12.7c-2.09-15.62-8.63-23.1-24.53-24.41c-22.41-1.84-43.94-5.51-62.46-19.39\n c-25.42-19.04-40.52-43.98-39.39-76.17c0.66-18.65-4.31-34.83-11.99-51.32c-26.74-57.41-47.22-117.1-51.51-180.6\n c-6.77-100.1,19.79-189.66,91.12-263.06c67.86-69.83,152.88-103.69,247.85-113.16c97.36-9.71,189.34,9.89,272.44,62.65\n c101.84,64.65,154.46,157.75,155.77,279.06c0.74,69.03-18.74,133.48-44.27,196.55c-5.26,13-12.77,25.23-16.73,38.57\n c-3.05,10.29-2.68,21.75-2.92,32.7c-0.47,22.04-6.94,41.84-20.71,59.07c-17.3,21.65-40.59,31.48-67.65,33.62\n c-0.85,0.07-1.71-0.01-2.56,0.02c-27.51,1.05-35.9,8.81-37.05,36.03c-0.87,20.78-7.73,39.17-20.44,55.24\n c-18.74,23.7-43.11,36.72-73.81,36.72C705.33,931.84,672.48,931.84,639.63,931.84z M480.05,675.84c54.01,0,96.15-41.51,96.22-94.81\n c0.08-54.41-41.23-95.84-93.84-97.55c-53.66-1.74-99.41,45.06-98.41,95.82C385.11,633.95,425.78,675.84,480.05,675.84z\n M800.21,483.84c-53.87,0-95.87,41.64-95.93,95.11c-0.06,54.3,41.34,95.6,94.14,97.25c53.21,1.66,99.2-44.9,98.12-96.11\n C895.39,525.54,854.69,483.84,800.21,483.84z M640.62,775.21c3.39,5.64,6,11.05,9.59,15.72c9.19,11.96,24.81,16.36,37.63,11.13\n c11.95-4.87,18.72-15.54,16.14-31.29c-6.07-37-23.41-67.85-53.77-90.78c-6.73-5.08-12.97-5.26-19.7-0.1\n c-30.87,23.65-49.06,54.84-53.97,93.24c-1.86,14.55,4.56,24.54,16.05,28.77c12.63,4.65,24.61,2.59,34.06-7.2\n C631.85,789.29,635.55,782.41,640.62,775.21z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M1236.1,788.03L1236.1,788.03c-10.85-23.21-38.46-33.24-61.67-22.39l-533.92,249.47L106.75,766.76\n c-23.23-10.81-50.82-0.74-61.63,22.49l0,0c-10.81,23.23-0.74,50.82,22.49,61.63l463.17,215.5l-12.54,5.86l-2.58-5.53L290.31,1172\n l43.52,93.13l225.34-105.29l-1.66-3.55l83.09-38.82l82.58,38.42l-1.96,4.21l225.51,104.93l43.37-93.2l-225.51-104.93l-2.27,4.87\n l-11.98-5.57l463.37-216.51C1236.92,838.85,1246.95,811.24,1236.1,788.03z" })] }) }));
|
7
|
+
const StandardIcon = () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 1280 1280", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M1014,1160c39,5,63-3,75.87-31.69l0,0c13.53-32.46-1.82-69.75-34.28-83.27L708.07,900.22l71.48-37.92 l321.62,145.05c32.72,14.76,71.2,0.2,85.96-32.52v0c7.38-16.36,8.52-35.88,3.74-53.15c-0.68-2.47-1.5-4.8-2.41-7.02l8.48-529.63 c0.33-20.64-16.13-37.64-36.77-37.97l0,0c-20.64-0.33-37.64,16.13-37.97,36.77l-7.66,478.4C974.56,800.83,832.1,745.34,692.3,683.52 c5.01,0.61,10.11,0.93,15.28,0.93c69.05,0,125.03-55.98,125.03-125.03S776.63,434.4,707.58,434.4s-125.03,55.98-125.03,125.03 c0,37.23,16.28,70.65,42.1,93.56c-142.4-65.53-282.26-137.13-424.6-202.8L409.6,121.57c11.1-17.41,5.99-40.51-11.42-51.61l0,0 c-17.41-11.1-40.51-5.99-51.61,11.42L126.42,426.63c-25.08,3.05-49.73,19.87-60.04,42.73l0,0c-14.76,32.72-0.2,71.2,32.52,85.96 l313.11,141.22l-68.3,175.18l-88.76,86.09c-20.92,20.29-25.68,50.93-14.09,75.96c3.82,8.45,9.46,16.24,16.9,22.74l115.03,100.42 c27.77,24.24,69.93,21.38,94.17-6.38h0c24.24-27.77,21.38-69.93-6.38-94.17l-60.8-53.08l19.39-18.81h130.07l0.02-0.01L1014,1160z" }) }) }));
|
8
|
+
const LightShowIcon = () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 1280 1280", children: [(0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M1214.77,1060.46L345.4,323.04c-10.53-8.93-26.3-7.63-35.23,2.89l0,0c-8.93,10.53-7.63,26.3,2.89,35.23 l760.31,644.9C1001.05,989.8,914.14,981,823,981c-112.48,0-218.54,13.4-298.65,37.72c-46.18,14.02-81.2,30.97-104.39,50.3 L231.57,407.7c-3.78-13.28-17.61-20.97-30.89-17.19c-13.28,3.78-20.97,17.61-17.19,30.89l200.62,704.3c0.58,2.03,1.39,3.92,2.4,5.67 c0.77,45.1,48.38,83.26,137.83,110.42c80.11,24.32,186.17,37.72,298.65,37.72s218.54-13.4,298.65-37.72 c90.18-27.38,137.85-65.95,137.85-111.53C1259.5,1104.5,1244.28,1080.98,1214.77,1060.46z M1107.71,1195.85 C1032,1218.84,930.88,1231.5,823,1231.5s-209-12.66-284.71-35.65c-71.7-21.77-103.79-48.63-103.79-65.6s32.09-43.83,103.79-65.6 C614,1041.66,715.12,1029,823,1029s209,12.66,284.71,35.65c28.28,8.59,50.4,17.97,66.82,27.22l16.4,13.91 c3,2.55,6.43,4.26,10.01,5.16c7.13,7.14,10.57,13.75,10.57,19.3C1211.5,1147.22,1179.41,1174.08,1107.71,1195.85z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M314.38,157.41l-68.74-4.95l-63.09-91.22c-10.96-15.12-28.15-24.07-46.59-27.02 c-18.44-2.95-36.92,1.47-52.04,12.42l-41.81,30.3C10.9,99.56,3.9,143.36,26.52,174.58l58.98,83.44l-22.94,71 c-4.11,12.71,2.87,26.35,15.58,30.46h0c12.71,4.11,26.35-2.87,30.46-15.58l19.07-59.03l17.54,38.17c3.17,6.88,9.46,12.2,16.83,14.24 c2.25,0.62,4.53,0.93,6.8,0.93c5,0,9.91-1.48,14.12-4.36l85.76-58.73c8.29-6.13,12.84-7.92,15.24-13.3l0.98-2.22 c3.7-8.37,1.51-18.17-5.4-24.17l-1.31-1.13l-34.56-33.48l67.24,4.84c13.32,0.96,24.9-9.07,25.86-22.39v0 C337.73,169.95,327.71,158.37,314.38,157.41z M70.24,115.78l41.81-30.3c3.79-2.75,8.25-4.18,12.84-4.18c1.16,0,2.34,0.09,3.51,0.28 c5.79,0.92,10.88,4.05,14.32,8.8l50.4,73.24l-74.59,56.23l-53.19-73.4C58.24,136.64,60.44,122.88,70.24,115.78z M177.86,279.16 l-13.44-29.26l35.11-25l23.84,23.09L177.86,279.16z" })] }) }));
|
9
|
+
const OneSaberIcon = () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 1280 1280", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M1219.85,1045.85l-224.8-83.69L854,850V645.44l317.06,43.14c33.1,4.5,63.58-18.68,68.08-51.77v0 c4.5-33.1-18.68-63.58-51.77-68.08l-434.95-59.19C792.87,491.12,821,450.35,821,403c0-64.62-52.38-117-117-117s-117,52.38-117,117 c0,51.94,33.85,95.97,80.69,111.25l-378.02-43.52c-2.67-0.31-5.31-0.42-7.92-0.38c4.76-10.41,4.8-22.84-0.97-33.74L80.93,59.64 c-9.87-18.61-32.95-25.7-51.56-15.83v0c-18.61,9.87-25.7,32.95-15.83,51.56l199.84,376.98c5.13,9.68,13.83,16.23,23.62,18.91 c-7.69,8.88-12.89,20.09-14.34,32.64v0c-3.82,33.18,19.98,63.18,53.17,67l323.91,37.29l0,0L598,810c0,0-128,2-189,5 c-53,3-75,65-46.05,106.24c0.05-0.24,136.94,189.62,136.94,189.62c19.6,26.61,57.05,32.29,83.66,12.69l0,0 c26.61-19.6,32.29-57.05,12.69-83.66L542,941l201-6l205.66,137.35l4.64,1.96l224.8,83.69c30.97,11.53,65.42-4.23,76.95-35.2v0 C1266.57,1091.83,1250.82,1057.38,1219.85,1045.85z" }) }) }));
|
10
|
+
const Degree360Icon = () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 1280 1280", children: (0, jsx_runtime_1.jsxs)("g", { children: [(0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M197.39,338.14v127.8H83V314.09c0-99.23,36.13-148.87,108.43-148.87h100.46 c72.28,0,108.43,49.63,108.43,148.87v202.98c0,62.16-13.93,100.25-41.77,114.28c27.84,14.03,41.77,50.12,41.77,108.26v225.55 c0,99.23-36.15,148.85-108.43,148.85H191.43C119.13,1114,83,1064.38,83,965.15V814.78h114.39v126.3c0,16.06,1.99,26.83,5.96,32.34 s11.27,8.27,21.89,8.27h33.82c10.6,0,17.9-2.76,21.88-8.27c3.97-5.51,5.98-16.28,5.98-32.34V738.1c0-16.03-1.83-27.05-5.48-33.07 s-11.1-9.03-22.37-9.03h-76.6V569.69h76.6c10.6,0,17.9-2.76,21.88-8.27c3.97-5.51,5.98-16.28,5.98-32.32V338.14 c0-16.03-2-26.81-5.98-32.32c-3.97-5.51-11.27-8.28-21.88-8.28h-33.82c-10.62,0-17.92,2.77-21.89,8.28S197.39,322.12,197.39,338.14 z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M584.33,562.18h108.43c72.28,0,108.43,49.62,108.43,148.85v254.12c0,99.23-36.15,148.85-108.43,148.85 H579.36c-72.29,0-108.43-49.62-108.43-148.85V314.09c0-99.23,36.13-148.87,108.43-148.87h108.43 c72.28,0,108.43,49.63,108.43,148.87v145.84h-112.4V338.14c0-16.03-2-26.81-5.98-32.32s-11.27-8.28-21.88-8.28h-43.77 c-10.62,0-17.92,2.77-21.89,8.28c-3.97,5.51-5.96,16.3-5.96,32.32V562.18z M688.78,941.08v-209c0-16.03-2-26.81-5.98-32.32 c-3.97-5.51-11.6-8.27-22.87-8.27h-75.6v249.59c0,16.06,1.99,26.83,5.96,32.34c3.97,5.51,11.27,8.27,21.89,8.27h47.75 c11.27,0,18.9-2.76,22.87-8.27S688.78,957.14,688.78,941.08z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M1199.04,314.09v651.07c0,99.23-36.15,148.85-108.43,148.85H975.24c-72.29,0-108.43-49.62-108.43-148.85 V314.09c0-99.23,36.13-148.87,108.43-148.87h115.38C1162.9,165.22,1199.04,214.85,1199.04,314.09z M1084.66,941.08V338.14 c0-16.03-2-26.81-5.98-32.32s-11.6-8.28-22.87-8.28h-45.76c-10.62,0-17.92,2.77-21.89,8.28c-3.97,5.51-5.96,16.3-5.96,32.32v602.94 c0,16.06,1.99,26.83,5.96,32.34c3.97,5.51,11.27,8.27,21.89,8.27h45.76c11.27,0,18.9-2.76,22.87-8.27 S1084.66,957.14,1084.66,941.08z" })] }) }) }));
|
11
|
+
const Degree90Icon = () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 1280 1280", children: (0, jsx_runtime_1.jsxs)("g", { children: [(0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M386.25,168.31h112.6c72.4,0,108.61,49.2,108.61,147.59v645.51c0,98.39-36.21,147.59-108.61,147.59H390.23 c-72.41,0-108.61-49.2-108.61-147.59V819.79h112.6v117.77c0,15.91,1.99,26.6,5.98,32.05c3.99,5.47,11.29,8.2,21.92,8.2h44.84 c10.62,0,17.94-2.73,21.92-8.2c3.99-5.45,5.98-16.14,5.98-32.05V730.34H386.25c-72.41,0-108.61-49.2-108.61-147.59V315.9 C277.64,217.51,313.84,168.31,386.25,168.31z M418.14,606.6h76.73V339.75c0-15.89-1.99-26.58-5.98-32.05 c-3.99-5.45-11.3-8.2-21.92-8.2h-48.83c-10.63,0-17.94,2.75-21.92,8.2c-3.99,5.47-5.98,16.17-5.98,32.05v226.6 c0,15.91,1.99,26.6,5.98,32.05C400.2,603.88,407.5,606.6,418.14,606.6z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M1013,315.9v645.51c0,98.39-36.21,147.59-108.61,147.59H788.8c-72.41,0-108.61-49.2-108.61-147.59V315.9 c0-98.39,36.2-147.59,108.61-147.59h115.59C976.79,168.31,1013,217.51,1013,315.9z M898.41,937.56V339.75 c0-15.89-1.99-26.58-5.98-32.05c-3.98-5.45-11.63-8.2-22.92-8.2h-45.84c-10.63,0-17.94,2.75-21.92,8.2 c-3.98,5.47-5.98,16.17-5.98,32.05v597.81c0,15.91,1.99,26.6,5.98,32.05c3.99,5.47,11.29,8.2,21.92,8.2h45.84 c11.29,0,18.93-2.73,22.92-8.2C896.42,964.16,898.41,953.47,898.41,937.56z" })] }) }) }));
|
12
|
+
const characteristicIcons = {
|
13
|
+
Lawless: (0, jsx_runtime_1.jsx)(LawlessIcon, {}),
|
14
|
+
Standard: (0, jsx_runtime_1.jsx)(StandardIcon, {}),
|
15
|
+
Lightshow: (0, jsx_runtime_1.jsx)(LightShowIcon, {}),
|
16
|
+
OneSaber: (0, jsx_runtime_1.jsx)(OneSaberIcon, {}),
|
17
|
+
'90Degree': (0, jsx_runtime_1.jsx)(Degree90Icon, {}),
|
18
|
+
'360Degree': (0, jsx_runtime_1.jsx)(Degree360Icon, {}),
|
19
|
+
};
|
20
|
+
function CharacteristicIcon({ characteristic, className, }) {
|
21
|
+
if (Object.keys(characteristicIcons).includes(characteristic)) {
|
22
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("span", { className: className, children: characteristicIcons[characteristic] }) }));
|
23
|
+
}
|
24
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
25
|
+
}
|
26
|
+
exports.CharacteristicIcon = CharacteristicIcon;
|
27
|
+
//# sourceMappingURL=characteristic.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"characteristic.js","sourceRoot":"","sources":["../../../src/img-render/components/characteristic.tsx"],"names":[],"mappings":"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"}
|