TreeSnapshot<TKey, TItem> constructor

TreeSnapshot<TKey, TItem>({
  1. required Iterable<TKey> roots,
  2. required Map<TKey, TItem> dataByKey,
  3. Map<TKey, Iterable<TKey>>? childrenByParent,
})

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();
}