saveStorageManagedState function

Future<void> saveStorageManagedState(
  1. Map<String, dynamic> state
)

Saves Cloudflare Storage managed state atomically.

Implementation

Future<void> saveStorageManagedState(Map<String, dynamic> state) async {
  final file = File(storageManagedStatePath);
  await file.parent.create(recursive: true);
  final temporary = File("${file.path}.tmp");
  await temporary.writeAsString(YamlWriter().write(state));
  try {
    await temporary.rename(file.path);
  } on FileSystemException {
    await file.writeAsString(await temporary.readAsString());
    await temporary.delete();
  }
}