EngineMessage.fromJson constructor
EngineMessage.fromJson(
- Map<String, dynamic> json
)
Implementation
factory EngineMessage.fromJson(Map<String, dynamic> json) {
final type = json['type'] as String? ?? '';
final id = json['id'] as String? ?? '';
switch (type) {
case 'log':
return LogMessage(
id: id,
level: json['level'] as String? ?? 'info',
message: json['message'] as String? ?? '',
);
case 'progress':
return ProgressMessage(
id: id,
pack: json['pack'] as String? ?? '',
step: json['step'] as int? ?? 0,
total: json['total'] as int? ?? 0,
);
case 'plan_item':
return PlanItemMessage(
id: id,
action: json['action'] as String? ?? '',
path: json['path'] as String? ?? '',
pack: json['pack'] as String? ?? '',
);
case 'done':
return DoneMessage(
id: id,
status: json['status'] as String? ?? 'ok',
);
default:
return EngineMessage(id: id, type: type);
}
}