PerformanceStep.fromJson constructor
PerformanceStep.fromJson(
- Map<String, dynamic> json
)
Implementation
factory PerformanceStep.fromJson(Map<String, dynamic> json) {
return JsonFactoryMixin.safeFromJson(
json,
(j) {
// Handle both millisecond timestamps and ISO strings
DateTime parseTimestamp(dynamic ts) {
if (ts == null) {
return DateTime.now().toUtc();
}
if (ts is int) {
return DateTime.fromMillisecondsSinceEpoch(ts, isUtc: true);
}
if (ts is String) {
return DateTime.tryParse(ts)?.toUtc() ?? DateTime.now().toUtc();
}
return DateTime.now().toUtc();
}
return PerformanceStep(
timestamp: parseTimestamp(j['timestamp']),
name: JsonFactoryMixin.safeString(j['name']),
elapsedMs: JsonFactoryMixin.safeInt(j['elapsed_ms']),
debug: JsonFactoryMixin.safeString(j['debug']),
);
},
() => PerformanceStep(timestamp: DateTime.now().toUtc()),
);
}