Packet.from constructor
- dynamic data
Allow Packets to be created from different data types. Supported data types are: String, numbers, Map, List, and Uint8List. Complex data types such as Map and List must be supported by jsonEncode
Implementation
factory Packet.from(dynamic data){
Packet p = Packet();
String content;
if( data is Uint8List ){
p._bytes = data.toList();
return p;
}
else if( data is String )
content = data;
else if( data is Map || data is List )
content = jsonEncode(data);
else if( data is num )
content = data.toString();
else if( data is bool )
content = "$data";
else
throw new Exception("Unsupported data type. Serialize to one of the supported formats");
p._bytes = utf8.encode(content);
return p;
}