@mai-kit/shared
@mai-kit/shared — mai-kit 跨包共享的错误基类、maimai 领域原语, 以及适配层可选用的无业务 HTTP 工具。
- 错误:MaiKitError / isMaiKitError
- 原语:
SongType/LevelIndex/FCType/FSType/RateType/Collection* - HTTP:fetchWithResilience / RequestCoalescer(超时、重试、同键合并; 不绑定 URL / 错误类型,由各适配映射为包级错误)
不含查分/曲目适配或业务流程。database / prober 会再导出部分类型以免漂移。
领域类型
| 名称 | 描述 |
|---|---|
| LevelIndex | 难度索引(与多数 API 的 level_index / difficulty 字段一致)。 |
| Collection | 收藏品(也用于玩家装备的称号 / 头像 / 姓名框 / 背景)。 |
| CollectionRequired | 收藏品达成要求 |
| CollectionRequiredSong | 收藏品达成要求的曲目 |
| CollectionType | 收藏品类型 |
| FCType | FULL COMBO 标记码。 - app AP+ / ap AP / fcp FC+ / fc FC |
| FSType | FULL SYNC 等标记码。 - fsdp FSD+ / fsd FSD / fsp FS+ / fs FS / sync SYNC |
| RateType | 评级码(从高到低:sssp … d)。 展示文案由渲染层或业务自行映射(如 sssp → SSS+)。 |
| SongType | 谱面类型:标准 / DX / 宴会场 |
HTTP 工具
| 名称 | 描述 |
|---|---|
| RequestCoalescer | 同键 in-flight 请求合并:并发相同 key 只执行一次 fn。 |
| HttpResilienceOptions | 请求韧性选项;全部可选,省略即不启用对应能力。 |
| fetchWithResilience | 带可选超时与重试的 fetch。 |
错误
| 名称 | 描述 |
|---|---|
| MaiKitError | mai-kit 领域错误统一基类。 |
| MaiKitErrorOptions | MaiKitError 的构造选项。 |
| isMaiKitError | 类型守卫:任意包的 mai-kit 错误。 |
