Relay.fromJson constructor

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

Implementation

factory Relay.fromJson(Map<String, dynamic> json) {
  final RelayType type;
  try {
    type = RelayType.fromName(json.keys.first);
  } on StateError {
    throw MessageException("Invalid Relay json.", details: {"json": json});
  }
  switch (type) {
    case RelayType.multiHostName:
      return MultiHostName.fromJson(json);
    case RelayType.singleHostAddr:
      return SingleHostAddr.fromJson(json);
    default:
      return SingleHostName.fromJson(json);
  }
}