From e24fc6bcc52440681cb8b3362fc9a090816a6520 Mon Sep 17 00:00:00 2001 From: JerrettDavis Date: Tue, 19 May 2026 19:31:56 -0500 Subject: [PATCH] fix: isolate POS DI singleton from demo counters --- .../PatternKitExampleServiceCollectionExtensions.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs b/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs index 7690629f..f5549ff9 100644 --- a/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs +++ b/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs @@ -267,7 +267,16 @@ public static IServiceCollection AddPaymentProcessorDecoratorExample(this IServi public static IServiceCollection AddPosAppStateSingletonExample(this IServiceCollection services) { - services.AddSingleton(_ => PosAppStateDemo.BuildLazy()); + services.AddSingleton(_ => Singleton + .Create(static () => new PosAppState + { + Config = StoreConfig.Load(), + Pricing = new PricingCache(), + Devices = new DeviceRegistry() + }) + .Init(static state => state.Pricing.Prewarm(["SKU-1", "SKU-2", "SKU-3"])) + .Init(static state => state.Devices.ConnectAll()) + .Build()); services.AddSingleton(sp => new(sp.GetRequiredService>())); return services.RegisterExample("POS App State Singleton", ExampleIntegrationSurface.LibraryOnly | ExampleIntegrationSurface.DependencyInjection); }