CockpitTestProjectTarget.fromJson constructor

CockpitTestProjectTarget.fromJson(
  1. Object? value, {
  2. required String path,
})

Decodes a CockpitTestProjectTarget from a JSON object.

Implementation

factory CockpitTestProjectTarget.fromJson(
  Object? value, {
  required String path,
}) {
  final json = CockpitTestValueReader.object(value, path);
  CockpitTestValueReader.keys(
    json,
    const <String>{'requirements', 'deviceIds', 'labels'},
    path,
    required: const <String>{'requirements'},
  );
  final labels = json['labels'] == null
      ? const <String, Object?>{}
      : CockpitTestValueReader.object(json['labels'], '$path.labels');
  return CockpitTestProjectTarget(
    requirements: CockpitTestTargetRequirements.fromJson(
      json['requirements'],
      path: '$path.requirements',
    ),
    deviceIds: json['deviceIds'] == null
        ? const <String>[]
        : CockpitTestValueReader.strings(
            json['deviceIds'],
            '$path.deviceIds',
            unique: true,
          ),
    labels: <String, String>{
      for (final entry in labels.entries)
        entry.key: CockpitTestValueReader.string(
          entry.value,
          '$path.labels.${entry.key}',
        ),
    },
  );
}