c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
14 lines
601 B
C#
14 lines
601 B
C#
namespace Kbx.Shared.Integrations;
|
|
|
|
public sealed class KbxIntegrationAdapterRegistry(IEnumerable<IKbxIntegrationAdapter> adapters)
|
|
: IKbxIntegrationAdapterRegistry
|
|
{
|
|
private readonly IReadOnlyDictionary<string, IKbxIntegrationAdapter> _adapters =
|
|
adapters.ToDictionary(x => x.IntegrationId, StringComparer.Ordinal);
|
|
|
|
public IKbxIntegrationAdapter GetRequired(string integrationId)
|
|
=> _adapters.TryGetValue(integrationId, out var adapter)
|
|
? adapter
|
|
: throw new InvalidOperationException($"Integration adapter is not registered: {integrationId}");
|
|
}
|