9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2026-01-06 15:52:03 +00:00

应用merges

This commit is contained in:
XiaoMoMi
2025-06-05 16:03:54 +08:00
parent 818b61e92e
commit 54c29cff46

View File

@@ -107,13 +107,15 @@ public class TemplateManagerImpl implements TemplateManager {
Map<String, Object> results = new LinkedHashMap<>();
for (Object processedTemplate : processedTemplates) {
if (processedTemplate instanceof Map<?, ?> anotherMap) {
Map<String, Object> castedMap = MiscUtils.castToMap(anotherMap, false);
deepMergeMaps(results, castedMap);
deepMergeMaps(results, MiscUtils.castToMap(anotherMap, false));
}
}
if (processingResult.overrides() instanceof Map<?, ?> overrides) {
results.putAll(MiscUtils.castToMap(overrides, false));
}
if (processingResult.merges() instanceof Map<?, ?> merges) {
deepMergeMaps(results, MiscUtils.castToMap(merges, false));
}
processCallBack.accept(results);
} else if (firstTemplate instanceof List<?>) {
List<Object> results = new ArrayList<>();
@@ -124,10 +126,13 @@ public class TemplateManagerImpl implements TemplateManager {
}
}
if (processingResult.overrides() instanceof List<?> overrides) {
processCallBack.accept(overrides);
} else {
processCallBack.accept(results);
results.clear();
results.addAll(overrides);
}
if (processingResult.merges() instanceof List<?> merges) {
results.addAll(merges);
}
processCallBack.accept(results);
} else {
Object overrides = processingResult.overrides();
if (overrides != null) {