getAll method

Future<List<V?>> getAll(
  1. List<String> keys, [
  2. Transaction? txn
])

Implementation

Future<List<V?>> getAll(List<String> keys, [Transaction? txn]) async {
  if (!keys.any((key) => !_cache.containsKey(key))) {
    return keys.map((key) => _cache[key]).toList();
  }
  txn ??= boxCollection._db.transaction(name, 'readonly');
  final store = txn.objectStore(name);
  final list = await Future.wait(keys.map((key) => store.getObject(key)));
  for (var i = 0; i < keys.length; i++) {
    _cache[keys[i]] = list[i] as V?;
  }
  return list.cast<V?>();
}