一键导入
source-operation-capabilities
Understand how sources declare operation capabilities via supportedOperations and how SourceList respects them.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Understand how sources declare operation capabilities via supportedOperations and how SourceList respects them.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
FirestoreAdminSource connects google_cloud_firestore for server-side Dart applications to a SourceList.
FirestoreSource seamlessly connects Cloud Firestore streams to a SourceList.
Perform untyped Firestore document merges using the raw method on Firestore sources.
Cached data is mapped uniquely per request hash (RequestDetails with specific filter and pagination), supporting a powerful request-based caching behavior.
The SourceList class manages the delegation of read/write attempts to various configured Sources, with a read-thru cache system prioritizing local Sources.
ConnectivityPlusStream provides a stream of network statuses based on connectivity_plus so DefaultRetryPolicy can intelligently manage failed Operations.
| name | source-operation-capabilities |
| description | Understand how sources declare operation capabilities via supportedOperations and how SourceList respects them. |
| metadata | {"last_modified":"Wed, 22 Jul 2026 15:00:00 GMT"} |
In pkg:data_layer, DataContract and Source declare supported operation types via the supportedOperations getter, which returns a Set<SourceOperationType>.
By default, DataContract supports standard CRUD operations (getById, getByIds, getItems, setItem, setItems, delete).
Specific mixins add additional supported operations:
WatchableSource: Adds watch, watchList, and watchByIds.MessageWriteMixin: Adds sendMessage.ProxySource populates supportedOperations dynamically based on which handler callbacks were passed to its constructor.
// Check if a source supports a given operation type
if (source.supports(operation.type)) {
await source.setItem(operation);
}
The SourceList automatically checks source.supports(operation.type) before invoking operations on each source, skipping sources that do not support the operation without throwing UnimplementedError.