Map<String, Object?> toJson() => { 'name': name, 'version': version, 'type': type.name, 'source': source.name, };