using System; using System.Collections.Generic; using System.Linq; using Svrnty.CQRS.Events.Abstractions.Discovery; namespace Svrnty.CQRS.Events.Discovery; /// /// Default implementation of IEventDiscovery. /// public sealed class EventDiscovery : IEventDiscovery { private readonly IEnumerable _eventMetas; public EventDiscovery(IEnumerable eventMetas) { _eventMetas = eventMetas; } public IEnumerable GetEvents() => _eventMetas; public IEventMeta? GetEvent(string name) => _eventMetas.FirstOrDefault(e => e.Name == name); public IEventMeta? GetEvent(Type eventType) => _eventMetas.FirstOrDefault(e => e.EventType == eventType); }