Devtools class final

The inspector over one cache.

Properties

actions → DevtoolsActions
The mutating half. Every other member is a read.
latefinal
answering → bool
Whether the cache can be asked now. False while it changes principal and once the inspector is disposed, when every read answers as an empty cache would. A response built from such a read says stale.
no setter
cache → QueryCache
The cache under inspection.
final
capacity → int
Entries the log holds before overwriting.
no setter
capturing → bool
Whether frame capture is on.
no setter
controls → ControlledTransport?
The network conditions, when wired. Absent means the panel shows no rail. An armed failure is cleared when the principal changes; the mode and the latency are the developer's and stay.
no setter
dropped → int
Entries overwritten.
no setter
eventLog → EventLog
The causal log itself, for the action layer and the service host. Subscribers belong on subscribe, which every identity change delays the same way.
no setter
framesCapacity → int
Frames the ring holds before overwriting, 0 when off.
no setter
framesDropped → int
Frames the ring overwrote.
no setter
hashCode → int
The hash code for this object.
no setterinherited
outboxInspector ↔ OutboxInspector?
The offline client's outbox, when the application wired one. Replaying and discarding go through it; listing does not need it. Not final: a later registration on a cache that is already attached sets it here.
getter/setter pair
requestLog → RequestLog?
The request log the transport reports into, when one is wired.
no setter
requestsDropped → int
Requests the ring overwrote.
no setter
revalidation → Revalidation?
The revalidation toggles, when the application registered any.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
session → int
Identity changes since attaching.
no setter
watchingRequests → bool
The difference between "no requests" and "nothing is recording them".
no setter

Methods

baseRecord(String key) → Map<String, Object?>?
One record before overlays. A bounded, read-only copy.
clear() → void
Drops every recorded event and every captured frame. The cache is untouched.
countEntities([EntityFilter filter = const EntityFilter()]) → int
How many entities match filter.
dependents(String key) → List<QuerySnapshot>
Queries that reached an entity.
detail(String key) → QueryDetail?
One query joined to its record.
discardOutbox(String id) → Future<void>
Discards one queued write through the inspector. See replayOutbox.
dispose() → void
Stops observing, stops listening for identity changes, and restores the previous observer if the slot is still ours.
entities([EntityFilter filter = const EntityFilter()]) → List<EntitySnapshot>
Entities matching filter.
entity(String key) → EntitySnapshot?
One entity and its dependents.
explain(String key) → Explanation
The refetch story when it refetched, the miss story otherwise.
foldedRecord(String key) → Map<String, Object?>?
One record with overlays folded in. A bounded, read-only copy.
frames() → List<FrameCapture>
Captured frames, oldest first. Empty once the inspector is disposed.
lastCause() → LogEntry?
The most recent mutation or frame batch the log still holds.
log() → List<LogEntry>
The log, oldest first. Empty once the inspector is disposed.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
outbox() → Future<Map<String, Object?>>
The Outbox panel's rows. With a storage session, its queued writes are the truth and the event mirror adds recent replays; without one, the mirror alone. wired says whether replay and discard are available.
overlays() → List<OverlaySnapshot>
The overlay stack.
patchEntity(String key, Map<String, Object?> fields) → int
Pushes a hand-written field change; returns the layer id. Throws a StateError for a sync-owned entity.
queries() → List<QuerySnapshot>
Every remembered query.
query(String key) → QuerySnapshot?
One query.
querySummaries() → List<Json>
One light row per remembered query, in registry order: its key, operation, mount count, freshness, status and how many tags and dependencies it carries. Never the lists themselves, so a row's size does not grow with the cache.
records() → List<RecordSnapshot>
Every tracked record's cheap fields.
replayOutbox(String id) → Future<void>
Replays one queued write through the inspector. The attempt is logged before it is made, and whatever the inspector throws (an offline failure, or a refusal because the write belongs to another principal) reaches the caller unchanged.
requests() → List<RequestSnapshot>
What the transport did, oldest first. Empty when nothing is wired, and once the inspector is disposed.
setCapture(FrameOptions? options) → void
Turns capture on with options, or off with null. Replacing the ring discards what the old one held.
snapshot() → CacheSnapshot
Counters, queries and the tag graph.
statusCounts() → Map<String, int>
How many tracked records are in each status, how many of those are fetching, and how many remembered queries are stale or unmounted. Counters only: nothing is copied out of the cache. Every count is zero while the cache is not answering.
store() → StoreSnapshot
The counters.
subscribe(void listener(LogEntry entry)) → void Function()
Hears each entry as it is recorded.
sync() → Future<Map<String, Object?>>
The Sync panel: each source's entities and self-description, and the latest status each entity reported.
tags() → List<TagSnapshot>
The tag graph.
toString() → String
A string representation of this object.
inherited
whyNotRefetched(String key, [MissCause? cause]) → MissReport
Why did this query not refetch? With no cause, the most recent recorded mutation or frame batch is used. While an identity change is in progress, or once the inspector is disposed, the answer is an empty report that says the query is not tracked.
whyRefetched(String key) → RefetchReport?
Why did this query refetch? Null when the log has nothing, which is also the answer while an identity change is in progress.
wouldInvalidate(OperationMeta meta, [TagContext args = TagContext.empty, Object? response]) → InvalidationPreview
What would meta invalidate, and who would it reach? While an identity change is in progress, or once the inspector is disposed, no query is reached.

Operators

operator ==(Object other) → bool
The equality operator.
inherited