save method

Future<void> save()

Implementation

Future<void> save() async {
  if (!context.config.cacheEnabled || !_initialized) return;

  try {
    final issuesFound = <String, dynamic>{};
    final perfectFiles = <String, dynamic>{};

    for (final entry in _cache.entries) {
      final value = entry.value as Map<String, dynamic>;
      if (value['priority'] == 'perfect') {
        perfectFiles[entry.key] = value;
      } else {
        issuesFound[entry.key] = value;
      }
    }

    final output = {
      'issues_found': issuesFound,
      'perfect_files': perfectFiles,
    };

    final encoder = JsonEncoder.withIndent('  ');
    final jsonString = encoder.convert(output);

    await _cacheFile.writeAsString(jsonString);
  } catch (e) {
    context.logger.verboseLog('Failed to save cache: $e');
  }
}