getObjects method

Future<List<ObjectResult>> getObjects(
  1. List<String> ids, {
  2. ObjectIncludeOptions? include,
})

Implementation

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 results.map((result) {
    if (result.whichResult() == GetObjectResult_Result.error) {
      return ObjectError(result.error.message);
    }
    return ObjectSuccess(_parseObject(result.object, include));
  }).toList();
}