readCache<T, U extends JsonSerializable> method
Reads cached data for a query without making a network request.
Returns null if:
- The query is not cached
- The cached entry has expired
Example:
final cachedUser = await client.readCache(
GetUserQuery(variables: GetUserArguments(id: '123')),
);
if (cachedUser != null) {
print('Found in cache: $cachedUser');
}
Implementation
Future<T?> readCache<T, U extends JsonSerializable>(
GraphQLQuery<T, U> query,
) async {
final request = Request(
operation: Operation(
document: query.document,
operationName: query.operationName,
),
variables: query.getVariablesMap(),
);
final cacheKey = _cacheLink.generateCacheKey(request);
final cached = _cacheLink.read(cacheKey);
return cached != null ? query.parse(cached.data) : null;
}