RohdModuleInfo.fromJson constructor
Build from a JSON map (as returned by the extension host or DTD).
Implementation
factory RohdModuleInfo.fromJson(Map<String, dynamic> json) {
final available = json['extensionAvailable'] as bool? ?? false;
final module = json['module'] as String?;
final error = json['error'] as String?;
final dtdHealthy = json['dtdHealthy'] as bool?;
final dtdRegistrationConflict =
json['dtdRegistrationConflict'] as bool? ?? false;
final dtdStatusMessage = json['dtdStatusMessage'] as String?;
final fstLoading = json['fstLoading'] as bool? ?? false;
final rawFormats = json['formats'] as Map<String, dynamic>? ?? const {};
final formats = <RohdSourceFormat, RohdFormatInfo>{};
for (final entry in rawFormats.entries) {
final fmt = _parseFormat(entry.key);
if (fmt == null) {
continue;
}
final fmtMap = entry.value as Map<String, dynamic>? ?? const {};
formats[fmt] = RohdFormatInfo(
available: fmtMap['available'] as bool? ?? false,
fileFound: fmtMap['fileFound'] as bool? ?? false,
path: fmtMap['path'] as String?,
);
}
return RohdModuleInfo(
extensionAvailable: available,
module: module,
formats: formats,
error: error,
dtdHealthy: dtdHealthy,
dtdRegistrationConflict: dtdRegistrationConflict,
dtdStatusMessage: dtdStatusMessage,
fstLoading: fstLoading,
);
}