Skip to content

Commit 9d1813d

Browse files
committed
🐛 Last schema bugf
1 parent e27d669 commit 9d1813d

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

Diff for: src/TreeOperations/merge.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,10 @@ export const mergeTrees = (tree1: ParserTree, tree2: ParserTree) => {
3030
const mergedNodesT2: ParserField[] = [];
3131
const mergeResultNodes: ParserField[] = [];
3232
const errors: Array<{ conflictingNode: string; conflictingField: string }> = [];
33+
const filteredTree2Nodes = tree2.nodes.filter((t) => t.data.type !== TypeSystemDefinition.SchemaDefinition);
3334
// merge nodes
3435
tree1.nodes.forEach((t1n) => {
35-
const matchingNode = tree2.nodes
36-
.filter((t) => t.data.type !== TypeSystemDefinition.SchemaDefinition)
37-
.find((t2n) => t2n.name === t1n.name && t1n.data.type === t2n.data.type);
36+
const matchingNode = filteredTree2Nodes.find((t2n) => t2n.name === t1n.name && t1n.data.type === t2n.data.type);
3837
if (matchingNode) {
3938
if (isExtensionNode(matchingNode.data.type)) {
4039
t1n.args.forEach((t1nA) => {
@@ -76,7 +75,7 @@ export const mergeTrees = (tree1: ParserTree, tree2: ParserTree) => {
7675
};
7776
}
7877
const t1Nodes = tree1.nodes.filter((t1n) => !mergedNodesT1.find((mtn1) => mtn1 === t1n));
79-
const t2Nodes = tree2.nodes
78+
const t2Nodes = filteredTree2Nodes
8079
.filter((t2n) => !mergedNodesT2.find((mtn2) => mtn2 === t2n))
8180
.map((n) => ({ ...n, fromLibrary: true }));
8281
return {

0 commit comments

Comments
 (0)