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),
);
Properties
-
keyed
→ BloomKeyedIterableElements<
E> -
Available on Bloom<
Opens a dedicated namespace for operating on keyed elements of this Iterable reactively.Iterable< , provided by the BloomKeyedIterableElementsExtension extensionE> >no setter