SuperAPI AI 工具集

query-layer

通用与其它

查看项目

更新于 10-15 21:38

技能介绍

用途:query-layer 是 UI 组件与服务层之间的响应式桥接层,用 TanStack Query 和 Wellcrafted 工厂包装服务函数或可观察操作,提供缓存、变更生命周期状态、失效和命令式访问。

主要能力:调用服务并注入设置/配置;保留带类型的服务与操作错误,除非适配器引入新的本地失败;管理 TanStack Query 缓存以支持乐观更新;提供可供 hook 使用的 .options 以及显式命令式 API;通过导出的 *Keys 映射维护共享缓存标识。

API 形态:hook 本地 Result 适配器使用 resultQueryOptions(input) 与 resultMutationOptions(input);可复用定义使用 defineQuery(input) 与 defineMutation(input)。适配器内部解包(返回 Ok.data,抛出 Err.error),应传入返回 Result 的函数而非先解包。defineQuery 暴露 .options、.fetch()、.ensure(),不可调用;defineMutation 暴露 .options 且可调用,不暴露 .execute()。

使用方式:共享响应式查询用 createQuery(() => queries.thing.options),共享响应式变更用 createMutation(() => queries.thing.options);命令式查询读取用 queries.thing(...).fetch() 或 .ensure(),命令式变更直接调用 queries.thing(input)。.fetch() 按正常陈旧策略评估,.ensure() 仅在缓存为空时请求。共享缓存标识用 defineKeys 导出在拥有该工作的模块旁。

适用场景:需要共享变更标识、缓存失效、乐观更新、useIsMutating 或命名变更键时,将操作放入 $lib/queries;编排逻辑(投递、上报、声音、分析、剪贴板写入、多步工作流)保留在 $lib/operations。

限制与规则:默认不翻译带标签错误,将服务/操作错误透传到上报边界;仅当适配器自身发现下层无法拥有的失败时才定义查询本地错误;组件生命周期策略归 svelte 技能;乐观写入仅在缓存拥有者与回滚路径明确时使用,否则失效或重新获取。资料未提供具体安装命令、收费或平台信息。