using Microsoft.Extensions.DependencyInjection; namespace Hyperbar.Widget; public class WidgetViewModelEnumerator(IWidgetHost host, IPublisher publisher) : INotificationHandler> { public async Task Handle(Enumerate notification, CancellationToken cancellationToken) { if (host.Services.GetServices() is IEnumerable viewModels) { foreach (IWidgetViewModel viewModel in viewModels) { await publisher.PublishAsync(new Create(viewModel), nameof(IWidgetHostViewModel), cancellationToken); } } } }