loadCollection method
Implementation
Future<Map<String, DynamicMap>?> loadCollection(
LocalStoreCollectionQuery query,
) async {
await initialize();
await onLoad?.call();
final trimPath = query.path.trimQuery().trimString("/");
final paths = trimPath.split("/");
if (paths.isEmpty) {
return null;
}
final value = _data._readFromPath(paths, 0);
if (value is! DynamicMap) {
return null;
}
final entries = value.toList(
(key, value) {
if (value is! Map) {
return null;
}
return MapEntry(
key,
Map<String, dynamic>.from(value),
);
},
).removeEmpty();
if (query.filter != null) {
entries.removeWhere((element) => !query.filter!(element.value));
}
return Map<String, DynamicMap>.fromEntries(entries);
}