encode method
Encodes a value of type T
to the storage type TStore
.
Implementation
@override
String encode(List<bool> value) {
final length = value.length;
final byteLength = (length + 7) ~/ 8;
final bytes = Uint8List(4 + byteLength); // first 4 bytes for length
final byteData = ByteData.sublistView(bytes);
byteData.setUint32(0, length, Endian.big);
for (var i = 0; i < length; i++) {
if (value[i]) {
bytes[4 + (i >> 3)] |= (1 << (i & 7));
}
}
return base64Encode(bytes);
}