querySummaries method
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.
Implementation
List<Json> querySummaries() => _ask((c) {
final records = {
for (final record in c.trackedRecords()) record.key: record,
};
return [
for (final query in c.queries())
{
'key': query.key,
'operation': query.operation,
'mounts': query.mounts,
'stale': query.stale,
'settled': query.settled,
'settledAt': query.settledAt,
'status': records[query.key]?.status ?? 'idle',
'fetching': records[query.key]?.fetching ?? false,
'tagCount': query.tags.length,
'depCount': query.deps.length,
},
];
}, const []);