readNormalized method
Reads dereferences an entity from the first valid optimistic layer, defaulting to the base internal HashMap.
Implementation
Map<String, dynamic>? readNormalized(
String rootId, {
bool? optimistic = true,
}) {
var value = store.get(rootId);
if (!optimistic!) {
return value;
}
for (final patch in optimisticPatches) {
if (patch.data.containsKey(rootId)) {
final patchData = patch.data[rootId];
if (value is Map<String, dynamic> &&
patchData is Map<String, dynamic>) {
value = deeplyMergeLeft([
value,
patchData,
]);
} else {
// Overwrite if not mergable
value = patchData;
}
}
}
return value;
}