getObjects method
Future<List<ObjectResult> >
getObjects(
- List<
String> ids, { - ObjectIncludeOptions? include,
override
Batched object reads: one entry per input id, in the same order.
Implementation
@override
Future<List<ObjectResult>> getObjects(
List<String> ids, {
ObjectIncludeOptions? include,
}) async {
final readMask = _objectReadMask(include);
final chunks = chunk(ids, _MAX_OBJECTS_PER_BATCH);
final results = <GetObjectResult>[];
for (final c in chunks) {
final response = await _client.ledgerService.batchGetObjects(
BatchGetObjectsRequest(
requests: c.map((id) => GetObjectRequest(objectId: id)),
readMask: readMask,
),
);
results.addAll(response.objects);
}
return [
for (var i = 0; i < results.length; i++)
if (results[i].whichResult() == GetObjectResult_Result.error)
_objectError(results[i].error, i < ids.length ? ids[i] : null)
else
ObjectSuccess(_parseObject(results[i].object, include)),
];
}