loadCollection method

Future<Map<String, DynamicMap>?> loadCollection(
  1. LocalStoreCollectionQuery query
)

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);
}