traverseNavMap static method
Implementation
static List<ToCItem> traverseNavMap(
EpubBook book, List<EpubNavigationPoint>? points, String prefix) {
var result = <ToCItem>[];
if (points == null) return result;
points.forEach((point) {
if (point.NavigationLabels == null) {
} else {
point.NavigationLabels?.forEach((label) {
var item = ToCItem();
if (book.PageToChapterMap!.containsKey(point.Content!.Source!.split('#')[0])) {
item.chapterIndex =
book.PageToChapterMap![point.Content!.Source!.split('#')[0]]!;
item.label = prefix + label.Text!;
result.add(item);
}
var items =
traverseNavMap(book, point.ChildNavigationPoints, prefix + ' ');
result.addAll(items as Iterable<ToCItem>);
});
}
});
return result;
}