beatsaber-bot-core 0.2.0-rc.9 → 0.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cmd/bind/bind-beatleader.js +2 -2
- package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-beatsaver.js +2 -2
- package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatleader.js +3 -3
- package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js +3 -3
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-scoresaber.js +3 -3
- package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/cjs/cmd/bind/index.js +12 -12
- package/dist/cjs/cmd/bind/index.js.map +1 -1
- package/dist/cjs/cmd/bsmap/id-search.js +3 -3
- package/dist/cjs/cmd/bsmap/id-search.js.map +1 -1
- package/dist/cjs/cmd/bsmap/key-search.js +2 -2
- package/dist/cjs/cmd/bsmap/key-search.js.map +1 -1
- package/dist/cjs/cmd/bsmap/latest.js +2 -2
- package/dist/cjs/cmd/bsmap/latest.js.map +1 -1
- package/dist/cjs/cmd/deprecated/tmp.js +4 -4
- package/dist/cjs/cmd/deprecated/tmp.js.map +1 -1
- package/dist/cjs/cmd/index.js +11 -11
- package/dist/cjs/cmd/index.js.map +1 -1
- package/dist/cjs/cmd/rank.js +8 -8
- package/dist/cjs/cmd/rank.js.map +1 -1
- package/dist/cjs/cmd/score.js +16 -20
- package/dist/cjs/cmd/score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatleader.js +3 -3
- package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatsaver.js +3 -3
- package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js +4 -4
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +4 -4
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/cjs/cmd/subscribe/index.js +8 -8
- package/dist/cjs/cmd/subscribe/index.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subjoin.js +6 -6
- package/dist/cjs/cmd/subscribe/subjoin.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subleave.js +6 -6
- package/dist/cjs/cmd/subscribe/subleave.js.map +1 -1
- package/dist/cjs/cmd/subscribe/unsubscribe.js +8 -8
- package/dist/cjs/cmd/subscribe/unsubscribe.js.map +1 -1
- package/dist/cjs/common/cache.js.map +1 -0
- package/dist/cjs/common/fetch/error.js.map +1 -0
- package/dist/cjs/{infra/support → common}/fetch/index.js +16 -14
- package/dist/cjs/common/fetch/index.js.map +1 -0
- package/dist/cjs/{infra/support → common}/fetch/ofetch.js +5 -12
- package/dist/cjs/common/fetch/ofetch.js.map +1 -0
- package/dist/cjs/common/i18n/index.js +55 -0
- package/dist/cjs/common/i18n/index.js.map +1 -0
- package/dist/cjs/common/i18n/parser.js.map +1 -0
- package/dist/cjs/{infra/i18n/index.js → common/i18n/util.js} +10 -71
- package/dist/cjs/common/i18n/util.js.map +1 -0
- package/dist/cjs/{infra/support → common}/render/index.js +55 -15
- package/dist/cjs/common/render/index.js.map +1 -0
- package/dist/cjs/common/render/puppeteer.js.map +1 -0
- package/dist/cjs/{infra → common}/s3/index.js +34 -13
- package/dist/cjs/common/s3/index.js.map +1 -0
- package/dist/cjs/components/components/RankDifficulty.js +60 -84
- package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
- package/dist/cjs/components/components/base/avatar.js +1 -2
- package/dist/cjs/components/components/base/avatar.js.map +1 -1
- package/dist/cjs/components/components/bl-rank-score-item.js +25 -87
- package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/bl-score-item.js +28 -69
- package/dist/cjs/components/components/bl-score-item.js.map +1 -1
- package/dist/cjs/components/components/characteristic.js +106 -118
- package/dist/cjs/components/components/characteristic.js.map +1 -1
- package/dist/cjs/components/components/flag.js +6 -14
- package/dist/cjs/components/components/flag.js.map +1 -1
- package/dist/cjs/components/components/icons/BeatLeader.js +55 -71
- package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/cjs/components/components/icons/RankIcon.js +3 -7
- package/dist/cjs/components/components/icons/RankIcon.js.map +1 -1
- package/dist/cjs/components/components/icons/ScoreSaberIcon.js +276 -312
- package/dist/cjs/components/components/icons/ScoreSaberIcon.js.map +1 -1
- package/dist/cjs/components/components/progressbar.js +12 -2
- package/dist/cjs/components/components/progressbar.js.map +1 -1
- package/dist/cjs/components/components/scoreItem.js +26 -63
- package/dist/cjs/components/components/scoreItem.js.map +1 -1
- package/dist/cjs/components/components/scoregraph.js +4 -5
- package/dist/cjs/components/components/scoregraph.js.map +1 -1
- package/dist/cjs/components/components/skill-graph.js +147 -164
- package/dist/cjs/components/components/skill-graph.js.map +1 -1
- package/dist/cjs/components/components/socre-badge.js +7 -10
- package/dist/cjs/components/components/socre-badge.js.map +1 -1
- package/dist/cjs/components/components/ss-rank-score-item.js +25 -87
- package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/ss-score-item.js +38 -65
- package/dist/cjs/components/components/ss-score-item.js.map +1 -1
- package/dist/cjs/components/index.js +3 -43
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/pages/bl-player.js +91 -136
- package/dist/cjs/components/pages/bl-player.js.map +1 -1
- package/dist/cjs/components/pages/bl-score-with-rank.js +114 -221
- package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/cjs/components/pages/bl-score.js +67 -169
- package/dist/cjs/components/pages/bl-score.js.map +1 -1
- package/dist/cjs/components/pages/bs-map.js +95 -166
- package/dist/cjs/components/pages/bs-map.js.map +1 -1
- package/dist/cjs/components/pages/index.js +26 -26
- package/dist/cjs/components/pages/index.js.map +1 -1
- package/dist/cjs/components/pages/ss-player.js +48 -77
- package/dist/cjs/components/pages/ss-player.js.map +1 -1
- package/dist/cjs/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/cjs/components/utils/bl/bsorReplayAcc.js.map +1 -1
- package/dist/cjs/components/utils/bl/getPart.js.map +1 -1
- package/dist/cjs/components/utils/bl/stastic.js.map +1 -1
- package/dist/cjs/components/utils/format.js +3 -3
- package/dist/cjs/components/utils/format.js.map +1 -1
- package/dist/cjs/components/utils/getMods.js.map +1 -1
- package/dist/cjs/components/utils/index.js +4 -4
- package/dist/cjs/config.js +40 -0
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/{interface → core}/cmd/builder.js +5 -5
- package/dist/cjs/core/cmd/builder.js.map +1 -0
- package/dist/cjs/core/cmd/type.js.map +1 -0
- package/dist/cjs/core/domain.js +16 -0
- package/dist/cjs/core/domain.js.map +1 -0
- package/dist/cjs/core/error.js +38 -0
- package/dist/cjs/core/error.js.map +1 -0
- package/dist/cjs/{interface/bot.js → core/event.js} +3 -3
- package/dist/cjs/core/event.js.map +1 -0
- package/dist/cjs/core/index.js +39 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/logger.js.map +1 -0
- package/dist/cjs/core/session.js +16 -0
- package/dist/cjs/core/session.js.map +1 -0
- package/dist/cjs/{schedules → events/schedules}/index.js +4 -3
- package/dist/cjs/events/schedules/index.js.map +1 -0
- package/dist/cjs/{schedules → events/schedules}/temp.js +7 -3
- package/dist/cjs/events/schedules/temp.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/beatleader.js +6 -6
- package/dist/cjs/events/ws/beatleader.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/beatsaver.js +11 -11
- package/dist/cjs/events/ws/beatsaver.js.map +1 -0
- package/dist/cjs/events/ws/handler.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/index.js +6 -8
- package/dist/cjs/events/ws/index.js.map +1 -0
- package/dist/cjs/index.js +27 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/db/index.js +0 -6
- package/dist/cjs/interface/db/index.js.map +1 -1
- package/dist/cjs/interface/db/models.js.map +1 -1
- package/dist/cjs/interface/index.js +12 -21
- package/dist/cjs/interface/index.js.map +1 -1
- package/dist/cjs/{service → services}/api/base/aioclient.js +1 -1
- package/dist/cjs/services/api/base/aioclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/blclient.js +1 -1
- package/dist/cjs/services/api/base/blclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/bsclient.js +2 -2
- package/dist/cjs/services/api/base/bsclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/index.js +8 -8
- package/dist/cjs/services/api/base/index.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/ssclient.js +2 -2
- package/dist/cjs/services/api/base/ssclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/index.js +17 -9
- package/dist/cjs/services/api/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/aiosaber/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/bsor.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/beatleader/index.js +10 -10
- package/dist/cjs/services/api/interfaces/beatleader/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/req.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/score.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/ws.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/alert.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/bsmap.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/beatsaver/index.js +10 -10
- package/dist/cjs/services/api/interfaces/beatsaver/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/resp.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/ws.js.map +1 -0
- package/dist/cjs/services/api/interfaces/index.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/scoresaber/index.js +6 -6
- package/dist/cjs/services/api/interfaces/scoresaber/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/item.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/leaderboard.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/resp.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/ws.js.map +1 -0
- package/dist/cjs/services/api/sortScore.js.map +1 -0
- package/dist/cjs/{infra → services}/errors/index.js +21 -38
- package/dist/cjs/services/errors/index.js.map +1 -0
- package/dist/cjs/services/i18n/index.js +43 -0
- package/dist/cjs/services/i18n/index.js.map +1 -0
- package/dist/cjs/{infra → services}/i18n/zh-cn.json +1 -1
- package/dist/cjs/{infra → services}/index.js +12 -9
- package/dist/cjs/services/index.js.map +1 -0
- package/dist/cjs/services/preference.js.map +1 -0
- package/dist/cjs/{service → services}/render/index.js +36 -13
- package/dist/cjs/services/render/index.js.map +1 -0
- package/dist/cjs/utils/bsorDecoder.js +329 -0
- package/dist/cjs/utils/bsorDecoder.js.map +1 -0
- package/dist/cjs/utils/index.js +6 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/platform.js +38 -0
- package/dist/cjs/utils/platform.js.map +1 -0
- package/dist/esm/cmd/bind/bind-beatleader.js +2 -2
- package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatsaver.js +2 -2
- package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +3 -3
- package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +3 -3
- package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +3 -3
- package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/esm/cmd/bind/index.js +5 -5
- package/dist/esm/cmd/bind/index.js.map +1 -1
- package/dist/esm/cmd/bsmap/id-search.js +2 -2
- package/dist/esm/cmd/bsmap/id-search.js.map +1 -1
- package/dist/esm/cmd/bsmap/key-search.js +1 -1
- package/dist/esm/cmd/bsmap/key-search.js.map +1 -1
- package/dist/esm/cmd/bsmap/latest.js +2 -2
- package/dist/esm/cmd/bsmap/latest.js.map +1 -1
- package/dist/esm/cmd/deprecated/tmp.js +3 -3
- package/dist/esm/cmd/deprecated/tmp.js.map +1 -1
- package/dist/esm/cmd/index.js +11 -11
- package/dist/esm/cmd/index.js.map +1 -1
- package/dist/esm/cmd/rank.js +5 -5
- package/dist/esm/cmd/rank.js.map +1 -1
- package/dist/esm/cmd/score.js +13 -17
- package/dist/esm/cmd/score.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatleader.js +3 -3
- package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js +3 -3
- package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js +4 -4
- package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +4 -4
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/esm/cmd/subscribe/index.js +7 -7
- package/dist/esm/cmd/subscribe/index.js.map +1 -1
- package/dist/esm/cmd/subscribe/subjoin.js +5 -5
- package/dist/esm/cmd/subscribe/subjoin.js.map +1 -1
- package/dist/esm/cmd/subscribe/subleave.js +5 -5
- package/dist/esm/cmd/subscribe/subleave.js.map +1 -1
- package/dist/esm/cmd/subscribe/unsubscribe.js +7 -7
- package/dist/esm/cmd/subscribe/unsubscribe.js.map +1 -1
- package/dist/esm/common/cache.js.map +1 -0
- package/dist/esm/common/fetch/error.js.map +1 -0
- package/dist/esm/common/fetch/index.js +35 -0
- package/dist/esm/common/fetch/index.js.map +1 -0
- package/dist/esm/{infra/support → common}/fetch/ofetch.js +4 -10
- package/dist/esm/common/fetch/ofetch.js.map +1 -0
- package/dist/esm/common/i18n/index.js +32 -0
- package/dist/esm/common/i18n/index.js.map +1 -0
- package/dist/esm/common/i18n/parser.js.map +1 -0
- package/dist/esm/{infra/i18n/index.js → common/i18n/util.js} +4 -56
- package/dist/esm/common/i18n/util.js.map +1 -0
- package/dist/esm/{infra/support → common}/render/index.js +53 -13
- package/dist/esm/common/render/index.js.map +1 -0
- package/dist/esm/common/render/puppeteer.js.map +1 -0
- package/dist/esm/{infra → common}/s3/index.js +32 -12
- package/dist/esm/common/s3/index.js.map +1 -0
- package/dist/esm/components/components/RankDifficulty.js +60 -84
- package/dist/esm/components/components/RankDifficulty.js.map +1 -1
- package/dist/esm/components/components/base/avatar.js +1 -2
- package/dist/esm/components/components/base/avatar.js.map +1 -1
- package/dist/esm/components/components/bl-rank-score-item.js +25 -87
- package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/bl-score-item.js +28 -69
- package/dist/esm/components/components/bl-score-item.js.map +1 -1
- package/dist/esm/components/components/characteristic.js +106 -118
- package/dist/esm/components/components/characteristic.js.map +1 -1
- package/dist/esm/components/components/flag.js +6 -14
- package/dist/esm/components/components/flag.js.map +1 -1
- package/dist/esm/components/components/icons/BeatLeader.js +55 -71
- package/dist/esm/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/esm/components/components/icons/RankIcon.js +3 -7
- package/dist/esm/components/components/icons/RankIcon.js.map +1 -1
- package/dist/esm/components/components/icons/ScoreSaberIcon.js +276 -312
- package/dist/esm/components/components/icons/ScoreSaberIcon.js.map +1 -1
- package/dist/esm/components/components/progressbar.js +2 -2
- package/dist/esm/components/components/progressbar.js.map +1 -1
- package/dist/esm/components/components/scoreItem.js +26 -63
- package/dist/esm/components/components/scoreItem.js.map +1 -1
- package/dist/esm/components/components/scoregraph.js +4 -5
- package/dist/esm/components/components/scoregraph.js.map +1 -1
- package/dist/esm/components/components/skill-graph.js +147 -164
- package/dist/esm/components/components/skill-graph.js.map +1 -1
- package/dist/esm/components/components/socre-badge.js +7 -10
- package/dist/esm/components/components/socre-badge.js.map +1 -1
- package/dist/esm/components/components/ss-rank-score-item.js +25 -87
- package/dist/esm/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/ss-score-item.js +28 -65
- package/dist/esm/components/components/ss-score-item.js.map +1 -1
- package/dist/esm/components/index.js +3 -43
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/pages/bl-player.js +91 -136
- package/dist/esm/components/pages/bl-player.js.map +1 -1
- package/dist/esm/components/pages/bl-score-with-rank.js +114 -221
- package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/esm/components/pages/bl-score.js +67 -169
- package/dist/esm/components/pages/bl-score.js.map +1 -1
- package/dist/esm/components/pages/bs-map.js +95 -166
- package/dist/esm/components/pages/bs-map.js.map +1 -1
- package/dist/esm/components/pages/index.js +21 -21
- package/dist/esm/components/pages/index.js.map +1 -1
- package/dist/esm/components/pages/ss-player.js +48 -77
- package/dist/esm/components/pages/ss-player.js.map +1 -1
- package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/esm/components/utils/bl/bsorReplayAcc.js.map +1 -1
- package/dist/esm/components/utils/bl/getPart.js.map +1 -1
- package/dist/esm/components/utils/bl/stastic.js.map +1 -1
- package/dist/esm/components/utils/format.js +3 -3
- package/dist/esm/components/utils/format.js.map +1 -1
- package/dist/esm/components/utils/getMods.js.map +1 -1
- package/dist/esm/components/utils/index.js +2 -2
- package/dist/esm/config.js +32 -0
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/{interface → core}/cmd/builder.js +4 -4
- package/dist/esm/core/cmd/builder.js.map +1 -0
- package/dist/esm/core/domain.js +1 -0
- package/dist/esm/core/error.js +16 -0
- package/dist/esm/core/error.js.map +1 -0
- package/dist/esm/core/event.js +1 -0
- package/dist/esm/core/index.js +10 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/session.js +1 -0
- package/dist/esm/events/schedules/index.js +16 -0
- package/dist/esm/events/schedules/index.js.map +1 -0
- package/dist/esm/{schedules → events/schedules}/temp.js +7 -3
- package/dist/esm/events/schedules/temp.js.map +1 -0
- package/dist/esm/{ws → events/ws}/beatleader.js +6 -6
- package/dist/esm/events/ws/beatleader.js.map +1 -0
- package/dist/esm/{ws → events/ws}/beatsaver.js +11 -11
- package/dist/esm/events/ws/beatsaver.js.map +1 -0
- package/dist/esm/events/ws/index.js +4 -0
- package/dist/esm/events/ws/index.js.map +1 -0
- package/dist/esm/index.js +15 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/db/index.js +0 -1
- package/dist/esm/interface/db/index.js.map +1 -1
- package/dist/esm/interface/index.js +9 -15
- package/dist/esm/interface/index.js.map +1 -1
- package/dist/esm/{service → services}/api/base/aioclient.js +1 -1
- package/dist/esm/services/api/base/aioclient.js.map +1 -0
- package/dist/esm/{service → services}/api/base/blclient.js +1 -1
- package/dist/esm/services/api/base/blclient.js.map +1 -0
- package/dist/esm/{service → services}/api/base/bsclient.js +2 -2
- package/dist/esm/services/api/base/bsclient.js.map +1 -0
- package/dist/esm/services/api/base/index.js +5 -0
- package/dist/esm/services/api/base/index.js.map +1 -0
- package/dist/esm/{service → services}/api/base/ssclient.js +2 -2
- package/dist/esm/services/api/base/ssclient.js.map +1 -0
- package/dist/esm/{service → services}/api/index.js +16 -8
- package/dist/esm/services/api/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/beatleader/index.js +6 -0
- package/dist/esm/services/api/interfaces/beatleader/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/beatsaver/index.js +6 -0
- package/dist/esm/services/api/interfaces/beatsaver/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/scoresaber/index.js +4 -0
- package/dist/esm/services/api/interfaces/scoresaber/index.js.map +1 -0
- package/dist/esm/services/api/sortScore.js.map +1 -0
- package/dist/esm/{infra → services}/errors/index.js +1 -17
- package/dist/esm/services/errors/index.js.map +1 -0
- package/dist/esm/services/i18n/index.js +21 -0
- package/dist/esm/services/i18n/index.js.map +1 -0
- package/dist/esm/services/index.js +9 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/preference.js.map +1 -0
- package/dist/esm/{service → services}/render/index.js +34 -11
- package/dist/esm/services/render/index.js.map +1 -0
- package/dist/esm/utils/bsorDecoder.js +301 -0
- package/dist/esm/utils/bsorDecoder.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/platform.js +14 -0
- package/dist/esm/utils/platform.js.map +1 -0
- package/dist/types/index.d.ts +1376 -48
- package/package.json +19 -10
- package/dist/cjs/components/utils/canvas.js +0 -2
- package/dist/cjs/components/utils/canvas.js.map +0 -1
- package/dist/cjs/infra/errors/index.js.map +0 -1
- package/dist/cjs/infra/i18n/index.js.map +0 -1
- package/dist/cjs/infra/i18n/parser.js.map +0 -1
- package/dist/cjs/infra/index.js.map +0 -1
- package/dist/cjs/infra/s3/index.js.map +0 -1
- package/dist/cjs/infra/support/cache.js.map +0 -1
- package/dist/cjs/infra/support/fetch/error.js.map +0 -1
- package/dist/cjs/infra/support/fetch/index.js.map +0 -1
- package/dist/cjs/infra/support/fetch/ofetch.js.map +0 -1
- package/dist/cjs/infra/support/render/index.js.map +0 -1
- package/dist/cjs/infra/support/render/puppeteer.js.map +0 -1
- package/dist/cjs/interface/bot.js.map +0 -1
- package/dist/cjs/interface/cmd/builder.js.map +0 -1
- package/dist/cjs/interface/cmd/type.js.map +0 -1
- package/dist/cjs/interface/logger.js.map +0 -1
- package/dist/cjs/schedules/index.js.map +0 -1
- package/dist/cjs/schedules/interface.js +0 -16
- package/dist/cjs/schedules/interface.js.map +0 -1
- package/dist/cjs/schedules/temp.js.map +0 -1
- package/dist/cjs/service/api/base/aioclient.js.map +0 -1
- package/dist/cjs/service/api/base/blclient.js.map +0 -1
- package/dist/cjs/service/api/base/bsclient.js.map +0 -1
- package/dist/cjs/service/api/base/index.js.map +0 -1
- package/dist/cjs/service/api/base/ssclient.js.map +0 -1
- package/dist/cjs/service/api/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/aiosaber/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/bsor.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/req.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/score.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/ws.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/alert.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/resp.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/ws.js.map +0 -1
- package/dist/cjs/service/api/interfaces/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/item.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/resp.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/ws.js.map +0 -1
- package/dist/cjs/service/api/sortScore.js.map +0 -1
- package/dist/cjs/service/index.js +0 -16
- package/dist/cjs/service/index.js.map +0 -1
- package/dist/cjs/service/preference.js.map +0 -1
- package/dist/cjs/service/render/index.js.map +0 -1
- package/dist/cjs/service/render/interfaces.js +0 -16
- package/dist/cjs/service/render/interfaces.js.map +0 -1
- package/dist/cjs/ws/beatleader.js.map +0 -1
- package/dist/cjs/ws/beatsaver.js.map +0 -1
- package/dist/cjs/ws/bl-filter.js +0 -1
- package/dist/cjs/ws/handler.js.map +0 -1
- package/dist/cjs/ws/index.js.map +0 -1
- package/dist/cjs/ws/scoresaber.js +0 -75
- package/dist/cjs/ws/scoresaber.js.map +0 -1
- package/dist/esm/components/utils/canvas.js +0 -2
- package/dist/esm/components/utils/canvas.js.map +0 -1
- package/dist/esm/infra/errors/index.js.map +0 -1
- package/dist/esm/infra/i18n/index.js.map +0 -1
- package/dist/esm/infra/i18n/parser.js.map +0 -1
- package/dist/esm/infra/index.js +0 -6
- package/dist/esm/infra/index.js.map +0 -1
- package/dist/esm/infra/s3/index.js.map +0 -1
- package/dist/esm/infra/support/cache.js.map +0 -1
- package/dist/esm/infra/support/fetch/error.js.map +0 -1
- package/dist/esm/infra/support/fetch/index.js +0 -33
- package/dist/esm/infra/support/fetch/index.js.map +0 -1
- package/dist/esm/infra/support/fetch/ofetch.js.map +0 -1
- package/dist/esm/infra/support/render/index.js.map +0 -1
- package/dist/esm/infra/support/render/puppeteer.js.map +0 -1
- package/dist/esm/interface/bot.js +0 -1
- package/dist/esm/interface/cmd/builder.js.map +0 -1
- package/dist/esm/schedules/index.js +0 -15
- package/dist/esm/schedules/index.js.map +0 -1
- package/dist/esm/schedules/interface.js +0 -1
- package/dist/esm/schedules/temp.js.map +0 -1
- package/dist/esm/service/api/base/aioclient.js.map +0 -1
- package/dist/esm/service/api/base/blclient.js.map +0 -1
- package/dist/esm/service/api/base/bsclient.js.map +0 -1
- package/dist/esm/service/api/base/index.js +0 -5
- package/dist/esm/service/api/base/index.js.map +0 -1
- package/dist/esm/service/api/base/ssclient.js.map +0 -1
- package/dist/esm/service/api/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/beatleader/index.js +0 -6
- package/dist/esm/service/api/interfaces/beatleader/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/beatsaver/index.js +0 -6
- package/dist/esm/service/api/interfaces/beatsaver/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/scoresaber/index.js +0 -4
- package/dist/esm/service/api/interfaces/scoresaber/index.js.map +0 -1
- package/dist/esm/service/api/sortScore.js.map +0 -1
- package/dist/esm/service/index.js +0 -1
- package/dist/esm/service/index.js.map +0 -1
- package/dist/esm/service/preference.js.map +0 -1
- package/dist/esm/service/render/index.js.map +0 -1
- package/dist/esm/service/render/interfaces.js +0 -1
- package/dist/esm/service/render/interfaces.js.map +0 -1
- package/dist/esm/ws/beatleader.js.map +0 -1
- package/dist/esm/ws/beatsaver.js.map +0 -1
- package/dist/esm/ws/bl-filter.js +0 -1
- package/dist/esm/ws/bl-filter.js.map +0 -1
- package/dist/esm/ws/index.js +0 -5
- package/dist/esm/ws/index.js.map +0 -1
- package/dist/esm/ws/scoresaber.js +0 -53
- package/dist/esm/ws/scoresaber.js.map +0 -1
- package/dist/types/cmd/bind/bind-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-scoresaber.d.ts +0 -34
- package/dist/types/cmd/bind/index.d.ts +0 -41
- package/dist/types/cmd/bsmap/id-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/key-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/latest.d.ts +0 -41
- package/dist/types/cmd/config/index.d.ts +0 -2
- package/dist/types/cmd/deprecated/tmp.d.ts +0 -41
- package/dist/types/cmd/index.d.ts +0 -34
- package/dist/types/cmd/rank.d.ts +0 -41
- package/dist/types/cmd/score.d.ts +0 -41
- package/dist/types/cmd/subscribe/beatleader.d.ts +0 -34
- package/dist/types/cmd/subscribe/beatsaver.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +0 -34
- package/dist/types/cmd/subscribe/index.d.ts +0 -41
- package/dist/types/cmd/subscribe/subjoin.d.ts +0 -41
- package/dist/types/cmd/subscribe/subleave.d.ts +0 -41
- package/dist/types/cmd/subscribe/unsubscribe.d.ts +0 -41
- package/dist/types/components/components/RankDifficulty.d.ts +0 -10
- package/dist/types/components/components/base/avatar.d.ts +0 -10
- package/dist/types/components/components/bl-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/bl-score-item.d.ts +0 -10
- package/dist/types/components/components/characteristic.d.ts +0 -9
- package/dist/types/components/components/flag.d.ts +0 -9
- package/dist/types/components/components/icons/BeatLeader.d.ts +0 -6
- package/dist/types/components/components/icons/RankIcon.d.ts +0 -8
- package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +0 -6
- package/dist/types/components/components/progressbar.d.ts +0 -8
- package/dist/types/components/components/scoreItem.d.ts +0 -8
- package/dist/types/components/components/scoregraph.d.ts +0 -15
- package/dist/types/components/components/skill-graph.d.ts +0 -9
- package/dist/types/components/components/socre-badge.d.ts +0 -9
- package/dist/types/components/components/ss-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/ss-score-item.d.ts +0 -8
- package/dist/types/components/index.d.ts +0 -5
- package/dist/types/components/pages/bl-player.d.ts +0 -11
- package/dist/types/components/pages/bl-score-with-rank.d.ts +0 -18
- package/dist/types/components/pages/bl-score.d.ts +0 -15
- package/dist/types/components/pages/bs-map.d.ts +0 -11
- package/dist/types/components/pages/index.d.ts +0 -14
- package/dist/types/components/pages/ss-player.d.ts +0 -13
- package/dist/types/components/utils/bl/beatleader.d.ts +0 -15
- package/dist/types/components/utils/bl/blheadset.d.ts +0 -275
- package/dist/types/components/utils/bl/bsorDecoder.d.ts +0 -189
- package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +0 -38
- package/dist/types/components/utils/bl/getPart.d.ts +0 -9
- package/dist/types/components/utils/bl/stastic.d.ts +0 -3
- package/dist/types/components/utils/canvas.d.ts +0 -2
- package/dist/types/components/utils/format.d.ts +0 -8
- package/dist/types/components/utils/getMods.d.ts +0 -5
- package/dist/types/components/utils/index.d.ts +0 -6
- package/dist/types/components/utils/qrcode.d.ts +0 -3
- package/dist/types/components/utils/sleep.d.ts +0 -3
- package/dist/types/components/utils/tag-format.d.ts +0 -3
- package/dist/types/components/utils/tw-join.d.ts +0 -5
- package/dist/types/config.d.ts +0 -30
- package/dist/types/index-Dagy_c8G.d.ts +0 -74
- package/dist/types/infra/errors/index.d.ts +0 -69
- package/dist/types/infra/i18n/index.d.ts +0 -4
- package/dist/types/infra/i18n/parser.d.ts +0 -16
- package/dist/types/infra/index.d.ts +0 -6
- package/dist/types/infra/s3/index.d.ts +0 -20
- package/dist/types/infra/support/cache.d.ts +0 -6
- package/dist/types/infra/support/fetch/error.d.ts +0 -11
- package/dist/types/infra/support/fetch/index.d.ts +0 -7
- package/dist/types/infra/support/fetch/ofetch.d.ts +0 -24
- package/dist/types/infra/support/render/index.d.ts +0 -38
- package/dist/types/infra/support/render/puppeteer.d.ts +0 -43
- package/dist/types/interface/bot.d.ts +0 -22
- package/dist/types/interface/cmd/builder.d.ts +0 -53
- package/dist/types/interface/cmd/type.d.ts +0 -30
- package/dist/types/interface/db/index.d.ts +0 -45
- package/dist/types/interface/db/models.d.ts +0 -41
- package/dist/types/interface/index.d.ts +0 -30
- package/dist/types/interface/logger.d.ts +0 -8
- package/dist/types/schedules/index.d.ts +0 -40
- package/dist/types/schedules/interface.d.ts +0 -45
- package/dist/types/schedules/temp.d.ts +0 -35
- package/dist/types/service/api/base/aioclient.d.ts +0 -13
- package/dist/types/service/api/base/blclient.d.ts +0 -28
- package/dist/types/service/api/base/bsclient.d.ts +0 -29
- package/dist/types/service/api/base/index.d.ts +0 -19
- package/dist/types/service/api/base/ssclient.d.ts +0 -17
- package/dist/types/service/api/index.d.ts +0 -59
- package/dist/types/service/api/interfaces/aiosaber/index.d.ts +0 -9
- package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +0 -113
- package/dist/types/service/api/interfaces/beatleader/index.d.ts +0 -5
- package/dist/types/service/api/interfaces/beatleader/req.d.ts +0 -22
- package/dist/types/service/api/interfaces/beatleader/score.d.ts +0 -164
- package/dist/types/service/api/interfaces/beatleader/user.d.ts +0 -173
- package/dist/types/service/api/interfaces/beatleader/ws.d.ts +0 -90
- package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +0 -20
- package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +0 -70
- package/dist/types/service/api/interfaces/beatsaver/index.d.ts +0 -13
- package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +0 -11
- package/dist/types/service/api/interfaces/beatsaver/user.d.ts +0 -10
- package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +0 -13
- package/dist/types/service/api/interfaces/index.d.ts +0 -14
- package/dist/types/service/api/interfaces/scoresaber/index.d.ts +0 -3
- package/dist/types/service/api/interfaces/scoresaber/item.d.ts +0 -67
- package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +0 -13
- package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +0 -12
- package/dist/types/service/api/interfaces/scoresaber/user.d.ts +0 -35
- package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +0 -80
- package/dist/types/service/api/sortScore.d.ts +0 -5
- package/dist/types/service/index.d.ts +0 -30
- package/dist/types/service/preference.d.ts +0 -38
- package/dist/types/service/render/index.d.ts +0 -43
- package/dist/types/service/render/interfaces.d.ts +0 -30
- package/dist/types/utils/index.d.ts +0 -5
- package/dist/types/ws/beatleader.d.ts +0 -47
- package/dist/types/ws/beatsaver.d.ts +0 -52
- package/dist/types/ws/bl-filter.d.ts +0 -2
- package/dist/types/ws/handler.d.ts +0 -8
- package/dist/types/ws/index.d.ts +0 -36
- package/dist/types/ws/scoresaber.d.ts +0 -47
- /package/dist/cjs/{infra/support → common}/cache.js +0 -0
- /package/dist/cjs/{infra/support → common}/fetch/error.js +0 -0
- /package/dist/cjs/{infra → common}/i18n/parser.js +0 -0
- /package/dist/cjs/{infra/support → common}/render/puppeteer.js +0 -0
- /package/dist/cjs/{interface → core}/cmd/type.js +0 -0
- /package/dist/cjs/{interface → core}/logger.js +0 -0
- /package/dist/cjs/{ws → events/ws}/handler.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/aiosaber/index.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/req.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/score.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/index.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/item.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/sortScore.js +0 -0
- /package/dist/cjs/{service → services}/preference.js +0 -0
- /package/dist/esm/{infra/support → common}/cache.js +0 -0
- /package/dist/esm/{infra/support → common}/fetch/error.js +0 -0
- /package/dist/esm/{infra → common}/i18n/parser.js +0 -0
- /package/dist/esm/{infra/support → common}/render/puppeteer.js +0 -0
- /package/dist/esm/{interface → core}/cmd/type.js +0 -0
- /package/dist/esm/{interface → core}/cmd/type.js.map +0 -0
- /package/dist/{cjs/ws/bl-filter.js.map → esm/core/domain.js.map} +0 -0
- /package/dist/esm/{interface/bot.js.map → core/event.js.map} +0 -0
- /package/dist/esm/{interface → core}/logger.js +0 -0
- /package/dist/esm/{interface → core}/logger.js.map +0 -0
- /package/dist/esm/{schedules/interface.js.map → core/session.js.map} +0 -0
- /package/dist/esm/{ws → events/ws}/handler.js +0 -0
- /package/dist/esm/{ws → events/ws}/handler.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/index.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/index.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/sortScore.js +0 -0
- /package/dist/esm/{service → services}/preference.js +0 -0
@@ -1,18 +1,4 @@
|
|
1
|
-
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
3
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4
|
-
class UnexpectedError extends Error {
|
5
|
-
constructor() {
|
6
|
-
super("UnexpectedError");
|
7
|
-
}
|
8
|
-
}
|
9
|
-
class BizError extends Error {
|
10
|
-
constructor() {
|
11
|
-
super(...arguments);
|
12
|
-
__publicField(this, "id");
|
13
|
-
__publicField(this, "params");
|
14
|
-
}
|
15
|
-
}
|
1
|
+
import { BizError } from "../../core/index.js";
|
16
2
|
class ScoreNotFoundError extends BizError {
|
17
3
|
constructor(params) {
|
18
4
|
super("ScoreNotFoundError");
|
@@ -184,7 +170,6 @@ export {
|
|
184
170
|
BLIDNotFoundError,
|
185
171
|
BSIDNotFoundError,
|
186
172
|
BSMapperSubscriptionNotExistError,
|
187
|
-
BizError,
|
188
173
|
EmptyPromptError,
|
189
174
|
ImageRenderError,
|
190
175
|
InvalidMapIdError,
|
@@ -200,7 +185,6 @@ export {
|
|
200
185
|
SessionPromotionTimeoutError,
|
201
186
|
SubscriptionExistError,
|
202
187
|
SubscriptionNotExistError,
|
203
|
-
UnexpectedError,
|
204
188
|
UnknownUserIDError
|
205
189
|
};
|
206
190
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/services/errors/index.ts"],"sourcesContent":["import { BizError } from \"@/core\"\n\n\nexport class ScoreNotFoundError extends BizError {\n constructor(params?: any) {\n super('ScoreNotFoundError')\n this.name = 'ScoreNotFoundError'\n this.id = 'commands.bsbot.me.score-not-found'\n this.params = params\n }\n}\n\nexport class AccountBindingNotFoundError extends BizError {\n constructor(params?: any) {\n super('AccountBindingNotFoundError')\n this.name = 'AccountBindingNotFoundError'\n this.id = 'commands.bsbot.score.not-bind'\n this.params = params\n }\n}\nexport class UnknownUserIDError extends BizError {\n constructor(params?: any) {\n super('UnknownUserIDError')\n this.name = 'UnknownUserIDError'\n this.id = 'commands.bsbot.me.not-found'\n this.params = params\n }\n}\nexport class InvalidMapIdError extends BizError {\n constructor(params?: any) {\n super('InvalidMapIdError')\n this.name = 'InvalidMapIdError'\n this.id = 'commands.bsbot.id.error-map-id'\n this.params = params\n }\n}\n\nexport class MapIdNotFoundError extends BizError {\n constructor(params?: any) {\n super('MapIdNotFoundError')\n this.name = 'MapIdNotFoundError'\n this.id = 'commands.bsbot.id.not-found'\n this.params = params\n }\n}\n\nexport class BLIDNotFoundError extends BizError {\n constructor(params?: any) {\n super('BLIDNotFoundError')\n this.name = 'BLIDNotFoundError'\n this.id = 'commands.bsbot.bl.account.not-found'\n this.params = params\n this.params = params\n }\n}\nexport class SSIDNotFoundError extends BizError {\n constructor(params?: any) {\n super('SSIDNotFoundError')\n this.name = 'SSIDNotFoundError'\n this.id = 'commands.bsbot.ss.account.not-found'\n this.params = params\n this.params = params\n }\n}\nexport class BSIDNotFoundError extends BizError {\n constructor(params?: any) {\n super('BSIDNotFoundError')\n this.name = 'BSIDNotFoundError'\n this.id = 'commands.bsbot.bs.account.not-found'\n this.params = params\n this.params = params\n }\n}\n\nexport class ScoreSaberIDNotFoundError extends BizError {\n constructor(params?: any) {\n super('ScoreSaberIdNotFoundError')\n this.name = 'ScoreSaberIdNotFoundError'\n this.id = 'commands.bsbot.bind.not-found'\n this.params = params\n this.params = params\n }\n}\n\nexport class SessionPromotionTimeoutError extends BizError {\n constructor(params?: any) {\n super('SessionPromotionTimeoutError')\n this.name = 'SessionPromotionTimeoutError'\n this.id = 'commands.bsbot.session-promotion-timeout'\n this.params = params\n }\n}\n\nexport class SessionPromotionCancelError extends BizError {\n constructor(params?: any) {\n const name = 'SessionPromotionCancelError'\n super(name)\n this.name = name\n this.id = 'commands.bsbot.bind.cancel'\n this.params = params\n }\n}\n\nexport class SubscriptionExistError extends BizError {\n constructor(params?: any) {\n super('SubscriptionExistError')\n this.params = params\n this.name = 'SubscriptionExistError'\n this.id = 'commands.bsbot.subscribe.exist'\n this.params = params\n }\n}\nexport class NoneSubscriptionExistError extends BizError {\n constructor(params?: any) {\n super('NoneSubscriptionExistError')\n this.name = 'NoneSubscriptionExistError'\n this.id = 'commands.bsbot.subscribe.info.none'\n this.params = params\n }\n}\n\nexport class SubscriptionNotExistError extends BizError {\n constructor(params?: any) {\n super('SubscriptionNotExistError')\n this.name = 'SubscriptionNotExistError'\n this.id = 'commands.bsbot.unsubscribe.nosub'\n this.params = params\n }\n}\n\nexport class BSMapperSubscriptionNotExistError extends BizError {\n constructor(params?: any) {\n super('BSMapperSubscriptionNotExistError')\n this.name = 'BSMapperSubscriptionNotExistError'\n this.id = 'commands.bsbot.unsubscribe.nosub.beatsaver-mapper'\n this.params = params\n }\n}\n\nexport class ImageRenderError extends BizError {\n constructor(params?: any) {\n super('ImageRenderError')\n this.name = 'ImageRenderError'\n this.id = 'commands.bsbot.render.error'\n this.params = params\n }\n}\nexport class RequestError extends BizError {\n constructor(params?: any) {\n super('RequestError')\n this.name = 'RequestError'\n this.id = 'commands.bsbot.request.error'\n this.params = params\n }\n}\n\nexport class ReachNetworkRetryLimitError extends BizError {\n constructor(params?: any) {\n super('ReachNetworkRetryLimitError')\n this.name = 'ReachNetworkRetryLimitError'\n this.id = 'commands.bsbot.common.error.reach-request-retry-limit'\n this.params = params\n }\n}\n\nexport class NotImplementedError extends BizError {\n constructor(params?: any) {\n super('NotImplementedError')\n this.name = 'NotImplementedError'\n this.id = 'commands.bsbot.common.error.not-implemented'\n this.params = params\n }\n}\n\nexport class EmptyPromptError extends BizError {\n constructor(params?: any) {\n super('EmptyPromptError')\n this.name = 'EmptyPromptError'\n this.id = 'commands.bsbot.common.error.empty-prompt'\n this.params = params\n }\n}\n"],"mappings":"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","names":[]}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4
|
+
import { createTranslator } from "../../common/i18n/index.js";
|
5
|
+
class I18nService {
|
6
|
+
constructor(config) {
|
7
|
+
__publicField(this, "translator");
|
8
|
+
this.translator = createTranslator(config != null ? config : {});
|
9
|
+
}
|
10
|
+
mergeConfig(lang, obj) {
|
11
|
+
}
|
12
|
+
loadLang(lang) {
|
13
|
+
}
|
14
|
+
tran(path, params = {}, lang = "zh-cn") {
|
15
|
+
return this.translator(path, params, lang);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
export {
|
19
|
+
I18nService
|
20
|
+
};
|
21
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/services/i18n/index.ts"],"sourcesContent":["import {createTranslator} from \"@/common/i18n\";\n\nexport class I18nService {\n translator: (path: string, params: any, lang: string) => string\n constructor(config?: any) {\n this.translator = createTranslator(config ?? {})\n }\n mergeConfig(lang: string, obj: any) {\n\n }\n\n loadLang(lang: string) {\n\n }\n\n tran(path: string, params = {}, lang = 'zh-cn'): string {\n return this.translator(path, params, lang)\n }\n}\n"],"mappings":";;;AAAA,SAAQ,wBAAuB;AAExB,MAAM,YAAY;AAAA,EAEvB,YAAY,QAAc;AAD1B;AAEE,SAAK,aAAa,iBAAiB,0BAAU,CAAC,CAAC;AAAA,EACjD;AAAA,EACA,YAAY,MAAc,KAAU;AAAA,EAEpC;AAAA,EAEA,SAAS,MAAc;AAAA,EAEvB;AAAA,EAEA,KAAK,MAAc,SAAS,CAAC,GAAG,OAAO,SAAiB;AACtD,WAAO,KAAK,WAAW,MAAM,QAAQ,IAAI;AAAA,EAC3C;AACF;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/services/index.ts"],"sourcesContent":["export { I18nService } from './i18n'\nexport { APIService } from './api'\nexport { RenderService } from './render'\n"],"mappings":"AAAA,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/services/preference.ts"],"sourcesContent":["import { DB } from '@/interface'\nimport { LRUCache } from 'lru-cache'\n\nconst cache = new LRUCache({\n max: 500,\n maxSize: 500,\n sizeCalculation: () => 1,\n ttl: 1000 * 60 * 60 * 24 * 7,\n allowStale: false,\n updateAgeOnGet: true,\n updateAgeOnHas: true,\n})\n\nexport class UserPreferenceStore {\n v: any = undefined\n constructor(\n private db: DB,\n private uid: string\n ) {}\n async getUserPreference(uid: string) {\n return new UserPreferenceStore(this.db, uid)\n }\n async set<T extends string | number | boolean>(\n key: string,\n value: T\n ): Promise<boolean> {\n if (!this.v) {\n this.v = (await this.db.getUserPreference(this.uid)) ?? {}\n }\n const cacheKey = `${this.uid}`\n const v = {\n ...this.v,\n [key]: value,\n }\n await this.db.storeUserPreference(this.uid, v)\n cache.set(cacheKey, v)\n this.v = v\n return true\n }\n async get<T extends string | number | boolean>(\n key: string\n ): Promise<T | undefined> {\n const cacheKey = `${this.uid}`\n const has = cache.has(cacheKey)\n if (has) {\n const v = cache.get(cacheKey) as T\n return v?.[key] ?? preferenceSchema[key]?.default\n }\n const value = (await this.db.getUserPreference(this.uid)) ?? {}\n cache.set(cacheKey, value)\n return (value?.[key] as T) ?? preferenceSchema[key]?.default\n }\n async configEntries(): Promise<Record<string, any>> {\n await this.get('')\n return cache.get(this.uid) as Record<string, any>\n }\n}\n\ntype PreferenceItem = {\n key: string\n i18nName: string\n valueType: 'img-url' | 'string' | 'number' | 'boolean'\n default: any\n}\n\nexport const preferenceKey = {\n blProfileRenderImg: {\n key: 'bl::profile::render::img',\n i18nName: 'BLProfile背景图片',\n },\n ssProfileRenderImg: {\n key: 'ss::profile::render::img',\n i18nName: 'SSProfile背景图片',\n },\n blScoreImg: {\n key: 'bl::score::render::img',\n i18nName: 'BLScore背景图片',\n },\n}\n\nexport const preferenceSchema: Record<string, PreferenceItem> = {\n 'bl::profile::render::img': {\n key: 'bl::profile::render::img',\n i18nName: 'BLProfile背景图片',\n valueType: 'img-url',\n default: 'https://www.loliapi.com/acg/pc/',\n },\n 'ss::profile::render::img': {\n key: 'ss::profile::render::img',\n i18nName: 'SSProfile背景图片',\n valueType: 'img-url',\n default: 'https://www.loliapi.com/acg/pc/',\n },\n 'bl::score::render::img': {\n key: 'bl::score::render::img',\n i18nName: 'BLScore背景图片',\n valueType: 'img-url',\n default: 'https://www.loliapi.com/acg/pc/',\n },\n}\n\nconst preferenceMap = new Map<string, PreferenceItem>()\n\nObject.entries(preferenceSchema).forEach(([key, value]) => {\n preferenceMap.set(value.i18nName, value)\n})\n\nexport const hasPreferenceSchemaByKeyOrName = (key: string) => {\n if (key in preferenceSchema) {\n return true\n }\n return preferenceMap.has(key)\n}\nexport const getPreferenceSchemaByKeyOrName = (key: string) => {\n if (key in preferenceSchema) {\n return preferenceSchema[key]\n }\n return preferenceMap.get(key)\n}\n"],"mappings":"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","names":[]}
|
@@ -14,6 +14,18 @@ var __spreadValues = (a, b) => {
|
|
14
14
|
}
|
15
15
|
return a;
|
16
16
|
};
|
17
|
+
var __objRest = (source, exclude) => {
|
18
|
+
var target = {};
|
19
|
+
for (var prop in source)
|
20
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
21
|
+
target[prop] = source[prop];
|
22
|
+
if (source != null && __getOwnPropSymbols)
|
23
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
24
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
25
|
+
target[prop] = source[prop];
|
26
|
+
}
|
27
|
+
return target;
|
28
|
+
};
|
17
29
|
var __async = (__this, __arguments, generator) => {
|
18
30
|
return new Promise((resolve, reject) => {
|
19
31
|
var fulfilled = (value) => {
|
@@ -34,13 +46,14 @@ var __async = (__this, __arguments, generator) => {
|
|
34
46
|
step((generator = generator.apply(__this, __arguments)).next());
|
35
47
|
});
|
36
48
|
};
|
37
|
-
import { getHtml } from "../../components";
|
49
|
+
import { getHtml } from "../../components/index.js";
|
38
50
|
import { PuppeteerError, TimeoutError } from "puppeteer-core";
|
39
|
-
import { Platform } from "../../
|
40
|
-
import {
|
41
|
-
import { preferenceKey } from "
|
42
|
-
import { ImageRenderError, RequestError } from "../../
|
43
|
-
import createQrcode from "../../components/utils/qrcode";
|
51
|
+
import { Platform } from "../../utils/index.js";
|
52
|
+
import { BLPlayerComp, BLRankScoreComp, BSMapComp, SSPlayerComp } from "../../components/pages/index.js";
|
53
|
+
import { preferenceKey } from "../preference.js";
|
54
|
+
import { ImageRenderError, RequestError } from "../../services/errors/index.js";
|
55
|
+
import createQrcode from "../../components/utils/qrcode.js";
|
56
|
+
import { getImageRender } from "../../common/render/index.js";
|
44
57
|
const getPreferenceKey = (platform) => {
|
45
58
|
return platform == Platform.SS ? preferenceKey.ssProfileRenderImg.key : preferenceKey.blProfileRenderImg.key;
|
46
59
|
};
|
@@ -49,6 +62,10 @@ class RenderService {
|
|
49
62
|
this.api = api;
|
50
63
|
this.imageRender = imageRender;
|
51
64
|
}
|
65
|
+
static create(imgRenderConfig) {
|
66
|
+
const _a = imgRenderConfig, { api } = _a, config = __objRest(_a, ["api"]);
|
67
|
+
return new RenderService(api, getImageRender(config));
|
68
|
+
}
|
52
69
|
renderRank(accountId, platform, renderOpts) {
|
53
70
|
return __async(this, null, function* () {
|
54
71
|
var _a;
|
@@ -58,10 +75,10 @@ class RenderService {
|
|
58
75
|
let html;
|
59
76
|
if (platform == Platform.BL) {
|
60
77
|
const { scores, userInfo } = yield this.api.getBLPlayerScoresWithUserInfo(accountId);
|
61
|
-
html = getHtml(
|
78
|
+
html = getHtml(BLPlayerComp(scores, userInfo, bg));
|
62
79
|
} else {
|
63
80
|
const { scores, userInfo } = yield this.api.getSSPlayerRecentScoreWithUserInfo(accountId);
|
64
|
-
html = getHtml(
|
81
|
+
html = getHtml(SSPlayerComp(scores, userInfo, bg));
|
65
82
|
}
|
66
83
|
return this.imageRender.html2img(html, __spreadValues({ selector: "#render-result" }, renderOpts));
|
67
84
|
} catch (e) {
|
@@ -84,7 +101,7 @@ class RenderService {
|
|
84
101
|
score.player.country
|
85
102
|
);
|
86
103
|
return this.imageRender.html2img(
|
87
|
-
getHtml(
|
104
|
+
getHtml(BLRankScoreComp(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),
|
88
105
|
__spreadValues({ selector: "#render-result" }, renderOpts)
|
89
106
|
);
|
90
107
|
} catch (e) {
|
@@ -106,14 +123,20 @@ class RenderService {
|
|
106
123
|
const previewQrUrl = yield createQrcode(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
|
107
124
|
const bsMapQrUrl = yield createQrcode(`https://beatsaver.com/maps/${bsMap.id}`);
|
108
125
|
return this.imageRender.html2img(
|
109
|
-
getHtml(
|
126
|
+
getHtml(BSMapComp(bsMap, bsMapQrUrl, previewQrUrl)),
|
110
127
|
__spreadValues({ selector: "#render-result" }, renderOption)
|
111
128
|
);
|
112
129
|
});
|
113
130
|
}
|
114
131
|
renderUrl(url, renderOption) {
|
115
132
|
return __async(this, null, function* () {
|
116
|
-
|
133
|
+
var _a, _b;
|
134
|
+
(_a = renderOption == null ? void 0 : renderOption.onRenderStart) == null ? void 0 : _a.call(renderOption);
|
135
|
+
try {
|
136
|
+
return this.imageRender.url2img(url, renderOption);
|
137
|
+
} catch (e) {
|
138
|
+
(_b = renderOption == null ? void 0 : renderOption.onRenderError) == null ? void 0 : _b.call(renderOption, e);
|
139
|
+
}
|
117
140
|
});
|
118
141
|
}
|
119
142
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/services/render/index.ts"],"sourcesContent":["import { getHtml } from '@/components'\nimport { PuppeteerError, TimeoutError } from 'puppeteer-core'\nimport { Platform } from '@/utils'\nimport { BLPlayerComp, BLRankScoreComp, BSMapComp, SSPlayerComp } from '@/components/pages'\nimport {preferenceKey} from \"../preference\";\nimport {ImageRenderError, RequestError} from \"@/services/errors\";\nimport createQrcode from \"@/components/utils/qrcode\";\nimport {APIService} from \"../api\";\nimport { BSMap } from \"../api/interfaces/beatsaver\";\nimport { type CreateImageRenderOption, getImageRender, ImageRender } from \"@/common/render\";\nimport {UserPreferenceStore} from \"../preference\";\nimport {PuppeteerOptions} from \"@/common/render\";\nexport type RenderOption = RenderOptions & PuppeteerOptions\n\ntype RenderOptions = {\n userPreference?: UserPreferenceStore,\n onRenderStart?: () => void,\n onRenderError?: (e) => void\n}\n\nexport interface IRenderService {\n renderRank(accountId: string, platform: Platform, renderOpts?: RenderOption): Promise<Buffer>\n renderScore(scoreId: string, renderOpts?: RenderOption): Promise<Buffer>\n renderMapById(mapId: string, renderOpts?: RenderOption): Promise<Buffer>\n renderMap(bsMap: BSMap, renderOpts?: RenderOption): Promise<Buffer>\n renderUrl(url: string, renderOpts?: RenderOption): Promise<Buffer>\n}\n\nconst getPreferenceKey = (platform: string) => {\n return platform == Platform.SS\n ? preferenceKey.ssProfileRenderImg.key\n : preferenceKey.blProfileRenderImg.key\n}\n\nexport class RenderService implements IRenderService {\n private constructor(\n private api: APIService,\n private imageRender: ImageRender\n ) {}\n\n static create(imgRenderConfig: CreateImageRenderOption & { api: APIService }) {\n const { api, ...config} = imgRenderConfig\n return new RenderService(api, getImageRender(config))\n }\n\n async renderRank(\n accountId: string,\n platform: Platform,\n renderOpts?: RenderOption\n ) {\n try {\n let bg = (await renderOpts?.userPreference?.get<string>(getPreferenceKey(platform)))\n bg = bg || 'https://www.loliapi.com/acg/pc/'\n let html: string\n if (platform == Platform.BL) {\n const { scores, userInfo } = await this.api.getBLPlayerScoresWithUserInfo(accountId)\n html = getHtml(BLPlayerComp(scores, userInfo, bg))\n } else {\n const { scores, userInfo } = await this.api.getSSPlayerRecentScoreWithUserInfo(accountId)\n html = getHtml(SSPlayerComp(scores, userInfo, bg))\n }\n return this.imageRender.html2img(html, {selector: '#render-result', ...renderOpts})\n }catch (e) {\n if (e instanceof TimeoutError || e instanceof PuppeteerError) {\n throw new ImageRenderError()\n }\n throw e\n }\n }\n\n async renderScore(\n scoreId: string,\n renderOpts?: RenderOption\n ) {\n const bg = (await renderOpts?.userPreference?.get<string>(preferenceKey.blScoreImg.key))\n ?? 'https://www.loliapi.com/acg/pc/'\n try {\n const { score, statistic, bsor, bsMap } =\n await this.api.getScoreAndBSMapByScoreId(scoreId)\n\n const { aroundScores, regionTopScores, difficulties } =\n await this.api.getAroundScoreAndRegionScoreByRankAndPage(\n score.leaderboardId,\n score.rank,\n score.player.country\n )\n return this.imageRender.html2img(\n getHtml(BLRankScoreComp(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),\n {selector: '#render-result', ...renderOpts}\n )\n }catch (e) {\n if (e instanceof RequestError) {\n throw e\n }\n throw new ImageRenderError()\n }\n }\n\n async renderMapById(\n mapId: string,\n renderOption: RenderOption\n ) {\n const map = await this.api.BeatSaver.searchMapById(mapId)\n return this.renderMap(map, renderOption)\n }\n\n async renderMap(\n bsMap: BSMap,\n renderOption?: RenderOption\n ) {\n const previewQrUrl = await createQrcode(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`)\n const bsMapQrUrl = await createQrcode(`https://beatsaver.com/maps/${bsMap.id}`)\n return this.imageRender.html2img(\n getHtml(BSMapComp(bsMap, bsMapQrUrl, previewQrUrl)), {selector: '#render-result', ...renderOption}\n )\n }\n\n async renderUrl(url: string, renderOption?: RenderOption) {\n renderOption?.onRenderStart?.()\n try {\n return this.imageRender.url2img(url, renderOption)\n }catch (e) {\n renderOption?.onRenderError?.(e)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB,oBAAoB;AAC7C,SAAS,gBAAgB;AACzB,SAAS,cAAc,iBAAiB,WAAW,oBAAoB;AACvE,SAAQ,qBAAoB;AAC5B,SAAQ,kBAAkB,oBAAmB;AAC7C,OAAO,kBAAkB;AAGzB,SAAuC,sBAAmC;AAmB1E,MAAM,mBAAmB,CAAC,aAAqB;AAC7C,SAAO,YAAY,SAAS,KACxB,cAAc,mBAAmB,MACjC,cAAc,mBAAmB;AACvC;AAEO,MAAM,cAAwC;AAAA,EAC3C,YACE,KACA,aACR;AAFQ;AACA;AAAA,EACP;AAAA,EAEH,OAAO,OAAO,iBAAgE;AAC5E,UAA0B,sBAAlB,MAzCZ,IAyC8B,IAAV,mBAAU,IAAV,CAAR;AACR,WAAO,IAAI,cAAc,KAAK,eAAe,MAAM,CAAC;AAAA,EACtD;AAAA,EAEM,WACJ,WACA,UACA,YACA;AAAA;AAjDJ;AAkDI,UAAI;AACF,YAAI,KAAM,OAAM,8CAAY,mBAAZ,mBAA4B,IAAY,iBAAiB,QAAQ;AACjF,aAAK,MAAM;AACX,YAAI;AACJ,YAAI,YAAY,SAAS,IAAI;AAC3B,gBAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,KAAK,IAAI,8BAA8B,SAAS;AACnF,iBAAO,QAAQ,aAAa,QAAQ,UAAU,EAAE,CAAC;AAAA,QACnD,OAAO;AACL,gBAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,KAAK,IAAI,mCAAmC,SAAS;AACxF,iBAAO,QAAQ,aAAa,QAAQ,UAAU,EAAE,CAAC;AAAA,QACnD;AACA,eAAO,KAAK,YAAY,SAAS,MAAM,iBAAC,UAAU,oBAAqB,WAAW;AAAA,MACpF,SAAQ,GAAG;AACT,YAAI,aAAa,gBAAgB,aAAa,gBAAgB;AAC5D,gBAAM,IAAI,iBAAiB;AAAA,QAC7B;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AAAA,EAEM,YACJ,SACA,YACA;AAAA;AAzEJ;AA0EI,YAAM,MAAM,YAAM,8CAAY,mBAAZ,mBAA4B,IAAY,cAAc,WAAW,SAAvE,YACP;AACL,UAAI;AACF,cAAM,EAAE,OAAO,WAAW,MAAM,MAAM,IACpC,MAAM,KAAK,IAAI,0BAA0B,OAAO;AAElD,cAAM,EAAE,cAAc,iBAAiB,aAAa,IAClD,MAAM,KAAK,IAAI;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM,OAAO;AAAA,QACf;AACF,eAAO,KAAK,YAAY;AAAA,UACtB,QAAQ,gBAAgB,OAAO,cAAc,iBAAiB,cAAc,OAAO,WAAW,MAAM,EAAE,CAAC;AAAA,UACvG,iBAAC,UAAU,oBAAqB;AAAA,QAClC;AAAA,MACF,SAAQ,GAAG;AACT,YAAI,aAAa,cAAc;AAC7B,gBAAM;AAAA,QACR;AACA,cAAM,IAAI,iBAAiB;AAAA,MAC7B;AAAA,IACF;AAAA;AAAA,EAEM,cACJ,OACA,cACA;AAAA;AACA,YAAM,MAAM,MAAM,KAAK,IAAI,UAAU,cAAc,KAAK;AACxD,aAAO,KAAK,UAAU,KAAK,YAAY;AAAA,IACzC;AAAA;AAAA,EAEM,UACJ,OACA,cACA;AAAA;AACA,YAAM,eAAe,MAAM,aAAa,6CAA6C,MAAM,EAAE,EAAE;AAC/F,YAAM,aAAa,MAAM,aAAa,8BAA8B,MAAM,EAAE,EAAE;AAC9E,aAAO,KAAK,YAAY;AAAA,QACtB,QAAQ,UAAU,OAAO,YAAY,YAAY,CAAC;AAAA,QAAG,iBAAC,UAAU,oBAAqB;AAAA,MACvF;AAAA,IACF;AAAA;AAAA,EAEM,UAAU,KAAa,cAA6B;AAAA;AArH5D;AAsHI,yDAAc,kBAAd;AACA,UAAI;AACF,eAAO,KAAK,YAAY,QAAQ,KAAK,YAAY;AAAA,MACnD,SAAQ,GAAG;AACT,2DAAc,kBAAd,sCAA8B;AAAA,MAChC;AAAA,IACF;AAAA;AACF;","names":[]}
|
@@ -0,0 +1,301 @@
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
2
|
+
return new Promise((resolve, reject) => {
|
3
|
+
var fulfilled = (value) => {
|
4
|
+
try {
|
5
|
+
step(generator.next(value));
|
6
|
+
} catch (e) {
|
7
|
+
reject(e);
|
8
|
+
}
|
9
|
+
};
|
10
|
+
var rejected = (value) => {
|
11
|
+
try {
|
12
|
+
step(generator.throw(value));
|
13
|
+
} catch (e) {
|
14
|
+
reject(e);
|
15
|
+
}
|
16
|
+
};
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
19
|
+
});
|
20
|
+
};
|
21
|
+
function checkBSORFile(file, completion) {
|
22
|
+
var reader = new FileReader();
|
23
|
+
reader.onload = function(e) {
|
24
|
+
decode(e.target.result, completion);
|
25
|
+
};
|
26
|
+
reader.onerror = function(e) {
|
27
|
+
completion("Error: " + e.type);
|
28
|
+
};
|
29
|
+
reader.readAsArrayBuffer(file);
|
30
|
+
}
|
31
|
+
const StructType = {
|
32
|
+
info: 0,
|
33
|
+
frames: 1,
|
34
|
+
notes: 2,
|
35
|
+
walls: 3,
|
36
|
+
heights: 4,
|
37
|
+
pauses: 5
|
38
|
+
};
|
39
|
+
const NoteEventType = {
|
40
|
+
good: 0,
|
41
|
+
bad: 1,
|
42
|
+
miss: 2,
|
43
|
+
bomb: 3
|
44
|
+
};
|
45
|
+
const _decode = (arrayBuffer) => {
|
46
|
+
const dataView = new DataView(arrayBuffer);
|
47
|
+
dataView.pointer = 0;
|
48
|
+
const magic = DecodeInt(dataView);
|
49
|
+
const version = DecodeUint8(dataView);
|
50
|
+
let ok = false;
|
51
|
+
var replay = {};
|
52
|
+
if (version == 1 && magic == 1143815529) {
|
53
|
+
for (var a = 0; a < StructType.pauses + 1; a++) {
|
54
|
+
const type = DecodeUint8(dataView);
|
55
|
+
switch (type) {
|
56
|
+
case StructType.info:
|
57
|
+
replay.info = DecodeInfo(dataView);
|
58
|
+
break;
|
59
|
+
case StructType.frames:
|
60
|
+
replay.frames = DecodeFrames(dataView);
|
61
|
+
break;
|
62
|
+
case StructType.notes:
|
63
|
+
replay.notes = DecodeNotes(dataView);
|
64
|
+
break;
|
65
|
+
case StructType.walls:
|
66
|
+
replay.walls = DecodeWalls(dataView);
|
67
|
+
break;
|
68
|
+
case StructType.heights:
|
69
|
+
replay.heights = DecodeHeight(dataView);
|
70
|
+
break;
|
71
|
+
case StructType.pauses:
|
72
|
+
replay.pauses = DecodePauses(dataView);
|
73
|
+
break;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
ok = true;
|
77
|
+
}
|
78
|
+
return { ok, replay };
|
79
|
+
};
|
80
|
+
function decode(arrayBuffer, completion) {
|
81
|
+
const { ok, replay } = _decode(arrayBuffer);
|
82
|
+
if (!ok) completion("Error: failed to decode replay");
|
83
|
+
completion(replay);
|
84
|
+
}
|
85
|
+
function decodeAsync(arrayBuffer) {
|
86
|
+
return __async(this, null, function* () {
|
87
|
+
const { ok, replay } = _decode(arrayBuffer);
|
88
|
+
if (!ok) throw new Error("failed to decode replay, not a target function");
|
89
|
+
return replay;
|
90
|
+
});
|
91
|
+
}
|
92
|
+
function DecodeInfo(dataView) {
|
93
|
+
var result = {};
|
94
|
+
result.version = DecodeString(dataView);
|
95
|
+
result.gameVersion = DecodeString(dataView);
|
96
|
+
result.timestamp = DecodeString(dataView);
|
97
|
+
result.playerID = DecodeString(dataView);
|
98
|
+
result.playerName = DecodeName(dataView);
|
99
|
+
result.platform = DecodeString(dataView);
|
100
|
+
result.trackingSystem = DecodeString(dataView);
|
101
|
+
result.hmd = DecodeString(dataView);
|
102
|
+
result.controller = DecodeString(dataView);
|
103
|
+
result.hash = DecodeString(dataView);
|
104
|
+
result.songName = DecodeString(dataView);
|
105
|
+
result.mapper = DecodeString(dataView);
|
106
|
+
result.difficulty = DecodeString(dataView);
|
107
|
+
result.score = DecodeInt(dataView);
|
108
|
+
result.mode = DecodeString(dataView);
|
109
|
+
result.environment = DecodeString(dataView);
|
110
|
+
result.modifiers = DecodeString(dataView);
|
111
|
+
result.jumpDistance = DecodeFloat(dataView);
|
112
|
+
result.leftHanded = DecodeBool(dataView);
|
113
|
+
result.height = DecodeFloat(dataView);
|
114
|
+
result.startTime = DecodeFloat(dataView);
|
115
|
+
result.failTime = DecodeFloat(dataView);
|
116
|
+
result.speed = DecodeFloat(dataView);
|
117
|
+
return result;
|
118
|
+
}
|
119
|
+
function DecodeFrames(dataView) {
|
120
|
+
const length = DecodeInt(dataView);
|
121
|
+
var result = [];
|
122
|
+
for (var i = 0; i < length; i++) {
|
123
|
+
var frame = DecodeFrame(dataView);
|
124
|
+
if (frame.time != 0 && (result.length == 0 || frame.time != result[result.length - 1].time)) {
|
125
|
+
result.push(frame);
|
126
|
+
}
|
127
|
+
}
|
128
|
+
return result;
|
129
|
+
}
|
130
|
+
function DecodeFrame(dataView) {
|
131
|
+
var result = {};
|
132
|
+
result.time = DecodeFloat(dataView);
|
133
|
+
result.fps = DecodeInt(dataView);
|
134
|
+
result.head = DecodeEuler(dataView);
|
135
|
+
result.left = DecodeEuler(dataView);
|
136
|
+
result.right = DecodeEuler(dataView);
|
137
|
+
return result;
|
138
|
+
}
|
139
|
+
function DecodeNotes(dataView) {
|
140
|
+
const length = DecodeInt(dataView);
|
141
|
+
var result = [];
|
142
|
+
for (var i = 0; i < length; i++) {
|
143
|
+
result.push(DecodeNote(dataView));
|
144
|
+
}
|
145
|
+
return result;
|
146
|
+
}
|
147
|
+
function DecodeWalls(dataView) {
|
148
|
+
const length = DecodeInt(dataView);
|
149
|
+
var result = [];
|
150
|
+
for (var i = 0; i < length; i++) {
|
151
|
+
var wall = {};
|
152
|
+
wall.wallID = DecodeInt(dataView);
|
153
|
+
wall.energy = DecodeFloat(dataView);
|
154
|
+
wall.time = DecodeFloat(dataView);
|
155
|
+
wall.spawnTime = DecodeFloat(dataView);
|
156
|
+
result.push(wall);
|
157
|
+
}
|
158
|
+
return result;
|
159
|
+
}
|
160
|
+
function DecodeHeight(dataView) {
|
161
|
+
const length = DecodeInt(dataView);
|
162
|
+
var result = [];
|
163
|
+
for (var i = 0; i < length; i++) {
|
164
|
+
var height = {};
|
165
|
+
height.height = DecodeFloat(dataView);
|
166
|
+
height.time = DecodeFloat(dataView);
|
167
|
+
result.push(height);
|
168
|
+
}
|
169
|
+
return result;
|
170
|
+
}
|
171
|
+
function DecodePauses(dataView) {
|
172
|
+
const length = DecodeInt(dataView);
|
173
|
+
var result = [];
|
174
|
+
for (var i = 0; i < length; i++) {
|
175
|
+
var pause = {};
|
176
|
+
pause.duration = DecodeLong(dataView);
|
177
|
+
pause.time = DecodeFloat(dataView);
|
178
|
+
result.push(pause);
|
179
|
+
}
|
180
|
+
return result;
|
181
|
+
}
|
182
|
+
function DecodeNote(dataView) {
|
183
|
+
var result = {};
|
184
|
+
result.noteID = DecodeInt(dataView);
|
185
|
+
result.eventTime = DecodeFloat(dataView);
|
186
|
+
result.spawnTime = DecodeFloat(dataView);
|
187
|
+
result.eventType = DecodeInt(dataView);
|
188
|
+
if (result.eventType == NoteEventType.good || result.eventType == NoteEventType.bad) {
|
189
|
+
result.noteCutInfo = DecodeCutInfo(dataView);
|
190
|
+
}
|
191
|
+
return result;
|
192
|
+
}
|
193
|
+
function DecodeCutInfo(dataView) {
|
194
|
+
var result = {};
|
195
|
+
result.speedOK = DecodeBool(dataView);
|
196
|
+
result.directionOK = DecodeBool(dataView);
|
197
|
+
result.saberTypeOK = DecodeBool(dataView);
|
198
|
+
result.wasCutTooSoon = DecodeBool(dataView);
|
199
|
+
result.saberSpeed = DecodeFloat(dataView);
|
200
|
+
result.saberDir = DecodeVector3(dataView);
|
201
|
+
result.saberType = DecodeInt(dataView);
|
202
|
+
result.timeDeviation = DecodeFloat(dataView);
|
203
|
+
result.cutDirDeviation = DecodeFloat(dataView);
|
204
|
+
result.cutPoint = DecodeVector3(dataView);
|
205
|
+
result.cutNormal = DecodeVector3(dataView);
|
206
|
+
result.cutDistanceToCenter = DecodeFloat(dataView);
|
207
|
+
result.cutAngle = DecodeFloat(dataView);
|
208
|
+
result.beforeCutRating = DecodeFloat(dataView);
|
209
|
+
result.afterCutRating = DecodeFloat(dataView);
|
210
|
+
return result;
|
211
|
+
}
|
212
|
+
function DecodeEuler(dataView) {
|
213
|
+
var result = {};
|
214
|
+
result.position = DecodeVector3(dataView);
|
215
|
+
result.rotation = DecodeQuaternion(dataView);
|
216
|
+
return result;
|
217
|
+
}
|
218
|
+
function DecodeVector3(dataView) {
|
219
|
+
var result = {};
|
220
|
+
result.x = DecodeFloat(dataView);
|
221
|
+
result.y = DecodeFloat(dataView);
|
222
|
+
result.z = DecodeFloat(dataView);
|
223
|
+
return result;
|
224
|
+
}
|
225
|
+
function DecodeQuaternion(dataView) {
|
226
|
+
var result = {};
|
227
|
+
result.x = DecodeFloat(dataView);
|
228
|
+
result.y = DecodeFloat(dataView);
|
229
|
+
result.z = DecodeFloat(dataView);
|
230
|
+
result.w = DecodeFloat(dataView);
|
231
|
+
return result;
|
232
|
+
}
|
233
|
+
function DecodeLong(dataView) {
|
234
|
+
const result = dataView.getBigInt64(dataView.pointer, true);
|
235
|
+
dataView.pointer += 8;
|
236
|
+
return result;
|
237
|
+
}
|
238
|
+
function DecodeInt(dataView) {
|
239
|
+
const result = dataView.getInt32(dataView.pointer, true);
|
240
|
+
dataView.pointer += 4;
|
241
|
+
return result;
|
242
|
+
}
|
243
|
+
function DecodeUint8(dataView) {
|
244
|
+
const result = dataView.getUint8(dataView.pointer, true);
|
245
|
+
dataView.pointer++;
|
246
|
+
return result;
|
247
|
+
}
|
248
|
+
function DecodeString(dataView) {
|
249
|
+
const length = dataView.getInt32(dataView.pointer, true);
|
250
|
+
if (length < 0 || length > 300) {
|
251
|
+
dataView.pointer += 1;
|
252
|
+
return DecodeString(dataView);
|
253
|
+
}
|
254
|
+
var enc = new TextDecoder("utf-8");
|
255
|
+
const string = enc.decode(
|
256
|
+
new Int8Array(
|
257
|
+
dataView.buffer.slice(dataView.pointer + 4, length + dataView.pointer + 4)
|
258
|
+
)
|
259
|
+
);
|
260
|
+
dataView.pointer += length + 4;
|
261
|
+
return string;
|
262
|
+
}
|
263
|
+
function DecodeName(dataView) {
|
264
|
+
const length = dataView.getInt32(dataView.pointer, true);
|
265
|
+
var enc = new TextDecoder("utf-8");
|
266
|
+
let lengthOffset = 0;
|
267
|
+
if (length > 0) {
|
268
|
+
while (dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 6 && dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 5 && dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 8) {
|
269
|
+
lengthOffset++;
|
270
|
+
}
|
271
|
+
}
|
272
|
+
const string = enc.decode(
|
273
|
+
new Int8Array(
|
274
|
+
dataView.buffer.slice(
|
275
|
+
dataView.pointer + 4,
|
276
|
+
length + dataView.pointer + 4 + lengthOffset
|
277
|
+
)
|
278
|
+
)
|
279
|
+
);
|
280
|
+
dataView.pointer += length + 4 + lengthOffset;
|
281
|
+
return string;
|
282
|
+
}
|
283
|
+
function DecodeFloat(dataView) {
|
284
|
+
const result = dataView.getFloat32(dataView.pointer, true);
|
285
|
+
dataView.pointer += 4;
|
286
|
+
return result;
|
287
|
+
}
|
288
|
+
function DecodeBool(dataView) {
|
289
|
+
const result = dataView.getUint8(dataView.pointer, true) != 0;
|
290
|
+
dataView.pointer++;
|
291
|
+
return result;
|
292
|
+
}
|
293
|
+
export {
|
294
|
+
DecodeInfo,
|
295
|
+
DecodeNotes,
|
296
|
+
NoteEventType,
|
297
|
+
checkBSORFile,
|
298
|
+
decode,
|
299
|
+
decodeAsync
|
300
|
+
};
|
301
|
+
//# sourceMappingURL=bsorDecoder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/bsorDecoder.js"],"sourcesContent":["\nexport function checkBSORFile(file, completion) {\n var reader = new FileReader()\n // (await fetch(\"\")).arrayBuffer()\n reader.onload = function (e) {\n decode(e.target.result, completion)\n }\n reader.onerror = function (e) {\n // error occurred\n completion('Error: ' + e.type)\n }\n reader.readAsArrayBuffer(file)\n}\n\nconst StructType = {\n info: 0,\n frames: 1,\n notes: 2,\n walls: 3,\n heights: 4,\n pauses: 5,\n}\n\nexport const NoteEventType = {\n good: 0,\n bad: 1,\n miss: 2,\n bomb: 3,\n}\n\n\nconst _decode = (arrayBuffer) => {\n const dataView = new DataView(arrayBuffer)\n dataView.pointer = 0\n\n const magic = DecodeInt(dataView)\n const version = DecodeUint8(dataView)\n\n let ok = false\n var replay = {}\n if (version == 1 && magic == 0x442d3d69) {\n for (var a = 0; a < StructType.pauses + 1; a++) {\n const type = DecodeUint8(dataView)\n switch (type) {\n case StructType.info:\n replay.info = DecodeInfo(dataView)\n break\n case StructType.frames:\n replay.frames = DecodeFrames(dataView)\n break\n case StructType.notes:\n replay.notes = DecodeNotes(dataView)\n break\n case StructType.walls:\n replay.walls = DecodeWalls(dataView)\n break\n case StructType.heights:\n replay.heights = DecodeHeight(dataView)\n break\n case StructType.pauses:\n replay.pauses = DecodePauses(dataView)\n break\n }\n }\n ok = true\n }\n return {ok, replay}\n}\n\nexport function decode(arrayBuffer, completion) {\n const {ok, replay} = _decode(arrayBuffer)\n if (!ok) completion('Error: failed to decode replay')\n completion(replay)\n}\n\nexport async function decodeAsync(arrayBuffer) {\n const {ok, replay} = _decode(arrayBuffer)\n if (!ok) throw new Error(\"failed to decode replay, not a target function\")\n return replay\n}\nexport function DecodeInfo(dataView) {\n var result = {}\n\n result.version = DecodeString(dataView)\n result.gameVersion = DecodeString(dataView)\n result.timestamp = DecodeString(dataView)\n\n result.playerID = DecodeString(dataView)\n result.playerName = DecodeName(dataView)\n result.platform = DecodeString(dataView)\n\n result.trackingSystem = DecodeString(dataView)\n result.hmd = DecodeString(dataView)\n result.controller = DecodeString(dataView)\n\n result.hash = DecodeString(dataView)\n result.songName = DecodeString(dataView)\n result.mapper = DecodeString(dataView)\n result.difficulty = DecodeString(dataView)\n\n result.score = DecodeInt(dataView)\n result.mode = DecodeString(dataView)\n result.environment = DecodeString(dataView)\n result.modifiers = DecodeString(dataView)\n result.jumpDistance = DecodeFloat(dataView)\n result.leftHanded = DecodeBool(dataView)\n result.height = DecodeFloat(dataView)\n\n result.startTime = DecodeFloat(dataView)\n result.failTime = DecodeFloat(dataView)\n result.speed = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeFrames(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var frame = DecodeFrame(dataView)\n if (\n frame.time != 0 &&\n (result.length == 0 || frame.time != result[result.length - 1].time)\n ) {\n result.push(frame)\n }\n }\n return result\n}\n\nfunction DecodeFrame(dataView) {\n var result = {}\n result.time = DecodeFloat(dataView)\n result.fps = DecodeInt(dataView)\n result.head = DecodeEuler(dataView)\n result.left = DecodeEuler(dataView)\n result.right = DecodeEuler(dataView)\n\n return result\n}\n\nexport function DecodeNotes(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n result.push(DecodeNote(dataView))\n }\n return result\n}\n\nfunction DecodeWalls(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var wall = {}\n wall.wallID = DecodeInt(dataView)\n wall.energy = DecodeFloat(dataView)\n wall.time = DecodeFloat(dataView)\n wall.spawnTime = DecodeFloat(dataView)\n result.push(wall)\n }\n return result\n}\n\nfunction DecodeHeight(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var height = {}\n height.height = DecodeFloat(dataView)\n height.time = DecodeFloat(dataView)\n result.push(height)\n }\n return result\n}\n\nfunction DecodePauses(dataView) {\n const length = DecodeInt(dataView)\n var result = []\n for (var i = 0; i < length; i++) {\n var pause = {}\n pause.duration = DecodeLong(dataView)\n pause.time = DecodeFloat(dataView)\n result.push(pause)\n }\n return result\n}\n\nfunction DecodeNote(dataView) {\n var result = {}\n\n result.noteID = DecodeInt(dataView)\n result.eventTime = DecodeFloat(dataView)\n result.spawnTime = DecodeFloat(dataView)\n result.eventType = DecodeInt(dataView)\n if (\n result.eventType == NoteEventType.good ||\n result.eventType == NoteEventType.bad\n ) {\n result.noteCutInfo = DecodeCutInfo(dataView)\n }\n\n return result\n}\n\nfunction DecodeCutInfo(dataView) {\n var result = {}\n\n result.speedOK = DecodeBool(dataView)\n result.directionOK = DecodeBool(dataView)\n result.saberTypeOK = DecodeBool(dataView)\n result.wasCutTooSoon = DecodeBool(dataView)\n result.saberSpeed = DecodeFloat(dataView)\n result.saberDir = DecodeVector3(dataView)\n result.saberType = DecodeInt(dataView)\n result.timeDeviation = DecodeFloat(dataView)\n result.cutDirDeviation = DecodeFloat(dataView)\n result.cutPoint = DecodeVector3(dataView)\n result.cutNormal = DecodeVector3(dataView)\n result.cutDistanceToCenter = DecodeFloat(dataView)\n result.cutAngle = DecodeFloat(dataView)\n result.beforeCutRating = DecodeFloat(dataView)\n result.afterCutRating = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeEuler(dataView) {\n var result = {}\n result.position = DecodeVector3(dataView)\n result.rotation = DecodeQuaternion(dataView)\n\n return result\n}\n\nfunction DecodeVector3(dataView) {\n var result = {}\n\n result.x = DecodeFloat(dataView)\n result.y = DecodeFloat(dataView)\n result.z = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeQuaternion(dataView) {\n var result = {}\n\n result.x = DecodeFloat(dataView)\n result.y = DecodeFloat(dataView)\n result.z = DecodeFloat(dataView)\n result.w = DecodeFloat(dataView)\n\n return result\n}\n\nfunction DecodeLong(dataView) {\n const result = dataView.getBigInt64(dataView.pointer, true)\n dataView.pointer += 8\n return result\n}\n\nfunction DecodeInt(dataView) {\n const result = dataView.getInt32(dataView.pointer, true)\n dataView.pointer += 4\n return result\n}\n\nfunction DecodeUint8(dataView) {\n const result = dataView.getUint8(dataView.pointer, true)\n dataView.pointer++\n return result\n}\n\nfunction DecodeString(dataView) {\n const length = dataView.getInt32(dataView.pointer, true)\n if (length < 0 || length > 300) {\n dataView.pointer += 1\n return DecodeString(dataView)\n }\n var enc = new TextDecoder('utf-8')\n const string = enc.decode(\n new Int8Array(\n dataView.buffer.slice(dataView.pointer + 4, length + dataView.pointer + 4)\n )\n )\n dataView.pointer += length + 4\n return string\n}\n\nfunction DecodeName(dataView) {\n const length = dataView.getInt32(dataView.pointer, true)\n var enc = new TextDecoder('utf-8')\n let lengthOffset = 0\n if (length > 0) {\n while (\n dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) !=\n 6 &&\n dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) !=\n 5 &&\n dataView.getInt32(length + dataView.pointer + 4 + lengthOffset, true) != 8\n ) {\n lengthOffset++\n }\n }\n\n const string = enc.decode(\n new Int8Array(\n dataView.buffer.slice(\n dataView.pointer + 4,\n length + dataView.pointer + 4 + lengthOffset\n )\n )\n )\n dataView.pointer += length + 4 + lengthOffset\n return string\n}\n\nfunction DecodeFloat(dataView) {\n const result = dataView.getFloat32(dataView.pointer, true)\n dataView.pointer += 4\n return result\n}\n\nfunction DecodeBool(dataView) {\n const result = dataView.getUint8(dataView.pointer, true) != 0\n dataView.pointer++\n return result\n}\n"],"mappings":"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","names":[]}
|
package/dist/esm/utils/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["import { LRUCache } from 'lru-cache'\n\nexport const handleWSEventWithCache = (\n fnThat,\n fn,\n ttl,\n eventParser,\n eventFilter,\n eventIdSelector\n) => {\n\n const WSCache = new LRUCache({\n max: 500,\n size: 50,\n sizeCalculation: (value, key) => 1,\n // for use with tracking overall storage size\n maxSize: 5000,\n allowStale: false,\n updateAgeOnGet: false,\n noUpdateTTL: true,\n ttl: ttl,\n })\n return async function (event: any) {\n const data = eventParser(event)\n const key = eventIdSelector(data)\n if (!eventFilter(data) || WSCache.get(key)) {\n return\n }\n WSCache.set(key, true)\n await fn.apply(fnThat, [data])\n }\n}\n\nexport const sleep = async (millsec: number = 5000) => {\n await new Promise<void>((resolve, reject) => {\n setTimeout(resolve, millsec)\n })\n}\n\nconst diffMap = {\n E: 'Easy',\n N: 'Normal',\n H: 'Hard',\n EX: 'Expert',\n EP: 'ExpertPlus',\n 'EX+': 'ExpertPlus',\n}\n\nexport const convertDiff = (diff: string | null) => {\n if (!diff) {\n return diff\n }\n return diffMap[diff.toUpperCase()]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAElB,MAAM,yBAAyB,CACpC,QACA,IACA,KACA,aACA,aACA,oBACG;AAEH,QAAM,UAAU,IAAI,SAAS;AAAA,IAC3B,KAAK;AAAA,IACL,MAAM;AAAA,IACN,iBAAiB,CAAC,OAAO,QAAQ;AAAA;AAAA,IAEjC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb;AAAA,EACF,CAAC;AACD,SAAO,SAAgB,OAAY;AAAA;AACjC,YAAM,OAAO,YAAY,KAAK;AAC9B,YAAM,MAAM,gBAAgB,IAAI;AAChC,UAAI,CAAC,YAAY,IAAI,KAAK,QAAQ,IAAI,GAAG,GAAG;AAC1C;AAAA,MACF;AACA,cAAQ,IAAI,KAAK,IAAI;AACrB,YAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;AAAA,IAC/B;AAAA;AACF;AAEO,MAAM,QAAQ,CAAO,UAAkB,QAAS;AACrD,QAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AAC3C,eAAW,SAAS,OAAO;AAAA,EAC7B,CAAC;AACH;AAEA,MAAM,UAAU;AAAA,EACd,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACT;AAEO,MAAM,cAAc,CAAC,SAAwB;AAClD,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,KAAK,YAAY,CAAC;AACnC;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["import { LRUCache } from 'lru-cache'\n\nexport const handleWSEventWithCache = (\n fnThat,\n fn,\n ttl,\n eventParser,\n eventFilter,\n eventIdSelector\n) => {\n\n const WSCache = new LRUCache({\n max: 500,\n size: 50,\n sizeCalculation: (value, key) => 1,\n // for use with tracking overall storage size\n maxSize: 5000,\n allowStale: false,\n updateAgeOnGet: false,\n noUpdateTTL: true,\n ttl: ttl,\n })\n return async function (event: any) {\n const data = eventParser(event)\n const key = eventIdSelector(data)\n if (!eventFilter(data) || WSCache.get(key)) {\n return\n }\n WSCache.set(key, true)\n await fn.apply(fnThat, [data])\n }\n}\n\nexport const sleep = async (millsec: number = 5000) => {\n await new Promise<void>((resolve, reject) => {\n setTimeout(resolve, millsec)\n })\n}\n\nconst diffMap = {\n E: 'Easy',\n N: 'Normal',\n H: 'Hard',\n EX: 'Expert',\n EP: 'ExpertPlus',\n 'EX+': 'ExpertPlus',\n}\n\nexport const convertDiff = (diff: string | null) => {\n if (!diff) {\n return diff\n }\n return diffMap[diff.toUpperCase()]\n}\n\nexport * from './platform'\nexport * from './bsorDecoder.js'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAElB,MAAM,yBAAyB,CACpC,QACA,IACA,KACA,aACA,aACA,oBACG;AAEH,QAAM,UAAU,IAAI,SAAS;AAAA,IAC3B,KAAK;AAAA,IACL,MAAM;AAAA,IACN,iBAAiB,CAAC,OAAO,QAAQ;AAAA;AAAA,IAEjC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb;AAAA,EACF,CAAC;AACD,SAAO,SAAgB,OAAY;AAAA;AACjC,YAAM,OAAO,YAAY,KAAK;AAC9B,YAAM,MAAM,gBAAgB,IAAI;AAChC,UAAI,CAAC,YAAY,IAAI,KAAK,QAAQ,IAAI,GAAG,GAAG;AAC1C;AAAA,MACF;AACA,cAAQ,IAAI,KAAK,IAAI;AACrB,YAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;AAAA,IAC/B;AAAA;AACF;AAEO,MAAM,QAAQ,CAAO,UAAkB,QAAS;AACrD,QAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AAC3C,eAAW,SAAS,OAAO;AAAA,EAC7B,CAAC;AACH;AAEA,MAAM,UAAU;AAAA,EACd,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACT;AAEO,MAAM,cAAc,CAAC,SAAwB;AAClD,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,KAAK,YAAY,CAAC;AACnC;AAEA,cAAc;AACd,cAAc;","names":[]}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
var Platform = /* @__PURE__ */ ((Platform2) => {
|
2
|
+
Platform2["SS"] = "scoresaber";
|
3
|
+
Platform2["BS"] = "beatsaver";
|
4
|
+
Platform2["BL"] = "beatleader";
|
5
|
+
return Platform2;
|
6
|
+
})(Platform || {});
|
7
|
+
const parsePlatform = (p) => {
|
8
|
+
return p == "ss" ? "scoresaber" /* SS */ : "beatleader" /* BL */;
|
9
|
+
};
|
10
|
+
export {
|
11
|
+
Platform,
|
12
|
+
parsePlatform
|
13
|
+
};
|
14
|
+
//# sourceMappingURL=platform.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/platform.ts"],"sourcesContent":["export enum Platform {\n SS = 'scoresaber',\n BS = 'beatsaver',\n BL = 'beatleader',\n}\n\nexport const parsePlatform = (p: string) => {\n return p == 'ss' ? Platform.SS : Platform.BL\n}\n"],"mappings":"AAAO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,UAAA,QAAK;AACL,EAAAA,UAAA,QAAK;AACL,EAAAA,UAAA,QAAK;AAHK,SAAAA;AAAA,GAAA;AAML,MAAM,gBAAgB,CAAC,MAAc;AAC1C,SAAO,KAAK,OAAO,wBAAc;AACnC;","names":["Platform"]}
|