mergeConsecutiveListsInContainer function
Merges consecutive lists with the same listType inside a specific container.
Implementation
void mergeConsecutiveListsInContainer(FNode container, Root root) {
final children = childrenOf(container);
final listsToMerge = <FluentList>[];
for (var i = 0; i < children.length; i++) {
final child = children[i];
if (child is FluentList) {
if (listsToMerge.isEmpty || child.listType == listsToMerge.first.listType) {
listsToMerge.add(child);
} else {
if (listsToMerge.length > 1) {
_mergeLists(root, listsToMerge);
}
listsToMerge.clear();
listsToMerge.add(child);
}
} else {
if (listsToMerge.length > 1) {
_mergeLists(root, listsToMerge);
}
listsToMerge.clear();
}
}
if (listsToMerge.length > 1) {
_mergeLists(root, listsToMerge);
}
}