write method
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),
);
}