encodeSync<T> static method
Implementation
static List<int> encodeSync<T>(T value, {Encodable<T>? using}) {
late List<int> out;
final sink = ByteConversionSink.withCallback((result) {
out = result;
});
final values = _SyncEncodingValues(sink);
final encoder = ProgressiveJsonEncoder._(values);
if (value is Reference) {
encoder.encodeObject<T>(value, using: using);
} else {
encoder.encodeObject<Reference<T>>(Reference(value, using: using));
}
var bytes = encoder.toBytes();
if (bytes case [tokenDollarSign, 0x30 /* '0' */]) {
// Skip if the data is just a marker with no value
} else {
sink.add(bytes + [0x0A]); // Add newline at the end
}
values.done();
sink.close();
return out;
}