원클릭으로
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.