parse static method
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');
}