TreeSnapshot<TKey, TItem> constructor
TreeSnapshot<TKey, TItem> ({})
Implementation
TreeSnapshot({
required Iterable<TKey> roots,
required Map<TKey, TItem> dataByKey,
Map<TKey, Iterable<TKey>>? childrenByParent,
}) : roots = List<TKey>.unmodifiable(List<TKey>.of(roots)),
dataByKey = Map<TKey, TItem>.unmodifiable(
Map<TKey, TItem>.of(dataByKey),
),
childrenByParent = Map<TKey, List<TKey>>.unmodifiable(<TKey, List<TKey>>{
for (final entry
in (childrenByParent ?? <TKey, Iterable<TKey>>{}).entries)
entry.key: List<TKey>.unmodifiable(List<TKey>.of(entry.value)),
}) {
_validate();
}