{"_id":"@anyfu/dict-core","name":"@anyfu/dict-core","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@anyfu/dict-core","version":"0.0.1","description":"`@anyfu/dict-core`是一个用于字典数据请求合并、缓存、重试、降级、LRU 管理 的高性能工具，适用于后台配置字典、状态枚举、选项列表等场景。","type":"module","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"keywords":["dict","dictionary"],"homepage":"https://dict-manager.vercel.app","repository":{"type":"git","url":"git+https://github.com/sufangyu/anyfu-dict.git"},"author":{"name":"sufangyu"},"license":"ISC","dependencies":{},"devDependencies":{},"scripts":{"dev":"vite build --mode development","build":"vite build","test":"vitest"},"_id":"@anyfu/dict-core@0.0.1","bugs":{"url":"https://github.com/sufangyu/anyfu-dict/issues"},"_integrity":"sha512-BD9paPShD7dTeHAGV+Xo6ThsOjJg5D7jwnD4XGJhflKKe3KTFRc2XyHMce1RnMzzUbM9Gv+FA2zel8LcRJ9cZQ==","_resolved":"/tmp/cd0bfb054c9a36aa458dd84375528908/anyfu-dict-core-0.0.1.tgz","_from":"file:anyfu-dict-core-0.0.1.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-BD9paPShD7dTeHAGV+Xo6ThsOjJg5D7jwnD4XGJhflKKe3KTFRc2XyHMce1RnMzzUbM9Gv+FA2zel8LcRJ9cZQ==","shasum":"3d3bcfc7d7cc4506545c237d09b31bf7ace4557a","tarball":"https://registry.npmjs.org/@anyfu/dict-core/-/dict-core-0.0.1.tgz","fileCount":7,"unpackedSize":41996,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC+jSo40YuvuJe3tMfs9U0HRFyga26VkH9CgSxZaBX+UQIhAMXoteNTPyAW1euqBpy0aanfbfhSyrkLAo93cjHehuix"}]},"_npmUser":{"name":"sufangyu","email":"304683191@qq.com"},"directories":{},"maintainers":[{"name":"sufangyu","email":"304683191@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dict-core_0.0.1_1773650932927_0.21650186153665119"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T08:48:52.806Z","0.0.1":"2026-03-16T08:48:53.065Z","modified":"2026-03-16T08:48:53.258Z"},"maintainers":[{"name":"sufangyu","email":"304683191@qq.com"}],"description":"`@anyfu/dict-core`是一个用于字典数据请求合并、缓存、重试、降级、LRU 管理 的高性能工具，适用于后台配置字典、状态枚举、选项列表等场景。","homepage":"https://dict-manager.vercel.app","keywords":["dict","dictionary"],"repository":{"type":"git","url":"git+https://github.com/sufangyu/anyfu-dict.git"},"author":{"name":"sufangyu"},"bugs":{"url":"https://github.com/sufangyu/anyfu-dict/issues"},"license":"ISC","readme":"# @anyfu/dict-core\n\n`@anyfu/dict-core`是一个用于字典数据请求合并、缓存、重试、降级、LRU 管理 的高性能工具，适用于后台配置字典、状态枚举、选项列表等场景。\n\n同时, 也提供了一些相应的工具函数, 如：`transformToOptions`、`getDictItems`、`getDictLabel`、`getOptionLabel`、`listToTree`、`treeToArray`。\n\n\n## 核心能力\n\n| 能力          | 说明                                               |\n|---------------|----------------------------------------------------|\n| 🚀 请求合并   | mergeDelay 窗口内的多个字典请求自动合并为一次 HTTP |\n| 🧠 LRU 缓存   | 支持最大缓存条数 + 最近最少使用淘汰                |\n| ⏳ 过期控制    | cacheTime 控制缓存过期时间                         |\n| 🔁 SWR 模式   | 过期数据先返回旧值，再后台刷新                      |\n| 🧯 降级容错   | 请求失败可自动回退到缓存数据                       |\n| 🔄 自动重试   | 支持失败重试与自定义重试条件                       |\n| ✋ 可取消请求  | 支持取消未发出请求 + 进行中请求                    |\n| 🔌 拦截器     | 支持请求和响应拦截                                 |\n| 🧩 可定制解析 | 可自定义响应结构和字典解析逻辑                     |\n\n\n\n## 工具函数\n\n| 函数           | 作用                                                 |\n|----------------|------------------------------------------------------|\n| transformToOptions  | 将 枚举 / 普通对象 转换为 UI 组件可用的 options 结构 |\n| getDictItems   | 获取字典数据列表，支持 禁用过滤、树形结构转换          |\n| getDictLabel   | 根据字典值获取显示 label                             |\n| getOptionLabel | 根据 options 列表获取 label（UI 场景常用）             |\n| listToTree     | 扁平列表 → 树结构                                    |\n| treeToArray    | 树结构 → 扁平数组，自动添加层级与父子关系             |\n","readmeFilename":"README.md","_rev":"1-aa2d55cfaa3097195ad44a2fef7bf1e9"}