CacheItem<T>.fromJson constructor
Creates a cache item from a JSON map.
Implementation
factory CacheItem.fromJson(Map<String, dynamic> json) {
Set<String>? tags;
if (json['tags'] != null) {
final tagsList = json['tags'] as List<dynamic>;
tags = tagsList.map((tag) => tag as String).toSet();
}
return CacheItem<T>(
value: json['value'] as T,
expiry: json['expiry'] != null ? DateTime.parse(json['expiry']) : null,
slidingExpiry: json['slidingExpiry'] != null
? Duration(seconds: json['slidingExpiry'])
: null,
priority: json['priority'] != null
? CachePriority.values[json['priority']]
: CachePriority.normal,
createdAt:
json['createdAt'] != null ? DateTime.parse(json['createdAt']) : null,
lastAccessedAt: json['lastAccessedAt'] != null
? DateTime.parse(json['lastAccessedAt'])
: null,
accessCount: json['accessCount'] as int? ?? 0,
isCompressed: json['isCompressed'] as bool? ?? false,
originalSize: json['originalSize'] as int?,
compressionRatio: json['compressionRatio'] as double?,
tags: tags,
);
}