endpointSummaries method
Implementation
List<SingboxEndpointSummary> endpointSummaries() {
final List<SingboxEndpointSummary> output = <SingboxEndpointSummary>[];
final List<Object?> outbounds = _outbounds();
for (int index = 0; index < outbounds.length; index++) {
final Object? item = outbounds[index];
if (item is! Map<Object?, Object?>) {
continue;
}
final Map<String, Object?> outbound = _normalizeMap(item);
final String type = _readString(outbound['type']) ?? '';
final String? tag = _readString(outbound['tag']);
final String? remark =
_readString(outbound['remark']) ??
_readString(outbound['name']) ??
_readString(outbound['ps']) ??
tag;
final String? server =
_readString(outbound['server']) ?? _readString(outbound['address']);
final int? serverPort = _readInt(outbound['server_port']);
final String? transportType = _readTransportType(outbound['transport']);
final bool tlsEnabled = _readTlsEnabled(outbound['tls']);
output.add(
SingboxEndpointSummary(
outboundIndex: index,
type: type,
tag: tag,
remark: remark,
server: server,
serverPort: serverPort,
transportType: transportType,
tlsEnabled: tlsEnabled,
rawOutbound: _deepCopyMap(outbound),
),
);
}
return output;
}