pruneOldSelections function

void pruneOldSelections(
  1. Directory refDir, {
  2. Duration maxAge = const Duration(hours: 1),
})

Deletes sel-* files older than maxAge from refDir — each tap leaves a .json+.png pair behind, and nobody's going back to reference a selection from an hour ago.

Implementation

void pruneOldSelections(Directory refDir, {Duration maxAge = const Duration(hours: 1)}) {
  if (!refDir.existsSync()) return;
  final DateTime cutoff = DateTime.now().subtract(maxAge);
  for (final FileSystemEntity entity in refDir.listSync()) {
    if (entity is! File) continue;
    final String name = entity.uri.pathSegments.last;
    if (!name.startsWith('sel-')) continue;
    if (entity.statSync().modified.isBefore(cutoff)) {
      entity.deleteSync();
    }
  }
}