SView.fromJson constructor

SView.fromJson(
  1. dynamic json
)

Creates a SView from value json

Implementation

factory SView.fromJson(
  dynamic json,
) {
  final type =
      SViewType.values.firstWhere((type) => type.backendName == json['type']);
  final fields = (json['fields'] as List?)
      ?.map((json) => GridField.fromJson(json))
      .toList();
  final slotProperties =
      (json['slotProperties'] as Map?)?.cast<String, dynamic>();
  final fieldProperties =
      (json['fieldProperties'] as Map?)?.cast<String, dynamic>();
  final slots = (json['_embedded']?['schema']?['slots'] as Map?)
      ?.cast<String, dynamic>()
      .map(
        (key, value) => MapEntry(
          key,
          SViewSlot.fromJson(value),
        ),
      );
  return SView(
    name: json['name'],
    id: json['id'],
    type: type,
    links: linkMapFromJson(
      json['_links'],
    ),
    fields: fields,
    slotProperties: slotProperties,
    // ignore: deprecated_member_use_from_same_package
    fieldProperties: fieldProperties,
    slots: slots,
    properties: json['properties'],
  );
}