write method

Future<void> write({
  1. required String providerId,
  2. required String cacheKey,
  3. required String ext,
  4. required Uint8List bytes,
  5. required Map<String, Object?> sidecar,
})

Atomically writes bytes (as <cacheKey>.<ext>) and sidecar for cacheKey under providerId.

Implementation

Future<void> write({
  required String providerId,
  required String cacheKey,
  required String ext,
  required Uint8List bytes,
  required Map<String, Object?> sidecar,
}) async {
  await _dir(providerId).create(recursive: true);
  await _atomicBytes(assetFile(providerId, cacheKey, ext), bytes);
  await _atomicString(
    sidecarFile(providerId, cacheKey),
    const JsonEncoder.withIndent('  ').convert(sidecar),
  );
}