uniqueRefs<T extends ReferencedModel> function

Iterable<T> uniqueRefs<T extends ReferencedModel>(
  1. Iterable<T> input
)

Returns a list of unique ReferencedModels from input. Uniqueness is determined by the ReferencedModel.ref property.

Implementation

Iterable<T> uniqueRefs<T extends ReferencedModel>(Iterable<T> input) {
  return input
      .fold<Map<String?, T>>(
        {},
        (map, e) => map..putIfAbsent(e.ref?.path, () => e),
      )
      .values
      .nonNulls;
}