Schema.fromJson constructor

Schema.fromJson(
  1. Map<String, dynamic> json
)

Creates a Schema from a JSON object.

Implementation

factory Schema.fromJson(Map<String, dynamic> json) {
  final extensions = <String, dynamic>{};
  json.forEach((key, value) {
    if (key.startsWith('x-')) {
      extensions[key] = value;
    }
  });
  dynamic parsedAdditionalProperties;
  if (json.containsKey('additionalProperties')) {
    final ap = json['additionalProperties'];
    if (ap is bool) {
      parsedAdditionalProperties = ap;
    } else if (ap is Map<String, dynamic>) {
      parsedAdditionalProperties = Schema.fromJson(ap);
    }
  }
  dynamic parsedType;
  if (json.containsKey('type')) {
    final t = json['type'];
    if (t is String) {
      parsedType = t;
    } else if (t is List) {
      parsedType = t.cast<String>();
    }
  }

  return _$SchemaFromJson(json).copyWith(
    extensions: extensions,
    additionalProperties: parsedAdditionalProperties,
    type: parsedType,
  );
}