StreamMap<K, V>.identity constructor

StreamMap<K, V>.identity({
  1. OnUpdate<Map<K, V>>? onUpdate,
  2. OnEvent<CollectionEvent<K, V>>? onEvent,
  3. OnChange<CollectionChangeEvent<K, V>>? onChange,
})

Creates a StreamMap that wraps an identity map with the default implementation, LinkedHashMap.

An identity map uses identical for equality and identityHashCode for hash codes of keys instead of the intrinsic Object.== and Object.hashCode of the keys.

The returned map allows null as a key. It iterates in key insertion order.

Implementation

factory StreamMap.identity({
  OnUpdate<Map<K, V>>? onUpdate,
  OnEvent<CollectionEvent<K, V>>? onEvent,
  OnChange<CollectionChangeEvent<K, V>>? onChange,
}) {
  return StreamMap<K, V>(
    value: Map<K, V>.identity(),
    onUpdate: onUpdate,
    onEvent: onEvent,
    onChange: onChange,
  );
}