internal__keyedMappedCopy<E extends M, K, M> function
KeyedIterable<E, K>
internal__keyedMappedCopy<
E extends M, K, M>( - Iterable<M> elements,
- String getKeySpec,
- K getKey(
- E
),
- E toFrozen(
- M
),
)
Implementation
KeyedIterable<E, K> internal__keyedMappedCopy<E extends M, K, M>(
Iterable<M> elements,
String getKeySpec,
K Function(E) getKey,
E Function(M) toFrozen,
) {
if (elements.isEmpty) {
return KeyedIterable.empty;
} else if (elements is _KeyedIterableImpl<E, K> &&
elements._getKeySpec.isNotEmpty &&
elements._getKeySpec == getKeySpec) {
return elements;
} else {
return _KeyedIterableImpl<E, K>(
elements.map(toFrozen).toList(growable: false),
getKeySpec,
getKey,
);
}
}