encode method
Implementation
Uint8List encode() {
if (_value is int) {
final buf = Uint8List(1 + 2 + 8);
final bd = ByteData.sublistView(buf);
buf[0] = _keyTypeInt;
bd.setUint16(1, 8, Endian.little);
bd.setInt64(3, _value as int, Endian.little);
return buf;
}
if (_value is double) {
final buf = Uint8List(1 + 2 + 8);
final bd = ByteData.sublistView(buf);
buf[0] = _keyTypeFloat;
bd.setUint16(1, 8, Endian.little);
bd.setFloat64(3, _value as double, Endian.little);
return buf;
}
// String
final strBytes = utf8.encode(_value.toString());
final buf = Uint8List(1 + 2 + strBytes.length);
final bd = ByteData.sublistView(buf);
buf[0] = _keyTypeString;
bd.setUint16(1, strBytes.length, Endian.little);
buf.setRange(3, 3 + strBytes.length, strBytes);
return buf;
}