用途:该技能用于配置 @data-client/endpoint,把已有的异步函数包装成 Endpoint,从而接入 Data Client 的 hooks 与 controller。它应在 data-client-setup 检测到非 REST 或 GraphQL 的自定义异步模式后应用。
安装:npm install @data-client/endpoint;yarn add @data-client/endpoint;pnpm add @data-client/endpoint。
适用场景:第三方 SDK 客户端(Firebase、Supabase、AWS SDK 等)、WebSocket 数据获取、本地异步存储(IndexedDB、AsyncStorage),以及任何不符合 REST 或 GraphQL 模式的异步函数。
主要能力:用 new Endpoint(fn, options) 包装返回 Promise 的函数;通过 schema 支持数据规范化;通过 name 指定唯一名称;用 sideEffect 标记变更操作;可配置 dataExpiryLength、errorExpiryLength、pollFrequency 等缓存与轮询选项;支持 getOptimisticResponse 乐观更新;支持自定义 key 函数处理复杂参数;可用 extend() 派生不同缓存或轮询配置的变体。
使用方式:先扫描返回 Promise<T> 的函数、SDK 方法、WebSocket 消息处理器、IndexedDB 操作,再包装为 Endpoint。在 hooks 与 controller 中,endpoint 作为第一个参数,其后跟该函数的参数,例如 useSuspense(getUser, id) 与 ctrl.fetch(createUser, userData)。
限制与注意:生产构建中函数名可能被混淆,务必显式提供 name 选项,否则名称可能变为 a 之类。资料未提供收费、价格或平台信息。后续可应用 data-client-schema 定义 Entity 类,以及 data-client-react 或 data-client-vue 进行使用。