BloomKeyedIterableElementsExtension<E> extension

Extension on Bloom<Iterable<E>> providing keyed element-wise transformations via .keyed.

Keyed operations preserve downstream value/node cache across source collection updates, eliminating expensive re-evaluations by caching results based on stable unique keys.

Sub-Functor & Invocation Pathways

iterableBloom.keyed
 └── .map(key: (e) => ..., convert: (e) => ...)  --> Bloom<List<R>>

System Architectural Flow

[Source Collection] ──(Updates)──> [Keyed Cache Diffing (key: e.id)]
                                          │
                                          ├── [Existing Key: Reuses Cached Node]
                                          └── [New Key: Evaluates & Caches]

Examples

final users = blooming([User(id: '1', name: 'Alice')]);
final userViewModels = users.bloom.keyed.map(
  key: (user) => user.id,
  convert: (user) => UserViewModel(user),
  update: (vm, user) => vm.update(user),
);
on

Properties

keyed → BloomKeyedIterableElements<E>

Available on Bloom<Iterable<E>>, provided by the BloomKeyedIterableElementsExtension extension

Opens a dedicated namespace for operating on keyed elements of this Iterable reactively.
no setter