CockpitTestTargetRequirements.fromJson constructor
Decodes a CockpitTestTargetRequirements from a JSON object.
Implementation
factory CockpitTestTargetRequirements.fromJson(
Object? value, {
required String path,
}) {
final json = CockpitTestValueReader.object(value, path);
CockpitTestValueReader.keys(
json,
const <String>{
'platform',
'targetKind',
'plane',
'appId',
'requiredCapabilities',
},
path,
required: const <String>{'platform', 'targetKind', 'plane'},
);
final rawCapabilities = json['requiredCapabilities'] == null
? const <Object?>[]
: CockpitTestValueReader.list(
json['requiredCapabilities'],
'$path.requiredCapabilities',
);
return CockpitTestTargetRequirements(
platform: CockpitTestValueReader.string(
json['platform'],
'$path.platform',
),
targetKind: CockpitTestValueReader.string(
json['targetKind'],
'$path.targetKind',
),
plane: CockpitTestValueReader.enumeration(
json['plane'],
CockpitTestPlane.values,
'$path.plane',
),
appId: CockpitTestValueReader.optionalString(
json['appId'],
'$path.appId',
),
requiredCapabilities: <String>[
for (var index = 0; index < rawCapabilities.length; index += 1)
CockpitTestValueReader.string(
rawCapabilities[index],
'$path.requiredCapabilities[$index]',
),
],
);
}