getAll method
Returns a list with entries of type List<T>. Each inner list contains
one instance of the values logged under keys
.
Note: The records for each key must have the same length.
Implementation
List<List<T>> getAll(List<String> keys) {
final result = <List<T>>[];
final dim = keys.length;
// Check all records have same length.
final count = get(keys.first).length;
for (var i = 1; i < dim; i++) {
int tmp = get(keys[i]).length;
if (count != tmp) {
throw ErrorOf<DataLog<T>>(
message: 'Error in method getAll($keys).',
invalidState: 'The record ${keys[i]} has length $tmp.',
expectedState: 'All records must have the same length.');
}
}
for (var i = 0; i < count; ++i) {
result.add(
List<T>.generate(
dim,
(k) => get(keys[k])[i],
),
);
}
return result;
}