From 1a43a5fec6537d0227fbf27b29d93df8ed7c398c Mon Sep 17 00:00:00 2001
From: Airat Abdrakov <52558686+CrackAndDie@users.noreply.github.com>
Date: Mon, 19 Feb 2024 11:52:54 +0300
Subject: [PATCH] AnonymousObserver removed beacuse it was already in
Avalonia.Base. ObservableExtensions is internal now and visible only for
Tests
---
.../Common/AnonymousObserver.cs | 67 -------------------
.../Extensions/ObservableExtensions.cs | 3 +-
src/Prism.Avalonia/Properties/AssemblyInfo.cs | 3 +
3 files changed, 5 insertions(+), 68 deletions(-)
delete mode 100644 src/Prism.Avalonia/Common/AnonymousObserver.cs
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")]