TerminalBridgeMessage.fromJson constructor
Decodes a bridge message from JSON.
Implementation
factory TerminalBridgeMessage.fromJson(Map<String, dynamic> json) {
final rawType = (json['type'] as String? ?? '').trim();
final type = switch (rawType) {
'output' => TerminalBridgeMessageType.output,
'input.text' => TerminalBridgeMessageType.inputText,
'input.bytes' => TerminalBridgeMessageType.inputBytes,
'resize' => TerminalBridgeMessageType.resize,
'shutdown' => TerminalBridgeMessageType.shutdown,
_ => throw FormatException(
'Unknown terminal bridge message type: $rawType',
),
};
return TerminalBridgeMessage._(
type: type,
data: json['data'] as String?,
bytesBase64: json['bytesBase64'] as String?,
width: json['width'] as int?,
height: json['height'] as int?,
);
}