beatsaber-bot-core 0.2.0-rc.9 → 0.3.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cmd/bind/bind-beatleader.js +9 -12
- package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-beatsaver.js +7 -12
- package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatleader.js +10 -13
- package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js +9 -13
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-scoresaber.js +10 -15
- 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 +17 -21
- package/dist/cjs/cmd/score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatleader.js +4 -4
- package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatsaver.js +4 -4
- package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js +5 -5
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +5 -5
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/cjs/cmd/subscribe/index.js +12 -12
- 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 +10 -10
- 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 +71 -84
- package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
- package/dist/cjs/components/components/base/avatar.js +12 -2
- package/dist/cjs/components/components/base/avatar.js.map +1 -1
- package/dist/cjs/components/components/bl-rank-score-item.js +26 -87
- package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/bl-score-item.js +39 -69
- package/dist/cjs/components/components/bl-score-item.js.map +1 -1
- package/dist/cjs/components/components/characteristic.js +117 -118
- package/dist/cjs/components/components/characteristic.js.map +1 -1
- package/dist/cjs/components/components/flag.js +7 -14
- package/dist/cjs/components/components/flag.js.map +1 -1
- package/dist/cjs/components/components/icons/BeatLeader.js +66 -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 +37 -63
- package/dist/cjs/components/components/scoreItem.js.map +1 -1
- package/dist/cjs/components/components/scoregraph.js +5 -5
- package/dist/cjs/components/components/scoregraph.js.map +1 -1
- package/dist/cjs/components/components/skill-graph.js +158 -164
- package/dist/cjs/components/components/skill-graph.js.map +1 -1
- package/dist/cjs/components/components/socre-badge.js +18 -10
- package/dist/cjs/components/components/socre-badge.js.map +1 -1
- package/dist/cjs/components/components/ss-rank-score-item.js +26 -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 +9 -12
- package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatsaver.js +7 -12
- package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +10 -13
- package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +9 -13
- package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +10 -15
- 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 +7 -7
- package/dist/esm/cmd/rank.js.map +1 -1
- package/dist/esm/cmd/score.js +14 -18
- package/dist/esm/cmd/score.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatleader.js +4 -4
- package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js +4 -4
- package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js +5 -5
- package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +5 -5
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/esm/cmd/subscribe/index.js +11 -11
- 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 +9 -9
- 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 +61 -84
- package/dist/esm/components/components/RankDifficulty.js.map +1 -1
- package/dist/esm/components/components/base/avatar.js +2 -2
- package/dist/esm/components/components/base/avatar.js.map +1 -1
- package/dist/esm/components/components/bl-rank-score-item.js +26 -87
- package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/bl-score-item.js +29 -69
- package/dist/esm/components/components/bl-score-item.js.map +1 -1
- package/dist/esm/components/components/characteristic.js +107 -118
- package/dist/esm/components/components/characteristic.js.map +1 -1
- package/dist/esm/components/components/flag.js +7 -14
- package/dist/esm/components/components/flag.js.map +1 -1
- package/dist/esm/components/components/icons/BeatLeader.js +56 -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 +27 -63
- package/dist/esm/components/components/scoreItem.js.map +1 -1
- package/dist/esm/components/components/scoregraph.js +5 -5
- package/dist/esm/components/components/scoregraph.js.map +1 -1
- package/dist/esm/components/components/skill-graph.js +148 -164
- package/dist/esm/components/components/skill-graph.js.map +1 -1
- package/dist/esm/components/components/socre-badge.js +8 -10
- package/dist/esm/components/components/socre-badge.js.map +1 -1
- package/dist/esm/components/components/ss-rank-score-item.js +26 -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 +20 -20
- 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
@@ -56,25 +56,18 @@ var __async = (__this, __arguments, generator) => {
|
|
56
56
|
var ofetch_exports = {};
|
57
57
|
__export(ofetch_exports, {
|
58
58
|
Fetch: () => Fetch,
|
59
|
-
createFetch: () => import_ofetch2.createFetch
|
60
|
-
rofetch: () => rofetch
|
59
|
+
createFetch: () => import_ofetch2.createFetch
|
61
60
|
});
|
62
61
|
module.exports = __toCommonJS(ofetch_exports);
|
63
62
|
var import_ofetch = require("ofetch");
|
64
|
-
var import_error = require("./error");
|
65
63
|
var import_ofetch2 = require("ofetch");
|
66
64
|
const rofetch = (0, import_ofetch.createFetch)({
|
67
65
|
defaults: {
|
68
|
-
retryStatusCodes: [
|
69
|
-
retry:
|
66
|
+
retryStatusCodes: [408, 409, 425, 429, 500, 502, 503, 504],
|
67
|
+
retry: 2,
|
70
68
|
retryDelay: 800
|
71
69
|
}
|
72
70
|
}).create({
|
73
|
-
onResponseError({ request, response, options }) {
|
74
|
-
if (response.status === 404) {
|
75
|
-
throw new import_error.NotFoundError();
|
76
|
-
}
|
77
|
-
},
|
78
71
|
onRequestError({ request, error }) {
|
79
72
|
}
|
80
73
|
});
|
@@ -99,6 +92,7 @@ class Fetch {
|
|
99
92
|
body: f
|
100
93
|
});
|
101
94
|
}
|
95
|
+
console.debug();
|
102
96
|
const res = yield this.ofetchInstance(request, opt);
|
103
97
|
return res;
|
104
98
|
});
|
@@ -131,7 +125,6 @@ class Fetch {
|
|
131
125
|
// Annotate the CommonJS export names for ESM import in node:
|
132
126
|
0 && (module.exports = {
|
133
127
|
Fetch,
|
134
|
-
createFetch
|
135
|
-
rofetch
|
128
|
+
createFetch
|
136
129
|
});
|
137
130
|
//# sourceMappingURL=ofetch.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/fetch/ofetch.ts"],"sourcesContent":["import { $Fetch, createFetch, FetchOptions, ResponseType } from 'ofetch'\n\n\nconst rofetch = createFetch({\n defaults: {\n retryStatusCodes: [408, 409, 425, 429, 500, 502, 503, 504],\n retry: 2,\n retryDelay: 800,\n },\n}).create({\n\n onRequestError({ request, error }) {\n\n },\n})\n\nexport type ExtendFetchOptions<R extends ResponseType = ResponseType, T = any> = {\n form?: Record<string, any>\n} & FetchOptions<R, T>\n\nexport class Fetch {\n private options?: FetchOptions\n private ofetchInstance: $Fetch\n constructor(fetchInstance?: $Fetch, options?: FetchOptions) {\n this.options = options\n this.ofetchInstance = fetchInstance ?? rofetch\n }\n async fetch<T, R extends ResponseType>(request: string, options?: ExtendFetchOptions<R, T>) {\n let opt = {\n ...options,\n ...this.options\n } as ExtendFetchOptions<R, T>\n if(opt.form) {\n const form = new FormData()\n let f = opt.form\n Object.entries(form).forEach(([key, value]) => form.append(key, value))\n opt = {\n ...opt,\n headers: {\n ...opt.headers,\n 'Content-Type': 'multipart/form-data'\n },\n body: f\n }\n }\n console.debug()\n const res = await this.ofetchInstance<T, R>(request, opt)\n return res\n }\n get<T = any, R extends ResponseType = 'json'>(\n request: string,\n options?: ExtendFetchOptions<R>\n ) {\n return this.fetch<T, R>(request, { ...options, method: 'GET' })\n }\n post<T = any, R extends ResponseType = 'json'>(\n request: string,\n options?: ExtendFetchOptions<R>\n ) {\n return this.fetch<T, R>(request, { ...options, method: 'POST' })\n }\n put<T = any, R extends ResponseType = 'json'>(\n request: string,\n options?: ExtendFetchOptions<R>\n ) {\n return this.fetch(request, { ...options, method: 'PUT' })\n }\n patch<T = any, R extends ResponseType = 'json'>(\n request: string,\n options?: ExtendFetchOptions<R>\n ) {\n return this.fetch(request, { ...options, method: 'PATCH' })\n }\n delete<T = any, R extends ResponseType = 'json'>(\n request: string,\n options?: ExtendFetchOptions<R>\n ) {\n return this.fetch(request, { ...options, method: 'DELETE' })\n }\n head(request: string, options?: FetchOptions) {\n return this.fetch(request, { ...options, method: 'HEAD' })\n }\n\n extend(options: FetchOptions) {\n return new Fetch(this.ofetchInstance, { ...this.options, ...options })\n }\n baseUrl(url: string) {\n return this.extend({ baseURL: url })\n }\n}\n\nexport { createFetch } from 'ofetch'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgE;AA2FhE,IAAAA,iBAA4B;AAxF5B,MAAM,cAAU,2BAAY;AAAA,EAC1B,UAAU;AAAA,IACR,kBAAkB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IACzD,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AACF,CAAC,EAAE,OAAO;AAAA,EAER,eAAe,EAAE,SAAS,MAAM,GAAG;AAAA,EAEnC;AACF,CAAC;AAMM,MAAM,MAAM;AAAA,EAGjB,YAAY,eAAwB,SAAwB;AAF5D,wBAAQ;AACR,wBAAQ;AAEN,SAAK,UAAU;AACf,SAAK,iBAAiB,wCAAiB;AAAA,EACzC;AAAA,EACO,MAAiC,SAAiB,SAAoC;AAAA;AAC3F,UAAI,MAAM,kCACL,UACA,KAAK;AAEV,UAAG,IAAI,MAAM;AACX,cAAM,OAAO,IAAI,SAAS;AAC1B,YAAI,IAAI,IAAI;AACZ,eAAO,QAAQ,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,KAAK,CAAC;AACtE,cAAM,iCACD,MADC;AAAA,UAEJ,SAAS,iCACJ,IAAI,UADA;AAAA,YAEP,gBAAgB;AAAA,UAClB;AAAA,UACA,MAAM;AAAA,QACR;AAAA,MACF;AACA,cAAQ,MAAM;AACd,YAAM,MAAM,MAAM,KAAK,eAAqB,SAAS,GAAG;AACxD,aAAO;AAAA,IACT;AAAA;AAAA,EACA,IACE,SACA,SACA;AACA,WAAO,KAAK,MAAY,SAAS,iCAAK,UAAL,EAAc,QAAQ,MAAM,EAAC;AAAA,EAChE;AAAA,EACA,KACE,SACA,SACA;AACA,WAAO,KAAK,MAAY,SAAS,iCAAK,UAAL,EAAc,QAAQ,OAAO,EAAC;AAAA,EACjE;AAAA,EACA,IACE,SACA,SACA;AACA,WAAO,KAAK,MAAM,SAAS,iCAAK,UAAL,EAAc,QAAQ,MAAM,EAAC;AAAA,EAC1D;AAAA,EACA,MACE,SACA,SACA;AACA,WAAO,KAAK,MAAM,SAAS,iCAAK,UAAL,EAAc,QAAQ,QAAQ,EAAC;AAAA,EAC5D;AAAA,EACA,OACE,SACA,SACA;AACA,WAAO,KAAK,MAAM,SAAS,iCAAK,UAAL,EAAc,QAAQ,SAAS,EAAC;AAAA,EAC7D;AAAA,EACA,KAAK,SAAiB,SAAwB;AAC5C,WAAO,KAAK,MAAM,SAAS,iCAAK,UAAL,EAAc,QAAQ,OAAO,EAAC;AAAA,EAC3D;AAAA,EAEA,OAAO,SAAuB;AAC5B,WAAO,IAAI,MAAM,KAAK,gBAAgB,kCAAK,KAAK,UAAY,QAAS;AAAA,EACvE;AAAA,EACA,QAAQ,KAAa;AACnB,WAAO,KAAK,OAAO,EAAE,SAAS,IAAI,CAAC;AAAA,EACrC;AACF;","names":["import_ofetch"]}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all)
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
8
|
+
};
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
14
|
+
}
|
15
|
+
return to;
|
16
|
+
};
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
18
|
+
var i18n_exports = {};
|
19
|
+
__export(i18n_exports, {
|
20
|
+
createTranslator: () => createTranslator
|
21
|
+
});
|
22
|
+
module.exports = __toCommonJS(i18n_exports);
|
23
|
+
var import_parser = require("./parser.js");
|
24
|
+
var import_util = require("./util.js");
|
25
|
+
const defaultLang = "zh-CN";
|
26
|
+
const createTranslator = (translateObject) => {
|
27
|
+
return (path, params = {}, lang = defaultLang) => _translate(translateObject, path, params, lang);
|
28
|
+
};
|
29
|
+
const _translate = (translateObject, path, params = {}, lang = defaultLang) => {
|
30
|
+
const keys = path.split(".");
|
31
|
+
let result = translateObject[lang];
|
32
|
+
if (!result) {
|
33
|
+
return null;
|
34
|
+
}
|
35
|
+
for (const key of keys) {
|
36
|
+
if (result[key] !== void 0) {
|
37
|
+
result = result[key];
|
38
|
+
} else {
|
39
|
+
return null;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
try {
|
43
|
+
if (typeof result === "string") {
|
44
|
+
return (0, import_parser.interpolate)(result, params);
|
45
|
+
}
|
46
|
+
} catch (e) {
|
47
|
+
return (0, import_util.interpolateString)(result, params);
|
48
|
+
}
|
49
|
+
return null;
|
50
|
+
};
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
52
|
+
0 && (module.exports = {
|
53
|
+
createTranslator
|
54
|
+
});
|
55
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/i18n/index.ts"],"sourcesContent":["import {interpolate} from \"./parser\";\nimport {interpolateString} from \"./util\";\n\nconst defaultLang = \"zh-CN\";\n\nexport const createTranslator = (translateObject: object) => {\n return (path: string, params = {}, lang = defaultLang) => _translate(translateObject, path, params, lang)\n}\nconst _translate = (\n translateObject: object,\n path: string,\n params = {},\n lang = defaultLang\n) => {\n const keys = path.split('.')\n let result = translateObject[lang]\n if(!result) {\n return null\n }\n for (const key of keys) {\n if (result[key] !== undefined) {\n result = result[key]\n } else {\n return null\n }\n }\n try {\n if (typeof result === 'string') {\n return interpolate(result, params)\n }\n } catch (e) {\n return interpolateString(result, params)\n }\n return null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAC1B,kBAAgC;AAEhC,MAAM,cAAc;AAEb,MAAM,mBAAmB,CAAC,oBAA4B;AAC3D,SAAO,CAAC,MAAc,SAAS,CAAC,GAAG,OAAO,gBAAgB,WAAW,iBAAiB,MAAM,QAAQ,IAAI;AAC1G;AACA,MAAM,aAAa,CACjB,iBACA,MACA,SAAS,CAAC,GACV,OAAO,gBACJ;AACH,QAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,MAAI,SAAS,gBAAgB,IAAI;AACjC,MAAG,CAAC,QAAQ;AACV,WAAO;AAAA,EACT;AACA,aAAW,OAAO,MAAM;AACtB,QAAI,OAAO,GAAG,MAAM,QAAW;AAC7B,eAAS,OAAO,GAAG;AAAA,IACrB,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI;AACF,QAAI,OAAO,WAAW,UAAU;AAC9B,iBAAO,2BAAY,QAAQ,MAAM;AAAA,IACnC;AAAA,EACF,SAAS,GAAG;AACV,eAAO,+BAAkB,QAAQ,MAAM;AAAA,EACzC;AACA,SAAO;AACT;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/i18n/parser.ts"],"sourcesContent":["enum TokenType {\n TEXT,\n OPEN_BRACE,\n CLOSE_BRACE,\n IDENTIFIER,\n QUESTION,\n COLON,\n STRING,\n}\n\ninterface Token {\n type: TokenType\n value: string\n}\n\nexport class Parser {\n private tokens: Token[] = []\n private current = 0\n\n constructor(\n private template: string,\n private data: any\n ) {\n this.tokenize()\n }\n\n private tokenize(): void {\n let current = 0\n while (current < this.template.length) {\n let char = this.template[current]\n if (char === '\\\\' && current + 1 < this.template.length) {\n // 处理转义字符\n const nextChar = this.template[current + 1]\n if (\n nextChar === '{' ||\n nextChar === '}' ||\n nextChar === '?' ||\n nextChar === ':' ||\n nextChar === \"'\" ||\n nextChar === '\\\\'\n ) {\n this.tokens.push({ type: TokenType.TEXT, value: nextChar })\n current += 2\n continue\n }\n }\n if (char === '{' && this.template[current + 1] === '{') {\n this.tokens.push({ type: TokenType.OPEN_BRACE, value: '{{' })\n current += 2\n continue\n }\n\n if (char === '}' && this.template[current + 1] === '}') {\n this.tokens.push({ type: TokenType.CLOSE_BRACE, value: '}}' })\n current += 2\n continue\n }\n\n if (char === '?') {\n this.tokens.push({ type: TokenType.QUESTION, value: '?' })\n current++\n continue\n }\n\n if (char === ':') {\n this.tokens.push({ type: TokenType.COLON, value: ':' })\n current++\n continue\n }\n\n if (char === \"'\") {\n let value = ''\n char = this.template[++current]\n while (char !== \"'\" && current < this.template.length) {\n if (char === '\\\\' && current + 1 < this.template.length) {\n char = this.template[++current]\n }\n value += char\n char = this.template[++current]\n }\n if (char === \"'\") current++\n this.tokens.push({ type: TokenType.STRING, value })\n continue\n }\n\n if (/[a-zA-Z0-9_]/.test(char)) {\n let value = ''\n while (/[a-zA-Z0-9_]/.test(char)) {\n value += char\n char = this.template[++current]\n }\n this.tokens.push({ type: TokenType.IDENTIFIER, value })\n continue\n }\n\n if (/\\s/.test(char)) {\n current++\n continue\n }\n\n let value = ''\n while (\n current < this.template.length &&\n char !== '{' &&\n char !== '}' &&\n char !== '?' &&\n char !== ':' &&\n char !== \"'\"\n // &&\n // !/[a-zA-Z0-9_]/.test(char)\n ) {\n if (char === '\\\\' && current + 1 < this.template.length) {\n value += this.template[++current]\n } else {\n value += char\n }\n char = this.template[++current]\n }\n if (value) {\n this.tokens.push({ type: TokenType.TEXT, value })\n }\n }\n }\n\n private match(...types: TokenType[]): boolean {\n if (this.current >= this.tokens.length) return false\n return types.includes(this.tokens[this.current].type)\n }\n\n private consume(type: TokenType): Token {\n if (this.match(type)) {\n return this.tokens[this.current++]\n }\n throw new Error(\n `Expected token type ${type}, but got ${this.tokens[this.current].type}`\n )\n }\n\n private parseExpression(): string {\n if (this.match(TokenType.OPEN_BRACE)) {\n this.consume(TokenType.OPEN_BRACE)\n const result = this.parseInterpolation()\n this.consume(TokenType.CLOSE_BRACE)\n return result\n }\n if (this.match(TokenType.STRING)) {\n const tmp = this.consume(TokenType.STRING).value\n return interpolate(tmp, this.data)\n }\n return this.consume(TokenType.TEXT).value\n }\n\n private parseInterpolation(): string {\n const identifier = this.consume(TokenType.IDENTIFIER).value\n if (this.match(TokenType.QUESTION)) {\n this.consume(TokenType.QUESTION)\n const truePart = this.parseExpression()\n this.consume(TokenType.COLON)\n const falsePart = this.parseExpression()\n return this.data[identifier] ? truePart : falsePart\n }\n return this.data[identifier]?.toString() || ''\n }\n\n parse(): string {\n // console.log(this.current, this.tokens)\n let result = ''\n while (this.current < this.tokens.length) {\n result += this.parseExpression()\n }\n return result\n }\n}\n\nexport function interpolate(template: string, data): string {\n const parser = new Parser(template, data)\n return parser.parse()\n}\n"],"mappings":"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","names":["TokenType","value"]}
|
@@ -1,8 +1,6 @@
|
|
1
|
-
var __create = Object.create;
|
2
1
|
var __defProp = Object.defineProperty;
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
7
5
|
var __export = (target, all) => {
|
8
6
|
for (var name in all)
|
@@ -16,50 +14,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
16
14
|
}
|
17
15
|
return to;
|
18
16
|
};
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
25
|
-
mod
|
26
|
-
));
|
27
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
28
|
-
var
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
} catch (e) {
|
34
|
-
reject(e);
|
35
|
-
}
|
36
|
-
};
|
37
|
-
var rejected = (value) => {
|
38
|
-
try {
|
39
|
-
step(generator.throw(value));
|
40
|
-
} catch (e) {
|
41
|
-
reject(e);
|
42
|
-
}
|
43
|
-
};
|
44
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
45
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
46
|
-
});
|
47
|
-
};
|
48
|
-
var i18n_exports = {};
|
49
|
-
__export(i18n_exports, {
|
50
|
-
loadI18nConfig: () => loadI18nConfig,
|
51
|
-
tran: () => tran
|
18
|
+
var util_exports = {};
|
19
|
+
__export(util_exports, {
|
20
|
+
interpolateString: () => interpolateString,
|
21
|
+
isObject: () => isObject,
|
22
|
+
merge: () => merge
|
52
23
|
});
|
53
|
-
module.exports = __toCommonJS(
|
54
|
-
var import_parser = require("./parser");
|
55
|
-
const i18nObj = {};
|
56
|
-
init().then((_) => console.log("i18n loaded")).catch((err) => console.error(err));
|
57
|
-
function init() {
|
58
|
-
return __async(this, null, function* () {
|
59
|
-
const zh = yield import("./zh-cn.json");
|
60
|
-
i18nObj["zh-cn"] = zh;
|
61
|
-
});
|
62
|
-
}
|
24
|
+
module.exports = __toCommonJS(util_exports);
|
63
25
|
function isObject(item) {
|
64
26
|
return item && typeof item === "object" && !Array.isArray(item);
|
65
27
|
}
|
@@ -78,30 +40,6 @@ function merge(target, ...sources) {
|
|
78
40
|
}
|
79
41
|
return merge(target, ...sources);
|
80
42
|
}
|
81
|
-
function loadI18nConfig(lang, obj) {
|
82
|
-
const raw = i18nObj[lang];
|
83
|
-
i18nObj[lang] = merge(raw, obj);
|
84
|
-
console.log(`overwrite i18n ${lang} `);
|
85
|
-
}
|
86
|
-
function tran(path, params = {}, lang = "zh-cn") {
|
87
|
-
const keys = path.split(".");
|
88
|
-
let result = i18nObj[lang];
|
89
|
-
for (const key of keys) {
|
90
|
-
if (result[key] !== void 0) {
|
91
|
-
result = result[key];
|
92
|
-
} else {
|
93
|
-
return null;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
try {
|
97
|
-
if (typeof result === "string") {
|
98
|
-
return (0, import_parser.interpolate)(result, params);
|
99
|
-
}
|
100
|
-
} catch (e) {
|
101
|
-
return interpolateString(result, params);
|
102
|
-
}
|
103
|
-
return null;
|
104
|
-
}
|
105
43
|
function interpolateString(str, context) {
|
106
44
|
const regex = /\{\{(.*?)\?\s*'(.*?)'\s*:\s*'(.*?)'\s*\}\}/;
|
107
45
|
let match;
|
@@ -131,7 +69,8 @@ function safeEval(expr, context) {
|
|
131
69
|
}
|
132
70
|
// Annotate the CommonJS export names for ESM import in node:
|
133
71
|
0 && (module.exports = {
|
134
|
-
|
135
|
-
|
72
|
+
interpolateString,
|
73
|
+
isObject,
|
74
|
+
merge
|
136
75
|
});
|
137
|
-
//# sourceMappingURL=
|
76
|
+
//# sourceMappingURL=util.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/i18n/util.ts"],"sourcesContent":["\nexport function isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function merge(target, ...sources) {\n if (!sources.length) return target\n const source = sources.shift()\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) Object.assign(target, { [key]: {} })\n merge(target[key], source[key])\n } else {\n Object.assign(target, { [key]: source[key] })\n }\n }\n }\n return merge(target, ...sources)\n}\n\n\nexport function interpolateString(str, context) {\n // 正则表达式匹配三元表达式\n const regex = /\\{\\{(.*?)\\?\\s*'(.*?)'\\s*:\\s*'(.*?)'\\s*\\}\\}/\n let match\n\n // 递归解析\n while ((match = regex.exec(str)) !== null) {\n const [fullMatch, condition, trueValue, falseValue] = match\n\n // 递归解析 trueValue 和 falseValue 以处理嵌套情况\n const resolvedTrueValue = interpolateString(trueValue, context)\n const resolvedFalseValue = interpolateString(falseValue, context)\n\n // 计算条件表达式\n let result = safeEval(condition, context)\n if (typeof result === 'string') {\n result = false\n }\n const replacement = result ? resolvedTrueValue : resolvedFalseValue\n\n // 替换匹配到的三元表达式\n str = str.replace(fullMatch, replacement)\n }\n\n // 替换变量插值\n const variableRegex = /\\{\\{(.*?)\\}\\}/g\n str = str.replace(variableRegex, (match, expr) => safeEval(expr, context))\n\n return str\n}\nfunction safeEval(expr, context) {\n try {\n const fn = new Function(...Object.keys(context), `return ${expr}`)\n return fn(...Object.values(context))\n } catch (e) {\n console.error(expr, context, e)\n return expr\n }\n}\n\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,SAAS,SAAS,MAAM;AAC7B,SAAO,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI;AAChE;AAEO,SAAS,MAAM,WAAW,SAAS;AACxC,MAAI,CAAC,QAAQ,OAAQ,QAAO;AAC5B,QAAM,SAAS,QAAQ,MAAM;AAC7B,MAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG;AACxC,eAAW,OAAO,QAAQ;AACxB,UAAI,SAAS,OAAO,GAAG,CAAC,GAAG;AACzB,YAAI,CAAC,OAAO,GAAG,EAAG,QAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AACrD,cAAM,OAAO,GAAG,GAAG,OAAO,GAAG,CAAC;AAAA,MAChC,OAAO;AACL,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,QAAQ,GAAG,OAAO;AACjC;AAGO,SAAS,kBAAkB,KAAK,SAAS;AAE9C,QAAM,QAAQ;AACd,MAAI;AAGJ,UAAQ,QAAQ,MAAM,KAAK,GAAG,OAAO,MAAM;AACzC,UAAM,CAAC,WAAW,WAAW,WAAW,UAAU,IAAI;AAGtD,UAAM,oBAAoB,kBAAkB,WAAW,OAAO;AAC9D,UAAM,qBAAqB,kBAAkB,YAAY,OAAO;AAGhE,QAAI,SAAS,SAAS,WAAW,OAAO;AACxC,QAAI,OAAO,WAAW,UAAU;AAC9B,eAAS;AAAA,IACX;AACA,UAAM,cAAc,SAAS,oBAAoB;AAGjD,UAAM,IAAI,QAAQ,WAAW,WAAW;AAAA,EAC1C;AAGA,QAAM,gBAAgB;AACtB,QAAM,IAAI,QAAQ,eAAe,CAACA,QAAO,SAAS,SAAS,MAAM,OAAO,CAAC;AAEzE,SAAO;AACT;AACA,SAAS,SAAS,MAAM,SAAS;AAC/B,MAAI;AACF,UAAM,KAAK,IAAI,SAAS,GAAG,OAAO,KAAK,OAAO,GAAG,UAAU,IAAI,EAAE;AACjE,WAAO,GAAG,GAAG,OAAO,OAAO,OAAO,CAAC;AAAA,EACrC,SAAS,GAAG;AACV,YAAQ,MAAM,MAAM,SAAS,CAAC;AAC9B,WAAO;AAAA,EACT;AACF;","names":["match"]}
|
@@ -19,6 +19,18 @@ var __spreadValues = (a, b) => {
|
|
19
19
|
return a;
|
20
20
|
};
|
21
21
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
22
|
+
var __objRest = (source, exclude) => {
|
23
|
+
var target = {};
|
24
|
+
for (var prop in source)
|
25
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
26
|
+
target[prop] = source[prop];
|
27
|
+
if (source != null && __getOwnPropSymbols)
|
28
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
29
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
30
|
+
target[prop] = source[prop];
|
31
|
+
}
|
32
|
+
return target;
|
33
|
+
};
|
22
34
|
var __export = (target, all) => {
|
23
35
|
for (var name in all)
|
24
36
|
__defProp(target, name, { get: all[name], enumerable: true });
|
@@ -56,21 +68,37 @@ var __async = (__this, __arguments, generator) => {
|
|
56
68
|
var render_exports = {};
|
57
69
|
__export(render_exports, {
|
58
70
|
CFBrowserRendering: () => CFBrowserRendering,
|
59
|
-
PuppeteerOptions: () => import_puppeteer.RenderOptions,
|
60
71
|
PuppeteerRendering: () => PuppeteerRendering,
|
61
72
|
RemoteBrowserGetter: () => RemoteBrowserGetter,
|
62
|
-
getImageRender: () => getImageRender
|
73
|
+
getImageRender: () => getImageRender,
|
74
|
+
renderSchema: () => renderSchema
|
63
75
|
});
|
64
76
|
module.exports = __toCommonJS(render_exports);
|
65
|
-
var import_puppeteer = require("./puppeteer");
|
77
|
+
var import_puppeteer = require("./puppeteer.js");
|
66
78
|
var import_puppeteer_core = require("puppeteer-core");
|
67
|
-
var import_fetch = require("
|
79
|
+
var import_fetch = require("../fetch/index.js");
|
80
|
+
var import_v4 = require("zod/v4");
|
81
|
+
const common = import_v4.z.object({
|
82
|
+
defaultWaitTimeout: import_v4.z.number().optional(),
|
83
|
+
waitTimeout: import_v4.z.number().optional()
|
84
|
+
});
|
85
|
+
const cfConfig = import_v4.z.object({
|
86
|
+
cfAccountId: import_v4.z.string().min(1, "Cloudflare account id is required"),
|
87
|
+
cfAPIKey: import_v4.z.string().min(1, "Cloudflare API key is required")
|
88
|
+
});
|
89
|
+
const puppeteerConfig = import_v4.z.object({
|
90
|
+
puppeteerURL: import_v4.z.string().describe("remote puppeteer url, eg: wss://browserless/xxx, https://browserless/xxx").optional()
|
91
|
+
});
|
92
|
+
const strictRenderConfig = import_v4.z.discriminatedUnion("mode", [
|
93
|
+
import_v4.z.object(__spreadValues(__spreadValues({ mode: import_v4.z.literal("cf") }, cfConfig.shape), common.shape)),
|
94
|
+
import_v4.z.object(__spreadValues(__spreadValues({ mode: import_v4.z.literal("puppeteer") }, puppeteerConfig.shape), common.shape)),
|
95
|
+
import_v4.z.object(__spreadValues({ mode: import_v4.z.literal("custom") }, common.shape))
|
96
|
+
]);
|
97
|
+
const renderSchema = strictRenderConfig.and(import_v4.z.object(__spreadValues(__spreadValues(__spreadValues({}, cfConfig.shape), puppeteerConfig.shape), common.shape)).partial());
|
68
98
|
class CFBrowserRendering {
|
69
|
-
constructor(accountId, cfAPIKey) {
|
70
|
-
this.accountId = accountId;
|
71
|
-
this.cfAPIKey = cfAPIKey;
|
99
|
+
constructor(accountId, cfAPIKey, logger) {
|
72
100
|
__publicField(this, "f");
|
73
|
-
this.f =
|
101
|
+
this.f = (0, import_fetch.createFetch)(logger).baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`).extend({
|
74
102
|
headers: {
|
75
103
|
Authorization: `Bearer ${cfAPIKey}`
|
76
104
|
}
|
@@ -79,7 +107,12 @@ class CFBrowserRendering {
|
|
79
107
|
post(body) {
|
80
108
|
return this.f.post("/browser-rendering/screenshot", {
|
81
109
|
responseType: "arrayBuffer",
|
82
|
-
body: __spreadProps(__spreadValues({
|
110
|
+
body: __spreadProps(__spreadValues({
|
111
|
+
"screenshotOptions": {
|
112
|
+
quality: 90,
|
113
|
+
type: "webp"
|
114
|
+
}
|
115
|
+
}, body), {
|
83
116
|
"viewport": {
|
84
117
|
"width": 3840,
|
85
118
|
"height": 2160,
|
@@ -130,23 +163,30 @@ const RemoteBrowserGetter = (addr) => {
|
|
130
163
|
}
|
131
164
|
return () => p.connect(opt);
|
132
165
|
};
|
133
|
-
const getImageRender = (
|
166
|
+
const getImageRender = (config) => {
|
167
|
+
const _a = config, { logger, render, browserGetter } = _a, _cfg = __objRest(_a, ["logger", "render", "browserGetter"]);
|
168
|
+
const cfg = strictRenderConfig.parse(_cfg);
|
134
169
|
if (cfg.mode === "cf") {
|
135
|
-
return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey);
|
170
|
+
return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey, logger);
|
171
|
+
}
|
172
|
+
if (cfg.mode === "custom") {
|
173
|
+
if (!render) throw new Error("please provide custom img render");
|
174
|
+
return render;
|
136
175
|
}
|
137
176
|
if (cfg.puppeteerURL) {
|
138
177
|
return new PuppeteerRendering(RemoteBrowserGetter(cfg.puppeteerURL));
|
139
178
|
}
|
140
|
-
if (
|
141
|
-
return new PuppeteerRendering(
|
179
|
+
if (browserGetter) {
|
180
|
+
return new PuppeteerRendering(browserGetter);
|
142
181
|
}
|
182
|
+
return null;
|
143
183
|
};
|
144
184
|
// Annotate the CommonJS export names for ESM import in node:
|
145
185
|
0 && (module.exports = {
|
146
186
|
CFBrowserRendering,
|
147
|
-
PuppeteerOptions,
|
148
187
|
PuppeteerRendering,
|
149
188
|
RemoteBrowserGetter,
|
150
|
-
getImageRender
|
189
|
+
getImageRender,
|
190
|
+
renderSchema
|
151
191
|
});
|
152
192
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/render/index.ts"],"sourcesContent":["import {html2imgBuffer, type RenderOptions, url2imgBuffer} from \"./puppeteer\";\nimport {Browser, Puppeteer} from \"puppeteer-core\";\nimport {Fetch, createFetch} from \"../fetch\";\nimport { Logger } from \"@/core\";\nimport {z} from \"zod/v4\";\nexport type { RenderOptions as PuppeteerOptions }\n\nexport interface ImageRender {\n html2img: (html: string, opt: RenderOptions) => Promise<Buffer>\n url2img: (url: string, opt: RenderOptions) => Promise<Buffer>\n}\n\nconst common = z.object({\n defaultWaitTimeout: z.number().optional(),\n waitTimeout: z.number().optional(),\n})\n\nconst cfConfig = z.object({\n cfAccountId: z.string().min(1, \"Cloudflare account id is required\"),\n cfAPIKey: z.string().min(1, \"Cloudflare API key is required\"),\n})\n\nconst puppeteerConfig = z.object({\n puppeteerURL: z.string().describe(\"remote puppeteer url, eg: wss://browserless/xxx, https://browserless/xxx\").optional(),\n})\n\nconst strictRenderConfig = z.discriminatedUnion('mode', [\n z.object({ mode: z.literal('cf'), ...cfConfig.shape, ...common.shape }),\n z.object({ mode: z.literal('puppeteer'), ...puppeteerConfig.shape, ...common.shape }),\n z.object({ mode: z.literal('custom'), ...common.shape }),\n])\n\nexport const renderSchema = strictRenderConfig\n .and(z.object({\n ...cfConfig.shape,\n ...puppeteerConfig.shape,\n ...common.shape\n }).partial())\n\nexport type RenderConfig = z.infer<typeof renderSchema>\n\ntype StrictRenderConfig = z.infer<typeof strictRenderConfig>\n\n\n\n\nexport class CFBrowserRendering implements ImageRender {\n f: Fetch\n constructor(accountId: string, cfAPIKey: string, logger: Logger) {\n this.f = createFetch(logger)\n .baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`)\n .extend({\n headers: {\n Authorization: `Bearer ${cfAPIKey}`\n },\n })\n }\n private post(body) {\n return this.f.post('/browser-rendering/screenshot', {\n responseType: 'arrayBuffer',\n body: {\n \"screenshotOptions\": {\n quality: 90,\n type: 'webp'\n },\n ...body,\n \"viewport\": {\n \"width\": 3840,\n \"height\": 2160,\n \"deviceScaleFactor\": 2,\n },\n \"gotoOptions\": {\n \"waitUntil\": \"networkidle0\",\n \"timeout\": 30000\n },\n }\n })\n }\n\n\n\n async html2img (html: string, opt: RenderOptions) {\n const buf = await this.post({html: html, ...opt})\n return Buffer.from(buf)\n }\n async url2img (url: string, opt: RenderOptions) {\n const buf = await this.post({url: url, ...opt})\n return Buffer.from(buf)\n }\n}\n\nexport class PuppeteerRendering implements ImageRender {\n constructor(private browserGetter: () => Promise<Browser>) {\n }\n async html2img (html: string, opt: RenderOptions) {\n return html2imgBuffer(this.browserGetter, html, opt)\n }\n async url2img (html: string, opt: RenderOptions) {\n return url2imgBuffer(this.browserGetter, html, opt)\n }\n}\n\n\nexport const RemoteBrowserGetter = (addr: string) => {\n const p = new Puppeteer()\n let opt = {}\n if(addr.startsWith('ws')) {\n opt = { browserWSEndpoint: addr }\n }else if(addr.startsWith('http')) {\n opt = { browserURL: addr }\n }\n return () => p.connect(opt)\n}\n\ntype ImageRenderCreateOptions = StrictRenderConfig & {\n logger: Logger,\n render?: ImageRender,\n browserGetter?: () => Promise<Browser>\n}\n\n\nexport const getImageRender = (config: ImageRenderCreateOptions) => {\n const { logger, render, browserGetter, ..._cfg} = config\n const cfg = strictRenderConfig.parse(_cfg)\n if(cfg.mode === 'cf') {\n return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey, logger)\n }\n if(cfg.mode === 'custom') {\n if(!render) throw new Error(\"please provide custom img render\")\n return render\n }\n if(cfg.puppeteerURL) {\n return new PuppeteerRendering(RemoteBrowserGetter(cfg.puppeteerURL))\n }\n if(browserGetter) {\n return new PuppeteerRendering(browserGetter)\n }\n return null\n}\n\nexport type CreateImageRenderOption = Parameters<typeof getImageRender>[0]\n"],"mappings":"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","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/render/puppeteer.ts"],"sourcesContent":["import type {Browser, Page, ScreenshotOptions, Viewport} from 'puppeteer-core';\n\n/**\n * Extends Puppeteer's ScreenshotOptions to include an optional viewport setting\n * and a selector for element-specific screenshots.\n */\nexport interface RenderOptions extends ScreenshotOptions {\n /**\n * Sets the viewport of the page.\n */\n viewport?: Viewport;\n /**\n * A CSS selector for an element to screenshot. If provided, the output\n * will be a screenshot of just this element.\n */\n selector?: string;\n /**\n * The maximum time in milliseconds to wait for the selector to appear.\n * If the element is not found within this time, an error will be thrown.\n * Defaults to Puppeteer's default (usually 30000ms).\n */\n timeout?: number;\n}\n\n/**\n * Core rendering function that handles the common logic for taking a screenshot.\n * It's designed to be called by the public-facing wrapper functions.\n * @private\n */\nasync function _renderPageToBuffer(\n browser: Browser | (() => Promise<Browser>),\n options: RenderOptions | undefined,\n loadContent: (page: Page) => Promise<any>,\n defaultScreenshotOptions: ScreenshotOptions,\n defaultViewport: Viewport,\n errorContext?: string,\n): Promise<Buffer> {\n let page: Page | undefined;\n try {\n let b : Browser\n if(typeof browser === \"function\") {\n b = await browser()\n }\n page = await b.newPage();\n\n const viewport = options?.viewport ?? defaultViewport;\n await page.setViewport(viewport);\n\n // The content loading strategy is passed in as a callback.\n await loadContent(page);\n\n const {viewport: _, selector, timeout, ...screenshotOptions} = options || {};\n\n if (selector) {\n const element = await page.waitForSelector(selector, {timeout});\n if (!element) {\n const timeoutMsg = `within the ${timeout || 'default'}ms timeout.`;\n const contextMsg = errorContext ? ` on ${errorContext}` : '';\n throw new Error(`Could not find element with selector: \"${selector}\"${contextMsg} ${timeoutMsg}`);\n }\n return Buffer.from(await element.screenshot(screenshotOptions));\n }\n\n return Buffer.from(await page.screenshot({\n ...defaultScreenshotOptions,\n ...screenshotOptions,\n }))\n } finally {\n if (page) {\n await page.close();\n }\n }\n}\n\n/**\n * Renders an HTML string into an image buffer using a provided Puppeteer browser instance.\n *\n * @param browser The active Puppeteer Browser instance.\n * @param html The HTML content to render.\n * @param options Configuration for the rendering process.\n * @returns A Promise that resolves to a Buffer containing the screenshot image.\n */\nexport async function html2imgBuffer(\n browser: Browser | (() => Promise<Browser>),\n html: string,\n options?: RenderOptions,\n): Promise<Buffer> {\n return _renderPageToBuffer(\n browser,\n options,\n (page) => page.setContent(html, {waitUntil: 'networkidle0'}),\n {fullPage: true},\n {width: 3840, height: 2160, deviceScaleFactor: 2},\n );\n}\n\n/**\n * Captures a screenshot of a given URL and returns it as an image buffer.\n *\n * @param browser The active Puppeteer Browser instance.\n * @param url The URL of the webpage to capture.\n * @param options Configuration for the rendering process.\n * @returns A Promise that resolves to a Buffer containing the screenshot image.\n */\nexport async function url2imgBuffer(\n browser: Browser | (() => Promise<Browser>),\n url: string,\n options?: RenderOptions,\n): Promise<Buffer> {\n return _renderPageToBuffer(\n browser,\n options,\n (page) => page.goto(url, {waitUntil: 'networkidle0'}),\n {fullPage: false},\n {width: 3840, height: 2160, deviceScaleFactor: 2},\n `page: ${url}`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BA,SAAe,oBACb,SACA,SACA,aACA,0BACA,iBACA,cACiB;AAAA;AApCnB;AAqCE,QAAI;AACJ,QAAI;AACF,UAAI;AACJ,UAAG,OAAO,YAAY,YAAY;AAChC,YAAI,MAAM,QAAQ;AAAA,MACpB;AACA,aAAO,MAAM,EAAE,QAAQ;AAEvB,YAAM,YAAW,wCAAS,aAAT,YAAqB;AACtC,YAAM,KAAK,YAAY,QAAQ;AAG/B,YAAM,YAAY,IAAI;AAEtB,YAA+D,gBAAW,CAAC,GAApE,YAAU,GAAG,UAAU,QAnDlC,IAmDmE,IAArB,8BAAqB,IAArB,CAAnC,YAAa,YAAU;AAE9B,UAAI,UAAU;AACZ,cAAM,UAAU,MAAM,KAAK,gBAAgB,UAAU,EAAC,QAAO,CAAC;AAC9D,YAAI,CAAC,SAAS;AACZ,gBAAM,aAAa,cAAc,WAAW,SAAS;AACrD,gBAAM,aAAa,eAAe,OAAO,YAAY,KAAK;AAC1D,gBAAM,IAAI,MAAM,0CAA0C,QAAQ,IAAI,UAAU,IAAI,UAAU,EAAE;AAAA,QAClG;AACA,eAAO,OAAO,KAAK,MAAM,QAAQ,WAAW,iBAAiB,CAAC;AAAA,MAChE;AAEA,aAAO,OAAO,KAAK,MAAM,KAAK,WAAW,kCACpC,2BACA,kBACJ,CAAC;AAAA,IACJ,UAAE;AACA,UAAI,MAAM;AACR,cAAM,KAAK,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA;AAUA,SAAsB,eACpB,SACA,MACA,SACiB;AAAA;AACjB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,CAAC,SAAS,KAAK,WAAW,MAAM,EAAC,WAAW,eAAc,CAAC;AAAA,MAC3D,EAAC,UAAU,KAAI;AAAA,MACf,EAAC,OAAO,MAAM,QAAQ,MAAM,mBAAmB,EAAC;AAAA,IAClD;AAAA,EACF;AAAA;AAUA,SAAsB,cACpB,SACA,KACA,SACiB;AAAA;AACjB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,CAAC,SAAS,KAAK,KAAK,KAAK,EAAC,WAAW,eAAc,CAAC;AAAA,MACpD,EAAC,UAAU,MAAK;AAAA,MAChB,EAAC,OAAO,MAAM,QAAQ,MAAM,mBAAmB,EAAC;AAAA,MAChD,SAAS,GAAG;AAAA,IACd;AAAA,EACF;AAAA;","names":[]}
|
@@ -2,9 +2,22 @@ var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
5
6
|
var __getProtoOf = Object.getPrototypeOf;
|
6
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
7
9
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
10
|
+
var __spreadValues = (a, b) => {
|
11
|
+
for (var prop in b || (b = {}))
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
14
|
+
if (__getOwnPropSymbols)
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
16
|
+
if (__propIsEnum.call(b, prop))
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
18
|
+
}
|
19
|
+
return a;
|
20
|
+
};
|
8
21
|
var __export = (target, all) => {
|
9
22
|
for (var name in all)
|
10
23
|
__defProp(target, name, { get: all[name], enumerable: true });
|
@@ -49,11 +62,27 @@ var __async = (__this, __arguments, generator) => {
|
|
49
62
|
};
|
50
63
|
var s3_exports = {};
|
51
64
|
__export(s3_exports, {
|
52
|
-
S3Service: () => S3Service
|
65
|
+
S3Service: () => S3Service,
|
66
|
+
s3ConfigSchema: () => s3ConfigSchema,
|
67
|
+
strictS3ConfigSchema: () => strictS3ConfigSchema
|
53
68
|
});
|
54
69
|
module.exports = __toCommonJS(s3_exports);
|
55
70
|
var import_client_s3 = require("@aws-sdk/client-s3");
|
56
71
|
var import_crypto = __toESM(require("crypto"));
|
72
|
+
var import_v4 = require("zod/v4");
|
73
|
+
const strictS3ConfigSchema = import_v4.z.object({
|
74
|
+
s3AccessKey: import_v4.z.string(),
|
75
|
+
s3SecretKey: import_v4.z.string(),
|
76
|
+
endpoint: import_v4.z.string(),
|
77
|
+
baseURL: import_v4.z.string(),
|
78
|
+
bucketName: import_v4.z.string(),
|
79
|
+
region: import_v4.z.string().optional(),
|
80
|
+
keyPrefix: import_v4.z.string().optional()
|
81
|
+
});
|
82
|
+
const s3ConfigSchema = import_v4.z.discriminatedUnion("enabled", [
|
83
|
+
import_v4.z.object(__spreadValues({ enabled: import_v4.z.literal(true) }, strictS3ConfigSchema.shape)),
|
84
|
+
import_v4.z.object({ enabled: import_v4.z.literal(false) })
|
85
|
+
]);
|
57
86
|
class S3Service {
|
58
87
|
constructor(config) {
|
59
88
|
__publicField(this, "s3Client");
|
@@ -78,17 +107,7 @@ class S3Service {
|
|
78
107
|
return __async(this, null, function* () {
|
79
108
|
const res = yield fetch(url).then((it) => it.arrayBuffer());
|
80
109
|
const buf = Buffer.from(res);
|
81
|
-
|
82
|
-
const key = this.keyPrefix ? `${this.keyPrefix}-${md5}` : md5;
|
83
|
-
const params = {
|
84
|
-
Bucket: this.bucket,
|
85
|
-
Key: key,
|
86
|
-
Body: buf,
|
87
|
-
ContentType: mimeType != null ? mimeType : "image/png"
|
88
|
-
};
|
89
|
-
const command = new import_client_s3.PutObjectCommand(params);
|
90
|
-
const data = yield this.s3Client.send(command);
|
91
|
-
return `${this.baseURL}${key}`;
|
110
|
+
return this.uploadImg(buf, mimeType);
|
92
111
|
});
|
93
112
|
}
|
94
113
|
uploadImg(buffer, mimeType) {
|
@@ -109,6 +128,8 @@ class S3Service {
|
|
109
128
|
}
|
110
129
|
// Annotate the CommonJS export names for ESM import in node:
|
111
130
|
0 && (module.exports = {
|
112
|
-
S3Service
|
131
|
+
S3Service,
|
132
|
+
s3ConfigSchema,
|
133
|
+
strictS3ConfigSchema
|
113
134
|
});
|
114
135
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/s3/index.ts"],"sourcesContent":["import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'\nimport crypto from 'crypto'\nimport {z} from \"zod/v4\";\n\nexport interface S3Config {\n s3AccessKey: string\n s3SecretKey: string\n endpoint: string\n region?: string\n bucketName: string\n keyPrefix?: string\n baseURL: string\n}\n\n\nexport const strictS3ConfigSchema = z.object({\n s3AccessKey: z.string(),\n s3SecretKey: z.string(),\n endpoint: z.string(),\n baseURL: z.string(),\n bucketName: z.string(),\n region: z.string().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport const s3ConfigSchema = z.discriminatedUnion('enabled', [\n z.object({ enabled: z.literal(true), ...strictS3ConfigSchema.shape }),\n z.object({ enabled: z.literal(false),}),\n])\n\nexport class S3Service {\n private s3Client: S3Client\n private readonly bucket: string\n private readonly keyPrefix: string = ''\n private readonly baseURL: string = ''\n constructor(config: S3Config) {\n const s3 = new S3Client({\n region: config.region ?? 'auto',\n endpoint: config.endpoint,\n credentials: {\n accessKeyId: config.s3AccessKey,\n secretAccessKey: config.s3SecretKey,\n },\n })\n this.bucket = config.bucketName\n this.keyPrefix = config.keyPrefix\n this.baseURL = config.baseURL\n this.s3Client = s3\n }\n async uploadImgWithUrl(url: string, mimeType?: string): Promise<string> {\n const res = await fetch(url).then((it) => it.arrayBuffer())\n const buf = Buffer.from(res)\n return this.uploadImg(buf, mimeType)\n }\n\n async uploadImg(buffer: Buffer, mimeType?: string): Promise<string> {\n // @ts-ignore\n const md5 = crypto.createHash('md5').update(buffer).digest('hex')\n const key = this.keyPrefix ? `${this.keyPrefix}-${md5}` : md5\n const params = {\n Bucket: this.bucket,\n Key: key,\n Body: buffer,\n ContentType: mimeType ?? 'image/png',\n }\n const command = new PutObjectCommand(params)\n const data = await this.s3Client.send(command)\n return `${this.baseURL}${key}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2C;AAC3C,oBAAmB;AACnB,gBAAgB;AAaT,MAAM,uBAAuB,YAAE,OAAO;AAAA,EAC3C,aAAa,YAAE,OAAO;AAAA,EACtB,aAAa,YAAE,OAAO;AAAA,EACtB,UAAU,YAAE,OAAO;AAAA,EACnB,SAAS,YAAE,OAAO;AAAA,EAClB,YAAY,YAAE,OAAO;AAAA,EACrB,QAAQ,YAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,YAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,MAAM,iBAAiB,YAAE,mBAAmB,WAAW;AAAA,EAC5D,YAAE,OAAO,iBAAE,SAAS,YAAE,QAAQ,IAAI,KAAM,qBAAqB,MAAO;AAAA,EACpE,YAAE,OAAO,EAAE,SAAS,YAAE,QAAQ,KAAK,EAAE,CAAC;AACxC,CAAC;AAEM,MAAM,UAAU;AAAA,EAKrB,YAAY,QAAkB;AAJ9B,wBAAQ;AACR,wBAAiB;AACjB,wBAAiB,aAAoB;AACrC,wBAAiB,WAAkB;AAlCrC;AAoCI,UAAM,KAAK,IAAI,0BAAS;AAAA,MACtB,SAAQ,YAAO,WAAP,YAAiB;AAAA,MACzB,UAAU,OAAO;AAAA,MACjB,aAAa;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,iBAAiB,OAAO;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,SAAK,SAAS,OAAO;AACrB,SAAK,YAAY,OAAO;AACxB,SAAK,UAAU,OAAO;AACtB,SAAK,WAAW;AAAA,EAClB;AAAA,EACM,iBAAiB,KAAa,UAAoC;AAAA;AACtE,YAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AAC1D,YAAM,MAAM,OAAO,KAAK,GAAG;AAC3B,aAAO,KAAK,UAAU,KAAK,QAAQ;AAAA,IACrC;AAAA;AAAA,EAEM,UAAU,QAAgB,UAAoC;AAAA;AAElE,YAAM,MAAM,cAAAA,QAAO,WAAW,KAAK,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK;AAChE,YAAM,MAAM,KAAK,YAAY,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK;AAC1D,YAAM,SAAS;AAAA,QACb,QAAQ,KAAK;AAAA,QACb,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa,8BAAY;AAAA,MAC3B;AACA,YAAM,UAAU,IAAI,kCAAiB,MAAM;AAC3C,YAAM,OAAO,MAAM,KAAK,SAAS,KAAK,OAAO;AAC7C,aAAO,GAAG,KAAK,OAAO,GAAG,GAAG;AAAA,IAC9B;AAAA;AACF;","names":["crypto"]}
|