PersistedStatsCache.fromJson constructor

PersistedStatsCache.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory PersistedStatsCache.fromJson(Map<String, dynamic> json) {
  return PersistedStatsCache(
    version: (json['version'] as num?)?.toInt() ?? 0,
    lastComputedDate: json['lastComputedDate'] as String?,
    dailyActivity:
        (json['dailyActivity'] as List<dynamic>?)
            ?.map((e) => DailyActivity.fromJson(e as Map<String, dynamic>))
            .toList() ??
        [],
    dailyModelTokens:
        (json['dailyModelTokens'] as List<dynamic>?)
            ?.map((e) => DailyModelTokens.fromJson(e as Map<String, dynamic>))
            .toList() ??
        [],
    modelUsage:
        (json['modelUsage'] as Map<String, dynamic>?)?.map(
          (k, v) =>
              MapEntry(k, ModelUsage.fromJson(v as Map<String, dynamic>)),
        ) ??
        {},
    totalSessions: (json['totalSessions'] as num?)?.toInt() ?? 0,
    totalMessages: (json['totalMessages'] as num?)?.toInt() ?? 0,
    longestSession: json['longestSession'] != null
        ? SessionStats.fromJson(
            json['longestSession'] as Map<String, dynamic>,
          )
        : null,
    firstSessionDate: json['firstSessionDate'] as String?,
    hourCounts:
        (json['hourCounts'] as Map<String, dynamic>?)?.map(
          (k, v) => MapEntry(int.parse(k), (v as num).toInt()),
        ) ??
        {},
    totalSpeculationTimeSavedMs:
        (json['totalSpeculationTimeSavedMs'] as num?)?.toInt() ?? 0,
    shotDistribution: (json['shotDistribution'] as Map<String, dynamic>?)
        ?.map((k, v) => MapEntry(int.parse(k), (v as num).toInt())),
  );
}