diff --git a/packages/normalize/lib/src/normalize_node.dart b/packages/normalize/lib/src/normalize_node.dart index a7ba2585..a5ac1538 100644 --- a/packages/normalize/lib/src/normalize_node.dart +++ b/packages/normalize/lib/src/normalize_node.dart @@ -114,12 +114,15 @@ Object? normalizeNode({ }; if (dataId != null) existingNormalizedData = config.read(dataId); - + + final existingMap = existingNormalizedData is Map + ? Map.from(existingNormalizedData) + : {}; + final mergedData = deepMerge( - Map.from(existingNormalizedData as Map? ?? {}), + existingMap, dataToMerge, ); - if (!root && dataId != null) { write(dataId, mergedData); return {config.referenceKey: dataId};