convert method
override
Convert object
into UTF-8 encoded JSON.
Implementation
List<int> convert(Object object) {
List<List<int>> bytes = [];
// The `stringify` function always converts into chunks.
// Collect the chunks into the `bytes` list, then combine them afterwards.
void addChunk(Uint8List chunk, int start, int end) {
if (start > 0 || end < chunk.length) {
int length = end - start;
chunk = new Uint8List.view(
chunk.buffer, chunk.offsetInBytes + start, length);
}
bytes.add(chunk);
}
_JsonUtf8Stringifier.stringify(
object, _indent, _toEncodable, _bufferSize, addChunk);
if (bytes.length == 1) return bytes[0];
int length = 0;
for (int i = 0; i < bytes.length; i++) {
length += bytes[i].length;
}
Uint8List result = new Uint8List(length);
for (int i = 0, offset = 0; i < bytes.length; i++) {
var byteList = bytes[i];
int end = offset + byteList.length;
result.setRange(offset, end, byteList);
offset = end;
}
return result;
}