beatsaber-bot-core 0.2.0-rc.13 → 0.2.0-rc.15
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 → bind-beatleader.cjs} +1 -1
- package/dist/cjs/cmd/bind/{bind-beatsaver.js → bind-beatsaver.cjs} +1 -1
- package/dist/cjs/cmd/bind/{bind-id-beatleader.js → bind-id-beatleader.cjs} +2 -2
- package/dist/cjs/cmd/bind/{bind-id-beatsaver.js → bind-id-beatsaver.cjs} +2 -2
- package/dist/cjs/cmd/bind/{bind-scoresaber.js → bind-scoresaber.cjs} +2 -2
- package/dist/cjs/cmd/bind/{index.js → index.cjs} +5 -5
- package/dist/cjs/cmd/bsmap/{id-search.js → id-search.cjs} +3 -3
- package/dist/cjs/cmd/bsmap/{key-search.js → key-search.cjs} +2 -2
- package/dist/cjs/cmd/bsmap/{latest.js → latest.cjs} +2 -2
- package/dist/cjs/cmd/config/index.cjs +1 -0
- package/dist/cjs/cmd/deprecated/{tmp.js → tmp.cjs} +2 -2
- package/dist/cjs/cmd/{index.js → index.cjs} +12 -12
- package/dist/cjs/cmd/index.cjs.map +1 -0
- package/dist/cjs/cmd/{rank.js → rank.cjs} +4 -4
- package/dist/cjs/cmd/{score.js → score.cjs} +6 -6
- package/dist/cjs/cmd/subscribe/{beatleader.js → beatleader.cjs} +2 -2
- package/dist/cjs/cmd/subscribe/{beatsaver.js → beatsaver.cjs} +2 -2
- package/dist/cjs/cmd/subscribe/{id-beatleader-score.js → id-beatleader-score.cjs} +2 -2
- package/dist/cjs/cmd/subscribe/{id-beatsaver-mapper.js → id-beatsaver-mapper.cjs} +2 -2
- package/dist/cjs/cmd/subscribe/{index.js → index.cjs} +6 -6
- package/dist/cjs/cmd/subscribe/{subjoin.js → subjoin.cjs} +3 -3
- package/dist/cjs/cmd/subscribe/{subleave.js → subleave.cjs} +2 -2
- package/dist/cjs/cmd/subscribe/{unsubscribe.js → unsubscribe.cjs} +3 -3
- package/dist/cjs/components/components/{RankDifficulty.js → RankDifficulty.cjs} +2 -2
- package/dist/cjs/components/components/base/{avatar.js → avatar.cjs} +1 -1
- package/dist/cjs/components/components/{bl-rank-score-item.js → bl-rank-score-item.cjs} +4 -4
- package/dist/cjs/components/components/{bl-score-item.js → bl-score-item.cjs} +2 -2
- package/dist/cjs/components/components/bl-score-item.cjs.map +1 -0
- package/dist/cjs/components/components/{characteristic.js → characteristic.cjs} +1 -1
- package/dist/cjs/components/components/{flag.js → flag.cjs} +2 -2
- package/dist/cjs/components/components/icons/{BeatLeader.js → BeatLeader.cjs} +1 -1
- package/dist/cjs/components/components/icons/{RankIcon.js → RankIcon.cjs} +3 -3
- package/dist/cjs/components/components/icons/{ScoreSaberIcon.js → ScoreSaberIcon.cjs} +1 -1
- package/dist/cjs/components/components/{progressbar.js → progressbar.cjs} +1 -1
- package/dist/cjs/components/components/{scoreItem.js → scoreItem.cjs} +2 -2
- package/dist/cjs/components/components/scoreItem.cjs.map +1 -0
- package/dist/cjs/components/components/{scoregraph.js → scoregraph.cjs} +3 -3
- package/dist/cjs/components/components/{skill-graph.js → skill-graph.cjs} +1 -1
- package/dist/cjs/components/components/{socre-badge.js → socre-badge.cjs} +1 -1
- package/dist/cjs/components/components/{ss-rank-score-item.js → ss-rank-score-item.cjs} +4 -4
- package/dist/cjs/components/components/{ss-score-item.js → ss-score-item.cjs} +2 -2
- package/dist/cjs/components/components/ss-score-item.cjs.map +1 -0
- package/dist/cjs/components/{index.js → index.cjs} +2 -2
- package/dist/cjs/components/pages/{bl-player.js → bl-player.cjs} +6 -6
- package/dist/cjs/components/pages/{bl-score-with-rank.js → bl-score-with-rank.cjs} +7 -7
- package/dist/cjs/components/pages/{bl-score.js → bl-score.cjs} +3 -3
- package/dist/cjs/components/pages/{bs-map.js → bs-map.cjs} +4 -4
- package/dist/cjs/components/pages/{index.js → index.cjs} +5 -5
- package/dist/cjs/components/pages/{ss-player.js → ss-player.cjs} +3 -3
- package/dist/cjs/components/utils/bl/{beatleader.js → beatleader.cjs} +1 -1
- package/dist/cjs/components/utils/bl/{blheadset.js → blheadset.cjs} +1 -1
- package/dist/cjs/components/utils/bl/{bsorDecoder.js → bsorDecoder.cjs} +1 -1
- package/dist/cjs/components/utils/bl/{bsorReplayAcc.js → bsorReplayAcc.cjs} +1 -1
- package/dist/cjs/components/utils/bl/{getPart.js → getPart.cjs} +1 -1
- package/dist/cjs/components/utils/bl/{stastic.js → stastic.cjs} +1 -1
- package/dist/cjs/components/utils/{canvas.js → canvas.cjs} +1 -1
- package/dist/cjs/components/utils/{format.js → format.cjs} +5 -5
- package/dist/cjs/components/utils/format.cjs.map +1 -0
- package/dist/cjs/components/utils/{getMods.js → getMods.cjs} +1 -1
- package/dist/cjs/components/utils/{index.js → index.cjs} +1 -1
- package/dist/cjs/components/utils/{qrcode.js → qrcode.cjs} +1 -1
- package/dist/cjs/components/utils/{sleep.js → sleep.cjs} +1 -1
- package/dist/cjs/components/utils/{tag-format.js → tag-format.cjs} +1 -1
- package/dist/cjs/components/utils/{tw-join.js → tw-join.cjs} +1 -1
- package/dist/cjs/config.cjs +55 -0
- package/dist/cjs/config.cjs.map +1 -0
- package/dist/cjs/{index.js → index.cjs} +1 -1
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/infra/errors/{index.js → index.cjs} +1 -1
- package/dist/cjs/infra/i18n/{default.js → default.cjs} +1 -1
- package/dist/cjs/infra/i18n/{index.js → index.cjs} +1 -1
- package/dist/cjs/infra/i18n/{parser.js → parser.cjs} +1 -1
- package/dist/cjs/infra/i18n/{util.js → util.cjs} +1 -1
- package/dist/cjs/infra/{index.js → index.cjs} +4 -4
- package/dist/cjs/infra/index.cjs.map +1 -0
- package/dist/cjs/infra/s3/{index.js → index.cjs} +35 -4
- package/dist/cjs/infra/s3/index.cjs.map +1 -0
- package/dist/cjs/infra/support/{cache.js → cache.cjs} +1 -1
- package/dist/cjs/infra/support/fetch/{error.js → error.cjs} +1 -1
- package/dist/cjs/infra/support/fetch/{index.js → index.cjs} +14 -5
- package/dist/cjs/infra/support/fetch/index.cjs.map +1 -0
- package/dist/cjs/infra/support/fetch/{ofetch.js → ofetch.cjs} +6 -13
- package/dist/cjs/infra/support/fetch/ofetch.cjs.map +1 -0
- package/dist/cjs/infra/support/render/{index.js → index.cjs} +49 -15
- package/dist/cjs/infra/support/render/index.cjs.map +1 -0
- package/dist/cjs/infra/support/render/{puppeteer.js → puppeteer.cjs} +1 -1
- package/dist/cjs/interface/{bot.js → bot.cjs} +1 -1
- package/dist/cjs/interface/cmd/{builder.js → builder.cjs} +2 -2
- package/dist/cjs/interface/cmd/{type.js → type.cjs} +1 -1
- package/dist/cjs/interface/db/{index.js → index.cjs} +1 -1
- package/dist/cjs/interface/db/{models.js → models.cjs} +1 -1
- package/dist/cjs/interface/{index.js → index.cjs} +1 -1
- package/dist/cjs/interface/{logger.js → logger.cjs} +1 -1
- package/dist/cjs/schedules/{index.js → index.cjs} +4 -3
- package/dist/cjs/schedules/index.cjs.map +1 -0
- package/dist/cjs/schedules/{interface.js → interface.cjs} +1 -1
- package/dist/cjs/schedules/{temp.js → temp.cjs} +1 -1
- package/dist/cjs/service/api/base/{aioclient.js → aioclient.cjs} +2 -2
- package/dist/cjs/service/api/base/{blclient.js → blclient.cjs} +2 -2
- package/dist/cjs/service/api/base/{bsclient.js → bsclient.cjs} +3 -3
- package/dist/cjs/service/api/base/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/api/base/{ssclient.js → ssclient.cjs} +3 -3
- package/dist/cjs/service/api/{index.js → index.cjs} +15 -6
- package/dist/cjs/service/api/index.cjs.map +1 -0
- package/dist/cjs/service/api/interfaces/aiosaber/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatleader/{bsor.js → bsor.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatleader/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatleader/{req.js → req.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatleader/{score.js → score.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatleader/{user.js → user.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/{beatsaver/ws.js → beatleader/ws.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatsaver/{alert.js → alert.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatsaver/{bsmap.js → bsmap.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatsaver/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatsaver/{resp.js → resp.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/beatsaver/{user.js → user.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/{scoresaber/ws.js → beatsaver/ws.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/scoresaber/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/scoresaber/{item.js → item.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/scoresaber/{leaderboard.js → leaderboard.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/scoresaber/{resp.js → resp.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/scoresaber/{user.js → user.cjs} +1 -1
- package/dist/cjs/service/api/interfaces/{beatleader/ws.js → scoresaber/ws.cjs} +1 -1
- package/dist/cjs/service/api/{sortScore.js → sortScore.cjs} +1 -1
- package/dist/cjs/service/{index.js → index.cjs} +1 -1
- package/dist/cjs/service/{preference.js → preference.cjs} +1 -1
- package/dist/cjs/service/render/{index.js → index.cjs} +22 -9
- package/dist/cjs/service/render/index.cjs.map +1 -0
- package/dist/cjs/service/render/{interfaces.js → interfaces.cjs} +1 -1
- package/dist/cjs/utils/{index.js → index.cjs} +1 -1
- package/dist/cjs/ws/{beatleader.js → beatleader.cjs} +1 -1
- package/dist/cjs/ws/{beatsaver.js → beatsaver.cjs} +2 -2
- package/dist/cjs/ws/bl-filter.cjs +1 -0
- package/dist/cjs/ws/{handler.js → handler.cjs} +1 -1
- package/dist/cjs/ws/{index.js → index.cjs} +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +1 -1
- package/dist/esm/cmd/bind/index.js +5 -5
- package/dist/esm/cmd/bsmap/id-search.js +2 -2
- package/dist/esm/cmd/bsmap/key-search.js +1 -1
- package/dist/esm/cmd/bsmap/latest.js +1 -1
- package/dist/esm/cmd/deprecated/tmp.js +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 +3 -3
- package/dist/esm/cmd/score.js +5 -5
- package/dist/esm/cmd/subscribe/beatleader.js +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +1 -1
- package/dist/esm/cmd/subscribe/index.js +5 -5
- package/dist/esm/cmd/subscribe/subjoin.js +2 -2
- package/dist/esm/cmd/subscribe/subleave.js +1 -1
- package/dist/esm/cmd/subscribe/unsubscribe.js +2 -2
- package/dist/esm/components/components/RankDifficulty.js +1 -1
- package/dist/esm/components/components/bl-rank-score-item.js +2 -2
- package/dist/esm/components/components/bl-score-item.js +2 -2
- package/dist/esm/components/components/bl-score-item.js.map +1 -1
- package/dist/esm/components/components/icons/RankIcon.js +2 -2
- package/dist/esm/components/components/scoreItem.js +1 -1
- package/dist/esm/components/components/scoreItem.js.map +1 -1
- package/dist/esm/components/components/scoregraph.js +3 -3
- package/dist/esm/components/components/socre-badge.js +1 -1
- package/dist/esm/components/components/ss-rank-score-item.js +2 -2
- package/dist/esm/components/components/ss-score-item.js +2 -2
- package/dist/esm/components/components/ss-score-item.js.map +1 -1
- package/dist/esm/components/pages/bl-player.js +7 -7
- package/dist/esm/components/pages/bl-score-with-rank.js +6 -6
- package/dist/esm/components/pages/bl-score.js +3 -3
- package/dist/esm/components/pages/bs-map.js +5 -5
- package/dist/esm/components/pages/index.js +5 -5
- package/dist/esm/components/pages/ss-player.js +3 -3
- package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/esm/components/utils/format.js +3 -3
- package/dist/esm/components/utils/format.js.map +1 -1
- package/dist/esm/components/utils/index.js +2 -2
- package/dist/esm/config.js +31 -0
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infra/i18n/index.js +2 -2
- package/dist/esm/infra/index.js +5 -5
- package/dist/esm/infra/index.js.map +1 -1
- package/dist/esm/infra/s3/index.js +31 -1
- package/dist/esm/infra/s3/index.js.map +1 -1
- package/dist/esm/infra/support/fetch/index.js +16 -7
- package/dist/esm/infra/support/fetch/index.js.map +1 -1
- package/dist/esm/infra/support/fetch/ofetch.js +4 -10
- package/dist/esm/infra/support/fetch/ofetch.js.map +1 -1
- package/dist/esm/infra/support/render/index.js +47 -13
- package/dist/esm/infra/support/render/index.js.map +1 -1
- package/dist/esm/interface/cmd/builder.js +1 -1
- package/dist/esm/interface/index.js +4 -4
- package/dist/esm/schedules/index.js +4 -3
- package/dist/esm/schedules/index.js.map +1 -1
- package/dist/esm/service/api/base/aioclient.js +1 -1
- package/dist/esm/service/api/base/blclient.js +1 -1
- package/dist/esm/service/api/base/bsclient.js +2 -2
- package/dist/esm/service/api/base/index.js +4 -4
- package/dist/esm/service/api/base/ssclient.js +2 -2
- package/dist/esm/service/api/index.js +16 -7
- package/dist/esm/service/api/index.js.map +1 -1
- package/dist/esm/service/api/interfaces/beatleader/index.js +5 -5
- package/dist/esm/service/api/interfaces/beatsaver/index.js +5 -5
- package/dist/esm/service/api/interfaces/scoresaber/index.js +3 -3
- package/dist/esm/service/index.js +2 -2
- package/dist/esm/service/render/index.js +22 -9
- package/dist/esm/service/render/index.js.map +1 -1
- package/dist/esm/ws/beatsaver.js +1 -1
- package/dist/esm/ws/index.js +3 -3
- package/dist/types/index.d.ts +205 -123
- package/package.json +27 -17
- package/dist/cjs/cmd/config/index.js +0 -1
- package/dist/cjs/cmd/index.js.map +0 -1
- package/dist/cjs/components/components/bl-score-item.js.map +0 -1
- package/dist/cjs/components/components/scoreItem.js.map +0 -1
- package/dist/cjs/components/components/ss-score-item.js.map +0 -1
- package/dist/cjs/components/utils/format.js.map +0 -1
- package/dist/cjs/config.js +0 -16
- package/dist/cjs/config.js.map +0 -1
- package/dist/cjs/index.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/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/schedules/index.js.map +0 -1
- package/dist/cjs/service/api/index.js.map +0 -1
- package/dist/cjs/service/render/index.js.map +0 -1
- package/dist/cjs/ws/bl-filter.js +0 -1
- /package/dist/cjs/cmd/bind/{bind-beatleader.js.map → bind-beatleader.cjs.map} +0 -0
- /package/dist/cjs/cmd/bind/{bind-beatsaver.js.map → bind-beatsaver.cjs.map} +0 -0
- /package/dist/cjs/cmd/bind/{bind-id-beatleader.js.map → bind-id-beatleader.cjs.map} +0 -0
- /package/dist/cjs/cmd/bind/{bind-id-beatsaver.js.map → bind-id-beatsaver.cjs.map} +0 -0
- /package/dist/cjs/cmd/bind/{bind-scoresaber.js.map → bind-scoresaber.cjs.map} +0 -0
- /package/dist/cjs/cmd/bind/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/cmd/bsmap/{id-search.js.map → id-search.cjs.map} +0 -0
- /package/dist/cjs/cmd/bsmap/{key-search.js.map → key-search.cjs.map} +0 -0
- /package/dist/cjs/cmd/bsmap/{latest.js.map → latest.cjs.map} +0 -0
- /package/dist/cjs/cmd/config/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/cmd/deprecated/{tmp.js.map → tmp.cjs.map} +0 -0
- /package/dist/cjs/cmd/{rank.js.map → rank.cjs.map} +0 -0
- /package/dist/cjs/cmd/{score.js.map → score.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{beatleader.js.map → beatleader.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{beatsaver.js.map → beatsaver.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{id-beatleader-score.js.map → id-beatleader-score.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{id-beatsaver-mapper.js.map → id-beatsaver-mapper.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{subjoin.js.map → subjoin.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{subleave.js.map → subleave.cjs.map} +0 -0
- /package/dist/cjs/cmd/subscribe/{unsubscribe.js.map → unsubscribe.cjs.map} +0 -0
- /package/dist/cjs/components/components/{RankDifficulty.js.map → RankDifficulty.cjs.map} +0 -0
- /package/dist/cjs/components/components/base/{avatar.js.map → avatar.cjs.map} +0 -0
- /package/dist/cjs/components/components/{bl-rank-score-item.js.map → bl-rank-score-item.cjs.map} +0 -0
- /package/dist/cjs/components/components/{characteristic.js.map → characteristic.cjs.map} +0 -0
- /package/dist/cjs/components/components/{flag.js.map → flag.cjs.map} +0 -0
- /package/dist/cjs/components/components/icons/{BeatLeader.js.map → BeatLeader.cjs.map} +0 -0
- /package/dist/cjs/components/components/icons/{RankIcon.js.map → RankIcon.cjs.map} +0 -0
- /package/dist/cjs/components/components/icons/{ScoreSaberIcon.js.map → ScoreSaberIcon.cjs.map} +0 -0
- /package/dist/cjs/components/components/{progressbar.js.map → progressbar.cjs.map} +0 -0
- /package/dist/cjs/components/components/{scoregraph.js.map → scoregraph.cjs.map} +0 -0
- /package/dist/cjs/components/components/{skill-graph.js.map → skill-graph.cjs.map} +0 -0
- /package/dist/cjs/components/components/{socre-badge.js.map → socre-badge.cjs.map} +0 -0
- /package/dist/cjs/components/components/{ss-rank-score-item.js.map → ss-rank-score-item.cjs.map} +0 -0
- /package/dist/cjs/components/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/components/pages/{bl-player.js.map → bl-player.cjs.map} +0 -0
- /package/dist/cjs/components/pages/{bl-score-with-rank.js.map → bl-score-with-rank.cjs.map} +0 -0
- /package/dist/cjs/components/pages/{bl-score.js.map → bl-score.cjs.map} +0 -0
- /package/dist/cjs/components/pages/{bs-map.js.map → bs-map.cjs.map} +0 -0
- /package/dist/cjs/components/pages/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/components/pages/{ss-player.js.map → ss-player.cjs.map} +0 -0
- /package/dist/cjs/components/utils/bl/{beatleader.js.map → beatleader.cjs.map} +0 -0
- /package/dist/cjs/components/utils/bl/{blheadset.js.map → blheadset.cjs.map} +0 -0
- /package/dist/cjs/components/utils/bl/{bsorDecoder.js.map → bsorDecoder.cjs.map} +0 -0
- /package/dist/cjs/components/utils/bl/{bsorReplayAcc.js.map → bsorReplayAcc.cjs.map} +0 -0
- /package/dist/cjs/components/utils/bl/{getPart.js.map → getPart.cjs.map} +0 -0
- /package/dist/cjs/components/utils/bl/{stastic.js.map → stastic.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{canvas.js.map → canvas.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{getMods.js.map → getMods.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{qrcode.js.map → qrcode.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{sleep.js.map → sleep.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{tag-format.js.map → tag-format.cjs.map} +0 -0
- /package/dist/cjs/components/utils/{tw-join.js.map → tw-join.cjs.map} +0 -0
- /package/dist/cjs/infra/errors/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/infra/i18n/{default.js.map → default.cjs.map} +0 -0
- /package/dist/cjs/infra/i18n/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/infra/i18n/{parser.js.map → parser.cjs.map} +0 -0
- /package/dist/cjs/infra/i18n/{util.js.map → util.cjs.map} +0 -0
- /package/dist/cjs/infra/support/{cache.js.map → cache.cjs.map} +0 -0
- /package/dist/cjs/infra/support/fetch/{error.js.map → error.cjs.map} +0 -0
- /package/dist/cjs/infra/support/render/{puppeteer.js.map → puppeteer.cjs.map} +0 -0
- /package/dist/cjs/interface/{bot.js.map → bot.cjs.map} +0 -0
- /package/dist/cjs/interface/cmd/{builder.js.map → builder.cjs.map} +0 -0
- /package/dist/cjs/interface/cmd/{type.js.map → type.cjs.map} +0 -0
- /package/dist/cjs/interface/db/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/interface/db/{models.js.map → models.cjs.map} +0 -0
- /package/dist/cjs/interface/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/interface/{logger.js.map → logger.cjs.map} +0 -0
- /package/dist/cjs/schedules/{interface.js.map → interface.cjs.map} +0 -0
- /package/dist/cjs/schedules/{temp.js.map → temp.cjs.map} +0 -0
- /package/dist/cjs/service/api/base/{aioclient.js.map → aioclient.cjs.map} +0 -0
- /package/dist/cjs/service/api/base/{blclient.js.map → blclient.cjs.map} +0 -0
- /package/dist/cjs/service/api/base/{bsclient.js.map → bsclient.cjs.map} +0 -0
- /package/dist/cjs/service/api/base/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/api/base/{ssclient.js.map → ssclient.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/aiosaber/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatleader/{bsor.js.map → bsor.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatleader/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatleader/{req.js.map → req.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatleader/{score.js.map → score.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatleader/{user.js.map → user.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatleader/{ws.js.map → ws.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatsaver/{alert.js.map → alert.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatsaver/{bsmap.js.map → bsmap.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatsaver/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatsaver/{resp.js.map → resp.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatsaver/{user.js.map → user.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/beatsaver/{ws.js.map → ws.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/scoresaber/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/scoresaber/{item.js.map → item.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/scoresaber/{leaderboard.js.map → leaderboard.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/scoresaber/{resp.js.map → resp.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/scoresaber/{user.js.map → user.cjs.map} +0 -0
- /package/dist/cjs/service/api/interfaces/scoresaber/{ws.js.map → ws.cjs.map} +0 -0
- /package/dist/cjs/service/api/{sortScore.js.map → sortScore.cjs.map} +0 -0
- /package/dist/cjs/service/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/service/{preference.js.map → preference.cjs.map} +0 -0
- /package/dist/cjs/service/render/{interfaces.js.map → interfaces.cjs.map} +0 -0
- /package/dist/cjs/utils/{index.js.map → index.cjs.map} +0 -0
- /package/dist/cjs/ws/{beatleader.js.map → beatleader.cjs.map} +0 -0
- /package/dist/cjs/ws/{beatsaver.js.map → beatsaver.cjs.map} +0 -0
- /package/dist/cjs/ws/{bl-filter.js.map → bl-filter.cjs.map} +0 -0
- /package/dist/cjs/ws/{handler.js.map → handler.cjs.map} +0 -0
- /package/dist/cjs/ws/{index.js.map → index.cjs.map} +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
2
|
-
import RankIcon from "../components/icons/RankIcon";
|
2
|
+
import RankIcon from "../components/icons/RankIcon.js";
|
3
3
|
import {
|
4
4
|
Calendar,
|
5
5
|
Clock,
|
@@ -11,10 +11,10 @@ import {
|
|
11
11
|
ThumbsUp
|
12
12
|
} from "lucide-react";
|
13
13
|
import dayjs from "dayjs";
|
14
|
-
import { diffConv, formatNumber, formatTime, getTag } from "../utils";
|
15
|
-
import { getMods } from "../utils/getMods";
|
16
|
-
import Progressbar from "../components/progressbar";
|
17
|
-
import { CharacteristicIcon } from "../components/characteristic";
|
14
|
+
import { diffConv, formatNumber, formatTime, getTag } from "../utils/index.js";
|
15
|
+
import { getMods } from "../utils/getMods.js";
|
16
|
+
import Progressbar from "../components/progressbar.js";
|
17
|
+
import { CharacteristicIcon } from "../components/characteristic.js";
|
18
18
|
function BSMapShare({
|
19
19
|
bsMap,
|
20
20
|
bsMapQrUrl,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
2
|
-
import BSMapShare from "./bs-map";
|
3
|
-
import SSPlayerPage from "./ss-player";
|
4
|
-
import BLPlayerPage from "./bl-player";
|
5
|
-
import { BLScore } from "./bl-score";
|
6
|
-
import BLRankScore from "../../components/pages/bl-score-with-rank";
|
2
|
+
import BSMapShare from "./bs-map.js";
|
3
|
+
import SSPlayerPage from "./ss-player.js";
|
4
|
+
import BLPlayerPage from "./bl-player.js";
|
5
|
+
import { BLScore } from "./bl-score.js";
|
6
|
+
import BLRankScore from "../../components/pages/bl-score-with-rank.js";
|
7
7
|
const getBSMapComp = (bsMap, bsMapQrUrl, previewQrUrl) => {
|
8
8
|
return /* @__PURE__ */ jsx(
|
9
9
|
BSMapShare,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
2
|
-
import Flags, { EarchIcon } from "../components/flag";
|
3
|
-
import { twJoin } from "../utils/tw-join";
|
4
|
-
import ScoreItem from "../components/ss-score-item";
|
2
|
+
import Flags, { EarchIcon } from "../components/flag.js";
|
3
|
+
import { twJoin } from "../utils/tw-join.js";
|
4
|
+
import ScoreItem from "../components/ss-score-item.js";
|
5
5
|
function SSPlayerPage({
|
6
6
|
leaderItems,
|
7
7
|
scoreUser,
|
@@ -29,8 +29,8 @@ var __objRest = (source, exclude) => {
|
|
29
29
|
}
|
30
30
|
return target;
|
31
31
|
};
|
32
|
-
import { NoteEventType } from "./bsorDecoder";
|
33
|
-
import { createDistanceWeightFunction } from "./beatleader";
|
32
|
+
import { NoteEventType } from "./bsorDecoder.js";
|
33
|
+
import { createDistanceWeightFunction } from "./beatleader.js";
|
34
34
|
const NoteScoringType = {
|
35
35
|
Ignore: -1,
|
36
36
|
NoScore: 0,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import dayjs from "dayjs";
|
2
|
-
import duration from "dayjs/plugin/duration";
|
3
|
-
import relativeTime from "dayjs/plugin/relativeTime";
|
4
|
-
import zh from "dayjs/locale/zh-cn";
|
2
|
+
import duration from "dayjs/plugin/duration.js";
|
3
|
+
import relativeTime from "dayjs/plugin/relativeTime.js";
|
4
|
+
import zh from "dayjs/locale/zh-cn.js";
|
5
5
|
dayjs.extend(duration);
|
6
6
|
dayjs.extend(relativeTime);
|
7
7
|
const formatDuration = (duration2) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/utils/format.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport duration from 'dayjs/plugin/duration'\nimport relativeTime from 'dayjs/plugin/relativeTime'\nimport zh from 'dayjs/locale/zh-cn'\ndayjs.extend(duration)\ndayjs.extend(relativeTime)\nexport const formatDuration = (duration: number) => {\n const d = dayjs.duration(duration, 'second')\n return d.format('m[m]s[s]')\n}\n\n// export const formatDuration = (duration: number) => {\n// return dayjs.duration(duration,'seconds').format('mm:ss')\n// }\n\nexport const formatTime = (time: string) => {\n return dayjs(time).locale(zh).fromNow()\n}\n\nexport function formatRelativeTimeByDay(time: string | number | Date) {\n let res = dayjs().diff(dayjs(time), 'd')\n let unit = 'd'\n if (res <= 0) {\n res = dayjs().diff(dayjs(time), 'h')\n unit = 'h'\n }\n if (res <= 0) {\n res = dayjs().diff(dayjs(time), 'm')\n unit = 'm'\n }\n return `${res}${unit}`\n}\n\nexport const formatNumber = (number: number) => {\n // 1.11w\n try {\n if (number > 10000) {\n return `${(number / 10000.0).toFixed(2)}w`\n }\n // 1.11k\n if (number > 1000) {\n return `${(number / 1000.0).toFixed(2)}k`\n }\n return number.toString()\n } catch (e) {\n return '0'\n }\n}\n\nexport function numberWithCommas(x: number) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n}\nexport const formatDate = (time: Date | undefined, template?: string) => {\n if (!time) return undefined\n return dayjs(time).format(template ?? 'YYYY-MM-DD')\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,OAAO,cAAc;AACrB,OAAO,kBAAkB;AACzB,OAAO,QAAQ;AACf,MAAM,OAAO,QAAQ;AACrB,MAAM,OAAO,YAAY;AAClB,MAAM,iBAAiB,CAACA,cAAqB;AAClD,QAAM,IAAI,MAAM,SAASA,WAAU,QAAQ;AAC3C,SAAO,EAAE,OAAO,UAAU;AAC5B;AAMO,MAAM,aAAa,CAAC,SAAiB;AAC1C,SAAO,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ;AACxC;AAEO,SAAS,wBAAwB,MAA8B;AACpE,MAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG;AACvC,MAAI,OAAO;AACX,MAAI,OAAO,GAAG;AACZ,UAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG;AACnC,WAAO;AAAA,EACT;AACA,MAAI,OAAO,GAAG;AACZ,UAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG;AACnC,WAAO;AAAA,EACT;AACA,SAAO,GAAG,GAAG,GAAG,IAAI;AACtB;AAEO,MAAM,eAAe,CAAC,WAAmB;AAE9C,MAAI;AACF,QAAI,SAAS,KAAO;AAClB,aAAO,IAAI,SAAS,KAAS,QAAQ,CAAC,CAAC;AAAA,IACzC;AAEA,QAAI,SAAS,KAAM;AACjB,aAAO,IAAI,SAAS,KAAQ,QAAQ,CAAC,CAAC;AAAA,IACxC;AACA,WAAO,OAAO,SAAS;AAAA,EACzB,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEO,SAAS,iBAAiB,GAAW;AAC1C,SAAO,EAAE,SAAS,EAAE,QAAQ,yBAAyB,GAAG;AAC1D;AACO,MAAM,aAAa,CAAC,MAAwB,aAAsB;AACvE,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,MAAM,IAAI,EAAE,OAAO,8BAAY,YAAY;AACpD;","names":["duration"]}
|
1
|
+
{"version":3,"sources":["../../../../src/components/utils/format.ts"],"sourcesContent":["import dayjs from 'dayjs'\nimport duration from 'dayjs/plugin/duration.js'\nimport relativeTime from 'dayjs/plugin/relativeTime.js'\nimport zh from 'dayjs/locale/zh-cn.js'\ndayjs.extend(duration)\ndayjs.extend(relativeTime)\nexport const formatDuration = (duration: number) => {\n const d = dayjs.duration(duration, 'second')\n return d.format('m[m]s[s]')\n}\n\n// export const formatDuration = (duration: number) => {\n// return dayjs.duration(duration,'seconds').format('mm:ss')\n// }\n\nexport const formatTime = (time: string) => {\n return dayjs(time).locale(zh).fromNow()\n}\n\nexport function formatRelativeTimeByDay(time: string | number | Date) {\n let res = dayjs().diff(dayjs(time), 'd')\n let unit = 'd'\n if (res <= 0) {\n res = dayjs().diff(dayjs(time), 'h')\n unit = 'h'\n }\n if (res <= 0) {\n res = dayjs().diff(dayjs(time), 'm')\n unit = 'm'\n }\n return `${res}${unit}`\n}\n\nexport const formatNumber = (number: number) => {\n // 1.11w\n try {\n if (number > 10000) {\n return `${(number / 10000.0).toFixed(2)}w`\n }\n // 1.11k\n if (number > 1000) {\n return `${(number / 1000.0).toFixed(2)}k`\n }\n return number.toString()\n } catch (e) {\n return '0'\n }\n}\n\nexport function numberWithCommas(x: number) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n}\nexport const formatDate = (time: Date | undefined, template?: string) => {\n if (!time) return undefined\n return dayjs(time).format(template ?? 'YYYY-MM-DD')\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,OAAO,cAAc;AACrB,OAAO,kBAAkB;AACzB,OAAO,QAAQ;AACf,MAAM,OAAO,QAAQ;AACrB,MAAM,OAAO,YAAY;AAClB,MAAM,iBAAiB,CAACA,cAAqB;AAClD,QAAM,IAAI,MAAM,SAASA,WAAU,QAAQ;AAC3C,SAAO,EAAE,OAAO,UAAU;AAC5B;AAMO,MAAM,aAAa,CAAC,SAAiB;AAC1C,SAAO,MAAM,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ;AACxC;AAEO,SAAS,wBAAwB,MAA8B;AACpE,MAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG;AACvC,MAAI,OAAO;AACX,MAAI,OAAO,GAAG;AACZ,UAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG;AACnC,WAAO;AAAA,EACT;AACA,MAAI,OAAO,GAAG;AACZ,UAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG;AACnC,WAAO;AAAA,EACT;AACA,SAAO,GAAG,GAAG,GAAG,IAAI;AACtB;AAEO,MAAM,eAAe,CAAC,WAAmB;AAE9C,MAAI;AACF,QAAI,SAAS,KAAO;AAClB,aAAO,IAAI,SAAS,KAAS,QAAQ,CAAC,CAAC;AAAA,IACzC;AAEA,QAAI,SAAS,KAAM;AACjB,aAAO,IAAI,SAAS,KAAQ,QAAQ,CAAC,CAAC;AAAA,IACxC;AACA,WAAO,OAAO,SAAS;AAAA,EACzB,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEO,SAAS,iBAAiB,GAAW;AAC1C,SAAO,EAAE,SAAS,EAAE,QAAQ,yBAAyB,GAAG;AAC1D;AACO,MAAM,aAAa,CAAC,MAAwB,aAAsB;AACvE,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,MAAM,IAAI,EAAE,OAAO,8BAAY,YAAY;AACpD;","names":["duration"]}
|
package/dist/esm/config.js
CHANGED
@@ -1 +1,32 @@
|
|
1
|
+
import { renderSchema, s3ConfigSchema } from "./infra/index.js";
|
2
|
+
import { z } from "zod/v4";
|
3
|
+
const cronSchema = z.object({
|
4
|
+
enabled: z.boolean().optional().default(false),
|
5
|
+
cron: z.string().optional()
|
6
|
+
}).optional().default({ enabled: false });
|
7
|
+
const configSchema = z.object({
|
8
|
+
s3: s3ConfigSchema.default({ enabled: false }).optional(),
|
9
|
+
render: renderSchema,
|
10
|
+
beatsaver: z.object({
|
11
|
+
host: z.string().default("https://api.beatsaver.com").optional(),
|
12
|
+
wsURL: z.string().default("wss://ws.beatsaver.com/maps").optional(),
|
13
|
+
oauthClientId: z.string().optional(),
|
14
|
+
oauthClientSecret: z.string().optional()
|
15
|
+
}).default({
|
16
|
+
host: "https://api.beatsaver.com",
|
17
|
+
wsURL: "wss://ws.beatsaver.com/maps"
|
18
|
+
}).optional(),
|
19
|
+
beatleader: z.object({
|
20
|
+
oauthClientId: z.string().optional(),
|
21
|
+
oauthClientSecret: z.string().optional()
|
22
|
+
}).default({}).optional(),
|
23
|
+
cron: z.object({
|
24
|
+
temp: cronSchema
|
25
|
+
}).default({
|
26
|
+
temp: { enabled: false }
|
27
|
+
}).optional()
|
28
|
+
});
|
29
|
+
export {
|
30
|
+
configSchema
|
31
|
+
};
|
1
32
|
//# sourceMappingURL=config.js.map
|
package/dist/esm/config.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
1
|
+
{"version":3,"sources":["../../src/config.ts"],"sourcesContent":["import { renderSchema, s3ConfigSchema } from '@/infra'\nimport {z} from 'zod/v4'\n\nconst cronSchema = z.object({\n enabled: z.boolean().optional().default(false),\n cron: z.string().optional(),\n}).optional().default({ enabled: false })\n\nexport const configSchema = z.object({\n s3: s3ConfigSchema.default({ enabled: false }).optional(),\n render: renderSchema,\n beatsaver: z.object({\n host: z.string().default('https://api.beatsaver.com').optional(),\n wsURL: z.string().default('wss://ws.beatsaver.com/maps').optional(),\n oauthClientId: z.string().optional(),\n oauthClientSecret: z.string().optional(),\n }).default({\n host: 'https://api.beatsaver.com',\n wsURL: 'wss://ws.beatsaver.com/maps',\n }).optional(),\n beatleader: z.object({\n oauthClientId: z.string().optional(),\n oauthClientSecret: z.string().optional(),\n }).default({}).optional(),\n cron: z.object({\n temp: cronSchema,\n }).default({\n temp: {enabled: false},\n }).optional()\n})\n\nexport type Config = z.infer<typeof configSchema>\n"],"mappings":"AAAA,SAAS,cAAc,sBAAsB;AAC7C,SAAQ,SAAQ;AAEhB,MAAM,aAAa,EAAE,OAAO;AAAA,EAC1B,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,KAAK;AAAA,EAC7C,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,MAAM,CAAC;AAEjC,MAAM,eAAe,EAAE,OAAO;AAAA,EACnC,IAAI,eAAe,QAAQ,EAAE,SAAS,MAAM,CAAC,EAAE,SAAS;AAAA,EACxD,QAAQ;AAAA,EACR,WAAW,EAAE,OAAO;AAAA,IAClB,MAAM,EAAE,OAAO,EAAE,QAAQ,2BAA2B,EAAE,SAAS;AAAA,IAC/D,OAAO,EAAE,OAAO,EAAE,QAAQ,6BAA6B,EAAE,SAAS;AAAA,IAClE,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,mBAAmB,EAAE,OAAO,EAAE,SAAS;AAAA,EACzC,CAAC,EAAE,QAAQ;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACT,CAAC,EAAE,SAAS;AAAA,EACZ,YAAY,EAAE,OAAO;AAAA,IACnB,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,mBAAmB,EAAE,OAAO,EAAE,SAAS;AAAA,EACzC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS;AAAA,EACxB,MAAM,EAAE,OAAO;AAAA,IACb,MAAM;AAAA,EACR,CAAC,EAAE,QAAQ;AAAA,IACT,MAAM,EAAC,SAAS,MAAK;AAAA,EACvB,CAAC,EAAE,SAAS;AACd,CAAC;","names":[]}
|
package/dist/esm/index.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
import { botCommands } from "./cmd";
|
2
|
-
import { getScheduleTasks } from "./schedules";
|
3
|
-
export * from "./interface";
|
4
|
-
export * from "./schedules";
|
5
|
-
export * from "./config";
|
6
|
-
export * from "./cmd";
|
7
|
-
export * from "./ws";
|
8
|
-
export * from "./utils";
|
9
|
-
export * from "./service";
|
10
|
-
export * from "./infra";
|
1
|
+
import { botCommands } from "./cmd/index.js";
|
2
|
+
import { getScheduleTasks } from "./schedules/index.js";
|
3
|
+
export * from "./interface/index.js";
|
4
|
+
export * from "./schedules/index.js";
|
5
|
+
export * from "./config.js";
|
6
|
+
export * from "./cmd/index.js";
|
7
|
+
export * from "./ws/index.js";
|
8
|
+
export * from "./utils/index.js";
|
9
|
+
export * from "./service/index.js";
|
10
|
+
export * from "./infra/index.js";
|
11
11
|
const getBot = (config) => ({
|
12
12
|
commands: botCommands(),
|
13
13
|
schedule: getScheduleTasks(config)
|
package/dist/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {botCommands} from \"./cmd\";\nimport {getScheduleTasks} from \"./schedules\";\nimport {Config} from \"./config\";\n\nexport * from './interface'\nexport * from './schedules'\nexport * from './config'\nexport * from './cmd'\nexport * from './ws'\nexport * from './utils'\nexport * from './service'\nexport * from './infra'\n\nexport const getBot = <T>(config: Config) => ({\n commands: botCommands<T>(),\n schedule: getScheduleTasks(config),\n})\n\n"],"mappings":"AAAA,SAAQ,mBAAkB;AAC1B,SAAQ,wBAAuB;AAG/B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEP,MAAM,SAAS,CAAI,YAAoB;AAAA,EAC5C,UAAU,YAAe;AAAA,EACzB,UAAU,iBAAiB,MAAM;AACnC;","names":[]}
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {botCommands} from \"./cmd\";\nimport {getScheduleTasks} from \"./schedules\";\nimport type {Config} from \"./config\";\n\nexport * from './interface'\nexport * from './schedules'\nexport * from './config'\nexport * from './cmd'\nexport * from './ws'\nexport * from './utils'\nexport * from './service'\nexport * from './infra'\n\nexport const getBot = <T>(config: Config) => ({\n commands: botCommands<T>(),\n schedule: getScheduleTasks(config),\n})\n\n"],"mappings":"AAAA,SAAQ,mBAAkB;AAC1B,SAAQ,wBAAuB;AAG/B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEP,MAAM,SAAS,CAAI,YAAoB;AAAA,EAC5C,UAAU,YAAe;AAAA,EACzB,UAAU,iBAAiB,MAAM;AACnC;","names":[]}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
var __defProp = Object.defineProperty;
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4
|
-
import { interpolate } from "./parser";
|
5
|
-
import { interpolateString } from "./util";
|
4
|
+
import { interpolate } from "./parser.js";
|
5
|
+
import { interpolateString } from "./util.js";
|
6
6
|
class I18nService {
|
7
7
|
constructor(config) {
|
8
8
|
__publicField(this, "obj", {});
|
package/dist/esm/infra/index.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
export * from "./support/render";
|
2
|
-
import { I18nService } from "./i18n";
|
3
|
-
import { S3Service,
|
1
|
+
export * from "./support/render/index.js";
|
2
|
+
import { I18nService } from "./i18n/index.js";
|
3
|
+
import { S3Service, s3ConfigSchema } from "./s3/index.js";
|
4
4
|
export {
|
5
5
|
I18nService,
|
6
|
-
|
7
|
-
|
6
|
+
S3Service,
|
7
|
+
s3ConfigSchema
|
8
8
|
};
|
9
9
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/infra/index.ts"],"sourcesContent":["export * from './support/render'\nexport { I18nService } from './i18n'\nexport { S3Service, S3Config } from './s3'\n"],"mappings":"AAAA,cAAc;AACd,SAAS,mBAAmB;AAC5B,SAAS,
|
1
|
+
{"version":3,"sources":["../../../src/infra/index.ts"],"sourcesContent":["export * from './support/render'\nexport { I18nService } from './i18n'\nexport { S3Service, type S3Config, s3ConfigSchema } from './s3'\n"],"mappings":"AAAA,cAAc;AACd,SAAS,mBAAmB;AAC5B,SAAS,WAA0B,sBAAsB;","names":[]}
|
@@ -1,5 +1,19 @@
|
|
1
1
|
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
2
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
6
|
+
var __spreadValues = (a, b) => {
|
7
|
+
for (var prop in b || (b = {}))
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
10
|
+
if (__getOwnPropSymbols)
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
12
|
+
if (__propIsEnum.call(b, prop))
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
14
|
+
}
|
15
|
+
return a;
|
16
|
+
};
|
3
17
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
4
18
|
var __async = (__this, __arguments, generator) => {
|
5
19
|
return new Promise((resolve, reject) => {
|
@@ -23,6 +37,20 @@ var __async = (__this, __arguments, generator) => {
|
|
23
37
|
};
|
24
38
|
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
|
25
39
|
import crypto from "crypto";
|
40
|
+
import { z } from "zod/v4";
|
41
|
+
const strictS3ConfigSchema = z.object({
|
42
|
+
s3AccessKey: z.string(),
|
43
|
+
s3SecretKey: z.string(),
|
44
|
+
endpoint: z.string(),
|
45
|
+
baseURL: z.string(),
|
46
|
+
bucketName: z.string(),
|
47
|
+
region: z.string().optional(),
|
48
|
+
keyPrefix: z.string().optional()
|
49
|
+
});
|
50
|
+
const s3ConfigSchema = z.discriminatedUnion("enabled", [
|
51
|
+
z.object(__spreadValues({ enabled: z.literal(true) }, strictS3ConfigSchema.shape)),
|
52
|
+
z.object({ enabled: z.literal(false) })
|
53
|
+
]);
|
26
54
|
class S3Service {
|
27
55
|
constructor(config) {
|
28
56
|
__publicField(this, "s3Client");
|
@@ -77,6 +105,8 @@ class S3Service {
|
|
77
105
|
}
|
78
106
|
}
|
79
107
|
export {
|
80
|
-
S3Service
|
108
|
+
S3Service,
|
109
|
+
s3ConfigSchema,
|
110
|
+
strictS3ConfigSchema
|
81
111
|
};
|
82
112
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/infra/s3/index.ts"],"sourcesContent":["import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'\nimport crypto from 'crypto'\n\nexport interface S3Config {\n s3AccessKey: string\n s3SecretKey: string\n endpoint: string\n region
|
1
|
+
{"version":3,"sources":["../../../../src/infra/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\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 // @ts-ignore\n const md5 = crypto.createHash('md5').update(buf).digest('hex')\n const key = this.keyPrefix ? `${this.keyPrefix}-${md5}` : md5\n const params = {\n Bucket: this.bucket,\n Key: key,\n Body: buf,\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 async uploadImg(buffer: Buffer, mimeType?: string): Promise<string> {\n // md5 digest\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,SAAS,UAAU,wBAAwB;AAC3C,OAAO,YAAY;AACnB,SAAQ,SAAQ;AAcT,MAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,aAAa,EAAE,OAAO;AAAA,EACtB,aAAa,EAAE,OAAO;AAAA,EACtB,UAAU,EAAE,OAAO;AAAA,EACnB,SAAS,EAAE,OAAO;AAAA,EAClB,YAAY,EAAE,OAAO;AAAA,EACrB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,MAAM,iBAAiB,EAAE,mBAAmB,WAAW;AAAA,EAC5D,EAAE,OAAO,iBAAE,SAAS,EAAE,QAAQ,IAAI,KAAM,qBAAqB,MAAO;AAAA,EACpE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,EAAE,CAAC;AACxC,CAAC;AAEM,MAAM,UAAU;AAAA,EAKrB,YAAY,QAAkB;AAJ9B,wBAAQ;AACR,wBAAiB;AACjB,wBAAiB,aAAoB;AACrC,wBAAiB,WAAkB;AAnCrC;AAqCI,UAAM,KAAK,IAAI,SAAS;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;AAE3B,YAAM,MAAM,OAAO,WAAW,KAAK,EAAE,OAAO,GAAG,EAAE,OAAO,KAAK;AAC7D,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,iBAAiB,MAAM;AAC3C,YAAM,OAAO,MAAM,KAAK,SAAS,KAAK,OAAO;AAC7C,aAAO,GAAG,KAAK,OAAO,GAAG,GAAG;AAAA,IAC9B;AAAA;AAAA,EACM,UAAU,QAAgB,UAAoC;AAAA;AAGlE,YAAM,MAAM,OAAO,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,iBAAiB,MAAM;AAC3C,YAAM,OAAO,MAAM,KAAK,SAAS,KAAK,OAAO;AAC7C,aAAO,GAAG,KAAK,OAAO,GAAG,GAAG;AAAA,IAC9B;AAAA;AACF;","names":[]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { createFetch as c, Fetch } from "./ofetch";
|
2
|
-
import { NotFoundError } from "./error";
|
1
|
+
import { createFetch as c, Fetch } from "./ofetch.js";
|
2
|
+
import { NotFoundError } from "./error.js";
|
3
3
|
const rofetch = c({
|
4
4
|
defaults: {
|
5
5
|
retryStatusCodes: [400, 408, 409, 425, 429, 502, 503, 504],
|
@@ -7,25 +7,34 @@ const rofetch = c({
|
|
7
7
|
retryDelay: 400
|
8
8
|
}
|
9
9
|
});
|
10
|
-
const ofetch = new Fetch(
|
10
|
+
const ofetch = new Fetch();
|
11
11
|
const createFetch = (logger) => {
|
12
12
|
return ofetch.extend({
|
13
13
|
onRequest: (context) => {
|
14
14
|
logger.debug(`[fetch -->] ${context.options.baseURL}${context.request}`);
|
15
|
+
logger.debug(`[fetch -->] ${JSON.stringify(context.options, null, 2)}`);
|
15
16
|
},
|
16
17
|
onResponse: (context) => {
|
17
18
|
logger.debug(`[fetch <--] ${context.request} ${context.response.status}`);
|
19
|
+
switch (context.options.responseType) {
|
20
|
+
case "text":
|
21
|
+
logger.debug(`[fetch <--] ${context.response._data}`);
|
22
|
+
break;
|
23
|
+
case "json":
|
24
|
+
logger.debug(`[fetch -->] ${JSON.stringify(context.response._data, null, 2)}`);
|
25
|
+
break;
|
26
|
+
}
|
18
27
|
},
|
19
|
-
onResponseError
|
20
|
-
|
28
|
+
onResponseError({ request, response, options, error }) {
|
29
|
+
logger.debug(`response error ${response.statusText}`, error);
|
30
|
+
if (response.status === 404) {
|
21
31
|
throw new NotFoundError();
|
22
32
|
}
|
23
|
-
throw context.error;
|
24
33
|
},
|
25
34
|
ignoreResponseError: false
|
26
35
|
});
|
27
36
|
};
|
28
|
-
import { Fetch as Fetch2 } from "./ofetch";
|
37
|
+
import { Fetch as Fetch2 } from "./ofetch.js";
|
29
38
|
export {
|
30
39
|
Fetch2 as Fetch,
|
31
40
|
createFetch
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/infra/support/fetch/index.ts"],"sourcesContent":["import { createFetch as c, Fetch } from './ofetch'\nimport { Logger } from '@/interface'\nimport { NotFoundError } from './error'\n\nconst rofetch = c({\n defaults: {\n retryStatusCodes: [400, 408, 409, 425, 429, 502, 503, 504],\n retry: 2,\n retryDelay: 400,\n },\n})\n\nconst ofetch = new Fetch(
|
1
|
+
{"version":3,"sources":["../../../../../src/infra/support/fetch/index.ts"],"sourcesContent":["import { createFetch as c, Fetch } from './ofetch'\nimport { Logger } from '@/interface'\nimport { NotFoundError } from './error'\n\nconst rofetch = c({\n defaults: {\n retryStatusCodes: [400, 408, 409, 425, 429, 502, 503, 504],\n retry: 2,\n retryDelay: 400,\n },\n})\n\nconst ofetch = new Fetch()\n\nexport const createFetch = (logger: Logger) => {\n return ofetch.extend({\n onRequest: (context) => {\n logger.debug(`[fetch -->] ${context.options.baseURL}${context.request}`)\n logger.debug(`[fetch -->] ${JSON.stringify(context.options, null, 2)}`)\n },\n onResponse: (context) => {\n logger.debug(`[fetch <--] ${context.request} ${context.response.status}`)\n switch (context.options.responseType) {\n case 'text':\n logger.debug(`[fetch <--] ${context.response._data}`)\n break\n case \"json\":\n logger.debug(`[fetch -->] ${JSON.stringify(context.response._data, null, 2)}`)\n break\n }\n },\n onResponseError({ request, response, options, error }) {\n logger.debug(`response error ${response.statusText}`, error)\n if (response.status === 404) {\n throw new NotFoundError()\n }\n },\n ignoreResponseError: false,\n })\n}\n\nexport { Fetch } from './ofetch'\n"],"mappings":"AAAA,SAAS,eAAe,GAAG,aAAa;AAExC,SAAS,qBAAqB;AAE9B,MAAM,UAAU,EAAE;AAAA,EAChB,UAAU;AAAA,IACR,kBAAkB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IACzD,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AACF,CAAC;AAED,MAAM,SAAS,IAAI,MAAM;AAElB,MAAM,cAAc,CAAC,WAAmB;AAC7C,SAAO,OAAO,OAAO;AAAA,IACnB,WAAW,CAAC,YAAY;AACtB,aAAO,MAAM,eAAe,QAAQ,QAAQ,OAAO,GAAG,QAAQ,OAAO,EAAE;AACvE,aAAO,MAAM,eAAe,KAAK,UAAU,QAAQ,SAAS,MAAM,CAAC,CAAC,EAAE;AAAA,IACxE;AAAA,IACA,YAAY,CAAC,YAAY;AACvB,aAAO,MAAM,eAAe,QAAQ,OAAO,IAAI,QAAQ,SAAS,MAAM,EAAE;AACxE,cAAQ,QAAQ,QAAQ,cAAc;AAAA,QACpC,KAAK;AACH,iBAAO,MAAM,eAAe,QAAQ,SAAS,KAAK,EAAE;AACpD;AAAA,QACF,KAAK;AACH,iBAAO,MAAM,eAAe,KAAK,UAAU,QAAQ,SAAS,OAAO,MAAM,CAAC,CAAC,EAAE;AAC7E;AAAA,MACJ;AAAA,IACF;AAAA,IACA,gBAAgB,EAAE,SAAS,UAAU,SAAS,MAAM,GAAG;AACrD,aAAO,MAAM,kBAAkB,SAAS,UAAU,IAAI,KAAK;AAC3D,UAAI,SAAS,WAAW,KAAK;AAC3B,cAAM,IAAI,cAAc;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,EACvB,CAAC;AACH;AAEA,SAAS,SAAAA,cAAa;","names":["Fetch"]}
|
@@ -39,19 +39,13 @@ var __async = (__this, __arguments, generator) => {
|
|
39
39
|
});
|
40
40
|
};
|
41
41
|
import { createFetch } from "ofetch";
|
42
|
-
import { NotFoundError } from "./error";
|
43
42
|
const rofetch = createFetch({
|
44
43
|
defaults: {
|
45
|
-
retryStatusCodes: [
|
46
|
-
retry:
|
44
|
+
retryStatusCodes: [408, 409, 425, 429, 500, 502, 503, 504],
|
45
|
+
retry: 2,
|
47
46
|
retryDelay: 800
|
48
47
|
}
|
49
48
|
}).create({
|
50
|
-
onResponseError({ request, response, options }) {
|
51
|
-
if (response.status === 404) {
|
52
|
-
throw new NotFoundError();
|
53
|
-
}
|
54
|
-
},
|
55
49
|
onRequestError({ request, error }) {
|
56
50
|
}
|
57
51
|
});
|
@@ -76,6 +70,7 @@ class Fetch {
|
|
76
70
|
body: f
|
77
71
|
});
|
78
72
|
}
|
73
|
+
console.debug();
|
79
74
|
const res = yield this.ofetchInstance(request, opt);
|
80
75
|
return res;
|
81
76
|
});
|
@@ -108,7 +103,6 @@ class Fetch {
|
|
108
103
|
import { createFetch as createFetch2 } from "ofetch";
|
109
104
|
export {
|
110
105
|
Fetch,
|
111
|
-
createFetch2 as createFetch
|
112
|
-
rofetch
|
106
|
+
createFetch2 as createFetch
|
113
107
|
};
|
114
108
|
//# sourceMappingURL=ofetch.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/infra/support/fetch/ofetch.ts"],"sourcesContent":["import { $Fetch, createFetch, FetchOptions, ResponseType } from 'ofetch'\
|
1
|
+
{"version":3,"sources":["../../../../../src/infra/support/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,SAAiB,mBAA+C;AAGhE,MAAM,UAAU,YAAY;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;AAEA,SAAS,eAAAA,oBAAmB;","names":["createFetch"]}
|
@@ -17,6 +17,18 @@ var __spreadValues = (a, b) => {
|
|
17
17
|
return a;
|
18
18
|
};
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
20
|
+
var __objRest = (source, exclude) => {
|
21
|
+
var target = {};
|
22
|
+
for (var prop in source)
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
24
|
+
target[prop] = source[prop];
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
28
|
+
target[prop] = source[prop];
|
29
|
+
}
|
30
|
+
return target;
|
31
|
+
};
|
20
32
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
21
33
|
var __async = (__this, __arguments, generator) => {
|
22
34
|
return new Promise((resolve, reject) => {
|
@@ -38,13 +50,31 @@ var __async = (__this, __arguments, generator) => {
|
|
38
50
|
step((generator = generator.apply(__this, __arguments)).next());
|
39
51
|
});
|
40
52
|
};
|
41
|
-
import { html2imgBuffer,
|
53
|
+
import { html2imgBuffer, url2imgBuffer } from "./puppeteer.js";
|
42
54
|
import { Puppeteer } from "puppeteer-core";
|
43
|
-
import {
|
55
|
+
import { createFetch } from "../../../infra/support/fetch/index.js";
|
56
|
+
import { z } from "zod/v4";
|
57
|
+
const common = z.object({
|
58
|
+
defaultWaitTimeout: z.number().optional(),
|
59
|
+
waitTimeout: z.number().optional()
|
60
|
+
});
|
61
|
+
const cfConfig = z.object({
|
62
|
+
cfAccountId: z.string().min(1, "Cloudflare account id is required"),
|
63
|
+
cfAPIKey: z.string().min(1, "Cloudflare API key is required")
|
64
|
+
});
|
65
|
+
const puppeteerConfig = z.object({
|
66
|
+
puppeteerURL: z.string().describe("remote puppeteer url, eg: wss://browserless/xxx, https://browserless/xxx").optional()
|
67
|
+
});
|
68
|
+
const strictRenderConfig = z.discriminatedUnion("mode", [
|
69
|
+
z.object(__spreadValues(__spreadValues({ mode: z.literal("cf") }, cfConfig.shape), common.shape)),
|
70
|
+
z.object(__spreadValues(__spreadValues({ mode: z.literal("puppeteer") }, puppeteerConfig.shape), common.shape)),
|
71
|
+
z.object(__spreadValues({ mode: z.literal("custom") }, common.shape))
|
72
|
+
]);
|
73
|
+
const renderSchema = strictRenderConfig.and(z.object(__spreadValues(__spreadValues(__spreadValues({}, cfConfig.shape), puppeteerConfig.shape), common.shape)).partial());
|
44
74
|
class CFBrowserRendering {
|
45
|
-
constructor(accountId, cfAPIKey) {
|
75
|
+
constructor(accountId, cfAPIKey, logger) {
|
46
76
|
__publicField(this, "f");
|
47
|
-
this.f =
|
77
|
+
this.f = createFetch(logger).baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`).extend({
|
48
78
|
headers: {
|
49
79
|
Authorization: `Bearer ${cfAPIKey}`
|
50
80
|
}
|
@@ -55,7 +85,8 @@ class CFBrowserRendering {
|
|
55
85
|
responseType: "arrayBuffer",
|
56
86
|
body: __spreadProps(__spreadValues({
|
57
87
|
"screenshotOptions": {
|
58
|
-
quality: 90
|
88
|
+
quality: 90,
|
89
|
+
type: "webp"
|
59
90
|
}
|
60
91
|
}, body), {
|
61
92
|
"viewport": {
|
@@ -108,26 +139,29 @@ const RemoteBrowserGetter = (addr) => {
|
|
108
139
|
}
|
109
140
|
return () => p.connect(opt);
|
110
141
|
};
|
111
|
-
const getImageRender = (
|
142
|
+
const getImageRender = (config) => {
|
143
|
+
const _a = config, { logger, render, browserGetter } = _a, _cfg = __objRest(_a, ["logger", "render", "browserGetter"]);
|
144
|
+
const cfg = strictRenderConfig.parse(_cfg);
|
112
145
|
if (cfg.mode === "cf") {
|
113
|
-
return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey);
|
146
|
+
return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey, logger);
|
114
147
|
}
|
115
148
|
if (cfg.mode === "custom") {
|
116
|
-
if (!
|
117
|
-
return
|
149
|
+
if (!render) throw new Error("please provide custom img render");
|
150
|
+
return render;
|
118
151
|
}
|
119
152
|
if (cfg.puppeteerURL) {
|
120
153
|
return new PuppeteerRendering(RemoteBrowserGetter(cfg.puppeteerURL));
|
121
154
|
}
|
122
|
-
if (
|
123
|
-
return new PuppeteerRendering(
|
155
|
+
if (browserGetter) {
|
156
|
+
return new PuppeteerRendering(browserGetter);
|
124
157
|
}
|
158
|
+
return null;
|
125
159
|
};
|
126
160
|
export {
|
127
161
|
CFBrowserRendering,
|
128
|
-
RenderOptions as PuppeteerOptions,
|
129
162
|
PuppeteerRendering,
|
130
163
|
RemoteBrowserGetter,
|
131
|
-
getImageRender
|
164
|
+
getImageRender,
|
165
|
+
renderSchema
|
132
166
|
};
|
133
167
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/infra/support/render/index.ts"],"sourcesContent":["import {html2imgBuffer, RenderOptions, url2imgBuffer} from \"./puppeteer\";\nimport {Browser, Puppeteer} from \"puppeteer-core\";\nimport {Fetch} from \"@/infra/support/fetch\";\nexport {RenderOptions as PuppeteerOptions}\nexport interface ImageRender {\n html2img: (html: string, opt: RenderOptions) => Promise<Buffer>\n url2img: (url: string, opt: RenderOptions) => Promise<Buffer>\n}\n\
|
1
|
+
{"version":3,"sources":["../../../../../src/infra/support/render/index.ts"],"sourcesContent":["import {html2imgBuffer, type RenderOptions, url2imgBuffer} from \"./puppeteer\";\nimport {Browser, Puppeteer} from \"puppeteer-core\";\nimport {Fetch, createFetch} from \"@/infra/support/fetch\";\nimport {Logger} from \"@/interface\";\nimport {z} from \"zod/v4\";\nexport type {RenderOptions as PuppeteerOptions}\nexport interface ImageRender {\n html2img: (html: string, opt: RenderOptions) => Promise<Buffer>\n url2img: (url: string, opt: RenderOptions) => Promise<Buffer>\n}\n\nconst common = z.object({\n defaultWaitTimeout: z.number().optional(),\n waitTimeout: z.number().optional(),\n})\n\nconst cfConfig = z.object({\n cfAccountId: z.string().min(1, \"Cloudflare account id is required\"),\n cfAPIKey: z.string().min(1, \"Cloudflare API key is required\"),\n})\n\nconst puppeteerConfig = z.object({\n puppeteerURL: z.string().describe(\"remote puppeteer url, eg: wss://browserless/xxx, https://browserless/xxx\").optional(),\n})\n\nconst strictRenderConfig = z.discriminatedUnion('mode', [\n z.object({ mode: z.literal('cf'), ...cfConfig.shape, ...common.shape }),\n z.object({ mode: z.literal('puppeteer'), ...puppeteerConfig.shape, ...common.shape }),\n z.object({ mode: z.literal('custom'), ...common.shape }),\n])\n\nexport const renderSchema = strictRenderConfig\n .and(z.object({\n ...cfConfig.shape,\n ...puppeteerConfig.shape,\n ...common.shape\n }).partial())\n\nexport type RenderConfig = z.infer<typeof renderSchema>\n\ntype StrictRenderConfig = z.infer<typeof strictRenderConfig>\n\n\n\n\nexport class CFBrowserRendering implements ImageRender {\n f: Fetch\n constructor(accountId: string, cfAPIKey: string, logger: Logger) {\n this.f = createFetch(logger)\n .baseUrl(`https://api.cloudflare.com/client/v4/accounts/${accountId}`)\n .extend({\n headers: {\n Authorization: `Bearer ${cfAPIKey}`\n },\n })\n }\n private post(body) {\n return this.f.post('/browser-rendering/screenshot', {\n responseType: 'arrayBuffer',\n body: {\n \"screenshotOptions\": {\n quality: 90,\n type: 'webp'\n },\n ...body,\n \"viewport\": {\n \"width\": 3840,\n \"height\": 2160,\n \"deviceScaleFactor\": 2,\n },\n \"gotoOptions\": {\n \"waitUntil\": \"networkidle0\",\n \"timeout\": 30000\n },\n }\n })\n }\n\n\n\n async html2img (html: string, opt: RenderOptions) {\n const buf = await this.post({html: html, ...opt})\n return Buffer.from(buf)\n }\n async url2img (url: string, opt: RenderOptions) {\n const buf = await this.post({url: url, ...opt})\n return Buffer.from(buf)\n }\n}\n\nexport class PuppeteerRendering implements ImageRender {\n constructor(private browserGetter: () => Promise<Browser>) {\n }\n async html2img (html: string, opt: RenderOptions) {\n return html2imgBuffer(this.browserGetter, html, opt)\n }\n async url2img (html: string, opt: RenderOptions) {\n return url2imgBuffer(this.browserGetter, html, opt)\n }\n}\n\n\nexport const RemoteBrowserGetter = (addr: string) => {\n const p = new Puppeteer()\n let opt = {}\n if(addr.startsWith('ws')) {\n opt = { browserWSEndpoint: addr }\n }else if(addr.startsWith('http')) {\n opt = { browserURL: addr }\n }\n return () => p.connect(opt)\n}\n\ntype ImageRenderCreateOptions = StrictRenderConfig & {\n logger: Logger,\n render?: ImageRender,\n browserGetter?: () => Promise<Browser>\n}\n\n\nexport const getImageRender = (config: ImageRenderCreateOptions) => {\n const { logger, render, browserGetter, ..._cfg} = config\n const cfg = strictRenderConfig.parse(_cfg)\n if(cfg.mode === 'cf') {\n return new CFBrowserRendering(cfg.cfAccountId, cfg.cfAPIKey, logger)\n }\n if(cfg.mode === 'custom') {\n if(!render) throw new Error(\"please provide custom img render\")\n return render\n }\n if(cfg.puppeteerURL) {\n return new PuppeteerRendering(RemoteBrowserGetter(cfg.puppeteerURL))\n }\n if(browserGetter) {\n return new PuppeteerRendering(browserGetter)\n }\n return null\n}\n\nexport type CreateImageRenderOption = Parameters<typeof getImageRender>[0]\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAQ,gBAAoC,qBAAoB;AAChE,SAAiB,iBAAgB;AACjC,SAAe,mBAAkB;AAEjC,SAAQ,SAAQ;AAOhB,MAAM,SAAS,EAAE,OAAO;AAAA,EACtB,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,EACxC,aAAa,EAAE,OAAO,EAAE,SAAS;AACnC,CAAC;AAED,MAAM,WAAW,EAAE,OAAO;AAAA,EACxB,aAAa,EAAE,OAAO,EAAE,IAAI,GAAG,mCAAmC;AAAA,EAClE,UAAU,EAAE,OAAO,EAAE,IAAI,GAAG,gCAAgC;AAC9D,CAAC;AAED,MAAM,kBAAkB,EAAE,OAAO;AAAA,EAC/B,cAAc,EAAE,OAAO,EAAE,SAAS,0EAA0E,EAAE,SAAS;AACzH,CAAC;AAED,MAAM,qBAAqB,EAAE,mBAAmB,QAAQ;AAAA,EACtD,EAAE,OAAO,gCAAE,MAAM,EAAE,QAAQ,IAAI,KAAM,SAAS,QAAU,OAAO,MAAO;AAAA,EACtE,EAAE,OAAO,gCAAE,MAAM,EAAE,QAAQ,WAAW,KAAM,gBAAgB,QAAU,OAAO,MAAO;AAAA,EACpF,EAAE,OAAO,iBAAE,MAAM,EAAE,QAAQ,QAAQ,KAAM,OAAO,MAAO;AACzD,CAAC;AAEM,MAAM,eAAe,mBACzB,IAAI,EAAE,OAAO,iDACT,SAAS,QACT,gBAAgB,QAChB,OAAO,MACX,EAAE,QAAQ,CAAC;AASP,MAAM,mBAA0C;AAAA,EAErD,YAAY,WAAmB,UAAkB,QAAgB;AADjE;AAEE,SAAK,IAAI,YAAY,MAAM,EACxB,QAAQ,iDAAiD,SAAS,EAAE,EACpE,OAAO;AAAA,MACN,SAAS;AAAA,QACP,eAAe,UAAU,QAAQ;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,EACL;AAAA,EACQ,KAAK,MAAM;AACjB,WAAO,KAAK,EAAE,KAAK,iCAAiC;AAAA,MAClD,cAAc;AAAA,MACd,MAAM;AAAA,QACJ,qBAAqB;AAAA,UACnB,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,SACG,OALC;AAAA,QAMJ,YAAY;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,UACV,qBAAqB;AAAA,QACvB;AAAA,QACA,eAAe;AAAA,UACb,aAAa;AAAA,UACb,WAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAIM,SAAU,MAAc,KAAoB;AAAA;AAChD,YAAM,MAAM,MAAM,KAAK,KAAK,iBAAC,QAAe,IAAI;AAChD,aAAO,OAAO,KAAK,GAAG;AAAA,IACxB;AAAA;AAAA,EACM,QAAS,KAAa,KAAoB;AAAA;AAC9C,YAAM,MAAM,MAAM,KAAK,KAAK,iBAAC,OAAa,IAAI;AAC9C,aAAO,OAAO,KAAK,GAAG;AAAA,IACxB;AAAA;AACF;AAEO,MAAM,mBAA0C;AAAA,EACrD,YAAoB,eAAuC;AAAvC;AAAA,EACpB;AAAA,EACM,SAAU,MAAc,KAAoB;AAAA;AAChD,aAAO,eAAe,KAAK,eAAe,MAAM,GAAG;AAAA,IACrD;AAAA;AAAA,EACM,QAAS,MAAc,KAAoB;AAAA;AAC/C,aAAO,cAAc,KAAK,eAAe,MAAM,GAAG;AAAA,IACpD;AAAA;AACF;AAGO,MAAM,sBAAsB,CAAC,SAAiB;AACnD,QAAM,IAAI,IAAI,UAAU;AACxB,MAAI,MAAM,CAAC;AACX,MAAG,KAAK,WAAW,IAAI,GAAG;AACxB,UAAM,EAAE,mBAAmB,KAAK;AAAA,EAClC,WAAS,KAAK,WAAW,MAAM,GAAG;AAChC,UAAM,EAAE,YAAY,KAAK;AAAA,EAC3B;AACA,SAAO,MAAM,EAAE,QAAQ,GAAG;AAC5B;AASO,MAAM,iBAAiB,CAAC,WAAqC;AAClE,QAAkD,aAA1C,UAAQ,QAAQ,cAzH1B,IAyHoD,IAAR,iBAAQ,IAAR,CAAlC,UAAQ,UAAQ;AACxB,QAAM,MAAM,mBAAmB,MAAM,IAAI;AACzC,MAAG,IAAI,SAAS,MAAM;AACpB,WAAO,IAAI,mBAAmB,IAAI,aAAa,IAAI,UAAU,MAAM;AAAA,EACrE;AACA,MAAG,IAAI,SAAS,UAAU;AACxB,QAAG,CAAC,OAAQ,OAAM,IAAI,MAAM,kCAAkC;AAC9D,WAAO;AAAA,EACT;AACA,MAAG,IAAI,cAAc;AACnB,WAAO,IAAI,mBAAmB,oBAAoB,IAAI,YAAY,CAAC;AAAA,EACrE;AACA,MAAG,eAAe;AAChB,WAAO,IAAI,mBAAmB,aAAa;AAAA,EAC7C;AACA,SAAO;AACT;","names":[]}
|
@@ -21,7 +21,7 @@ var __async = (__this, __arguments, generator) => {
|
|
21
21
|
step((generator = generator.apply(__this, __arguments)).next());
|
22
22
|
});
|
23
23
|
};
|
24
|
-
import { BizError } from "../../infra/errors";
|
24
|
+
import { BizError } from "../../infra/errors/index.js";
|
25
25
|
class CommandBuilder {
|
26
26
|
constructor() {
|
27
27
|
__publicField(this, "name");
|
@@ -1,6 +1,6 @@
|
|
1
|
-
export * from "./db";
|
2
|
-
export * from "./logger";
|
3
|
-
export * from "./bot";
|
1
|
+
export * from "./db/index.js";
|
2
|
+
export * from "./logger.js";
|
3
|
+
export * from "./bot.js";
|
4
4
|
var Platform = /* @__PURE__ */ ((Platform2) => {
|
5
5
|
Platform2["SS"] = "scoresaber";
|
6
6
|
Platform2["BS"] = "beatsaver";
|
@@ -10,7 +10,7 @@ var Platform = /* @__PURE__ */ ((Platform2) => {
|
|
10
10
|
const parsePlatform = (p) => {
|
11
11
|
return p == "ss" ? "scoresaber" /* SS */ : "beatleader" /* BL */;
|
12
12
|
};
|
13
|
-
export * from "./cmd/type";
|
13
|
+
export * from "./cmd/type.js";
|
14
14
|
export {
|
15
15
|
Platform,
|
16
16
|
parsePlatform
|
@@ -1,11 +1,12 @@
|
|
1
|
-
import { LBScoreMonitor } from "./temp";
|
1
|
+
import { LBScoreMonitor } from "./temp.js";
|
2
2
|
const getScheduleTasks = (config) => {
|
3
|
+
var _a, _b, _c, _d, _e;
|
3
4
|
return [
|
4
5
|
{
|
5
6
|
name: "lb-rank-notifier",
|
6
7
|
handler: LBScoreMonitor,
|
7
|
-
cron: config.
|
8
|
-
enabled: config.
|
8
|
+
cron: (_b = (_a = config.cron) == null ? void 0 : _a.temp) == null ? void 0 : _b.cron,
|
9
|
+
enabled: (_e = (_d = (_c = config.cron) == null ? void 0 : _c.temp) == null ? void 0 : _d.enabled) != null ? _e : false
|
9
10
|
}
|
10
11
|
];
|
11
12
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/schedules/index.ts"],"sourcesContent":["import { Config } from '@/config'\nimport { LBScoreMonitor } from './temp'\n\n\nexport const getScheduleTasks = (config: Config) => {\n return [\n {\n name: 'lb-rank-notifier',\n handler: LBScoreMonitor,\n cron: config.
|
1
|
+
{"version":3,"sources":["../../../src/schedules/index.ts"],"sourcesContent":["import { Config } from '@/config'\nimport { LBScoreMonitor } from './temp'\n\n\nexport const getScheduleTasks = (config: Config) => {\n return [\n {\n name: 'lb-rank-notifier',\n handler: LBScoreMonitor,\n cron: config.cron?.temp?.cron,\n enabled: config.cron?.temp?.enabled ?? false,\n },\n ]\n}\n"],"mappings":"AACA,SAAS,sBAAsB;AAGxB,MAAM,mBAAmB,CAAC,WAAmB;AAJpD;AAKE,SAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAM,kBAAO,SAAP,mBAAa,SAAb,mBAAmB;AAAA,MACzB,UAAS,wBAAO,SAAP,mBAAa,SAAb,mBAAmB,YAAnB,YAA8B;AAAA,IACzC;AAAA,EACF;AACF;","names":[]}
|
@@ -21,7 +21,7 @@ var __async = (__this, __arguments, generator) => {
|
|
21
21
|
step((generator = generator.apply(__this, __arguments)).next());
|
22
22
|
});
|
23
23
|
};
|
24
|
-
import { createFetch } from "../../../infra/support/fetch";
|
24
|
+
import { createFetch } from "../../../infra/support/fetch/index.js";
|
25
25
|
class AIOSaberClient {
|
26
26
|
constructor(logger) {
|
27
27
|
__publicField(this, "f");
|
@@ -21,7 +21,7 @@ var __async = (__this, __arguments, generator) => {
|
|
21
21
|
step((generator = generator.apply(__this, __arguments)).next());
|
22
22
|
});
|
23
23
|
};
|
24
|
-
import { createFetch } from "../../../infra/support/fetch";
|
24
|
+
import { createFetch } from "../../../infra/support/fetch/index.js";
|
25
25
|
class BeatLeaderClient {
|
26
26
|
constructor(opt) {
|
27
27
|
__publicField(this, "f");
|