decodeRuntimeCacheEntry function
Implementation
MiniProgramCacheEntry? decodeRuntimeCacheEntry(Map<String, Object?> json) {
if (json['schemaVersion'] != runtimeCachePersistenceSchemaVersion) {
return null;
}
final appId = json['appId'];
final bucketName = json['bucket'];
final key = json['key'];
final createdAt = json['createdAt'];
final updatedAt = json['updatedAt'];
final lastAccessedAt = json['lastAccessedAt'];
final expiresAt = json['expiresAt'];
final sizeBytes = json['sizeBytes'];
final priorityName = json['priority'];
if (appId is! String ||
bucketName is! String ||
key is! String ||
createdAt is! String ||
updatedAt is! String ||
lastAccessedAt is! String ||
expiresAt is! String ||
sizeBytes is! int ||
priorityName is! String) {
return null;
}
final bucket = _bucketFromName(bucketName);
final priority = _priorityFromName(priorityName);
if (bucket == null || priority == null || sizeBytes < 0) {
return null;
}
return MiniProgramCacheEntry(
appId: appId,
bucket: bucket,
key: key,
value: json['value'],
createdAt: DateTime.parse(createdAt),
updatedAt: DateTime.parse(updatedAt),
lastAccessedAt: DateTime.parse(lastAccessedAt),
expiresAt: DateTime.parse(expiresAt),
sizeBytes: sizeBytes,
priority: priority,
);
}