parse static method

SocketLane parse(
  1. Object? data
)

Parses a lane from config data: a plain host string, or a map with host / optional port keys.

Implementation

static SocketLane parse(Object? data) {
  if (data is String) {
    final trimmed = data.trim();
    if (trimmed.isEmpty) {
      throw ArgumentError.value(data, 'data', 'lane host must not be empty');
    }
    return SocketLane(host: trimmed);
  }
  if (data is Map) {
    final host = data['host'];
    if (host is! String || host.trim().isEmpty) {
      throw ArgumentError.value(data, 'data', 'lane requires a host string');
    }
    final port = data['port'];
    if (port != null && port is! int) {
      throw ArgumentError.value(data, 'data', 'lane port must be an int');
    }
    return SocketLane(host: host.trim(), port: port);
  }
  throw ArgumentError.value(data, 'data', 'unsupported lane definition');
}