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