querySummaries method

List<Json> querySummaries()

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 []);