using NATS.Client.JetStream; using NATS.Client.JetStream.Models; namespace DysonNetwork.Shared.Stream; public static class Streamer { public static async Task EnsureStreamCreated( this INatsJSContext context, string stream, ICollection? subjects ) { try { return await context.CreateStreamAsync(new StreamConfig(stream, subjects ?? [])); } catch (NatsJSException) { return await context.GetStreamAsync(stream); } } }