LifeCycle.fromJson constructor

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

Implementation

factory LifeCycle.fromJson(Map<String, dynamic> json) {
  return JsonFactoryMixin.safeFromJson(
    json,
    (j) {
      final viewName = JsonFactoryMixin.safeString(j['view_name']);
      final stage = JsonFactoryMixin.safeString(j['stage']);

      // If required fields are missing or empty, return fallback
      if ((viewName?.isEmpty ?? true) && (stage?.isEmpty ?? true)) {
        return LifeCycle(viewName: '', stage: '');
      }

      return LifeCycle(
        viewName: viewName ?? '',
        stage: stage ?? '',
        parentViewName: JsonFactoryMixin.safeString(j['parent_view_name']),
        timeMs: JsonFactoryMixin.safeInt(j['time_ms']),
      );
    },
    () => LifeCycle(viewName: '', stage: ''),
  );
}