AnalysisUpdateContentParams.fromJson constructor

AnalysisUpdateContentParams.fromJson(
  1. JsonDecoder jsonDecoder,
  2. String jsonPath,
  3. Object? json
)

Implementation

factory AnalysisUpdateContentParams.fromJson(
    JsonDecoder jsonDecoder, String jsonPath, Object? json) {
  json ??= {};
  if (json is Map) {
    Map<String, Object> files;
    if (json.containsKey('files')) {
      files = jsonDecoder.decodeMap('$jsonPath.files', json['files'],
          valueDecoder: (String jsonPath, Object? json) =>
              jsonDecoder.decodeUnion(jsonPath, json, 'type', {
                'add': (String jsonPath, Object? json) =>
                    AddContentOverlay.fromJson(jsonDecoder, jsonPath, json),
                'change': (String jsonPath, Object? json) =>
                    ChangeContentOverlay.fromJson(
                        jsonDecoder, jsonPath, json),
                'remove': (String jsonPath, Object? json) =>
                    RemoveContentOverlay.fromJson(jsonDecoder, jsonPath, json)
              }));
    } else {
      throw jsonDecoder.mismatch(jsonPath, 'files');
    }
    return AnalysisUpdateContentParams(files);
  } else {
    throw jsonDecoder.mismatch(
        jsonPath, 'analysis.updateContent params', json);
  }
}