loadCachedFacets function
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;
}
}