pack method
void
pack(
- dynamic value
Implementation
void pack(Packable value) {
if (value is String) {
packString(value);
} else if (value is num) {
if (value.floor() == value) {
packInteger(value.toInt());
} else {
packDouble(value);
}
} else if (value is bool) {
if (value) {
_bufferBuilder.append(0xc3);
} else {
_bufferBuilder.append(0xc2);
}
} else if (value == null) {
_bufferBuilder.append(0xc0);
} else if (value is List) {
packArray(value);
} else if (value is ByteBuffer) {
packBin(Uint8List.view(value));
} else if (value is DateTime) {
packString(value.toString());
} else if (value is Map) {
packObject(value);
} else {
throw Exception('Type "${value.runtimeType}" not yet supported');
}
_bufferBuilder.flush();
}