loadCachedFacets function

Future<SessionFacets?> loadCachedFacets(
  1. String sessionId
)

Load cached facets for a session.

Implementation

Future<SessionFacets?> loadCachedFacets(String sessionId) async {
  final facetPath = p.join(getFacetsDir(), '$sessionId.json');
  try {
    final file = File(facetPath);
    if (!await file.exists()) return null;
    final content = await file.readAsString();
    final parsed = jsonDecode(content);
    if (!SessionFacets.isValid(parsed)) {
      // Delete corrupted cache.
      try {
        await file.delete();
      } catch (_) {}
      return null;
    }
    return SessionFacets.fromJson(parsed as Map<String, dynamic>);
  } catch (_) {
    return null;
  }
}