diff --git a/src/Prism.Avalonia/Common/AnonymousObserver.cs b/src/Prism.Avalonia/Common/AnonymousObserver.cs deleted file mode 100644 index c541590..0000000 --- a/src/Prism.Avalonia/Common/AnonymousObserver.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Threading.Tasks; - -namespace Prism.Common -{ - /// - /// Class to create an instance from delegate-based implementations of the On* methods. - /// - /// The type of the elements in the sequence. - public class AnonymousObserver : IObserver - { - private static readonly Action ThrowsOnError = ex => throw ex; - private static readonly Action NoOpCompleted = () => { }; - private readonly Action _onNext; - private readonly Action _onError; - private readonly Action _onCompleted; - - public AnonymousObserver(TaskCompletionSource tcs) - { - if (tcs is null) - { - throw new ArgumentNullException(nameof(tcs)); - } - - _onNext = tcs.SetResult; - _onError = tcs.SetException; - _onCompleted = NoOpCompleted; - } - - public AnonymousObserver(Action onNext, Action onError, Action onCompleted) - { - _onNext = onNext ?? throw new ArgumentNullException(nameof(onNext)); - _onError = onError ?? throw new ArgumentNullException(nameof(onError)); - _onCompleted = onCompleted ?? throw new ArgumentNullException(nameof(onCompleted)); - } - - public AnonymousObserver(Action onNext) - : this(onNext, ThrowsOnError, NoOpCompleted) - { - } - - public AnonymousObserver(Action onNext, Action onError) - : this(onNext, onError, NoOpCompleted) - { - } - - public AnonymousObserver(Action onNext, Action onCompleted) - : this(onNext, ThrowsOnError, onCompleted) - { - } - - public void OnCompleted() - { - _onCompleted.Invoke(); - } - - public void OnError(Exception error) - { - _onError.Invoke(error); - } - - public void OnNext(T value) - { - _onNext.Invoke(value); - } - } -} diff --git a/src/Prism.Avalonia/Extensions/ObservableExtensions.cs b/src/Prism.Avalonia/Extensions/ObservableExtensions.cs index fef1d97..dad8f94 100644 --- a/src/Prism.Avalonia/Extensions/ObservableExtensions.cs +++ b/src/Prism.Avalonia/Extensions/ObservableExtensions.cs @@ -1,9 +1,10 @@ using System; +using Avalonia.Reactive; using Prism.Common; namespace Prism.Extensions { - public static class ObservableExtensions + internal static class ObservableExtensions { /// /// Subscribes an element handler to an observable sequence. diff --git a/src/Prism.Avalonia/Properties/AssemblyInfo.cs b/src/Prism.Avalonia/Properties/AssemblyInfo.cs index e503e22..3cfc4be 100644 --- a/src/Prism.Avalonia/Properties/AssemblyInfo.cs +++ b/src/Prism.Avalonia/Properties/AssemblyInfo.cs @@ -1,4 +1,5 @@ using System; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Avalonia.Metadata; @@ -18,3 +19,5 @@ [assembly: XmlnsDefinition("http://prismlibrary.com/", "Prism.Interactivity")] [assembly: XmlnsDefinition("http://prismlibrary.com/", "Prism.Services.Dialogs")] [assembly: XmlnsDefinition("http://prismlibrary.com/", "Prism.Ioc")] + +[assembly: InternalsVisibleTo("Prism.Avalonia.Tests")]