fromJson static method
Returns a new AmpComponentDto instance and imports its values from
value
if it's a Map, null otherwise.
Implementation
// ignore: prefer_constructors_over_static_methods
static AmpComponentDto? fromJson(dynamic value) {
if (value is AmpComponentDto) {
return value;
}
if (value is Map) {
final json = value.cast<String, dynamic>();
// Ensure that the map contains the required keys.
// Note 1: the values aren't checked for validity beyond being non-null.
// Note 2: this code is stripped in release mode!
assert(() {
requiredKeys.forEach((key) {
assert(json.containsKey(key), 'Required key "AmpComponentDto[$key]" is missing from JSON.');
assert(json[key] != null, 'Required key "AmpComponentDto[$key]" has a null value in JSON.');
});
return true;
}());
return AmpComponentDto(
from: mapValueOfType<int>(json, r'from'),
to: mapValueOfType<int>(json, r'to'),
ingredients: IngredientDto.listFromJson(json[r'ingredients']) ?? const [],
pharmaceuticalForms: PharmaceuticalFormStubDto.listFromJson(json[r'pharmaceuticalForms']) ?? const [],
routeOfAdministrations: RouteOfAdministrationDto.listFromJson(json[r'routeOfAdministrations']) ?? const [],
dividable: mapValueOfType<String>(json, r'dividable'),
scored: mapValueOfType<String>(json, r'scored'),
crushable: AmpComponentDtoCrushableEnum.fromJson(json[r'crushable']),
containsAlcohol: AmpComponentDtoContainsAlcoholEnum.fromJson(json[r'containsAlcohol']),
sugarFree: mapValueOfType<bool>(json, r'sugarFree'),
modifiedReleaseType: mapValueOfType<int>(json, r'modifiedReleaseType'),
specificDrugDevice: mapValueOfType<int>(json, r'specificDrugDevice'),
dimensions: mapValueOfType<String>(json, r'dimensions'),
name: SamTextDto.fromJson(json[r'name']),
note: SamTextDto.fromJson(json[r'note']),
);
}
return null;
}