namespace zero.Communication; public class InterceptorParameters { /// /// The current zero context /// public IZeroContext Context { get; set; } /// /// Raven document store /// public IZeroStore Store { get; set; } /// /// Access to other interceptor methods /// public IInterceptors Interceptors { get; internal set; } /// /// Access to operations /// public IStoreOperations Operations { get; internal set; } /// /// Parameters from the interceptor which ran on before the operation (only available for completed operations) /// public Dictionary Properties { get; set; } = new(); /// /// Get a typed property /// public TProp Property(string key) => Properties.GetValueOrDefault(key); /// /// Get a typed property /// public bool TryGetProperty(string key, out TProp property) => Properties.TryGetValue(key, out property); }