From 52af0553418bed261fad8ea78652390b1f175a83 Mon Sep 17 00:00:00 2001 From: Glenn Watson <5834289+glennawatson@users.noreply.github.com> Date: Mon, 21 Sep 2026 17:20:44 +1000 Subject: [PATCH 1/2] fix: accept nullable reference elements in SkipWhileNull and document LatestOrDefault - SkipWhileNull accepts nullable reference element types without a nullability warning. - LatestOrDefault documents what it emits and when. --- .../ReactiveExtensions.cs | 10 +++++----- .../PublicAPI/net10.0/PublicAPI.txt | 2 +- .../PublicAPI/net11.0/PublicAPI.txt | 2 +- .../PublicAPI/net462/PublicAPI.txt | 2 +- .../PublicAPI/net472/PublicAPI.txt | 2 +- .../PublicAPI/net48/PublicAPI.txt | 2 +- .../PublicAPI/net481/PublicAPI.txt | 2 +- .../PublicAPI/net8.0/PublicAPI.txt | 2 +- .../PublicAPI/net9.0/PublicAPI.txt | 2 +- .../Operators/SkipWhileNullObservable.cs | 4 ++-- .../PublicAPI/net10.0-android/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-ios/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-maccatalyst/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-macos/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-tvos/PublicAPI.txt | 2 +- .../PublicAPI/net10.0/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-android/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-ios/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-maccatalyst/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-macos/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-tvos/PublicAPI.txt | 2 +- .../PublicAPI/net11.0/PublicAPI.txt | 2 +- .../PublicAPI/net462/PublicAPI.txt | 2 +- .../PublicAPI/net472/PublicAPI.txt | 2 +- .../PublicAPI/net48/PublicAPI.txt | 2 +- .../PublicAPI/net481/PublicAPI.txt | 2 +- .../PublicAPI/net8.0/PublicAPI.txt | 2 +- .../PublicAPI/net9.0/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-android/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-ios/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-maccatalyst/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-macos/PublicAPI.txt | 2 +- .../PublicAPI/net10.0-tvos/PublicAPI.txt | 2 +- .../PublicAPI/net10.0/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-android/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-ios/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-maccatalyst/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-macos/PublicAPI.txt | 2 +- .../PublicAPI/net11.0-tvos/PublicAPI.txt | 2 +- .../PublicAPI/net11.0/PublicAPI.txt | 2 +- .../PublicAPI/net462/PublicAPI.txt | 2 +- .../PublicAPI/net472/PublicAPI.txt | 2 +- .../PublicAPI/net48/PublicAPI.txt | 2 +- .../PublicAPI/net481/PublicAPI.txt | 2 +- .../PublicAPI/net8.0/PublicAPI.txt | 2 +- .../PublicAPI/net9.0/PublicAPI.txt | 2 +- ...tiveExtensionsTests.WhereIsNotNullAndSignal.cs | 15 +++++++++++++++ 47 files changed, 66 insertions(+), 51 deletions(-) diff --git a/src/Primitives.Extensions.Shared/ReactiveExtensions.cs b/src/Primitives.Extensions.Shared/ReactiveExtensions.cs index 71c7200c..5057af82 100644 --- a/src/Primitives.Extensions.Shared/ReactiveExtensions.cs +++ b/src/Primitives.Extensions.Shared/ReactiveExtensions.cs @@ -207,9 +207,9 @@ public IObservable Conflate(TimeSpan minimumUpdatePeriod, ISequencer schedule public IObservable> Heartbeat(TimeSpan heartbeatPeriod, ISequencer scheduler) => new HeartbeatObservable(source, heartbeatPeriod, scheduler); - /// Emit the latest value or a default if none exists. - /// The default value. - /// A sequence that emits the latest value or the default. + /// Emits on subscribe, then each source value that differs from the last value emitted. + /// The value emitted on subscribe before the source is subscribed; source values equal to the last emitted value, including this one, are dropped. + /// A sequence that starts with the default value, then forwards changed values, errors and completion. Equality uses the default comparer. [MethodImpl(MethodImplOptions.AggressiveInlining)] public IObservable LatestOrDefault(T defaultValue) => new LatestOrDefaultObservable(source, defaultValue); @@ -768,11 +768,11 @@ public IObservable GetMin(params IObservable[] sources) } } - /// Null-skipping operators for an observable source sequence of reference types. + /// Null-skipping operators for an observable source sequence of reference types, nullable or not. /// The reference type of the source elements. /// The source observable. extension(IObservable source) - where T : class + where T : class? { /// Skip null values until the first non-null appears. /// An IObservable of T. diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt index 138a9771..606e180f 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt @@ -1367,7 +1367,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt index 138a9771..606e180f 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt @@ -1367,7 +1367,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt index e5d36401..f08bdbb4 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt @@ -1351,7 +1351,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt index e5d36401..f08bdbb4 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt @@ -1351,7 +1351,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt index e5d36401..f08bdbb4 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt @@ -1351,7 +1351,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt index e5d36401..f08bdbb4 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt @@ -1351,7 +1351,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt index 3cbc0a32..08a69269 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt @@ -1367,7 +1367,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt index 138a9771..606e180f 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt @@ -1367,7 +1367,7 @@ namespace ReactiveUI.Primitives.Extensions.Operators public ShuffleObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } } - public sealed class SkipWhileNullObservable : System.IObservable where T : class + public sealed class SkipWhileNullObservable : System.IObservable where T : class? { public SkipWhileNullObservable(System.IObservable source) { } public System.IDisposable Subscribe(System.IObserver observer) { } diff --git a/src/ReactiveUI.Primitives.Extensions.Core/Operators/SkipWhileNullObservable.cs b/src/ReactiveUI.Primitives.Extensions.Core/Operators/SkipWhileNullObservable.cs index 274c33dc..cc80d969 100644 --- a/src/ReactiveUI.Primitives.Extensions.Core/Operators/SkipWhileNullObservable.cs +++ b/src/ReactiveUI.Primitives.Extensions.Core/Operators/SkipWhileNullObservable.cs @@ -7,11 +7,11 @@ namespace ReactiveUI.Primitives.Extensions.Operators; /// Drops leading null values, then forwards every value, including subsequent nulls. -/// The element type of the source observable; must be a reference type so the +/// The element type of the source observable; must be a reference type, nullable or not, so the /// null check is meaningful. /// The source observable. public sealed class SkipWhileNullObservable(IObservable source) : IObservable - where T : class + where T : class? { /// public IDisposable Subscribe(IObserver observer) diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt index 75473227..355ef3e6 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt index 31635863..d48918d8 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt index fffce7b0..cdb73316 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt index 512db8fb..79fcdf68 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt index fb91bbd9..d9231615 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt index 1ea11863..8c9d1c6a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt index 75473227..355ef3e6 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt index 31635863..d48918d8 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt index fffce7b0..cdb73316 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt index 512db8fb..79fcdf68 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt index fb91bbd9..d9231615 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt @@ -278,7 +278,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt index 1ea11863..8c9d1c6a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt index 1aec59d2..0ff533b3 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt index 1aec59d2..0ff533b3 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt index 1aec59d2..0ff533b3 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt index 1aec59d2..0ff533b3 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt index c778fa7c..0aa3a693 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt index 1ea11863..8c9d1c6a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt @@ -277,7 +277,7 @@ namespace ReactiveUI.Primitives.Extensions.Reactive [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt index fd4578cd..6fc62456 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt @@ -2087,7 +2087,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt index 4bbbd51a..aca529e4 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt index 5f5a8229..e3306385 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt index b93da94f..d46beee4 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt index f0ceea12..4c1de422 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt index 8e319b3d..cac56a66 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt @@ -2072,7 +2072,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt index fd4578cd..6fc62456 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt @@ -2087,7 +2087,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt index 4bbbd51a..aca529e4 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt index 5f5a8229..e3306385 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt index b93da94f..d46beee4 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt index f0ceea12..4c1de422 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt @@ -2085,7 +2085,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt index 8e319b3d..cac56a66 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt @@ -2072,7 +2072,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt index 4c904798..78e6496d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt @@ -2038,7 +2038,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt index 4c904798..78e6496d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt @@ -2038,7 +2038,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt index 4c904798..78e6496d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt @@ -2038,7 +2038,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt index 4c904798..78e6496d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt @@ -2038,7 +2038,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt index d61d5492..9951fd8b 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt @@ -2038,7 +2038,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt index 8e319b3d..cac56a66 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt @@ -2072,7 +2072,7 @@ namespace ReactiveUI.Primitives.Extensions [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.IObservable WhereSelect(System.Func predicate, System.Func selector) { } } - extension(System.IObservable source) where T : class + extension(System.IObservable source) where T : class? { public System.IObservable SkipWhileNull() { } } diff --git a/src/tests/ReactiveUI.Primitives.Extensions.Tests/ReactiveExtensionsTests.WhereIsNotNullAndSignal.cs b/src/tests/ReactiveUI.Primitives.Extensions.Tests/ReactiveExtensionsTests.WhereIsNotNullAndSignal.cs index 0ffa2110..b861501a 100644 --- a/src/tests/ReactiveUI.Primitives.Extensions.Tests/ReactiveExtensionsTests.WhereIsNotNullAndSignal.cs +++ b/src/tests/ReactiveUI.Primitives.Extensions.Tests/ReactiveExtensionsTests.WhereIsNotNullAndSignal.cs @@ -159,4 +159,19 @@ public async Task AsSignal_ConvertsToUnitOverTime() await Assert.That(results).Count().IsEqualTo(SampleValue3); await Assert.That(results).All(static x => x == RxVoid.Default); } + + /// Tests SkipWhileNull on a nullable reference element type drops leading nulls and forwards later ones. + /// A representing the asynchronous test operation. + [Test] + public async Task GivenNullableReferenceSource_WhenSkipWhileNull_ThenDropsOnlyLeadingNulls() + { + Subject subject = new(); + List results = []; + _ = ((IObservable)subject).SkipWhileNull().Subscribe(results.Add); + subject.OnNext(null); + subject.OnNext("alpha"); + subject.OnNext(null); + subject.OnNext("beta"); + await Assert.That(results).IsCollectionEqualTo(["alpha", null, "beta"]); + } } From 9ab41c605da95d5fd04d7d607ef88cfcee558f91 Mon Sep 17 00:00:00 2001 From: Glenn Watson <5834289+glennawatson@users.noreply.github.com> Date: Mon, 21 Sep 2026 18:12:01 +1000 Subject: [PATCH 2/2] feat: add GroupBy, GroupByUntil and Window/Slice - GroupBy and GroupByUntil deliver a keyed GroupedSignal per key. - Window and Slice hand back a signal per window across count, time, boundary, opening and closing forms. - Every signal and witness is public under Advanced. --- README.md | 56 ++ .../Advanced/SliceTimeCountSignal{T}.cs | 55 ++ .../Advanced/SliceTimeCountWitness{T}.cs | 217 ++++++++ .../Advanced/SliceTimeGuard.cs | 29 ++ .../Advanced/SliceTimeSignal{T}.cs | 55 ++ .../Advanced/SliceTimeWitness{T}.cs | 244 +++++++++ .../SignalOperatorMixins.GroupBy.cs | 323 ++++++++++++ .../SignalOperatorMixins.Slice.cs | 130 +++++ ...gnalOperatorParityMixins.RxNames.Window.cs | 130 +++++ .../GroupBySignal{TSource,TKey,TElement}.cs | 64 +++ ...Signal{TSource,TKey,TElement,TDuration}.cs | 72 +++ ...itness{TSource,TKey,TElement,TDuration}.cs | 296 +++++++++++ .../GroupByWitness{TSource,TKey,TElement}.cs | 144 ++++++ .../Advanced/SharedSubscription.cs | 146 ++++++ .../SliceBoundarySignal{T,TBoundary}.cs | 40 ++ .../SliceBoundaryWitness{T,TBoundary}.cs | 177 +++++++ .../SliceClosingSignal{T,TClosing}.cs | 39 ++ .../SliceClosingWitness{T,TClosing}.cs | 225 ++++++++ .../Advanced/SliceCountSignal{T}.cs | 46 ++ .../Advanced/SliceCountWitness{T}.cs | 151 ++++++ ...SliceOpeningSignal{T,TOpening,TClosing}.cs | 48 ++ ...liceOpeningWitness{T,TOpening,TClosing}.cs | 273 ++++++++++ .../Advanced/SliceRouter{TOuter,T}.cs | 185 +++++++ .../Advanced/SliceWindow{T}.cs | 154 ++++++ .../PublicAPI/net10.0/PublicAPI.txt | 172 +++++++ .../PublicAPI/net11.0/PublicAPI.txt | 172 +++++++ .../PublicAPI/net462/PublicAPI.txt | 172 +++++++ .../PublicAPI/net472/PublicAPI.txt | 172 +++++++ .../PublicAPI/net48/PublicAPI.txt | 172 +++++++ .../PublicAPI/net481/PublicAPI.txt | 172 +++++++ .../PublicAPI/net8.0/PublicAPI.txt | 172 +++++++ .../PublicAPI/net9.0/PublicAPI.txt | 172 +++++++ .../Signals/GroupedSignal{TKey,T}.cs | 40 ++ .../PublicAPI/net10.0-android/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net10.0-ios/PublicAPI.txt | 483 +++++++++++------- .../net10.0-maccatalyst/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net10.0-macos/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net10.0-tvos/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net10.0/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net11.0-android/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net11.0-ios/PublicAPI.txt | 483 +++++++++++------- .../net11.0-maccatalyst/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net11.0-macos/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net11.0-tvos/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net11.0/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net462/PublicAPI.txt | 457 +++++++++++------ .../PublicAPI/net472/PublicAPI.txt | 457 +++++++++++------ .../PublicAPI/net48/PublicAPI.txt | 457 +++++++++++------ .../PublicAPI/net481/PublicAPI.txt | 457 +++++++++++------ .../PublicAPI/net8.0/PublicAPI.txt | 457 +++++++++++------ .../PublicAPI/net9.0/PublicAPI.txt | 483 +++++++++++------- .../PublicAPI/net10.0-android/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net10.0-ios/PublicAPI.txt | 265 +++++++--- .../net10.0-maccatalyst/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net10.0-macos/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net10.0-tvos/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net10.0/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net11.0-android/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net11.0-ios/PublicAPI.txt | 265 +++++++--- .../net11.0-maccatalyst/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net11.0-macos/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net11.0-tvos/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net11.0/PublicAPI.txt | 265 +++++++--- .../PublicAPI/net462/PublicAPI.txt | 261 +++++++--- .../PublicAPI/net472/PublicAPI.txt | 261 +++++++--- .../PublicAPI/net48/PublicAPI.txt | 261 +++++++--- .../PublicAPI/net481/PublicAPI.txt | 261 +++++++--- .../PublicAPI/net8.0/PublicAPI.txt | 261 +++++++--- .../PublicAPI/net9.0/PublicAPI.txt | 265 +++++++--- .../LinqExtensionsTests.Slice.cs | 107 ++++ .../Common/GroupRecordingWitness.cs | 73 +++ .../Common/WindowRecordingWitness.cs | 68 +++ .../GroupBySignalTests.cs | 73 +++ .../GroupByUntilSignalTests.cs | 60 +++ .../GroupByUntilWitnessTests.cs | 329 ++++++++++++ .../GroupByWitnessTests.cs | 380 ++++++++++++++ .../GroupedSignalTests.cs | 36 ++ .../LinqExtensionsTests.GroupBy.cs | 186 +++++++ .../LinqExtensionsTests.Slice.cs | 229 +++++++++ .../LinqExtensionsTests.Window.cs | 145 ++++++ .../SharedSubscriptionTests.cs | 173 +++++++ .../SliceBoundarySignalTests.cs | 47 ++ .../SliceBoundaryWitnessTests.cs | 184 +++++++ .../SliceClosingSignalTests.cs | 54 ++ .../SliceClosingWitnessTests.cs | 214 ++++++++ .../SliceCountSignalTests.cs | 56 ++ .../SliceCountWitnessTests.cs | 197 +++++++ .../SliceOpeningSignalTests.cs | 50 ++ .../SliceOpeningWitnessTests.cs | 287 +++++++++++ .../SliceRouterTests.cs | 221 ++++++++ .../SliceTimeCountSignalTests.cs | 65 +++ .../SliceTimeCountWitnessTests.cs | 202 ++++++++ .../SliceTimeSignalTests.cs | 64 +++ .../SliceTimeWitnessTests.cs | 227 ++++++++ .../SliceWindowTests.cs | 135 +++++ 95 files changed, 17520 insertions(+), 4371 deletions(-) create mode 100644 src/Primitives.Shared/Advanced/SliceTimeCountSignal{T}.cs create mode 100644 src/Primitives.Shared/Advanced/SliceTimeCountWitness{T}.cs create mode 100644 src/Primitives.Shared/Advanced/SliceTimeGuard.cs create mode 100644 src/Primitives.Shared/Advanced/SliceTimeSignal{T}.cs create mode 100644 src/Primitives.Shared/Advanced/SliceTimeWitness{T}.cs create mode 100644 src/Primitives.Shared/SignalOperatorMixins.GroupBy.cs create mode 100644 src/Primitives.Shared/SignalOperatorMixins.Slice.cs create mode 100644 src/Primitives.Shared/SignalOperatorParityMixins.RxNames.Window.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/GroupBySignal{TSource,TKey,TElement}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilSignal{TSource,TKey,TElement,TDuration}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilWitness{TSource,TKey,TElement,TDuration}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/GroupByWitness{TSource,TKey,TElement}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SharedSubscription.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceBoundarySignal{T,TBoundary}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceBoundaryWitness{T,TBoundary}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceClosingSignal{T,TClosing}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceClosingWitness{T,TClosing}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceCountSignal{T}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceCountWitness{T}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningSignal{T,TOpening,TClosing}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningWitness{T,TOpening,TClosing}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceRouter{TOuter,T}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Advanced/SliceWindow{T}.cs create mode 100644 src/ReactiveUI.Primitives.Core/Signals/GroupedSignal{TKey,T}.cs create mode 100644 src/tests/ReactiveUI.Primitives.Reactive.Tests/LinqExtensionsTests.Slice.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/Common/GroupRecordingWitness.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/Common/WindowRecordingWitness.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/GroupBySignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/GroupByUntilSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/GroupByUntilWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/GroupByWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/GroupedSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.GroupBy.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Slice.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Window.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SharedSubscriptionTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceBoundarySignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceBoundaryWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceClosingSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceClosingWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceCountSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceCountWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceOpeningSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceOpeningWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceRouterTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceTimeSignalTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceTimeWitnessTests.cs create mode 100644 src/tests/ReactiveUI.Primitives.Tests/SliceWindowTests.cs diff --git a/README.md b/README.md index b74ef4b1..884d6426 100644 --- a/README.md +++ b/README.md @@ -612,6 +612,24 @@ These change each value into something else. | `Switch()` | Another name for `SwitchTo`. | `Switch` | | `Timestamp()`, `Timestamp(sequencer)` | Attaches the clock's current time to each value as a `Moment`. | `Timestamp` | | `TimeInterval()`, `TimeInterval(sequencer)` | Attaches the gap since the value before it. | `TimeInterval` | +| `GroupBy(keySelector)` | Splits the stream into one `GroupedSignal` per key. A group arrives when its first value does. | `GroupBy` | +| `GroupBy(keySelector, comparer)`, `GroupBy(keySelector, capacity)`, `GroupBy(keySelector, capacity, comparer)` | Same, with a key comparer, an initial table capacity, or both. | `GroupBy` | +| `GroupBy(keySelector, elementSelector)` and the same comparer and capacity forms | Same, and runs `elementSelector` on each value before it enters its group. | `GroupBy` | +| `GroupByUntil(keySelector, durationSelector)` | Splits the stream into groups that end when their duration signal emits or completes. The next value with that key opens a new group. | `GroupByUntil` | +| `GroupByUntil(keySelector, durationSelector, comparer)`, `GroupByUntil(keySelector, durationSelector, capacity)`, `GroupByUntil(keySelector, durationSelector, capacity, comparer)` | Same, with a key comparer, an initial table capacity, or both. | `GroupByUntil` | +| `GroupByUntil(keySelector, elementSelector, durationSelector)` and the same comparer and capacity forms | Same, and runs `elementSelector` on each value before it enters its group. | `GroupByUntil` | +| `Slice(count)` | Hands out one signal per window of `count` values. The windows do not overlap. | `Window` | +| `Slice(count, skip)` | Opens a window every `skip` values, so windows can overlap or leave gaps. | `Window` | +| `Slice(timeSpan)`, `Slice(timeSpan, sequencer)` | Hands out one signal per time window. | `Window` | +| `Slice(timeSpan, timeShift)`, `Slice(timeSpan, timeShift, sequencer)` | Opens a window of `timeSpan` every `timeShift`. | `Window` | +| `Slice(timeSpan, count)`, `Slice(timeSpan, count, sequencer)` | Ends each window after `timeSpan` or `count` values, whichever comes first. | `Window` | +| `Slice(boundaries)` | Starts the next window each time the boundary signal emits. | `Window` | +| `Slice(closingSelector)` | Ends each window with the signal your selector returns for it. | `Window` | +| `Slice(openings, closingSelector)` | Opens a window for each opening value and ends it with the signal your selector returns. | `Window` | +| `Window(...)` | Another name for every `Slice` overload. | `Window` | + +`Buffer` hands you a list per window. `Slice` hands you a signal per window, so you can subscribe to it and work on the +values as they arrive. `Map` changes every value. @@ -658,6 +676,29 @@ pages.SwitchTo().Subscribe(value => Console.Write(value + " ")); // prints: 1 2 10 11 ``` +`GroupBy` gives each key its own signal. The `Key` property tells you which group you hold. + +```csharp +Signal.Sequence(1, 6) + .GroupBy(number => number % 2) + .Subscribe(group => group.Subscribe(number => Console.Write($"{group.Key}:{number} "))); +// prints: 1:1 0:2 1:3 0:4 1:5 0:6 +``` + +Subscribe to a group as soon as it arrives. A group signal sends only the values that come after you subscribe. +The source stays subscribed until you dispose the outer subscription and every group subscription. + +`Slice` gives each window its own signal. + +```csharp +Signal.Sequence(1, 5) + .Slice(2) + .Subscribe(window => window.Subscribe( + number => Console.Write(number + " "), + () => Console.Write("| "))); +// prints: 1 2 | 3 4 | 5 | +``` + ### Filtering These decide which values get through. @@ -2718,6 +2759,9 @@ dotnet add xyz.Reactive/xyz.Reactive.csproj package ReactiveUI.Primitives.Maui.R | `DelaySubscription` | `DelayStart` | Delay source subscription. | | `Timeout` | `Expire` | Error on missing value before due time. | | `Buffer(count)` | `Buffer(count)` | Fixed-size buffers. | +| `GroupBy` | `GroupBy` | Eight overloads, each returning `GroupedSignal` groups. | +| `GroupByUntil` | `GroupByUntil` | Eight overloads; a group ends when its duration signal emits or completes. | +| `Window` | `Slice` or Rx-name `Window` | Eleven overloads; each window is a signal. | | `SubscribeOn` | `SubscribeOn` | Schedule source subscription. | | `ToList` / `ToArray` | `ToList` / `ToArray` or `CollectList` / `CollectArray` | Signal results. | | `FirstAsync` / `LastAsync` | `FirstAsync` / `LastAsync` | Task result. | @@ -2963,6 +3007,14 @@ the same thing. | `RepeatSourceSignal` | `Repeat` over a source | | `BufferSignal` | `Buffer` | | `CollectSignal` | `Collect` | +| `GroupBySignal` | `GroupBy` | +| `GroupByUntilSignal` | `GroupByUntil` | +| `SliceCountSignal` | `Slice(count)`, `Slice(count, skip)` | +| `SliceTimeSignal` | `Slice(timeSpan)`, `Slice(timeSpan, timeShift)` | +| `SliceTimeCountSignal` | `Slice(timeSpan, count)` | +| `SliceBoundarySignal` | `Slice(boundaries)` | +| `SliceClosingSignal` | `Slice(closingSelector)` | +| `SliceOpeningSignal` | `Slice(openings, closingSelector)` | | `EmitIfQuietSignal` | `EmitIfQuiet` | | `SerializeSignal` | `Serialize` | | `SynchronizeSignal` | `Synchronize` | @@ -3032,6 +3084,10 @@ These sit beside the operators. You call them directly rather than through a cha | `PublishingOption` | `ReactiveUI.Primitives.Async.Signals` | Chooses how an async signal publishes to its subscribers. | | `SparkKind` | `ReactiveUI.Primitives.Core` | Which notification a `Spark` carries. | | `Broadcaster` | `ReactiveUI.Primitives.Signals` | The struct behind a signal's subscriber list. `Add`, `Remove`, `Next`, `Error`, `Completed` and `HasObservers`. Hold it as a field. | +| `GroupedSignal` | `ReactiveUI.Primitives.Signals` | The signal of one group from `GroupBy` or `GroupByUntil`. It has a `Key` and sends the group's values. | +| `SliceWindow` | `ReactiveUI.Primitives.Advanced` | One window from `Slice`. Publish to it and every current subscriber receives the value. A subscriber that arrives after it ends is completed at once. | +| `SliceRouter` | `ReactiveUI.Primitives.Advanced` | Posts window and group notifications while you hold your lock, then delivers them in order after you release it. | +| `SharedSubscription` | `ReactiveUI.Primitives.Advanced` | Keeps a source subscribed until its own handle and every lease taken from it are disposed. | | `CopyOnWriteList` | `ReactiveUI.Primitives.Advanced` | An immutable list that returns a new instance from `Add` and `Remove`. `Empty` starts one. | | `SinkTerminal`, `SinkSubscription`, `SinkDelivery` | `ReactiveUI.Primitives.Advanced` | The static helpers a synchronous sink calls: forward a terminal notification, assign or dispose the upstream subscription, and forward a value while disposing the sink if the observer throws. | | `AsyncContext`, `AsyncContextExtensions` | `ReactiveUI.Primitives.Async` | The ambient context an async signal flows through its operators. | diff --git a/src/Primitives.Shared/Advanced/SliceTimeCountSignal{T}.cs b/src/Primitives.Shared/Advanced/SliceTimeCountSignal{T}.cs new file mode 100644 index 00000000..8426ea10 --- /dev/null +++ b/src/Primitives.Shared/Advanced/SliceTimeCountSignal{T}.cs @@ -0,0 +1,55 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive.Advanced; +#else +namespace ReactiveUI.Primitives.Advanced; +#endif + +/// Cold signal that splits a source into windows that end after a duration or a number of values, whichever comes first. +/// The value type. +[System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] +public sealed class SliceTimeCountSignal : IObservable> +{ + /// The source observable. + private readonly IObservable _source; + + /// The maximum duration of each window. + private readonly TimeSpan _timeSpan; + + /// The maximum number of values in each window. + private readonly int _count; + + /// The sequencer that schedules the timer. + private readonly ISequencer _sequencer; + + /// Initializes a new instance of the class. + /// The source observable. + /// The maximum duration of each window. + /// The maximum number of values in each window. + /// The sequencer that schedules the timer. + /// or is . + /// or is zero or negative. + public SliceTimeCountSignal(IObservable source, TimeSpan timeSpan, int count, ISequencer sequencer) + { + SliceTimeGuard.ThrowIfNotPositive(timeSpan); + ArgumentOutOfRangeExceptionHelper.ThrowIfNegativeOrZero(count); + _source = source ?? throw new ArgumentNullException(nameof(source)); + _timeSpan = timeSpan; + _count = count; + _sequencer = sequencer ?? throw new ArgumentNullException(nameof(sequencer)); + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + SliceTimeCountWitness sink = new(observer, _timeSpan, _count, _sequencer); + sink.Start(); + sink.SetSubscription(_source.Subscribe(sink)); + return sink.Subscription; + } +} diff --git a/src/Primitives.Shared/Advanced/SliceTimeCountWitness{T}.cs b/src/Primitives.Shared/Advanced/SliceTimeCountWitness{T}.cs new file mode 100644 index 00000000..78192311 --- /dev/null +++ b/src/Primitives.Shared/Advanced/SliceTimeCountWitness{T}.cs @@ -0,0 +1,217 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive.Advanced; +#else +namespace ReactiveUI.Primitives.Advanced; +#endif + +/// Sink that hands out a window signal that ends when it holds a number of values or a duration has elapsed, whichever comes first. +/// The value type. +/// +/// Each new window restarts the duration. Windows end when the source ends. Notifications are delivered outside the +/// sink's lock. +/// +[System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] +public sealed class SliceTimeCountWitness : IObserver, IDisposable +{ + /// Serializes access to the current window, the counters and the terminal latch. + private readonly Lock _gate = new(); + + /// The maximum duration of each window. + private readonly TimeSpan _timeSpan; + + /// The maximum number of values in each window. + private readonly int _count; + + /// The sequencer that schedules the timer. + private readonly ISequencer _sequencer; + + /// Delivers windows and their values in the order they were posted. + private readonly SliceRouter, T> _router; + + /// The source subscription. + private readonly MultipleDisposable _upstream = []; + + /// The pending timer. + private readonly SingleReplaceableDisposable _timer = new(); + + /// The window currently receiving values. + private SliceWindow _current; + + /// The number of values in the current window. + private int _index; + + /// The identity of the current window, so a timer that fires late for an earlier window is ignored. + private int _windowId; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the windows. + /// The maximum duration of each window. + /// The maximum number of values in each window. + /// The sequencer that schedules the timer. + /// or is . + /// or is zero or negative. + public SliceTimeCountWitness(IObserver> observer, TimeSpan timeSpan, int count, ISequencer sequencer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + ArgumentExceptionHelper.ThrowIfNull(sequencer); + SliceTimeGuard.ThrowIfNotPositive(timeSpan); + ArgumentOutOfRangeExceptionHelper.ThrowIfNegativeOrZero(count); + _timeSpan = timeSpan; + _count = count; + _sequencer = sequencer; + Subscription = new(); + Subscription.Attach(_upstream); + _router = new(observer, Subscription); + _current = new(Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any window is. + public SharedSubscription Subscription { get; } + + /// Opens the first window and starts its timer before the source is subscribed. + public void Start() + { + lock (_gate) + { + _router.Open(_current); + } + + Deliver(); + ScheduleTick(0); + } + + /// + public void OnNext(T value) + { + var restart = false; + var windowId = 0; + lock (_gate) + { + if (_done != 0) + { + return; + } + + _router.Publish(_current, value); + _index++; + if (_index == _count) + { + windowId = Advance(); + restart = true; + } + } + + Deliver(); + if (restart) + { + ScheduleTick(windowId); + } + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns the source subscription, disposing the incoming one when this sink has been disposed. + /// The source subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => _upstream.Add(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + _timer.Dispose(); + _upstream.Dispose(); + } + + /// Ends the current window and opens the next; the caller holds the lock. + /// The identity of the new window. + private int Advance() + { + _index = 0; + _windowId++; + _router.Complete(_current); + _current = new(Subscription); + _router.Open(_current); + return _windowId; + } + + /// Schedules the end of a window after the duration. + /// The identity of the window the timer belongs to. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void ScheduleTick(int windowId) => + _timer.Create(_sequencer.Schedule((Sink: this, WindowId: windowId), _timeSpan, static state => state.Sink.Tick(state.WindowId))); + + /// Ends the window the timer belongs to and starts the next, unless the window has already ended. + /// The identity of the window the timer belongs to. + private void Tick(int windowId) + { + int nextId; + lock (_gate) + { + if (_done != 0 || windowId != _windowId) + { + return; + } + + nextId = Advance(); + } + + Deliver(); + ScheduleTick(nextId); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends the current window and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + Volatile.Write(ref _done, 1); + _router.Finish([_current], error); + } + + try + { + _router.Flush(); + } + finally + { + Dispose(); + } + } +} diff --git a/src/Primitives.Shared/Advanced/SliceTimeGuard.cs b/src/Primitives.Shared/Advanced/SliceTimeGuard.cs new file mode 100644 index 00000000..b9849e74 --- /dev/null +++ b/src/Primitives.Shared/Advanced/SliceTimeGuard.cs @@ -0,0 +1,29 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive.Advanced; +#else +namespace ReactiveUI.Primitives.Advanced; +#endif + +/// Argument checks shared by the time-based window operators. +internal static class SliceTimeGuard +{ + /// Throws when is zero or negative. + /// The duration to validate. + /// The parameter name. + /// is zero or negative. + internal static void ThrowIfNotPositive(TimeSpan value, [CallerArgumentExpression(nameof(value))] string? paramName = null) + { + if (value > TimeSpan.Zero) + { + return; + } + + throw new ArgumentOutOfRangeException(paramName, value, null); + } +} diff --git a/src/Primitives.Shared/Advanced/SliceTimeSignal{T}.cs b/src/Primitives.Shared/Advanced/SliceTimeSignal{T}.cs new file mode 100644 index 00000000..ef6fd105 --- /dev/null +++ b/src/Primitives.Shared/Advanced/SliceTimeSignal{T}.cs @@ -0,0 +1,55 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive.Advanced; +#else +namespace ReactiveUI.Primitives.Advanced; +#endif + +/// Cold signal that splits a source into windows of a fixed duration. +/// The value type. +[System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] +public sealed class SliceTimeSignal : IObservable> +{ + /// The source observable. + private readonly IObservable _source; + + /// The duration of each window. + private readonly TimeSpan _timeSpan; + + /// The time between the starts of consecutive windows. + private readonly TimeSpan _timeShift; + + /// The sequencer that schedules the timer. + private readonly ISequencer _sequencer; + + /// Initializes a new instance of the class. + /// The source observable. + /// The duration of each window. + /// The time between the starts of consecutive windows. + /// The sequencer that schedules the timer. + /// or is . + /// or is zero or negative. + public SliceTimeSignal(IObservable source, TimeSpan timeSpan, TimeSpan timeShift, ISequencer sequencer) + { + SliceTimeGuard.ThrowIfNotPositive(timeSpan); + SliceTimeGuard.ThrowIfNotPositive(timeShift); + _source = source ?? throw new ArgumentNullException(nameof(source)); + _timeSpan = timeSpan; + _timeShift = timeShift; + _sequencer = sequencer ?? throw new ArgumentNullException(nameof(sequencer)); + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + SliceTimeWitness sink = new(observer, _timeSpan, _timeShift, _sequencer); + sink.Start(); + sink.SetSubscription(_source.Subscribe(sink)); + return sink.Subscription; + } +} diff --git a/src/Primitives.Shared/Advanced/SliceTimeWitness{T}.cs b/src/Primitives.Shared/Advanced/SliceTimeWitness{T}.cs new file mode 100644 index 00000000..395d57e4 --- /dev/null +++ b/src/Primitives.Shared/Advanced/SliceTimeWitness{T}.cs @@ -0,0 +1,244 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive.Advanced; +#else +namespace ReactiveUI.Primitives.Advanced; +#endif + +/// Sink that hands out a window signal of a fixed duration, opening a new window every time shift. +/// The value type. +/// +/// Windows overlap when the time shift is shorter than the duration and leave a gap when it is longer. Windows end when +/// the source ends. Notifications are delivered outside the sink's lock. +/// +[System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] +public sealed class SliceTimeWitness : IObserver, IDisposable +{ + /// Serializes access to the open windows, the timer schedule and the terminal latch. + private readonly Lock _gate = new(); + + /// The duration of each window. + private readonly TimeSpan _timeSpan; + + /// The time between the starts of consecutive windows. + private readonly TimeSpan _timeShift; + + /// The sequencer that schedules the timer. + private readonly ISequencer _sequencer; + + /// The windows that have not ended, oldest first. + private readonly List> _windows = []; + + /// Delivers windows and their values in the order they were posted. + private readonly SliceRouter, T> _router; + + /// The source subscription. + private readonly MultipleDisposable _upstream = []; + + /// The pending timer. + private readonly SingleReplaceableDisposable _timer = new(); + + /// The time from subscription to the last scheduled boundary. + private TimeSpan _totalTime; + + /// The time from subscription to the next window end. + private TimeSpan _nextSpan; + + /// The time from subscription to the next window start. + private TimeSpan _nextShift; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the windows. + /// The duration of each window. + /// The time between the starts of consecutive windows. + /// The sequencer that schedules the timer. + /// or is . + /// or is zero or negative. + public SliceTimeWitness(IObserver> observer, TimeSpan timeSpan, TimeSpan timeShift, ISequencer sequencer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + ArgumentExceptionHelper.ThrowIfNull(sequencer); + SliceTimeGuard.ThrowIfNotPositive(timeSpan); + SliceTimeGuard.ThrowIfNotPositive(timeShift); + _timeSpan = timeSpan; + _timeShift = timeShift; + _sequencer = sequencer; + Subscription = new(); + Subscription.Attach(_upstream); + _router = new(observer, Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any window is. + public SharedSubscription Subscription { get; } + + /// Opens the first window and starts the timer before the source is subscribed. + public void Start() + { + lock (_gate) + { + _nextSpan = _timeSpan; + _nextShift = _timeShift; + OpenWindow(); + } + + Deliver(); + ScheduleTick(); + } + + /// + public void OnNext(T value) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + for (var i = 0; i < _windows.Count; i++) + { + _router.Publish(_windows[i], value); + } + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns the source subscription, disposing the incoming one when this sink has been disposed. + /// The source subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => _upstream.Add(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + _timer.Dispose(); + _upstream.Dispose(); + } + + /// Opens a window and posts it to the outer observer; the caller holds the lock. + private void OpenWindow() + { + SliceWindow window = new(Subscription); + _windows.Add(window); + _router.Open(window); + } + + /// Schedules the next window end, window start or both. + private void ScheduleTick() + { + bool isSpan; + bool isShift; + TimeSpan delay; + lock (_gate) + { + if (_done != 0) + { + return; + } + + isSpan = _nextSpan <= _nextShift; + isShift = _nextShift <= _nextSpan; + var next = isSpan ? _nextSpan : _nextShift; + delay = next - _totalTime; + _totalTime = next; + if (isSpan) + { + _nextSpan += _timeShift; + } + + if (isShift) + { + _nextShift += _timeShift; + } + } + + _timer.Create(_sequencer.Schedule((Sink: this, IsSpan: isSpan, IsShift: isShift), delay, static state => state.Sink.Tick(state.IsSpan, state.IsShift))); + } + + /// Ends the oldest window, starts a new one, or both, then schedules the next tick. + /// Whether the oldest window ends. + /// Whether a new window starts. + private void Tick(bool isSpan, bool isShift) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + if (isSpan) + { + var oldest = _windows[0]; + _windows.RemoveAt(0); + _router.Complete(oldest); + } + + if (isShift) + { + OpenWindow(); + } + } + + Deliver(); + ScheduleTick(); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends every open window and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + Volatile.Write(ref _done, 1); + _router.Finish(_windows, error); + } + + try + { + _router.Flush(); + } + finally + { + Dispose(); + } + } +} diff --git a/src/Primitives.Shared/SignalOperatorMixins.GroupBy.cs b/src/Primitives.Shared/SignalOperatorMixins.GroupBy.cs new file mode 100644 index 00000000..e50b6cbe --- /dev/null +++ b/src/Primitives.Shared/SignalOperatorMixins.GroupBy.cs @@ -0,0 +1,323 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive; +#else +namespace ReactiveUI.Primitives; +#endif + +/// Grouping operators. +public static partial class LinqExtensions +{ + /// Grouping operators for an observable source sequence. + /// The type of the source values. + /// The source sequence. + extension(IObservable source) + { + /// Splits the source into groups by key. Each group receives the values that share its key. + /// The key type. + /// Extracts the key of a value. + /// A sequence of groups, each delivered when its first value arrives. + /// or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy(Func keySelector) + where TKey : notnull => + GroupByCore(source, keySelector, static value => value, null, 0); + + /// Splits the source into groups by key, comparing keys with a comparer. + /// The key type. + /// Extracts the key of a value. + /// Compares keys, or for the default comparer. + /// A sequence of groups, each delivered when its first value arrives. + /// or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy( + Func keySelector, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByCore(source, keySelector, static value => value, comparer, 0); + + /// Splits the source into groups by key, with the initial capacity of the group table. + /// The key type. + /// Extracts the key of a value. + /// The initial capacity of the group table. + /// A sequence of groups, each delivered when its first value arrives. + /// or is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy(Func keySelector, int capacity) + where TKey : notnull => + GroupByCore(source, keySelector, static value => value, null, capacity); + + /// Splits the source into groups by key, with the initial capacity of the group table and a key comparer. + /// The key type. + /// Extracts the key of a value. + /// The initial capacity of the group table. + /// Compares keys, or for the default comparer. + /// A sequence of groups, each delivered when its first value arrives. + /// or is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy( + Func keySelector, + int capacity, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByCore(source, keySelector, static value => value, comparer, capacity); + + /// Splits the source into groups by key and projects each value before it enters its group. + /// The key type. + /// The type of the values inside each group. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// A sequence of groups, each delivered when its first value arrives. + /// , or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy( + Func keySelector, + Func elementSelector) + where TKey : notnull => + GroupByCore(source, keySelector, elementSelector, null, 0); + + /// Splits the source into groups by key, projecting each value and comparing keys with a comparer. + /// The key type. + /// The type of the values inside each group. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Compares keys, or for the default comparer. + /// A sequence of groups, each delivered when its first value arrives. + /// , or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy( + Func keySelector, + Func elementSelector, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByCore(source, keySelector, elementSelector, comparer, 0); + + /// Splits the source into groups by key, projecting each value, with the initial capacity of the group table. + /// The key type. + /// The type of the values inside each group. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// The initial capacity of the group table. + /// A sequence of groups, each delivered when its first value arrives. + /// , or is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy( + Func keySelector, + Func elementSelector, + int capacity) + where TKey : notnull => + GroupByCore(source, keySelector, elementSelector, null, capacity); + + /// Splits the source into groups by key, projecting each value, with the initial capacity of the group table and a key comparer. + /// The key type. + /// The type of the values inside each group. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// The initial capacity of the group table. + /// Compares keys, or for the default comparer. + /// A sequence of groups, each delivered when its first value arrives. + /// , or is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupBy( + Func keySelector, + Func elementSelector, + int capacity, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByCore(source, keySelector, elementSelector, comparer, capacity); + + /// Splits the source into groups by key; each group ends when its duration signal emits or completes. + /// The key type. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Supplies the signal that ends a group. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// , or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func, IObservable> durationSelector) + where TKey : notnull => + GroupByUntilCore(source, keySelector, static value => value, durationSelector, null, 0); + + /// Splits the source into groups by key that end with a duration signal, comparing keys with a comparer. + /// The key type. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Supplies the signal that ends a group. + /// Compares keys, or for the default comparer. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// , or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func, IObservable> durationSelector, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByUntilCore(source, keySelector, static value => value, durationSelector, comparer, 0); + + /// Splits the source into groups by key that end with a duration signal, with the initial capacity of the group table. + /// The key type. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Supplies the signal that ends a group. + /// The initial capacity of the group table. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// , or is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func, IObservable> durationSelector, + int capacity) + where TKey : notnull => + GroupByUntilCore(source, keySelector, static value => value, durationSelector, null, capacity); + + /// Splits the source into groups by key that end with a duration signal, with the initial capacity of the group table and a key comparer. + /// The key type. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Supplies the signal that ends a group. + /// The initial capacity of the group table. + /// Compares keys, or for the default comparer. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// , or is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func, IObservable> durationSelector, + int capacity, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByUntilCore(source, keySelector, static value => value, durationSelector, comparer, capacity); + + /// Splits the source into groups by key, projecting each value; each group ends when its duration signal emits or completes. + /// The key type. + /// The type of the values inside each group. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Supplies the signal that ends a group. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// A required argument is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector) + where TKey : notnull => + GroupByUntilCore(source, keySelector, elementSelector, durationSelector, null, 0); + + /// Splits the source into groups by key, projecting each value, with a duration signal per group and a key comparer. + /// The key type. + /// The type of the values inside each group. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Supplies the signal that ends a group. + /// Compares keys, or for the default comparer. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// A required argument is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByUntilCore(source, keySelector, elementSelector, durationSelector, comparer, 0); + + /// Splits the source into groups by key, projecting each value, with a duration signal per group and the initial capacity of the group table. + /// The key type. + /// The type of the values inside each group. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Supplies the signal that ends a group. + /// The initial capacity of the group table. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// A required argument is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector, + int capacity) + where TKey : notnull => + GroupByUntilCore(source, keySelector, elementSelector, durationSelector, null, capacity); + + /// Splits the source into groups by key, projecting each value, with a duration signal per group, the initial capacity of the group table and a key comparer. + /// The key type. + /// The type of the values inside each group. + /// The value type of the duration signals. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Supplies the signal that ends a group. + /// The initial capacity of the group table. + /// Compares keys, or for the default comparer. + /// A sequence of groups; a key that appears after its group ended opens a new group. + /// A required argument is . + /// is negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> GroupByUntil( + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector, + int capacity, + IEqualityComparer? comparer) + where TKey : notnull => + GroupByUntilCore(source, keySelector, elementSelector, durationSelector, comparer, capacity); + } + + /// Builds the signal shared by every GroupBy overload. + /// The type of the source values. + /// The key type. + /// The type of the values inside each group. + /// The source sequence. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Compares keys, or for the default comparer. + /// The initial capacity of the group table. + /// The grouping signal. + private static GroupBySignal GroupByCore( + IObservable source, + Func keySelector, + Func elementSelector, + IEqualityComparer? comparer, + int capacity) + where TKey : notnull => + new(source, keySelector, elementSelector, comparer, capacity); + + /// Builds the signal shared by every GroupByUntil overload. + /// The type of the source values. + /// The key type. + /// The type of the values inside each group. + /// The value type of the duration signals. + /// The source sequence. + /// Extracts the key of a value. + /// Projects the value stored in its group. + /// Supplies the signal that ends a group. + /// Compares keys, or for the default comparer. + /// The initial capacity of the group table. + /// The grouping signal. + private static GroupByUntilSignal GroupByUntilCore( + IObservable source, + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector, + IEqualityComparer? comparer, + int capacity) + where TKey : notnull => + new(source, keySelector, elementSelector, durationSelector, comparer, capacity); +} diff --git a/src/Primitives.Shared/SignalOperatorMixins.Slice.cs b/src/Primitives.Shared/SignalOperatorMixins.Slice.cs new file mode 100644 index 00000000..e977f4ae --- /dev/null +++ b/src/Primitives.Shared/SignalOperatorMixins.Slice.cs @@ -0,0 +1,130 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive; +#else +namespace ReactiveUI.Primitives; +#endif + +/// Windowing operators that hand back a signal per window. +public static partial class LinqExtensions +{ + /// Windowing operators for an observable source sequence. + /// The type of the source values. + /// The source sequence. + extension(IObservable source) + { + /// Splits the source into windows of a fixed number of values. + /// The number of values in each window. + /// A sequence of window signals; the last window is shorter when the source ends mid-window. + /// is . + /// is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(int count) => new SliceCountSignal(source, count, count); + + /// Splits the source into windows of a fixed number of values, opening a new window every values. + /// The number of values in each window. + /// The number of values between the starts of consecutive windows. + /// A sequence of window signals; windows overlap when is smaller than . + /// is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(int count, int skip) => new SliceCountSignal(source, count, skip); + + /// Splits the source into consecutive windows of a fixed duration. + /// The duration of each window. + /// A sequence of window signals. + /// is . + /// is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(TimeSpan timeSpan) => + new SliceTimeSignal(source, timeSpan, timeSpan, Sequencer.Default); + + /// Splits the source into consecutive windows of a fixed duration on a sequencer. + /// The duration of each window. + /// The sequencer that schedules the window timer. + /// A sequence of window signals. + /// or is . + /// is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(TimeSpan timeSpan, ISequencer sequencer) => + new SliceTimeSignal(source, timeSpan, timeSpan, sequencer); + + /// Splits the source into windows of a fixed duration, opening a new window every . + /// The duration of each window. + /// The time between the starts of consecutive windows. + /// A sequence of window signals; windows overlap when is shorter than . + /// is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(TimeSpan timeSpan, TimeSpan timeShift) => + new SliceTimeSignal(source, timeSpan, timeShift, Sequencer.Default); + + /// Splits the source into windows of a fixed duration, opening a new window every , on a sequencer. + /// The duration of each window. + /// The time between the starts of consecutive windows. + /// The sequencer that schedules the window timer. + /// A sequence of window signals; windows overlap when is shorter than . + /// or is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(TimeSpan timeSpan, TimeSpan timeShift, ISequencer sequencer) => + new SliceTimeSignal(source, timeSpan, timeShift, sequencer); + + /// Splits the source into windows that end after a duration or a number of values, whichever comes first. + /// The maximum duration of each window. + /// The maximum number of values in each window. + /// A sequence of window signals; each new window restarts the duration. + /// is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(TimeSpan timeSpan, int count) => + new SliceTimeCountSignal(source, timeSpan, count, Sequencer.Default); + + /// Splits the source into windows that end after a duration or a number of values, whichever comes first, on a sequencer. + /// The maximum duration of each window. + /// The maximum number of values in each window. + /// The sequencer that schedules the window timer. + /// A sequence of window signals; each new window restarts the duration. + /// or is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(TimeSpan timeSpan, int count, ISequencer sequencer) => + new SliceTimeCountSignal(source, timeSpan, count, sequencer); + + /// Splits the source into windows, starting the next window each time a boundary signal emits. + /// The value type of the boundary signal. + /// The signal whose emissions start the next window. + /// A sequence of window signals; the sequence completes when the boundary signal completes. + /// or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(IObservable boundaries) => + new SliceBoundarySignal(source, boundaries); + + /// Splits the source into consecutive windows, each ended by the signal the selector supplies for it. + /// The value type of the closing signals. + /// Supplies the signal that ends the window that has just opened. + /// A sequence of window signals; a window ends when its closing signal emits or completes. + /// or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice(Func> closingSelector) => + new SliceClosingSignal(source, closingSelector); + + /// Opens a window each time an opening signal emits and ends it with the signal the selector supplies for it. + /// The value type of the opening signal. + /// The value type of the closing signals. + /// The signal whose emissions open a window. + /// Supplies the signal that ends the window an opening started. + /// A sequence of window signals; windows can overlap. + /// , or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Slice( + IObservable openings, + Func> closingSelector) => + new SliceOpeningSignal(source, openings, closingSelector); + } +} diff --git a/src/Primitives.Shared/SignalOperatorParityMixins.RxNames.Window.cs b/src/Primitives.Shared/SignalOperatorParityMixins.RxNames.Window.cs new file mode 100644 index 00000000..5032b94b --- /dev/null +++ b/src/Primitives.Shared/SignalOperatorParityMixins.RxNames.Window.cs @@ -0,0 +1,130 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +#if REACTIVE_SHIM +namespace ReactiveUI.Primitives.Reactive; +#else +namespace ReactiveUI.Primitives; +#endif + +/// System.Reactive-named windowing operators. +public static partial class LinqExtensions +{ + /// System.Reactive-named windowing operators for an observable source sequence. + /// The type of the source values. + /// The source sequence. + extension(IObservable source) + { + /// Splits the source into windows of a fixed number of values. + /// The number of values in each window. + /// A sequence of window signals; the last window is shorter when the source ends mid-window. + /// is . + /// is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(int count) => new SliceCountSignal(source, count, count); + + /// Splits the source into windows of a fixed number of values, opening a new window every values. + /// The number of values in each window. + /// The number of values between the starts of consecutive windows. + /// A sequence of window signals; windows overlap when is smaller than . + /// is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(int count, int skip) => new SliceCountSignal(source, count, skip); + + /// Splits the source into consecutive windows of a fixed duration. + /// The duration of each window. + /// A sequence of window signals. + /// is . + /// is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(TimeSpan timeSpan) => + new SliceTimeSignal(source, timeSpan, timeSpan, Sequencer.Default); + + /// Splits the source into consecutive windows of a fixed duration on a scheduler. + /// The duration of each window. + /// The scheduler that schedules the window timer. + /// A sequence of window signals. + /// or is . + /// is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(TimeSpan timeSpan, ISequencer scheduler) => + new SliceTimeSignal(source, timeSpan, timeSpan, scheduler); + + /// Splits the source into windows of a fixed duration, opening a new window every . + /// The duration of each window. + /// The time between the starts of consecutive windows. + /// A sequence of window signals; windows overlap when is shorter than . + /// is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(TimeSpan timeSpan, TimeSpan timeShift) => + new SliceTimeSignal(source, timeSpan, timeShift, Sequencer.Default); + + /// Splits the source into windows of a fixed duration, opening a new window every , on a scheduler. + /// The duration of each window. + /// The time between the starts of consecutive windows. + /// The scheduler that schedules the window timer. + /// A sequence of window signals; windows overlap when is shorter than . + /// or is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(TimeSpan timeSpan, TimeSpan timeShift, ISequencer scheduler) => + new SliceTimeSignal(source, timeSpan, timeShift, scheduler); + + /// Splits the source into windows that end after a duration or a number of values, whichever comes first. + /// The maximum duration of each window. + /// The maximum number of values in each window. + /// A sequence of window signals; each new window restarts the duration. + /// is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(TimeSpan timeSpan, int count) => + new SliceTimeCountSignal(source, timeSpan, count, Sequencer.Default); + + /// Splits the source into windows that end after a duration or a number of values, whichever comes first, on a scheduler. + /// The maximum duration of each window. + /// The maximum number of values in each window. + /// The scheduler that schedules the window timer. + /// A sequence of window signals; each new window restarts the duration. + /// or is . + /// or is zero or negative. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(TimeSpan timeSpan, int count, ISequencer scheduler) => + new SliceTimeCountSignal(source, timeSpan, count, scheduler); + + /// Splits the source into windows, starting the next window each time a boundary signal emits. + /// The value type of the boundary signal. + /// The signal whose emissions start the next window. + /// A sequence of window signals; the sequence completes when the boundary signal completes. + /// or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(IObservable windowBoundaries) => + new SliceBoundarySignal(source, windowBoundaries); + + /// Splits the source into consecutive windows, each ended by the signal the selector supplies for it. + /// The value type of the closing signals. + /// Supplies the signal that ends the window that has just opened. + /// A sequence of window signals; a window ends when its closing signal emits or completes. + /// or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window(Func> windowClosingSelector) => + new SliceClosingSignal(source, windowClosingSelector); + + /// Opens a window each time an opening signal emits and ends it with the signal the selector supplies for it. + /// The value type of the opening signal. + /// The value type of the closing signals. + /// The signal whose emissions open a window. + /// Supplies the signal that ends the window an opening started. + /// A sequence of window signals; windows can overlap. + /// , or is . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IObservable> Window( + IObservable windowOpenings, + Func> windowClosingSelector) => + new SliceOpeningSignal(source, windowOpenings, windowClosingSelector); + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/GroupBySignal{TSource,TKey,TElement}.cs b/src/ReactiveUI.Primitives.Core/Advanced/GroupBySignal{TSource,TKey,TElement}.cs new file mode 100644 index 00000000..5562f5a4 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/GroupBySignal{TSource,TKey,TElement}.cs @@ -0,0 +1,64 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Advanced; + +/// Cold signal that splits a source into keyed groups. +/// The source value type. +/// The key type. +/// The value type inside each group. +[System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] +public sealed class GroupBySignal : IObservable> + where TKey : notnull +{ + /// The source observable. + private readonly IObservable _source; + + /// The selector that extracts the key of a value. + private readonly Func _keySelector; + + /// The selector that extracts the value stored in a group. + private readonly Func _elementSelector; + + /// The key comparer, or for the default comparer. + private readonly IEqualityComparer? _comparer; + + /// The initial capacity of the group table. + private readonly int _capacity; + + /// Initializes a new instance of the class. + /// The source observable. + /// The selector that extracts the key of a value. + /// The selector that extracts the value stored in a group. + /// The key comparer, or for the default comparer. + /// The initial capacity of the group table; zero uses the default. + /// , or is . + /// is negative. + public GroupBySignal( + IObservable source, + Func keySelector, + Func elementSelector, + IEqualityComparer? comparer, + int capacity) + { + ArgumentOutOfRangeExceptionHelper.ThrowIfNegative(capacity); + _source = source ?? throw new ArgumentNullException(nameof(source)); + _keySelector = keySelector ?? throw new ArgumentNullException(nameof(keySelector)); + _elementSelector = elementSelector ?? throw new ArgumentNullException(nameof(elementSelector)); + _comparer = comparer; + _capacity = capacity; + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + GroupByWitness sink = new(observer, _keySelector, _elementSelector, _comparer, _capacity); + sink.SetSubscription(_source.Subscribe(sink)); + return sink.Subscription; + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilSignal{TSource,TKey,TElement,TDuration}.cs b/src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilSignal{TSource,TKey,TElement,TDuration}.cs new file mode 100644 index 00000000..bca05735 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilSignal{TSource,TKey,TElement,TDuration}.cs @@ -0,0 +1,72 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Advanced; + +/// Cold signal that splits a source into keyed groups that each end when a duration signal fires. +/// The source value type. +/// The key type. +/// The value type inside each group. +/// The value type of the duration signals. +[System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] +public sealed class GroupByUntilSignal : IObservable> + where TKey : notnull +{ + /// The source observable. + private readonly IObservable _source; + + /// The selector that extracts the key of a value. + private readonly Func _keySelector; + + /// The selector that extracts the value stored in a group. + private readonly Func _elementSelector; + + /// The selector that supplies the signal that ends a group. + private readonly Func, IObservable> _durationSelector; + + /// The key comparer, or for the default comparer. + private readonly IEqualityComparer? _comparer; + + /// The initial capacity of the group table. + private readonly int _capacity; + + /// Initializes a new instance of the class. + /// The source observable. + /// The selector that extracts the key of a value. + /// The selector that extracts the value stored in a group. + /// The selector that supplies the signal that ends a group. + /// The key comparer, or for the default comparer. + /// The initial capacity of the group table; zero uses the default. + /// A reference argument other than is . + /// is negative. + public GroupByUntilSignal( + IObservable source, + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector, + IEqualityComparer? comparer, + int capacity) + { + ArgumentOutOfRangeExceptionHelper.ThrowIfNegative(capacity); + _source = source ?? throw new ArgumentNullException(nameof(source)); + _keySelector = keySelector ?? throw new ArgumentNullException(nameof(keySelector)); + _elementSelector = elementSelector ?? throw new ArgumentNullException(nameof(elementSelector)); + _durationSelector = durationSelector ?? throw new ArgumentNullException(nameof(durationSelector)); + _comparer = comparer; + _capacity = capacity; + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + GroupByUntilWitness sink = + new(observer, _keySelector, _elementSelector, _durationSelector, _comparer, _capacity); + sink.SetSubscription(_source.Subscribe(sink)); + return sink.Subscription; + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilWitness{TSource,TKey,TElement,TDuration}.cs b/src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilWitness{TSource,TKey,TElement,TDuration}.cs new file mode 100644 index 00000000..cf6e23d4 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/GroupByUntilWitness{TSource,TKey,TElement,TDuration}.cs @@ -0,0 +1,296 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Disposables; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Advanced; + +/// +/// Sink that routes each source value to the group of its key and ends a group when its duration signal emits or completes. +/// +/// The source value type. +/// The key type. +/// The value type inside each group. +/// The value type of the duration signals. +/// +/// A key that appears after its group has ended opens a new group. A failure in the source, a selector or a duration +/// signal faults every open group and the outer sequence. Notifications are delivered outside the sink's lock. +/// +[System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] +public sealed class GroupByUntilWitness : IObserver, IDisposable + where TKey : notnull +{ + /// Serializes access to the group table and the terminal latch. + private readonly Lock _gate = new(); + + /// The selector that extracts the key of a value. + private readonly Func _keySelector; + + /// The selector that extracts the value stored in a group. + private readonly Func _elementSelector; + + /// The selector that supplies the signal that ends a group. + private readonly Func, IObservable> _durationSelector; + + /// The open groups by key. + private readonly Dictionary> _groups; + + /// Delivers groups and their values in the order they were posted. + private readonly SliceRouter, TElement> _router; + + /// The source subscription and the live duration subscriptions. + private readonly MultipleDisposable _upstream = []; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the groups. + /// The selector that extracts the key of a value. + /// The selector that extracts the value stored in a group. + /// The selector that supplies the signal that ends a group. + /// The key comparer, or for the default comparer. + /// The initial capacity of the group table; zero uses the default. + /// A reference argument other than is . + public GroupByUntilWitness( + IObserver> observer, + Func keySelector, + Func elementSelector, + Func, IObservable> durationSelector, + IEqualityComparer? comparer, + int capacity) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + _keySelector = keySelector ?? throw new ArgumentNullException(nameof(keySelector)); + _elementSelector = elementSelector ?? throw new ArgumentNullException(nameof(elementSelector)); + _durationSelector = durationSelector ?? throw new ArgumentNullException(nameof(durationSelector)); + _groups = [with(capacity, comparer)]; + Subscription = new(); + Subscription.Attach(_upstream); + _router = new(observer, Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any group is. + public SharedSubscription Subscription { get; } + + /// + public void OnNext(TSource value) + { + if (Volatile.Read(ref _done) != 0) + { + return; + } + + TKey key; + SliceWindow group; + GroupedSignal? opened = null; + try + { + key = _keySelector(value); + lock (_gate) + { + if (_done != 0) + { + return; + } + + if (!_groups.TryGetValue(key, out group!)) + { + group = new(Subscription); + _groups.Add(key, group); + opened = new(key, group); + } + } + } + catch (Exception error) + { + Terminate(error); + return; + } + + if (opened is not null && !Open(key, group, opened)) + { + return; + } + + TElement element; + try + { + element = _elementSelector(value); + } + catch (Exception error) + { + Terminate(error); + return; + } + + lock (_gate) + { + if (_done != 0) + { + return; + } + + _router.Publish(group, element); + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns the upstream subscription, disposing the incoming one when this sink has been disposed. + /// The upstream subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => _upstream.Add(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + _upstream.Dispose(); + } + + /// Delivers a new group to the outer observer and starts watching its duration signal. + /// The key of the group. + /// The window that carries the group's values. + /// The group handed to the outer observer. + /// when the sink terminated before the group was delivered. + private bool Open(TKey key, SliceWindow group, GroupedSignal opened) + { + IObservable duration; + try + { + duration = _durationSelector(opened); + } + catch (Exception error) + { + Terminate(error); + return false; + } + + lock (_gate) + { + if (_done != 0) + { + return false; + } + + _router.Open(opened); + } + + Deliver(); + + DurationWitness witness = new(this, key, group); + _upstream.Add(witness); + witness.SetSubscription(duration.Subscribe(witness)); + return true; + } + + /// Ends a group when its duration signal fires. + /// The key of the group. + /// The window that carries the group's values. + /// The duration subscription to release. + private void Expire(TKey key, SliceWindow group, DurationWitness witness) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + if (_groups.TryGetValue(key, out var current) && ReferenceEquals(current, group)) + { + _ = _groups.Remove(key); + _router.Complete(group); + } + } + + Deliver(); + _ = _upstream.Remove(witness); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends every open group and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + Volatile.Write(ref _done, 1); + _router.Finish(_groups.Values, error); + } + + try + { + _router.Flush(); + } + finally + { + Dispose(); + } + } + + /// Observes the duration signal of one group. + /// The owning sink. + /// The key of the group. + /// The window that carries the group's values. + private sealed class DurationWitness( + GroupByUntilWitness parent, + TKey key, + SliceWindow group) : IObserver, IDisposable + { + /// The duration subscription. + private IDisposable? _subscription; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(TDuration value) => parent.Expire(key, group, this); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => parent.Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => parent.Expire(key, group, this); + + /// Assigns the duration subscription, disposing the incoming one when this witness has been disposed. + /// The duration subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => SinkSubscription.Set(ref _subscription, subscription); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Dispose() => SinkSubscription.Dispose(ref _subscription); + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/GroupByWitness{TSource,TKey,TElement}.cs b/src/ReactiveUI.Primitives.Core/Advanced/GroupByWitness{TSource,TKey,TElement}.cs new file mode 100644 index 00000000..5d61ce16 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/GroupByWitness{TSource,TKey,TElement}.cs @@ -0,0 +1,144 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Advanced; + +/// Sink that routes each source value to the group of its key, opening a group the first time a key appears. +/// The source value type. +/// The key type. +/// The value type inside each group. +/// +/// Groups end when the source ends. A group is delivered to the outer observer before the value that opened it reaches +/// the group. Source notifications must be serialized, as the observer contract requires. +/// +[System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] +public sealed class GroupByWitness : IObserver, IDisposable + where TKey : notnull +{ + /// The selector that extracts the key of a value. + private readonly Func _keySelector; + + /// The selector that extracts the value stored in a group. + private readonly Func _elementSelector; + + /// The open groups by key. + private readonly Dictionary> _groups; + + /// Delivers groups and their values in the order they were posted. + private readonly SliceRouter, TElement> _router; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the groups. + /// The selector that extracts the key of a value. + /// The selector that extracts the value stored in a group. + /// The key comparer, or for the default comparer. + /// The initial capacity of the group table; zero uses the default. + /// , or is . + public GroupByWitness( + IObserver> observer, + Func keySelector, + Func elementSelector, + IEqualityComparer? comparer, + int capacity) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + _keySelector = keySelector ?? throw new ArgumentNullException(nameof(keySelector)); + _elementSelector = elementSelector ?? throw new ArgumentNullException(nameof(elementSelector)); + _groups = [with(capacity, comparer)]; + Subscription = new(); + _router = new(observer, Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any group is. + public SharedSubscription Subscription { get; } + + /// + public void OnNext(TSource value) + { + if (Volatile.Read(ref _done) != 0) + { + return; + } + + try + { + var key = _keySelector(value); + if (!_groups.TryGetValue(key, out var group)) + { + group = new(Subscription); + _groups.Add(key, group); + _router.Open(new(key, group)); + } + + _router.Publish(group, _elementSelector(value)); + } + catch (Exception error) + { + Terminate(error); + return; + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns the upstream subscription, disposing the incoming one when this sink holds a subscription or has been disposed. + /// The upstream subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => Subscription.Attach(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends every group and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + if (Interlocked.Exchange(ref _done, 1) != 0) + { + return; + } + + try + { + _router.Finish(_groups.Values, error); + _router.Flush(); + } + finally + { + Dispose(); + } + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SharedSubscription.cs b/src/ReactiveUI.Primitives.Core/Advanced/SharedSubscription.cs new file mode 100644 index 00000000..17e8be43 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SharedSubscription.cs @@ -0,0 +1,146 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Disposables; + +namespace ReactiveUI.Primitives.Advanced; + +/// Keeps one underlying subscription alive until its own handle and every lease taken from it have been disposed. +/// +/// The handle returned to the outer subscriber is the primary disposable. Each inner sequence takes a lease while it is +/// subscribed, so disposing the outer subscription leaves the underlying subscription running for the leases that remain. +/// The operator that owns the source assigns the underlying subscription with and tears it down +/// directly with when the source ends. +/// +[System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] +public sealed class SharedSubscription : IDisposable +{ + /// Serializes lease counting and release. + private readonly Lock _gate = new(); + + /// The underlying subscription, or before it is attached and after it is released. + private IDisposable? _underlying; + + /// The callback each lease uses to return itself, created with the first lease. + private Action? _giveBack; + + /// The number of leases that have not been disposed. + private int _leases; + + /// Whether the primary handle has been disposed. + private bool _primaryDisposed; + + /// Whether the underlying subscription has been released. + private bool _released; + + /// Gets a value indicating whether the primary handle has been disposed. + public bool IsDisposed + { + get + { + lock (_gate) + { + return _primaryDisposed; + } + } + } + + /// Assigns the underlying subscription, disposing it at once when it has already been released or one is attached. + /// The subscription released once the primary handle and every lease are disposed. + /// is . + public void Attach(IDisposable underlying) + { + ArgumentExceptionHelper.ThrowIfNull(underlying); + + lock (_gate) + { + if (!_released && _underlying is null) + { + _underlying = underlying; + return; + } + } + + underlying.Dispose(); + } + + /// Takes a lease that keeps the underlying subscription alive until it is disposed. + /// The lease, or an empty disposable when the underlying subscription has already been released. + public IDisposable Acquire() + { + lock (_gate) + { + if (_released) + { + return EmptyDisposable.Instance; + } + + _leases++; + _giveBack ??= ReturnLease; + return new Lease(_giveBack); + } + } + + /// Releases the underlying subscription now, whatever leases remain. + public void Release() + { + IDisposable? released; + lock (_gate) + { + _released = true; + released = _underlying; + _underlying = null; + } + + released?.Dispose(); + } + + /// Disposes the primary handle; the underlying subscription is released now when no lease is held. + public void Dispose() + { + lock (_gate) + { + if (_primaryDisposed) + { + return; + } + + _primaryDisposed = true; + if (_leases != 0) + { + return; + } + } + + Release(); + } + + /// Returns a lease and releases the underlying subscription when it was the last claim. + private void ReturnLease() + { + lock (_gate) + { + _leases--; + if (_leases != 0 || !_primaryDisposed) + { + return; + } + } + + Release(); + } + + /// One lease on the shared subscription. + /// Returns the lease to the shared subscription that issued it. + private sealed class Lease(Action giveBack) : IDisposable + { + /// The callback that returns the lease, cleared by the first disposal. + private Action? _giveBack = giveBack; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Dispose() => Interlocked.Exchange(ref _giveBack, null)?.Invoke(); + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceBoundarySignal{T,TBoundary}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceBoundarySignal{T,TBoundary}.cs new file mode 100644 index 00000000..186a3ebd --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceBoundarySignal{T,TBoundary}.cs @@ -0,0 +1,40 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +namespace ReactiveUI.Primitives.Advanced; + +/// Cold signal that splits a source into windows delimited by a boundary signal. +/// The value type. +/// The value type of the boundary signal. +[System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] +public sealed class SliceBoundarySignal : IObservable> +{ + /// The source observable. + private readonly IObservable _source; + + /// The signal whose emissions start the next window. + private readonly IObservable _boundaries; + + /// Initializes a new instance of the class. + /// The source observable. + /// The signal whose emissions start the next window. + /// or is . + public SliceBoundarySignal(IObservable source, IObservable boundaries) + { + _source = source ?? throw new ArgumentNullException(nameof(source)); + _boundaries = boundaries ?? throw new ArgumentNullException(nameof(boundaries)); + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + SliceBoundaryWitness sink = new(observer); + sink.Start(); + sink.SetSubscription(_source.Subscribe(sink)); + sink.SetSubscription(_boundaries.Subscribe(sink.Boundaries)); + return sink.Subscription; + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceBoundaryWitness{T,TBoundary}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceBoundaryWitness{T,TBoundary}.cs new file mode 100644 index 00000000..734270f3 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceBoundaryWitness{T,TBoundary}.cs @@ -0,0 +1,177 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Disposables; + +namespace ReactiveUI.Primitives.Advanced; + +/// Sink that hands out a window signal and starts the next window each time a boundary signal emits. +/// The value type. +/// The value type of the boundary signal. +/// +/// The window ends and the outer sequence completes when the boundary signal completes, and both end when the source ends. +/// Notifications are delivered outside the sink's lock. +/// +[System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] +public sealed class SliceBoundaryWitness : IObserver, IDisposable +{ + /// Serializes access to the current window and the terminal latch. + private readonly Lock _gate = new(); + + /// Delivers windows and their values in the order they were posted. + private readonly SliceRouter, T> _router; + + /// The source subscription and the boundary subscription. + private readonly MultipleDisposable _upstream = []; + + /// The window currently receiving values. + private SliceWindow _current; + + /// The observer of the boundary signal, created on first use. + private IObserver? _boundaries; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the windows. + /// is . + public SliceBoundaryWitness(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + Subscription = new(); + Subscription.Attach(_upstream); + _router = new(observer, Subscription); + _current = new(Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any window is. + public SharedSubscription Subscription { get; } + + /// Gets the observer to subscribe to the boundary signal. + public IObserver Boundaries => _boundaries ??= new BoundaryWitness(this); + + /// Opens the first window before the source is subscribed. + public void Start() + { + lock (_gate) + { + _router.Open(_current); + } + + Deliver(); + } + + /// + public void OnNext(T value) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + _router.Publish(_current, value); + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns an upstream subscription, disposing the incoming one when this sink has been disposed. + /// The source or boundary subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => _upstream.Add(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + _upstream.Dispose(); + } + + /// Ends the current window and opens the next. + private void Advance() + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + _router.Complete(_current); + _current = new(Subscription); + _router.Open(_current); + } + + Deliver(); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends the current window and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + Volatile.Write(ref _done, 1); + _router.Finish([_current], error); + } + + try + { + _router.Flush(); + } + finally + { + Dispose(); + } + } + + /// Observes the boundary signal. + /// The owning sink. + private sealed class BoundaryWitness(SliceBoundaryWitness parent) : IObserver + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(TBoundary value) => parent.Advance(); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => parent.Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => parent.Terminate(null); + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceClosingSignal{T,TClosing}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceClosingSignal{T,TClosing}.cs new file mode 100644 index 00000000..061dc35b --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceClosingSignal{T,TClosing}.cs @@ -0,0 +1,39 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +namespace ReactiveUI.Primitives.Advanced; + +/// Cold signal that splits a source into consecutive windows, each ended by its own closing signal. +/// The value type. +/// The value type of the closing signals. +[System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] +public sealed class SliceClosingSignal : IObservable> +{ + /// The source observable. + private readonly IObservable _source; + + /// The selector that supplies the signal that ends a window. + private readonly Func> _closingSelector; + + /// Initializes a new instance of the class. + /// The source observable. + /// The selector that supplies the signal that ends a window. + /// or is . + public SliceClosingSignal(IObservable source, Func> closingSelector) + { + _source = source ?? throw new ArgumentNullException(nameof(source)); + _closingSelector = closingSelector ?? throw new ArgumentNullException(nameof(closingSelector)); + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + SliceClosingWitness sink = new(observer, _closingSelector); + sink.Start(); + sink.SetSubscription(_source.Subscribe(sink)); + return sink.Subscription; + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceClosingWitness{T,TClosing}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceClosingWitness{T,TClosing}.cs new file mode 100644 index 00000000..7bac98dc --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceClosingWitness{T,TClosing}.cs @@ -0,0 +1,225 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Disposables; + +namespace ReactiveUI.Primitives.Advanced; + +/// Sink that hands out a window signal that ends when its own closing signal emits or completes. +/// The value type. +/// The value type of the closing signals. +/// +/// A closing signal is requested for each window as it opens. A failure in the source, the selector or a closing signal +/// faults the current window and the outer sequence. Notifications are delivered outside the sink's lock. +/// +[System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] +public sealed class SliceClosingWitness : IObserver, IDisposable +{ + /// Serializes access to the current window and the terminal latch. + private readonly Lock _gate = new(); + + /// The selector that supplies the signal that ends a window. + private readonly Func> _closingSelector; + + /// Delivers windows and their values in the order they were posted. + private readonly SliceRouter, T> _router; + + /// The source subscription and the live closing subscription. + private readonly MultipleDisposable _upstream = []; + + /// The window currently receiving values. + private SliceWindow _current; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the windows. + /// The selector that supplies the signal that ends a window. + /// or is . + public SliceClosingWitness(IObserver> observer, Func> closingSelector) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + _closingSelector = closingSelector ?? throw new ArgumentNullException(nameof(closingSelector)); + Subscription = new(); + Subscription.Attach(_upstream); + _router = new(observer, Subscription); + _current = new(Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any window is. + public SharedSubscription Subscription { get; } + + /// Opens the first window and starts watching its closing signal before the source is subscribed. + public void Start() + { + lock (_gate) + { + _router.Open(_current); + } + + Deliver(); + WatchClosing(); + } + + /// + public void OnNext(T value) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + _router.Publish(_current, value); + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns the source subscription, disposing the incoming one when this sink has been disposed. + /// The source subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => _upstream.Add(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + _upstream.Dispose(); + } + + /// Asks for the closing signal of the current window and subscribes to it. + private void WatchClosing() + { + IObservable closing; + try + { + closing = _closingSelector(); + } + catch (Exception error) + { + Terminate(error); + return; + } + + ClosingWitness witness = new(this); + _upstream.Add(witness); + witness.SetSubscription(closing.Subscribe(witness)); + } + + /// Ends the current window, opens the next and watches its closing signal. + /// The closing subscription that fired. + private void Advance(ClosingWitness witness) + { + _ = _upstream.Remove(witness); + lock (_gate) + { + if (_done != 0) + { + return; + } + + _router.Complete(_current); + _current = new(Subscription); + _router.Open(_current); + } + + Deliver(); + WatchClosing(); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends the current window and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + Volatile.Write(ref _done, 1); + _router.Finish([_current], error); + } + + try + { + _router.Flush(); + } + finally + { + Dispose(); + } + } + + /// Observes the closing signal of one window. + /// The owning sink. + private sealed class ClosingWitness(SliceClosingWitness parent) : IObserver, IDisposable + { + /// Non-zero once the closing signal has ended the window. + private int _fired; + + /// The closing subscription. + private IDisposable? _subscription; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(TClosing value) => Fire(); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => parent.Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Fire(); + + /// Assigns the closing subscription, disposing the incoming one when this witness has been disposed. + /// The closing subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => SinkSubscription.Set(ref _subscription, subscription); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Dispose() => SinkSubscription.Dispose(ref _subscription); + + /// Ends the window the first time the closing signal emits or completes. + private void Fire() + { + if (Interlocked.Exchange(ref _fired, 1) != 0) + { + return; + } + + parent.Advance(this); + } + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceCountSignal{T}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceCountSignal{T}.cs new file mode 100644 index 00000000..2caf5a9a --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceCountSignal{T}.cs @@ -0,0 +1,46 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +namespace ReactiveUI.Primitives.Advanced; + +/// Cold signal that splits a source into windows of a fixed number of values. +/// The value type. +[System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] +public sealed class SliceCountSignal : IObservable> +{ + /// The source observable. + private readonly IObservable _source; + + /// The number of values in each window. + private readonly int _count; + + /// The number of values between the starts of consecutive windows. + private readonly int _skip; + + /// Initializes a new instance of the class. + /// The source observable. + /// The number of values in each window. + /// The number of values between the starts of consecutive windows. + /// is . + /// or is zero or negative. + public SliceCountSignal(IObservable source, int count, int skip) + { + ArgumentOutOfRangeExceptionHelper.ThrowIfNegativeOrZero(count); + ArgumentOutOfRangeExceptionHelper.ThrowIfNegativeOrZero(skip); + _source = source ?? throw new ArgumentNullException(nameof(source)); + _count = count; + _skip = skip; + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + SliceCountWitness sink = new(observer, _count, _skip); + sink.Start(); + sink.SetSubscription(_source.Subscribe(sink)); + return sink.Subscription; + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceCountWitness{T}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceCountWitness{T}.cs new file mode 100644 index 00000000..bb4c7346 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceCountWitness{T}.cs @@ -0,0 +1,151 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +namespace ReactiveUI.Primitives.Advanced; + +/// Sink that hands out a window signal holding a fixed number of values, opening a new window every skip values. +/// The value type. +/// Windows end when the source ends. Source notifications must be serialized, as the observer contract requires. +[System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] +public sealed class SliceCountWitness : IObserver, IDisposable +{ + /// The number of values in each window. + private readonly int _count; + + /// The number of values between the starts of consecutive windows. + private readonly int _skip; + + /// The windows still filling, oldest first. + private readonly List> _windows = []; + + /// Delivers windows and their values in the order they were posted. + private readonly SliceRouter, T> _router; + + /// The number of values seen. + private int _index; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the windows. + /// The number of values in each window. + /// The number of values between the starts of consecutive windows. + /// is . + /// or is zero or negative. + public SliceCountWitness(IObserver> observer, int count, int skip) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + ArgumentOutOfRangeExceptionHelper.ThrowIfNegativeOrZero(count); + ArgumentOutOfRangeExceptionHelper.ThrowIfNegativeOrZero(skip); + _count = count; + _skip = skip; + Subscription = new(); + _router = new(observer, Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any window is. + public SharedSubscription Subscription { get; } + + /// Opens the first window before the source is subscribed. + public void Start() + { + OpenWindow(); + Deliver(); + } + + /// + public void OnNext(T value) + { + if (Volatile.Read(ref _done) != 0) + { + return; + } + + for (var i = 0; i < _windows.Count; i++) + { + _router.Publish(_windows[i], value); + } + + var filled = _index - _count + 1; + if (filled >= 0 && filled % _skip == 0) + { + var oldest = _windows[0]; + _windows.RemoveAt(0); + _router.Complete(oldest); + } + + _index++; + if (_index % _skip == 0) + { + OpenWindow(); + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns the upstream subscription, disposing the incoming one when this sink holds a subscription or has been disposed. + /// The upstream subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => Subscription.Attach(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + } + + /// Opens a window and posts it to the outer observer. + private void OpenWindow() + { + SliceWindow window = new(Subscription); + _windows.Add(window); + _router.Open(window); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends every open window and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + if (Interlocked.Exchange(ref _done, 1) != 0) + { + return; + } + + try + { + _router.Finish(_windows, error); + _router.Flush(); + } + finally + { + Dispose(); + } + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningSignal{T,TOpening,TClosing}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningSignal{T,TOpening,TClosing}.cs new file mode 100644 index 00000000..b0c1bf43 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningSignal{T,TOpening,TClosing}.cs @@ -0,0 +1,48 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +namespace ReactiveUI.Primitives.Advanced; + +/// Cold signal that opens a window each time an opening signal emits and ends it with a closing signal. +/// The value type. +/// The value type of the opening signal. +/// The value type of the closing signals. +[System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] +public sealed class SliceOpeningSignal : IObservable> +{ + /// The source observable. + private readonly IObservable _source; + + /// The signal whose emissions open a window. + private readonly IObservable _openings; + + /// The selector that supplies the signal that ends the window an opening started. + private readonly Func> _closingSelector; + + /// Initializes a new instance of the class. + /// The source observable. + /// The signal whose emissions open a window. + /// The selector that supplies the signal that ends the window an opening started. + /// An argument is . + public SliceOpeningSignal( + IObservable source, + IObservable openings, + Func> closingSelector) + { + _source = source ?? throw new ArgumentNullException(nameof(source)); + _openings = openings ?? throw new ArgumentNullException(nameof(openings)); + _closingSelector = closingSelector ?? throw new ArgumentNullException(nameof(closingSelector)); + } + + /// + public IDisposable Subscribe(IObserver> observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + SliceOpeningWitness sink = new(observer, _closingSelector); + sink.SetSubscription(_source.Subscribe(sink)); + sink.SetSubscription(_openings.Subscribe(sink.Openings)); + return sink.Subscription; + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningWitness{T,TOpening,TClosing}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningWitness{T,TOpening,TClosing}.cs new file mode 100644 index 00000000..9c3f2d03 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceOpeningWitness{T,TOpening,TClosing}.cs @@ -0,0 +1,273 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Disposables; + +namespace ReactiveUI.Primitives.Advanced; + +/// +/// Sink that hands out a window signal each time an opening signal emits, and ends each window when its closing signal fires. +/// +/// The value type. +/// The value type of the opening signal. +/// The value type of the closing signals. +/// +/// Windows can overlap, and each receives every source value while it is open. The outer sequence completes when the +/// opening signal completes; windows that are open then keep receiving values until their closing signal fires or the +/// source ends. A failure anywhere faults every open window and the outer sequence. Notifications are delivered outside +/// the sink's lock. +/// +[System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] +public sealed class SliceOpeningWitness : IObserver, IDisposable +{ + /// Serializes access to the open windows and the terminal latch. + private readonly Lock _gate = new(); + + /// The selector that supplies the signal that ends the window an opening started. + private readonly Func> _closingSelector; + + /// The windows that have not ended, oldest first. + private readonly List> _open = []; + + /// Delivers windows and their values in the order they were posted. + private readonly SliceRouter, T> _router; + + /// The source subscription, the opening subscription and the live closing subscriptions. + private readonly MultipleDisposable _upstream = []; + + /// The observer of the opening signal, created on first use. + private IObserver? _openings; + + /// Whether the outer sequence has terminated. + private bool _outerDone; + + /// The terminal latch; non-zero once the sink has terminated and must ignore further notifications. + private int _done; + + /// Initializes a new instance of the class. + /// The downstream observer of the windows. + /// The selector that supplies the signal that ends the window an opening started. + /// or is . + public SliceOpeningWitness(IObserver> observer, Func> closingSelector) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + _closingSelector = closingSelector ?? throw new ArgumentNullException(nameof(closingSelector)); + Subscription = new(); + Subscription.Attach(_upstream); + _router = new(observer, Subscription); + } + + /// Gets the subscription handed to the outer subscriber; the source stays subscribed while any window is. + public SharedSubscription Subscription { get; } + + /// Gets the observer to subscribe to the opening signal. + public IObserver Openings => _openings ??= new OpeningWitness(this); + + /// + public void OnNext(T value) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + for (var i = 0; i < _open.Count; i++) + { + _router.Publish(_open[i], value); + } + } + + Deliver(); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Terminate(null); + + /// Assigns an upstream subscription, disposing the incoming one when this sink has been disposed. + /// The source or opening subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => _upstream.Add(subscription); + + /// + public void Dispose() + { + Volatile.Write(ref _done, 1); + Subscription.Release(); + _upstream.Dispose(); + } + + /// Starts a window for an opening and watches its closing signal. + /// The opening value. + private void Open(TOpening opening) + { + IObservable closing; + try + { + closing = _closingSelector(opening); + } + catch (Exception error) + { + Terminate(error); + return; + } + + SliceWindow window = new(Subscription); + lock (_gate) + { + if (_done != 0) + { + return; + } + + _open.Add(window); + _router.Open(window); + } + + Deliver(); + + ClosingWitness witness = new(this, window); + _upstream.Add(witness); + witness.SetSubscription(closing.Subscribe(witness)); + } + + /// Ends a window when its closing signal fires. + /// The window to end. + /// The closing subscription to release. + private void Close(SliceWindow window, ClosingWitness witness) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + if (_open.Remove(window)) + { + _router.Complete(window); + } + } + + Deliver(); + _ = _upstream.Remove(witness); + } + + /// Completes the outer sequence when the opening signal completes; open windows stay open. + private void CompleteOuter() + { + lock (_gate) + { + if (_done != 0 || _outerDone) + { + return; + } + + _outerDone = true; + _router.CompleteOuter(); + } + + Deliver(); + } + + /// Delivers the posted notifications, tearing the sink down when a downstream observer throws. + private void Deliver() + { + try + { + _router.Flush(); + } + catch + { + Dispose(); + throw; + } + } + + /// Ends every open window and the outer sequence, then tears the sink down. + /// The error, or to complete. + private void Terminate(Exception? error) + { + lock (_gate) + { + if (_done != 0) + { + return; + } + + Volatile.Write(ref _done, 1); + if (_outerDone) + { + _router.FinishWindows(_open, error); + } + else + { + _router.Finish(_open, error); + } + } + + try + { + _router.Flush(); + } + finally + { + Dispose(); + } + } + + /// Observes the opening signal. + /// The owning sink. + private sealed class OpeningWitness(SliceOpeningWitness parent) : IObserver + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(TOpening value) => parent.Open(value); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => parent.Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => parent.CompleteOuter(); + } + + /// Observes the closing signal of one window. + /// The owning sink. + /// The window the signal ends. + private sealed class ClosingWitness(SliceOpeningWitness parent, SliceWindow window) : IObserver, IDisposable + { + /// The closing subscription. + private IDisposable? _subscription; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(TClosing value) => parent.Close(window, this); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => parent.Terminate(error); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => parent.Close(window, this); + + /// Assigns the closing subscription, disposing the incoming one when this witness has been disposed. + /// The closing subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetSubscription(IDisposable subscription) => SinkSubscription.Set(ref _subscription, subscription); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Dispose() => SinkSubscription.Dispose(ref _subscription); + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceRouter{TOuter,T}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceRouter{TOuter,T}.cs new file mode 100644 index 00000000..c424adb6 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceRouter{TOuter,T}.cs @@ -0,0 +1,185 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Extensions; + +namespace ReactiveUI.Primitives.Advanced; + +/// +/// Delivers the notifications of a sliced sequence to its outer observer and its windows in the order they were posted, +/// without holding the caller's lock while any observer runs. +/// +/// The type the outer observer receives for each window or group. +/// The value type of each window. +/// +/// An operator posts notifications while it holds its own lock, which fixes their order, and calls +/// after releasing it. Notifications posted while another thread is delivering are delivered by that +/// thread in posting order, and a notification posted by the delivering thread itself is delivered after the observer +/// returns. Outer notifications stop once the owning has been disposed, while window +/// notifications continue. posts the terminal notification; nothing posted after it is delivered. +/// +[System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] +public sealed class SliceRouter +{ + /// Delivers a window or group to the outer observer. + private static readonly Action OpenedStep = static (applier, notification) => applier.DeliverOpened(notification.Outer); + + /// Publishes a value to a window. + private static readonly Action ValueStep = static (_, notification) => notification.Window!.Publish(notification.Value); + + /// Completes a window. + private static readonly Action CompletedStep = static (_, notification) => notification.Window!.Complete(); + + /// Faults a window. + private static readonly Action FaultedStep = static (_, notification) => notification.Window!.Fault(notification.Error!); + + /// Completes the outer observer. + private static readonly Action OuterCompletedStep = static (applier, _) => applier.OnCompleted(); + + /// The downstream observer of the outer sequence. + private readonly IObserver _outer; + + /// The subscription whose primary handle detaches the outer observer. + private readonly SharedSubscription _owner; + + /// Serializes delivery and holds the notifications that are waiting. + private SerializedDelivery _delivery = new(); + + /// Applies each delivered notification to its target, created by the first delivery. + private Applier? _applier; + + /// Initializes a new instance of the class. + /// The downstream observer of the outer sequence. + /// The subscription whose primary handle detaches the outer observer when disposed. + /// or is . + public SliceRouter(IObserver outer, SharedSubscription owner) + { + _outer = outer ?? throw new ArgumentNullException(nameof(outer)); + _owner = owner ?? throw new ArgumentNullException(nameof(owner)); + } + + /// Posts a window or group for delivery to the outer observer. + /// The window or group. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) => Post(new(OpenedStep, null, default!, null, opened)); + + /// Posts a value for delivery to a window. + /// The target window. + /// The value. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Publish(SliceWindow window, T value) => Post(new(ValueStep, window, value, null, default!)); + + /// Posts the completion of a window. + /// The window to complete. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Complete(SliceWindow window) => Post(new(CompletedStep, window, default!, null, default!)); + + /// Posts the failure of a window. + /// The window to fault. + /// The error. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Fault(SliceWindow window, Exception error) => Post(new(FaultedStep, window, default!, error, default!)); + + /// Posts the completion of the outer sequence while later notifications for windows are still to come. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() => Post(new(OuterCompletedStep, null, default!, null, default!)); + + /// Posts the terminal notification of each window in order, without ending the outer sequence. + /// The windows to terminate. + /// The error, or to complete each window. + public void FinishWindows(IEnumerable> windows, Exception? error) + { + foreach (var window in windows) + { + if (error is null) + { + Complete(window); + continue; + } + + Fault(window, error); + } + } + + /// Posts the terminal notification of each window in order, then the terminal notification of the outer sequence. + /// The windows to terminate. + /// The error, or to complete. + public void Finish(IEnumerable> windows, Exception? error) + { + FinishWindows(windows, error); + _ = error is null ? _delivery.PostCompleted() : _delivery.PostError(error); + } + + /// Delivers the posted notifications on the calling thread, or hands them to the thread already delivering. + /// Call it after releasing the lock that guarded the posts. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Flush() => _delivery.Flush(new PendingDrain(this)); + + /// Queues a notification for delivery. + /// The notification. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void Post(Notification notification) => _ = _delivery.Post(notification); + + /// One queued notification. + /// What the notification does when it is delivered. + /// The target window, for window notifications. + /// The value, for value notifications. + /// The error, for fault notifications. + /// The window or group, for open notifications. + private readonly record struct Notification(Action Step, SliceWindow? Window, T Value, Exception? Error, TOuter Outer); + + /// Drains the queued notifications for the delivery gate. + /// The router. + private readonly record struct PendingDrain(SliceRouter Owner) : IDrainTarget + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Drain() => _ = Owner._delivery.DrainTo(Owner._applier ??= new(Owner._outer, Owner._owner)); + } + + /// Applies delivered notifications to the outer observer and the windows. + /// The downstream observer of the outer sequence. + /// The subscription whose primary handle detaches the outer observer. + private sealed class Applier(IObserver outer, SharedSubscription owner) : IObserver + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(Notification value) => value.Step(this, value); + + /// + public void OnError(Exception error) + { + if (owner.IsDisposed) + { + return; + } + + outer.OnError(error); + } + + /// + public void OnCompleted() + { + if (owner.IsDisposed) + { + return; + } + + outer.OnCompleted(); + } + + /// Delivers a window or group to the outer observer unless the owner has been disposed. + /// The window or group. + internal void DeliverOpened(TOuter opened) + { + if (owner.IsDisposed) + { + return; + } + + outer.OnNext(opened); + } + } +} diff --git a/src/ReactiveUI.Primitives.Core/Advanced/SliceWindow{T}.cs b/src/ReactiveUI.Primitives.Core/Advanced/SliceWindow{T}.cs new file mode 100644 index 00000000..90a598da --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Advanced/SliceWindow{T}.cs @@ -0,0 +1,154 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Disposables; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Advanced; + +/// One window of a sliced sequence: values published to it reach every current subscriber. +/// The value type. +/// +/// A subscriber that arrives after the window has terminated receives the terminal notification at once. Each +/// subscription holds a lease on the that owns the source, so the source keeps running +/// while any window is subscribed. Publishing is not serialized; route notifications through a . +/// +[System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] +public sealed class SliceWindow : IObservable +{ + /// Serializes subscription against the terminal notification. + private readonly Lock _gate = new(); + + /// The subscription that owns the source this window reads from. + private readonly SharedSubscription _owner; + + /// The current subscribers. + private Broadcaster _observers; + + /// The terminal error, or when the window completed or has not terminated. + private Exception? _error; + + /// Whether the window has terminated. + private bool _terminated; + + /// Initializes a new instance of the class. + /// The shared subscription that owns the source this window reads from. + /// is . + public SliceWindow(SharedSubscription owner) => + _owner = owner ?? throw new ArgumentNullException(nameof(owner)); + + /// Publishes a value to the current subscribers; a terminated window ignores it. + /// The value to publish. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Publish(T value) => _observers.Next(value); + + /// Completes the current subscribers and every later subscriber. + public void Complete() + { + if (!TryTerminate(null)) + { + return; + } + + _observers.Completed(); + _observers.Clear(); + } + + /// Faults the current subscribers and every later subscriber. + /// The terminal error. + /// is . + public void Fault(Exception error) + { + ArgumentExceptionHelper.ThrowIfNull(error); + + if (!TryTerminate(error)) + { + return; + } + + _observers.Error(error); + _observers.Clear(); + } + + /// + public IDisposable Subscribe(IObserver observer) + { + ArgumentExceptionHelper.ThrowIfNull(observer); + + Exception? error; + bool terminated; + lock (_gate) + { + terminated = _terminated; + error = _error; + if (!terminated) + { + _observers.Add(observer); + } + } + + if (!terminated) + { + return new Subscription(this, observer, _owner.Acquire()); + } + + if (error is null) + { + observer.OnCompleted(); + } + else + { + observer.OnError(error); + } + + return EmptyDisposable.Instance; + } + + /// Records the terminal notification. + /// The terminal error, or for completion. + /// when this call terminated the window. + private bool TryTerminate(Exception? error) + { + lock (_gate) + { + if (_terminated) + { + return false; + } + + _terminated = true; + _error = error; + return true; + } + } + + /// Removes a subscriber. + /// The subscriber to remove. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void Remove(IObserver observer) => _observers.Remove(observer); + + /// One subscription to the window and its lease on the source. + /// The window that owns the subscriber. + /// The subscriber. + /// The lease that keeps the source alive. + private sealed class Subscription(SliceWindow window, IObserver observer, IDisposable lease) : IDisposable + { + /// The window that owns the subscriber, cleared by the first disposal. + private SliceWindow? _window = window; + + /// + public void Dispose() + { + var owner = Interlocked.Exchange(ref _window, null); + if (owner is null) + { + return; + } + + owner.Remove(observer); + lease.Dispose(); + } + } +} diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt index 138a9771..781f9ee2 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net10.0/PublicAPI.txt @@ -462,6 +462,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -745,6 +785,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -793,6 +843,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1563,6 +1727,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt index 138a9771..781f9ee2 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net11.0/PublicAPI.txt @@ -462,6 +462,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -745,6 +785,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -793,6 +843,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1563,6 +1727,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt index e5d36401..1202e348 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net462/PublicAPI.txt @@ -451,6 +451,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -729,6 +769,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -777,6 +827,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1547,6 +1711,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt index e5d36401..1202e348 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net472/PublicAPI.txt @@ -451,6 +451,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -729,6 +769,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -777,6 +827,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1547,6 +1711,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt index e5d36401..1202e348 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net48/PublicAPI.txt @@ -451,6 +451,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -729,6 +769,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -777,6 +827,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1547,6 +1711,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt index e5d36401..1202e348 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net481/PublicAPI.txt @@ -451,6 +451,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -729,6 +769,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -777,6 +827,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1547,6 +1711,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt index 3cbc0a32..8703987f 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net8.0/PublicAPI.txt @@ -462,6 +462,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -745,6 +785,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -793,6 +843,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1563,6 +1727,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt index 138a9771..781f9ee2 100644 --- a/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Core/PublicAPI/net9.0/PublicAPI.txt @@ -462,6 +462,46 @@ namespace ReactiveUI.Primitives.Advanced public System.IDisposable Subscribe(System.Action onNext, System.Action onError, System.Action onCompleted) { } public bool TryGetReadOnlyValues(out System.Collections.Generic.IReadOnlyList values) { } } + [System.Diagnostics.DebuggerDisplay("GroupBySignal: Source = {_source}")] + public sealed class GroupBySignal : System.IObservable> where TKey : notnull + { + public GroupBySignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilSignal: Source = {_source}")] + public sealed class GroupByUntilSignal : System.IObservable> where TKey : notnull + { + public GroupByUntilSignal(System.IObservable source, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByUntilWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByUntilWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByUntilWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("GroupByWitness: Groups = {_groups.Count}, Done = {_done}")] + public sealed class GroupByWitness : System.IDisposable, System.IObserver where TKey : notnull + { + public GroupByWitness(System.IObserver> observer, System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer, int capacity) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(TSource value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } public interface IAggregator where TSelf : ReactiveUI.Primitives.Advanced.IAggregator { TResult Result { get; } @@ -745,6 +785,16 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public bool TryClaim() { } } + [System.Diagnostics.DebuggerDisplay("SharedSubscription: Leases = {_leases}, Primary Disposed = {_primaryDisposed}, Released = {_released}")] + public sealed class SharedSubscription : System.IDisposable + { + public SharedSubscription() { } + public bool IsDisposed { get; } + public System.IDisposable Acquire() { } + public void Attach(System.IDisposable underlying) { } + public void Dispose() { } + public void Release() { } + } public static class SinkDelivery { public static void Next(System.IObserver observer, TResult value, System.IDisposable sink) { } @@ -793,6 +843,120 @@ namespace ReactiveUI.Primitives.Advanced [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void SetSubscription(System.IDisposable subscription) { } } + [System.Diagnostics.DebuggerDisplay("SliceBoundarySignal: Source = {_source}")] + public sealed class SliceBoundarySignal : System.IObservable> + { + public SliceBoundarySignal(System.IObservable source, System.IObservable boundaries) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceBoundaryWitness: Done = {_done}")] + public sealed class SliceBoundaryWitness : System.IDisposable, System.IObserver + { + public SliceBoundaryWitness(System.IObserver> observer) { } + public System.IObserver Boundaries { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingSignal: Source = {_source}")] + public sealed class SliceClosingSignal : System.IObservable> + { + public SliceClosingSignal(System.IObservable source, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceClosingWitness: Done = {_done}")] + public sealed class SliceClosingWitness : System.IDisposable, System.IObserver + { + public SliceClosingWitness(System.IObserver> observer, System.Func> closingSelector) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountSignal: Count = {_count}, Skip = {_skip}, Source = {_source}")] + public sealed class SliceCountSignal : System.IObservable> + { + public SliceCountSignal(System.IObservable source, int count, int skip) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceCountWitness: Count = {_count}, Skip = {_skip}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceCountWitness : System.IDisposable, System.IObserver + { + public SliceCountWitness(System.IObserver> observer, int count, int skip) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningSignal: Source = {_source}")] + public sealed class SliceOpeningSignal : System.IObservable> + { + public SliceOpeningSignal(System.IObservable source, System.IObservable openings, System.Func> closingSelector) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceOpeningWitness: Open = {_open.Count}, Done = {_done}")] + public sealed class SliceOpeningWitness : System.IDisposable, System.IObserver + { + public SliceOpeningWitness(System.IObserver> observer, System.Func> closingSelector) { } + public System.IObserver Openings { get; } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + } + [System.Diagnostics.DebuggerDisplay("SliceRouter: {_delivery}")] + public sealed class SliceRouter + { + public SliceRouter(System.IObserver outer, ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Complete(ReactiveUI.Primitives.Advanced.SliceWindow window) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void CompleteOuter() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Fault(ReactiveUI.Primitives.Advanced.SliceWindow window, System.Exception error) { } + public void Finish(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + public void FinishWindows(System.Collections.Generic.IEnumerable> windows, System.Exception? error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Flush() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Open(TOuter opened) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(ReactiveUI.Primitives.Advanced.SliceWindow window, T value) { } + } + [System.Diagnostics.DebuggerDisplay("SliceWindow: Terminated = {_terminated}")] + public sealed class SliceWindow : System.IObservable + { + public SliceWindow(ReactiveUI.Primitives.Advanced.SharedSubscription owner) { } + public void Complete() { } + public void Fault(System.Exception error) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void Publish(T value) { } + public System.IDisposable Subscribe(System.IObserver observer) { } + } [System.Diagnostics.DebuggerDisplay("StatefulWitness: State = {_state}, OnError = {_onError}")] public sealed class StatefulWitness : System.IObserver { @@ -1563,6 +1727,14 @@ namespace ReactiveUI.Primitives.Signals [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public void OnNext(T value) { } } + [System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] + public sealed class GroupedSignal : System.IObservable + { + public GroupedSignal(TKey key, ReactiveUI.Primitives.Advanced.SliceWindow window) { } + public TKey Key { get; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable Subscribe(System.IObserver observer) { } + } public interface IAwaitSignal : ReactiveUI.Primitives.Signals.ISignal, System.Runtime.CompilerServices.INotifyCompletion { bool IsCompleted { get; } diff --git a/src/ReactiveUI.Primitives.Core/Signals/GroupedSignal{TKey,T}.cs b/src/ReactiveUI.Primitives.Core/Signals/GroupedSignal{TKey,T}.cs new file mode 100644 index 00000000..1cd7b3f0 --- /dev/null +++ b/src/ReactiveUI.Primitives.Core/Signals/GroupedSignal{TKey,T}.cs @@ -0,0 +1,40 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; + +namespace ReactiveUI.Primitives.Signals; + +/// A keyed sub-signal: the values of one group produced by GroupBy or GroupByUntil. +/// The type of the key shared by every value in the group. +/// The type of the values in the group. +/// +/// A subscriber receives the values published after it subscribes. Subscribing to a group that has ended completes the +/// subscriber at once. The source subscription stays alive until the outer subscription and every group subscription +/// have been disposed. +/// +[System.Diagnostics.DebuggerDisplay("GroupedSignal: Key = {Key}")] +public sealed class GroupedSignal : IObservable +{ + /// The window that carries the values of this group. + private readonly SliceWindow _window; + + /// Initializes a new instance of the class. + /// The key shared by every value in the group. + /// The window that carries the values of the group. + /// is . + public GroupedSignal(TKey key, SliceWindow window) + { + Key = key; + _window = window ?? throw new ArgumentNullException(nameof(window)); + } + + /// Gets the key shared by every value in the group. + public TKey Key { get; } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IDisposable Subscribe(IObserver observer) => _window.Subscribe(observer); +} diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt index 75473227..bc3fd537 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-android/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt index 31635863..919bc5dc 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-ios/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt index fffce7b0..4589b71e 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-maccatalyst/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt index 512db8fb..23372970 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-macos/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt index fb91bbd9..1732b749 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0-tvos/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt index 1ea11863..e4affe23 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net10.0/PublicAPI.txt @@ -426,13 +426,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -463,11 +463,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -492,6 +492,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -563,6 +743,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -610,171 +825,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -795,11 +845,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -825,11 +875,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -837,6 +882,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1632,6 +1717,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt index 75473227..bc3fd537 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-android/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt index 31635863..919bc5dc 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt index fffce7b0..4589b71e 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt index 512db8fb..23372970 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt index fb91bbd9..1732b749 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt @@ -427,13 +427,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -464,11 +464,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -493,6 +493,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -564,6 +744,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -611,171 +826,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -796,11 +846,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -826,11 +876,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -838,6 +883,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1633,6 +1718,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt index 1ea11863..e4affe23 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net11.0/PublicAPI.txt @@ -426,13 +426,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -463,11 +463,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -492,6 +492,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -563,6 +743,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -610,171 +825,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -795,11 +845,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -825,11 +875,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -837,6 +882,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1632,6 +1717,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt index 1aec59d2..19607f1a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net462/PublicAPI.txt @@ -410,13 +410,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -447,11 +447,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -477,117 +477,39 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable All(System.Func predicate) { } - public System.IObservable Any() { } - public System.IObservable Any(System.Func predicate) { } - public System.IObservable Append(T value) { } - public System.IObservable AsObservable() { } - public System.IObservable Bind(System.Func> selector) { } - public System.IObservable Calm(System.TimeSpan dueTime) { } - public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Contains(T value) { } - public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Count() { } - public System.IObservable Count(System.Func predicate) { } - public System.IObservable DefaultIfEmpty() { } - public System.IObservable DefaultIfEmpty(T defaultValue) { } - public System.IObservable DelayStart(System.TimeSpan dueTime) { } - public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DistinctBy(System.Func keySelector) { } - public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable FlatMap(System.Func> selector) { } - public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable FlatMapValues(System.Func> selector) { } - public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } - public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } - public System.IObservable IgnoreValues() { } - public System.IObservable IsEmpty() { } - public System.IObservable Lead(T value) { } - public System.IObservable LongCount() { } - public System.IObservable LongCount(System.Func predicate) { } - public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } - public System.IObservable Prepend(T value) { } - public System.IObservable Prepend(params T[] values) { } - public System.IObservable Probe(System.TimeSpan period) { } - public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SkipWhile(System.Func predicate) { } - public System.IObservable Stabilize(System.TimeSpan dueTime) { } - public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable TakeWhile(System.Func predicate) { } - public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable> TimeInterval() { } - public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable> Timestamp() { } - public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable UniqueBy(System.Func keySelector) { } - public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } - } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) { @@ -635,6 +557,31 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -655,47 +602,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.Threading.Tasks.Task AnyAsync() { } @@ -741,6 +647,150 @@ namespace ReactiveUI.Primitives.Reactive public System.Threading.Tasks.Task ToTask() { } public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) + { + public System.IObservable All(System.Func predicate) { } + public System.IObservable Any() { } + public System.IObservable Any(System.Func predicate) { } + public System.IObservable Append(T value) { } + public System.IObservable AsObservable() { } + public System.IObservable Bind(System.Func> selector) { } + public System.IObservable Calm(System.TimeSpan dueTime) { } + public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Contains(T value) { } + public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Count() { } + public System.IObservable Count(System.Func predicate) { } + public System.IObservable DefaultIfEmpty() { } + public System.IObservable DefaultIfEmpty(T defaultValue) { } + public System.IObservable DelayStart(System.TimeSpan dueTime) { } + public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DistinctBy(System.Func keySelector) { } + public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable FlatMap(System.Func> selector) { } + public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable FlatMapValues(System.Func> selector) { } + public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } + public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } + public System.IObservable IgnoreValues() { } + public System.IObservable IsEmpty() { } + public System.IObservable Lead(T value) { } + public System.IObservable LongCount() { } + public System.IObservable LongCount(System.Func predicate) { } + public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } + public System.IObservable Prepend(T value) { } + public System.IObservable Prepend(params T[] values) { } + public System.IObservable Probe(System.TimeSpan period) { } + public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SkipWhile(System.Func predicate) { } + public System.IObservable Stabilize(System.TimeSpan dueTime) { } + public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable TakeWhile(System.Func predicate) { } + public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable> TimeInterval() { } + public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable> Timestamp() { } + public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable UniqueBy(System.Func keySelector) { } + public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } + } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -761,11 +811,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -791,11 +841,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -803,6 +848,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1598,6 +1683,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt index 1aec59d2..19607f1a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net472/PublicAPI.txt @@ -410,13 +410,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -447,11 +447,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -477,117 +477,39 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable All(System.Func predicate) { } - public System.IObservable Any() { } - public System.IObservable Any(System.Func predicate) { } - public System.IObservable Append(T value) { } - public System.IObservable AsObservable() { } - public System.IObservable Bind(System.Func> selector) { } - public System.IObservable Calm(System.TimeSpan dueTime) { } - public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Contains(T value) { } - public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Count() { } - public System.IObservable Count(System.Func predicate) { } - public System.IObservable DefaultIfEmpty() { } - public System.IObservable DefaultIfEmpty(T defaultValue) { } - public System.IObservable DelayStart(System.TimeSpan dueTime) { } - public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DistinctBy(System.Func keySelector) { } - public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable FlatMap(System.Func> selector) { } - public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable FlatMapValues(System.Func> selector) { } - public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } - public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } - public System.IObservable IgnoreValues() { } - public System.IObservable IsEmpty() { } - public System.IObservable Lead(T value) { } - public System.IObservable LongCount() { } - public System.IObservable LongCount(System.Func predicate) { } - public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } - public System.IObservable Prepend(T value) { } - public System.IObservable Prepend(params T[] values) { } - public System.IObservable Probe(System.TimeSpan period) { } - public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SkipWhile(System.Func predicate) { } - public System.IObservable Stabilize(System.TimeSpan dueTime) { } - public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable TakeWhile(System.Func predicate) { } - public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable> TimeInterval() { } - public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable> Timestamp() { } - public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable UniqueBy(System.Func keySelector) { } - public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } - } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) { @@ -635,6 +557,31 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -655,47 +602,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.Threading.Tasks.Task AnyAsync() { } @@ -741,6 +647,150 @@ namespace ReactiveUI.Primitives.Reactive public System.Threading.Tasks.Task ToTask() { } public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) + { + public System.IObservable All(System.Func predicate) { } + public System.IObservable Any() { } + public System.IObservable Any(System.Func predicate) { } + public System.IObservable Append(T value) { } + public System.IObservable AsObservable() { } + public System.IObservable Bind(System.Func> selector) { } + public System.IObservable Calm(System.TimeSpan dueTime) { } + public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Contains(T value) { } + public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Count() { } + public System.IObservable Count(System.Func predicate) { } + public System.IObservable DefaultIfEmpty() { } + public System.IObservable DefaultIfEmpty(T defaultValue) { } + public System.IObservable DelayStart(System.TimeSpan dueTime) { } + public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DistinctBy(System.Func keySelector) { } + public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable FlatMap(System.Func> selector) { } + public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable FlatMapValues(System.Func> selector) { } + public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } + public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } + public System.IObservable IgnoreValues() { } + public System.IObservable IsEmpty() { } + public System.IObservable Lead(T value) { } + public System.IObservable LongCount() { } + public System.IObservable LongCount(System.Func predicate) { } + public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } + public System.IObservable Prepend(T value) { } + public System.IObservable Prepend(params T[] values) { } + public System.IObservable Probe(System.TimeSpan period) { } + public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SkipWhile(System.Func predicate) { } + public System.IObservable Stabilize(System.TimeSpan dueTime) { } + public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable TakeWhile(System.Func predicate) { } + public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable> TimeInterval() { } + public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable> Timestamp() { } + public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable UniqueBy(System.Func keySelector) { } + public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } + } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -761,11 +811,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -791,11 +841,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -803,6 +848,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1598,6 +1683,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt index 1aec59d2..19607f1a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net48/PublicAPI.txt @@ -410,13 +410,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -447,11 +447,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -477,117 +477,39 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable All(System.Func predicate) { } - public System.IObservable Any() { } - public System.IObservable Any(System.Func predicate) { } - public System.IObservable Append(T value) { } - public System.IObservable AsObservable() { } - public System.IObservable Bind(System.Func> selector) { } - public System.IObservable Calm(System.TimeSpan dueTime) { } - public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Contains(T value) { } - public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Count() { } - public System.IObservable Count(System.Func predicate) { } - public System.IObservable DefaultIfEmpty() { } - public System.IObservable DefaultIfEmpty(T defaultValue) { } - public System.IObservable DelayStart(System.TimeSpan dueTime) { } - public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DistinctBy(System.Func keySelector) { } - public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable FlatMap(System.Func> selector) { } - public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable FlatMapValues(System.Func> selector) { } - public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } - public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } - public System.IObservable IgnoreValues() { } - public System.IObservable IsEmpty() { } - public System.IObservable Lead(T value) { } - public System.IObservable LongCount() { } - public System.IObservable LongCount(System.Func predicate) { } - public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } - public System.IObservable Prepend(T value) { } - public System.IObservable Prepend(params T[] values) { } - public System.IObservable Probe(System.TimeSpan period) { } - public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SkipWhile(System.Func predicate) { } - public System.IObservable Stabilize(System.TimeSpan dueTime) { } - public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable TakeWhile(System.Func predicate) { } - public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable> TimeInterval() { } - public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable> Timestamp() { } - public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable UniqueBy(System.Func keySelector) { } - public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } - } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) { @@ -635,6 +557,31 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -655,47 +602,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.Threading.Tasks.Task AnyAsync() { } @@ -741,6 +647,150 @@ namespace ReactiveUI.Primitives.Reactive public System.Threading.Tasks.Task ToTask() { } public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) + { + public System.IObservable All(System.Func predicate) { } + public System.IObservable Any() { } + public System.IObservable Any(System.Func predicate) { } + public System.IObservable Append(T value) { } + public System.IObservable AsObservable() { } + public System.IObservable Bind(System.Func> selector) { } + public System.IObservable Calm(System.TimeSpan dueTime) { } + public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Contains(T value) { } + public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Count() { } + public System.IObservable Count(System.Func predicate) { } + public System.IObservable DefaultIfEmpty() { } + public System.IObservable DefaultIfEmpty(T defaultValue) { } + public System.IObservable DelayStart(System.TimeSpan dueTime) { } + public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DistinctBy(System.Func keySelector) { } + public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable FlatMap(System.Func> selector) { } + public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable FlatMapValues(System.Func> selector) { } + public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } + public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } + public System.IObservable IgnoreValues() { } + public System.IObservable IsEmpty() { } + public System.IObservable Lead(T value) { } + public System.IObservable LongCount() { } + public System.IObservable LongCount(System.Func predicate) { } + public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } + public System.IObservable Prepend(T value) { } + public System.IObservable Prepend(params T[] values) { } + public System.IObservable Probe(System.TimeSpan period) { } + public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SkipWhile(System.Func predicate) { } + public System.IObservable Stabilize(System.TimeSpan dueTime) { } + public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable TakeWhile(System.Func predicate) { } + public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable> TimeInterval() { } + public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable> Timestamp() { } + public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable UniqueBy(System.Func keySelector) { } + public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } + } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -761,11 +811,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -791,11 +841,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -803,6 +848,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1598,6 +1683,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt index 1aec59d2..19607f1a 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net481/PublicAPI.txt @@ -410,13 +410,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -447,11 +447,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -477,117 +477,39 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable All(System.Func predicate) { } - public System.IObservable Any() { } - public System.IObservable Any(System.Func predicate) { } - public System.IObservable Append(T value) { } - public System.IObservable AsObservable() { } - public System.IObservable Bind(System.Func> selector) { } - public System.IObservable Calm(System.TimeSpan dueTime) { } - public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Contains(T value) { } - public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Count() { } - public System.IObservable Count(System.Func predicate) { } - public System.IObservable DefaultIfEmpty() { } - public System.IObservable DefaultIfEmpty(T defaultValue) { } - public System.IObservable DelayStart(System.TimeSpan dueTime) { } - public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DistinctBy(System.Func keySelector) { } - public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable FlatMap(System.Func> selector) { } - public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable FlatMapValues(System.Func> selector) { } - public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } - public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } - public System.IObservable IgnoreValues() { } - public System.IObservable IsEmpty() { } - public System.IObservable Lead(T value) { } - public System.IObservable LongCount() { } - public System.IObservable LongCount(System.Func predicate) { } - public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } - public System.IObservable Prepend(T value) { } - public System.IObservable Prepend(params T[] values) { } - public System.IObservable Probe(System.TimeSpan period) { } - public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SkipWhile(System.Func predicate) { } - public System.IObservable Stabilize(System.TimeSpan dueTime) { } - public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable TakeWhile(System.Func predicate) { } - public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable> TimeInterval() { } - public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable> Timestamp() { } - public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable UniqueBy(System.Func keySelector) { } - public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } - } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) { @@ -635,6 +557,31 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -655,47 +602,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.Threading.Tasks.Task AnyAsync() { } @@ -741,6 +647,150 @@ namespace ReactiveUI.Primitives.Reactive public System.Threading.Tasks.Task ToTask() { } public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) + { + public System.IObservable All(System.Func predicate) { } + public System.IObservable Any() { } + public System.IObservable Any(System.Func predicate) { } + public System.IObservable Append(T value) { } + public System.IObservable AsObservable() { } + public System.IObservable Bind(System.Func> selector) { } + public System.IObservable Calm(System.TimeSpan dueTime) { } + public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Contains(T value) { } + public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Count() { } + public System.IObservable Count(System.Func predicate) { } + public System.IObservable DefaultIfEmpty() { } + public System.IObservable DefaultIfEmpty(T defaultValue) { } + public System.IObservable DelayStart(System.TimeSpan dueTime) { } + public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DistinctBy(System.Func keySelector) { } + public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable FlatMap(System.Func> selector) { } + public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable FlatMapValues(System.Func> selector) { } + public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } + public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } + public System.IObservable IgnoreValues() { } + public System.IObservable IsEmpty() { } + public System.IObservable Lead(T value) { } + public System.IObservable LongCount() { } + public System.IObservable LongCount(System.Func predicate) { } + public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } + public System.IObservable Prepend(T value) { } + public System.IObservable Prepend(params T[] values) { } + public System.IObservable Probe(System.TimeSpan period) { } + public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SkipWhile(System.Func predicate) { } + public System.IObservable Stabilize(System.TimeSpan dueTime) { } + public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable TakeWhile(System.Func predicate) { } + public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable> TimeInterval() { } + public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable> Timestamp() { } + public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable UniqueBy(System.Func keySelector) { } + public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } + } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -761,11 +811,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -791,11 +841,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -803,6 +848,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1598,6 +1683,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt index c778fa7c..106b9d85 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net8.0/PublicAPI.txt @@ -410,13 +410,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -447,11 +447,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -477,117 +477,39 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable All(System.Func predicate) { } - public System.IObservable Any() { } - public System.IObservable Any(System.Func predicate) { } - public System.IObservable Append(T value) { } - public System.IObservable AsObservable() { } - public System.IObservable Bind(System.Func> selector) { } - public System.IObservable Calm(System.TimeSpan dueTime) { } - public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Contains(T value) { } - public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Count() { } - public System.IObservable Count(System.Func predicate) { } - public System.IObservable DefaultIfEmpty() { } - public System.IObservable DefaultIfEmpty(T defaultValue) { } - public System.IObservable DelayStart(System.TimeSpan dueTime) { } - public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } - public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable DistinctBy(System.Func keySelector) { } - public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable FlatMap(System.Func> selector) { } - public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable FlatMapValues(System.Func> selector) { } - public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } - public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } - public System.IObservable IgnoreValues() { } - public System.IObservable IsEmpty() { } - public System.IObservable Lead(T value) { } - public System.IObservable LongCount() { } - public System.IObservable LongCount(System.Func predicate) { } - public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } - public System.IObservable Prepend(T value) { } - public System.IObservable Prepend(params T[] values) { } - public System.IObservable Probe(System.TimeSpan period) { } - public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SkipWhile(System.Func predicate) { } - public System.IObservable Stabilize(System.TimeSpan dueTime) { } - public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable TakeWhile(System.Func predicate) { } - public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable> TimeInterval() { } - public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable> Timestamp() { } - public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable UniqueBy(System.Func keySelector) { } - public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } - } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) { @@ -635,6 +557,31 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -655,47 +602,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public System.Threading.Tasks.Task AnyAsync() { } @@ -741,6 +647,150 @@ namespace ReactiveUI.Primitives.Reactive public System.Threading.Tasks.Task ToTask() { } public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) + { + public System.IObservable All(System.Func predicate) { } + public System.IObservable Any() { } + public System.IObservable Any(System.Func predicate) { } + public System.IObservable Append(T value) { } + public System.IObservable AsObservable() { } + public System.IObservable Bind(System.Func> selector) { } + public System.IObservable Calm(System.TimeSpan dueTime) { } + public System.IObservable Calm(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Contains(T value) { } + public System.IObservable Contains(T value, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Count() { } + public System.IObservable Count(System.Func predicate) { } + public System.IObservable DefaultIfEmpty() { } + public System.IObservable DefaultIfEmpty(T defaultValue) { } + public System.IObservable DelayStart(System.TimeSpan dueTime) { } + public System.IObservable DelayStart(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime) { } + public System.IObservable DelaySubscription(System.DateTimeOffset dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DelaySubscription(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable DistinctBy(System.Func keySelector) { } + public System.IObservable DistinctBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable FlatMap(System.Func> selector) { } + public System.IObservable FlatMap(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable FlatMapValues(System.Func> selector) { } + public System.IObservable ForkJoin(System.IObservable right, System.Func selector) { } + public System.IObservable FuseLatest(System.IObservable right, System.Func selector) { } + public System.IObservable IgnoreValues() { } + public System.IObservable IsEmpty() { } + public System.IObservable Lead(T value) { } + public System.IObservable LongCount() { } + public System.IObservable LongCount(System.Func predicate) { } + public System.IObservable ObserveOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable PairLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Prepend(System.Collections.Generic.IEnumerable values) { } + public System.IObservable Prepend(T value) { } + public System.IObservable Prepend(params T[] values) { } + public System.IObservable Probe(System.TimeSpan period) { } + public System.IObservable Probe(System.TimeSpan period, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SkipWhile(System.Func predicate) { } + public System.IObservable Stabilize(System.TimeSpan dueTime) { } + public System.IObservable Stabilize(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable SubscribeOn(System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable TakeWhile(System.Func predicate) { } + public System.IObservable Tap(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable> TimeInterval() { } + public System.IObservable> TimeInterval(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable> Timestamp() { } + public System.IObservable> Timestamp(System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable UniqueBy(System.Func keySelector) { } + public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second)> CombineLatest(System.IObservable source2) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third)> CombineLatest(System.IObservable source2, System.IObservable source3) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } + } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -761,11 +811,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -791,11 +841,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -803,6 +848,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1598,6 +1683,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt index 1ea11863..e4affe23 100644 --- a/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives.Reactive/PublicAPI/net9.0/PublicAPI.txt @@ -426,13 +426,13 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable source) { - public System.IObservable CastTo() { } - public System.IObservable KeepType() { } + public System.IObservable Cast() { } + public System.IObservable OfType() { } } extension(System.IObservable source) { - public System.IObservable Cast() { } - public System.IObservable OfType() { } + public System.IObservable CastTo() { } + public System.IObservable KeepType() { } } extension(System.Collections.Generic.IEnumerable> sources) { @@ -463,11 +463,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(System.IObservable> source) { - public System.IObservable Unspark() { } + public System.IObservable Dematerialize() { } } extension(System.IObservable> source) { - public System.IObservable Dematerialize() { } + public System.IObservable Unspark() { } } extension(System.IObservable> sources) { @@ -492,6 +492,186 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Concat() { } } extension(System.IObservable source) + { + public System.IObservable Chain(System.IObservable second) { } + public System.IObservable CollectArray() { } + public System.IObservable> CollectList() { } + public System.IObservable Distinct() { } + public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Expire(System.TimeSpan dueTime) { } + public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Keep(System.Func predicate) { } + public System.IObservable KeepWith(TState state, System.Func predicate) { } + public System.IObservable Latch(System.IObservable right, System.Func selector) { } + public System.IObservable Map(System.Func selector) { } + public System.IObservable MapIndexed(System.Func selector) { } + public System.IObservable MapWith(TState state, System.Func selector) { } + public System.IObservable Pair(System.IObservable right, System.Func selector) { } + public System.IObservable Reattempt(int retryCount) { } + public System.IObservable Recover(System.Func> handler) { } + public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } + public System.IObservable Rescue(System.Func> handler) { } + public System.IObservable Resume(System.IObservable fallback) { } + public System.IObservable Shift(System.TimeSpan dueTime) { } + public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + public System.IObservable Skip(int count) { } + public System.IObservable> Spark() { } + public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } + public System.IObservable Take(int count) { } + public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } + public System.IObservable TakeUntil(System.IObservable other) { } + public System.IObservable Tap(System.Action onNext) { } + public System.IObservable TapWith(TState state, System.Action onNext) { } + public System.IObservable ToSignal() { } + public System.IObservable Unique() { } + public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } + } + extension(System.IObservable source) + { + public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan) { } + public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } + public System.IObservable Concat(System.IObservable second) { } + public System.IObservable DistinctUntilChanged() { } + public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } + public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } + public System.IObservable Do(System.Action onNext) { } + public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } + public System.IObservable Do(System.Action onNext, System.Action onError) { } + public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } + public System.IObservable DoWith(TState state, System.Action onNext) { } + public System.IObservable Finally(System.Action finallyAction) { } + public System.IObservable IgnoreElements() { } + public System.IObservable Merge(System.IObservable second) { } + public System.IObservable OnErrorResumeNext(System.IObservable second) { } + public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.Func> selector) { } + public System.IObservable SelectMany(System.IObservable other) { } + public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } + public System.IObservable Serialize() { } + public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } + public System.IObservable StartWith(params T[] values) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.IObserver observer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } + public System.IObservable Synchronize() { } + public System.IObservable Synchronize(System.Threading.Lock gate) { } + public System.IObservable Synchronize(object gate) { } + public System.IObservable Throttle(System.TimeSpan dueTime) { } + public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } + } + extension(System.IObservable source) { public System.IObservable All(System.Func predicate) { } public System.IObservable Any() { } @@ -563,6 +743,41 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } + } + extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) { [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] @@ -610,171 +825,6 @@ namespace ReactiveUI.Primitives.Reactive [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } - extension(System.IObservable source) - { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Aggregate(TAccumulate seed, System.Func accumulator) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan) { } - public System.IObservable> Buffer(System.TimeSpan timeSpan, System.Reactive.Concurrency.IScheduler scheduler) { } - public System.IObservable Catch(System.Func> handler) where TException : System.Exception { } - public System.IObservable Concat(System.IObservable second) { } - public System.IObservable DistinctUntilChanged() { } - public System.IObservable DistinctUntilChanged(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector) { } - public System.IObservable DistinctUntilChangedBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Do(System.Action onNext) { } - public System.IObservable Do(System.Action onNext, System.Action onCompleted) { } - public System.IObservable Do(System.Action onNext, System.Action onError) { } - public System.IObservable Do(System.Action onNext, System.Action onError, System.Action onCompleted) { } - public System.IObservable DoWith(TState state, System.Action onNext) { } - public System.IObservable Finally(System.Action finallyAction) { } - public System.IObservable IgnoreElements() { } - public System.IObservable Merge(System.IObservable second) { } - public System.IObservable OnErrorResumeNext(System.IObservable second) { } - public System.IObservable Scan(TAccumulate seed, System.Func accumulator) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.Func> selector) { } - public System.IObservable SelectMany(System.IObservable other) { } - public System.IObservable SelectMany(System.Func> collectionSelector, System.Func resultSelector) { } - public System.IObservable Serialize() { } - public System.IObservable StartWith(System.Collections.Generic.IEnumerable values) { } - public System.IObservable StartWith(params T[] values) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.IObserver observer) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafe(System.Action onNext, System.Action onError, System.Action onCompleted) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.IDisposable SubscribeSafePrimitives(System.IObserver observer) { } - public System.IObservable Synchronize() { } - public System.IObservable Synchronize(System.Threading.Lock gate) { } - public System.IObservable Synchronize(object gate) { } - public System.IObservable Throttle(System.TimeSpan dueTime) { } - public System.IObservable Throttle(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } - extension(System.IObservable source) - { - public System.IObservable Chain(System.IObservable second) { } - public System.IObservable CollectArray() { } - public System.IObservable> CollectList() { } - public System.IObservable Distinct() { } - public System.IObservable Distinct(System.Collections.Generic.IEqualityComparer? comparer) { } - public System.IObservable Expire(System.TimeSpan dueTime) { } - public System.IObservable Expire(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Fold(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Keep(System.Func predicate) { } - public System.IObservable KeepWith(TState state, System.Func predicate) { } - public System.IObservable Latch(System.IObservable right, System.Func selector) { } - public System.IObservable Map(System.Func selector) { } - public System.IObservable MapIndexed(System.Func selector) { } - public System.IObservable MapWith(TState state, System.Func selector) { } - public System.IObservable Pair(System.IObservable right, System.Func selector) { } - public System.IObservable Reattempt(int retryCount) { } - public System.IObservable Recover(System.Func> handler) { } - public System.IObservable Reduce(TAccumulate seed, System.Func accumulator) { } - public System.IObservable Rescue(System.Func> handler) { } - public System.IObservable Resume(System.IObservable fallback) { } - public System.IObservable Shift(System.TimeSpan dueTime) { } - public System.IObservable Shift(System.TimeSpan dueTime, System.Reactive.Concurrency.IScheduler? scheduler) { } - public System.IObservable Skip(int count) { } - public System.IObservable> Spark() { } - public System.IObservable SyncLatest(System.IObservable right, System.Func selector) { } - public System.IObservable Take(int count) { } - public System.IObservable TakeUntil(System.Threading.CancellationToken cancellationToken) { } - public System.IObservable TakeUntil(System.IObservable other) { } - public System.IObservable Tap(System.Action onNext) { } - public System.IObservable TapWith(TState state, System.Action onNext) { } - public System.IObservable ToSignal() { } - public System.IObservable Unique() { } - public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } - } - extension(System.IObservable source) - { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } - } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } extension(System.IObservable source) where T : class { public System.IObservable WhereNotNull() { } @@ -795,11 +845,11 @@ namespace ReactiveUI.Primitives.Reactive } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } } extension(T disposable) where T : System.IDisposable { - public T DisposeWith(ReactiveUI.Primitives.Reactive.Disposables.ContainerDisposable disposables) { } + public T DisposeWith(ReactiveUI.Primitives.Disposables.MultipleDisposable disposables) { } } extension(System.IObservable source) { @@ -825,11 +875,6 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) - { - public System.IObservable> Buffer(int count) { } - public System.IObservable> Buffer(int count, int skip) { } - } - extension(System.IObservable source) { public System.IObservable Select(System.Func selector) { } public System.IObservable Select(System.Func selector) { } @@ -837,6 +882,46 @@ namespace ReactiveUI.Primitives.Reactive public System.IObservable Where(System.Func predicate) { } public System.IObservable WhereWith(TState state, System.Func predicate) { } } + extension(System.IObservable source) + { + public System.IObservable> Buffer(int count) { } + public System.IObservable> Buffer(int count, int skip) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } extension(System.IObservable source) { public System.IObservable SwitchSelect(System.Func> selector) { } @@ -1632,6 +1717,48 @@ namespace ReactiveUI.Primitives.Reactive.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, System.Reactive.Concurrency.IScheduler sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt index fd4578cd..83d2b6b9 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-android/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt index 4bbbd51a..2af94eea 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-ios/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt index 5f5a8229..265c543a 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-maccatalyst/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt index b93da94f..6901b12d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-macos/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt index f0ceea12..4431ee04 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0-tvos/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt index 8e319b3d..0b728485 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net10.0/PublicAPI.txt @@ -151,13 +151,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -207,8 +202,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -276,6 +291,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -312,6 +362,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -375,71 +483,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -479,6 +529,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1316,6 +1401,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt index fd4578cd..83d2b6b9 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-android/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt index 4bbbd51a..2af94eea 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-ios/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt index 5f5a8229..265c543a 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-maccatalyst/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt index b93da94f..6901b12d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-macos/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt index f0ceea12..4431ee04 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0-tvos/PublicAPI.txt @@ -152,13 +152,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -208,8 +203,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -277,6 +292,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -313,6 +363,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -376,71 +484,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -480,6 +530,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1317,6 +1402,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt index 8e319b3d..0b728485 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net11.0/PublicAPI.txt @@ -151,13 +151,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -207,8 +202,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -276,6 +291,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -312,6 +362,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -375,71 +483,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -479,6 +529,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1316,6 +1401,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt index 4c904798..ad9f7161 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net462/PublicAPI.txt @@ -135,13 +135,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -190,8 +185,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -244,6 +259,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -280,6 +330,62 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -343,69 +449,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -445,6 +495,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1282,6 +1367,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt index 4c904798..ad9f7161 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net472/PublicAPI.txt @@ -135,13 +135,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -190,8 +185,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -244,6 +259,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -280,6 +330,62 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -343,69 +449,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -445,6 +495,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1282,6 +1367,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt index 4c904798..ad9f7161 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net48/PublicAPI.txt @@ -135,13 +135,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -190,8 +185,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -244,6 +259,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -280,6 +330,62 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -343,69 +449,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -445,6 +495,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1282,6 +1367,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt index 4c904798..ad9f7161 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net481/PublicAPI.txt @@ -135,13 +135,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -190,8 +185,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -244,6 +259,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -280,6 +330,62 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -343,69 +449,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -445,6 +495,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1282,6 +1367,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt index d61d5492..4c82717d 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net8.0/PublicAPI.txt @@ -135,13 +135,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -190,8 +185,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -244,6 +259,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -280,6 +330,62 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -343,69 +449,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -445,6 +495,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1282,6 +1367,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt b/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt index 8e319b3d..0b728485 100644 --- a/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt +++ b/src/ReactiveUI.Primitives/PublicAPI/net9.0/PublicAPI.txt @@ -151,13 +151,8 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } - public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + public System.IObservable Repeat() { } + public System.IObservable Repeat(int repeatCount) { } } extension(System.IObservable source) { @@ -207,8 +202,28 @@ namespace ReactiveUI.Primitives } extension(System.IObservable source) { - public System.IObservable Repeat() { } - public System.IObservable Repeat(int repeatCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer scheduler) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.Func> windowClosingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowBoundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Window(System.IObservable windowOpenings, System.Func> windowClosingSelector) { } } extension(System.IObservable source) { @@ -276,6 +291,41 @@ namespace ReactiveUI.Primitives public System.IObservable<(T First, T2 Second, T3 Third, T4 Fourth, T5 Fifth, T6 Sixth, T7 Seventh, T8 Eighth, T9 Ninth, T10 Tenth, T11 Eleventh, T12 Twelfth, T13 Thirteenth, T14 Fourteenth, T15 Fifteenth, T16 Sixteenth)> CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16) { } } extension(System.IObservable source) + { + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.Func selector) { } + public System.IObservable CombineLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.Func selector) { } + } + extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(int count, int skip) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.Func> closingSelector) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable boundaries) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> Slice(System.IObservable openings, System.Func> closingSelector) { } + } + extension(System.IObservable source) { public System.IObservable Chain(System.IObservable second) { } public System.IObservable CollectArray() { } @@ -312,6 +362,64 @@ namespace ReactiveUI.Primitives public System.IObservable Unique(System.Collections.Generic.IEqualityComparer? comparer) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task CollectArrayAsync() { } + public System.Threading.Tasks.Task> CollectListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstAsync() { } + public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync() { } + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task LastOrDefaultAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] + public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } + public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } + public System.IObservable ToArray() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToArrayAsync() { } + public System.IObservable> ToList() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task> ToListAsync() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.Threading.Tasks.Task ToTask() { } + public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } + } + extension(System.IObservable source) + { + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } + public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } + } + extension(System.IObservable source) { public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.Func selector) { } public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.Func selector) { } @@ -375,71 +483,13 @@ namespace ReactiveUI.Primitives public System.IObservable UniqueBy(System.Func keySelector) { } public System.IObservable UniqueBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) { } } - extension(System.IObservable source) - { - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task AnyAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task CollectArrayAsync() { } - public System.Threading.Tasks.Task> CollectListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task CountAsync(System.Func predicate, System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstAsync() { } - public System.Threading.Tasks.Task FirstAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync() { } - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task FirstOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task FirstOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastAsync(System.Threading.CancellationToken cancellationToken) { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task LastOrDefaultAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - [System.Runtime.CompilerServices.OverloadResolutionPriority(-1)] - public System.Threading.Tasks.Task LastOrDefaultAsync(System.Threading.CancellationToken cancellationToken) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue) { } - public System.Threading.Tasks.Task LastOrDefaultAsync(T defaultValue, System.Threading.CancellationToken cancellationToken) { } - public System.IObservable ToArray() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToArrayAsync() { } - public System.IObservable> ToList() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task> ToListAsync() { } - [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public System.Threading.Tasks.Task ToTask() { } - public System.Threading.Tasks.Task ToTask(System.Threading.CancellationToken cancellationToken) { } - } - extension(System.IObservable source) - { - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.Func selector) { } - public System.IObservable SyncLatest(System.IObservable source2, System.IObservable source3, System.IObservable source4, System.IObservable source5, System.IObservable source6, System.IObservable source7, System.IObservable source8, System.IObservable source9, System.IObservable source10, System.IObservable source11, System.IObservable source12, System.IObservable source13, System.IObservable source14, System.IObservable source15, System.IObservable source16, System.Func selector) { } - } extension(System.IObservable source) where T : class { - public System.IObservable KeepNotNull() { } + public System.IObservable WhereNotNull() { } } extension(System.IObservable source) where T : class { - public System.IObservable WhereNotNull() { } + public System.IObservable KeepNotNull() { } } extension(System.Threading.Tasks.Task task) { @@ -479,6 +529,41 @@ namespace ReactiveUI.Primitives public System.IObservable Zip(System.IObservable right, System.Func selector) { } } extension(System.IObservable source) + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupBy(System.Func keySelector, System.Func elementSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity) where TKey : notnull { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public System.IObservable> GroupByUntil(System.Func keySelector, System.Func elementSelector, System.Func, System.IObservable> durationSelector, int capacity, System.Collections.Generic.IEqualityComparer? comparer) where TKey : notnull { } + } + extension(System.IObservable source) { public System.IObservable> Buffer(int count) { } public System.IObservable> Buffer(int count, int skip) { } @@ -1316,6 +1401,48 @@ namespace ReactiveUI.Primitives.Advanced { public static System.IDisposable Subscribe(System.IObserver observer, bool currentThreadRequired, System.Func, System.IDisposable, System.IDisposable> subscribeCore) { } } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountSignal: TimeSpan = {_timeSpan}, Count = {_count}, Source = {_source}")] + public sealed class SliceTimeCountSignal : System.IObservable> + { + public SliceTimeCountSignal(System.IObservable source, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeCountWitness: TimeSpan = {_timeSpan}, Count = {_count}, Index = {_index}, Done = {_done}")] + public sealed class SliceTimeCountWitness : System.IDisposable, System.IObserver + { + public SliceTimeCountWitness(System.IObserver> observer, System.TimeSpan timeSpan, int count, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeSignal: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Source = {_source}")] + public sealed class SliceTimeSignal : System.IObservable> + { + public SliceTimeSignal(System.IObservable source, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public System.IDisposable Subscribe(System.IObserver> observer) { } + } + [System.Diagnostics.DebuggerDisplay("SliceTimeWitness: TimeSpan = {_timeSpan}, TimeShift = {_timeShift}, Open = {_windows.Count}, Done = {_done}")] + public sealed class SliceTimeWitness : System.IDisposable, System.IObserver + { + public SliceTimeWitness(System.IObserver> observer, System.TimeSpan timeSpan, System.TimeSpan timeShift, ReactiveUI.Primitives.Concurrency.ISequencer sequencer) { } + public ReactiveUI.Primitives.Advanced.SharedSubscription Subscription { get; } + public void Dispose() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnCompleted() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void OnError(System.Exception error) { } + public void OnNext(T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + public void SetSubscription(System.IDisposable subscription) { } + public void Start() { } + } [System.Diagnostics.DebuggerDisplay("SparkSignal: Source = {Source}")] public sealed class SparkSignal : System.IObservable> { diff --git a/src/tests/ReactiveUI.Primitives.Reactive.Tests/LinqExtensionsTests.Slice.cs b/src/tests/ReactiveUI.Primitives.Reactive.Tests/LinqExtensionsTests.Slice.cs new file mode 100644 index 00000000..f9b82530 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Reactive.Tests/LinqExtensionsTests.Slice.cs @@ -0,0 +1,107 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Reactive.Subjects; +using Microsoft.Reactive.Testing; +using ReactiveLinqExtensions = ReactiveUI.Primitives.Reactive.LinqExtensions; + +namespace ReactiveUI.Primitives.Reactive.Tests; + +/// Tests the windowing and grouping operators compiled against System.Reactive. +public partial class LinqExtensionsTests +{ + /// The duration of each window, in ticks. + private const long SpanTicks = 10; + + /// The number of values in each count window. + private const int WindowSize = 2; + + /// Slicing by time on a System.Reactive scheduler ends each window after the duration. + /// A task representing the asynchronous operation. + [Test] + public async Task SliceEndsEachWindowAfterTheDurationOnASystemReactiveScheduler() + { + using Subject source = new(); + TestScheduler scheduler = new(); + List log = []; + using var subscription = ReactiveLinqExtensions.Slice(source, TimeSpan.FromTicks(SpanTicks), scheduler).Subscribe(window => + { + var name = $"w{log.Count(static entry => entry.StartsWith("open", StringComparison.Ordinal))}"; + log.Add($"open {name}"); + _ = window.Subscribe(value => log.Add($"{name}:{value}"), () => log.Add($"{name}:done")); + }); + + source.OnNext("a"); + scheduler.AdvanceBy(SpanTicks); + source.OnNext("b"); + source.OnCompleted(); + + await Assert.That(string.Join(' ', log)).IsEqualTo("open w0 w0:a w0:done open w1 w1:b w1:done"); + } + + /// Windowing by time and count on a System.Reactive scheduler ends a window at whichever limit comes first. + /// A task representing the asynchronous operation. + [Test] + public async Task WindowEndsAWindowAtWhicheverLimitComesFirstOnASystemReactiveScheduler() + { + using Subject source = new(); + TestScheduler scheduler = new(); + List log = []; + using var subscription = ReactiveLinqExtensions.Window(source, TimeSpan.FromTicks(SpanTicks), WindowSize, scheduler).Subscribe(window => + { + var name = $"w{log.Count(static entry => entry.StartsWith("open", StringComparison.Ordinal))}"; + log.Add($"open {name}"); + _ = window.Subscribe(value => log.Add($"{name}:{value}"), () => log.Add($"{name}:done")); + }); + + source.OnNext("a"); + source.OnNext("b"); + scheduler.AdvanceBy(SpanTicks); + source.OnCompleted(); + + await Assert.That(string.Join(' ', log)).IsEqualTo("open w0 w0:a w0:b w0:done open w1 w1:done open w2 w2:done"); + } + + /// Grouping by key delivers a group per key over a System.Reactive subject. + /// A task representing the asynchronous operation. + [Test] + public async Task GroupByDeliversAGroupPerKeyOverASystemReactiveSubject() + { + using Subject source = new(); + List log = []; + using var subscription = ReactiveLinqExtensions.GroupBy(source, static value => value[..1]).Subscribe(group => + { + log.Add($"open {group.Key}"); + _ = group.Subscribe(value => log.Add($"{group.Key}:{value}"), () => log.Add($"{group.Key}:done")); + }); + + source.OnNext("a1"); + source.OnNext("b1"); + source.OnNext("a2"); + source.OnCompleted(); + + await Assert.That(string.Join(' ', log)).IsEqualTo("open a a:a1 open b b:b1 a:a2 a:done b:done"); + } + + /// Grouping until a duration ends a group when its duration signal emits. + /// A task representing the asynchronous operation. + [Test] + public async Task GroupByUntilEndsAGroupWhenItsDurationSignalEmits() + { + using Subject source = new(); + using Subject duration = new(); + List log = []; + using var subscription = ReactiveLinqExtensions.GroupByUntil(source, static value => value[..1], _ => duration).Subscribe(group => + { + log.Add($"open {group.Key}"); + _ = group.Subscribe(value => log.Add($"{group.Key}:{value}"), () => log.Add($"{group.Key}:done")); + }); + + source.OnNext("a1"); + duration.OnNext(0); + source.OnNext("a2"); + + await Assert.That(string.Join(' ', log)).IsEqualTo("open a a:a1 a:done open a a:a2"); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/Common/GroupRecordingWitness.cs b/src/tests/ReactiveUI.Primitives.Tests/Common/GroupRecordingWitness.cs new file mode 100644 index 00000000..b6960997 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/Common/GroupRecordingWitness.cs @@ -0,0 +1,73 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Globalization; +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Records the order of every notification of a sequence of groups and of the groups themselves. +/// The key type. +/// The value type of each group. +/// +/// Each group is named gKey. The log holds open gKey, gKey:value, gKey:done, +/// gKey:error message, outer:done and outer:error message. Groups subscribe on arrival unless +/// is cleared. +/// +internal sealed class GroupRecordingWitness : IObserver> +{ + /// Gets or sets a value indicating whether each group is subscribed as it arrives. + internal bool SubscribeOnOpen { get; set; } = true; + + /// Gets the recorded notifications in the order they arrived. + internal List Log { get; } = []; + + /// Gets the groups in the order they arrived. + internal List> Groups { get; } = []; + + /// Gets the subscription to each group that was subscribed on arrival. + internal List Subscriptions { get; } = []; + + /// Gets the log as one line. + internal string Text => string.Join(' ', Log); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Log.Add("outer:done"); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Log.Add($"outer:error {error.Message}"); + + /// + public void OnNext(GroupedSignal value) + { + var name = $"g{Convert.ToString(value.Key, CultureInfo.InvariantCulture)}"; + Groups.Add(value); + Log.Add($"open {name}"); + if (SubscribeOnOpen) + { + Subscriptions.Add(value.Subscribe(new NamedObserver(name, Log))); + } + } + + /// Writes one group's notifications into the shared log. + /// The group name. + /// The shared log. + private sealed class NamedObserver(string name, List log) : IObserver + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => log.Add($"{name}:done"); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => log.Add($"{name}:error {error.Message}"); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(T value) => log.Add($"{name}:{Convert.ToString(value, CultureInfo.InvariantCulture)}"); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/Common/WindowRecordingWitness.cs b/src/tests/ReactiveUI.Primitives.Tests/Common/WindowRecordingWitness.cs new file mode 100644 index 00000000..5feccc0e --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/Common/WindowRecordingWitness.cs @@ -0,0 +1,68 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Globalization; +using System.Runtime.CompilerServices; + +namespace ReactiveUI.Primitives.Tests; + +/// Records the order of every notification of a sequence of windows and of the windows themselves. +/// The value type of each window. +/// +/// Each opened window is named w0, w1, and so on. The log holds open wN, wN:value, +/// wN:done, wN:error message, outer:done and outer:error message. +/// +internal sealed class WindowRecordingWitness : IObserver> +{ + /// The number of windows opened so far. + private int _windows; + + /// Gets the recorded notifications in the order they arrived. + internal List Log { get; } = []; + + /// Gets the windows in the order they opened. + internal List> Windows { get; } = []; + + /// Gets the subscription to each window, in the order the windows opened. + internal List Subscriptions { get; } = []; + + /// Gets the log as one line. + internal string Text => string.Join(' ', Log); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => Log.Add("outer:done"); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => Log.Add($"outer:error {error.Message}"); + + /// + public void OnNext(IObservable value) + { + var name = $"w{_windows.ToString(CultureInfo.InvariantCulture)}"; + _windows++; + Windows.Add(value); + Log.Add($"open {name}"); + Subscriptions.Add(value.Subscribe(new NamedObserver(name, Log))); + } + + /// Writes one window's notifications into the shared log. + /// The window name. + /// The shared log. + private sealed class NamedObserver(string name, List log) : IObserver + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() => log.Add($"{name}:done"); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) => log.Add($"{name}:error {error.Message}"); + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(T value) => log.Add($"{name}:{Convert.ToString(value, CultureInfo.InvariantCulture)}"); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/GroupBySignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/GroupBySignalTests.cs new file mode 100644 index 00000000..2d586aec --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/GroupBySignalTests.cs @@ -0,0 +1,73 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into keyed groups. +public class GroupBySignalTests +{ + /// Each subscription groups the source independently. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_TwiceGroupsEachSubscriptionOnItsOwn() + { + Signal source = new(); + GroupBySignal signal = new(source, static v => v[0], static v => v, null, 0); + GroupRecordingWitness first = new(); + GroupRecordingWitness second = new(); + + using var firstSubscription = signal.Subscribe(first); + source.OnNext("a1"); + using var secondSubscription = signal.Subscribe(second); + source.OnNext("a2"); + + await Assert.That(first.Text).IsEqualTo("open ga ga:a1 ga:a2"); + await Assert.That(second.Text).IsEqualTo("open ga ga:a2"); + } + + /// The subscription is the shared subscription that owns the source. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_ReturnsSharedSubscription() + { + Signal source = new(); + GroupBySignal signal = new(source, static v => v, static v => v, null, 0); + + using var subscription = signal.Subscribe(new RecordingWitness>()); + + await Assert.That(subscription).IsTypeOf(); + } + + /// A null source or selector is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + var source = Signal.None(); + + await Assert.That(static () => new GroupBySignal(null!, static v => v, static v => v, null, 0)).ThrowsExactly(); + await Assert.That(() => new GroupBySignal(source, null!, static v => v, null, 0)).ThrowsExactly(); + await Assert.That(() => new GroupBySignal(source, static v => v, null!, null, 0)).ThrowsExactly(); + } + + /// A negative capacity is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NegativeCapacity_ThrowsArgumentOutOfRange() => + await Assert.That(static () => new GroupBySignal(Signal.None(), static v => v, static v => v, null, -1)) + .ThrowsExactly(); + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + GroupBySignal signal = new(Signal.None(), static v => v, static v => v, null, 0); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/GroupByUntilSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/GroupByUntilSignalTests.cs new file mode 100644 index 00000000..85720373 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/GroupByUntilSignalTests.cs @@ -0,0 +1,60 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into keyed groups that end with a duration signal. +public class GroupByUntilSignalTests +{ + /// The subscription is the shared subscription that owns the source. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_ReturnsSharedSubscription() + { + Signal source = new(); + GroupByUntilSignal signal = new(source, static v => v, static v => v, static _ => Signal.Silent(), null, 0); + + using var subscription = signal.Subscribe(new RecordingWitness>()); + + await Assert.That(subscription).IsTypeOf(); + await Assert.That(source.HasObservers).IsTrue(); + } + + /// A null argument is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + var source = Signal.None(); + + await Assert.That(static () => new GroupByUntilSignal(null!, static v => v, static v => v, static _ => Signal.Silent(), null, 0)) + .ThrowsExactly(); + await Assert.That(() => new GroupByUntilSignal(source, null!, static v => v, static _ => Signal.Silent(), null, 0)) + .ThrowsExactly(); + await Assert.That(() => new GroupByUntilSignal(source, static v => v, null!, static _ => Signal.Silent(), null, 0)) + .ThrowsExactly(); + await Assert.That(() => new GroupByUntilSignal(source, static v => v, static v => v, null!, null, 0)) + .ThrowsExactly(); + } + + /// A negative capacity is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NegativeCapacity_ThrowsArgumentOutOfRange() => + await Assert.That(static () => new GroupByUntilSignal(Signal.None(), static v => v, static v => v, static _ => Signal.Silent(), null, -1)) + .ThrowsExactly(); + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + GroupByUntilSignal signal = new(Signal.None(), static v => v, static v => v, static _ => Signal.Silent(), null, 0); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/GroupByUntilWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/GroupByUntilWitnessTests.cs new file mode 100644 index 00000000..56d35a62 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/GroupByUntilWitnessTests.cs @@ -0,0 +1,329 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that routes values into keyed groups that end with a duration signal. +public class GroupByUntilWitnessTests +{ + /// A duration signal that emits ends its group, and the next value with that key opens a new group. + /// A task representing the asynchronous test. + [Test] + public async Task DurationEmits_EndsTheGroupAndTheKeyOpensAFreshGroup() + { + Signal source = new(); + List> durations = []; + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, _ => NewDuration(durations)); + source.OnNext("a1"); + source.OnNext("b1"); + source.OnNext("a2"); + + durations[0].OnNext(0); + source.OnNext("a3"); + source.OnNext("b2"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:a2 ga:done open ga ga:a3 gb:b2"); + await Assert.That(durations[durations.Count - 1].HasObservers).IsTrue(); + } + + /// A duration signal that completes ends its group. + /// A task representing the asynchronous test. + [Test] + public async Task DurationCompletes_EndsTheGroup() + { + Signal source = new(); + Signal duration = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, _ => duration); + source.OnNext("a1"); + + duration.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 ga:done"); + } + + /// The duration selector runs before the group is delivered and sees the group's key. + /// A task representing the asynchronous test. + [Test] + public async Task DurationSelector_RunsBeforeTheGroupIsDelivered() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + List log = []; + using var subscription = Group( + source, + observer, + group => + { + log.Add($"selector {group.Key} after {observer.Log.Count} notifications"); + return Signal.Silent(); + }); + + source.OnNext("a1"); + + await Assert.That(string.Join(' ', log)).IsEqualTo("selector a after 0 notifications"); + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1"); + } + + /// A duration that fires as it is subscribed ends the group before its first value arrives. + /// A task representing the asynchronous test. + [Test] + public async Task DurationFiresImmediately_EndsTheGroupBeforeItsFirstValue() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, static _ => Signal.Return(0)); + + source.OnNext("a1"); + source.OnNext("a2"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:done open ga ga:done"); + } + + /// A duration error faults every open group and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task DurationFaults_FaultsEveryGroupAndTheOuterSequence() + { + Signal source = new(); + List> durations = []; + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, _ => NewDuration(durations)); + source.OnNext("a1"); + source.OnNext("b1"); + + durations[1].OnError(new InvalidOperationException("duration")); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:error duration gb:error duration outer:error duration"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// A duration selector failure faults the sequence before the group is delivered. + /// A task representing the asynchronous test. + [Test] + public async Task DurationSelectorThrows_FaultsTheOuterSequenceWithoutDeliveringTheGroup() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, static IObservable (_) => throw new InvalidOperationException("selector")); + + source.OnNext("a1"); + + await Assert.That(observer.Text).IsEqualTo("outer:error selector"); + } + + /// A key selector failure faults the sequence. + /// A task representing the asynchronous test. + [Test] + public async Task KeySelectorThrows_FaultsTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = new GroupByUntilSignal( + source, + static char (_) => throw new InvalidOperationException("key"), + static v => v, + static _ => Signal.Silent(), + null, + 0).Subscribe(observer); + + source.OnNext("a1"); + + await Assert.That(observer.Text).IsEqualTo("outer:error key"); + } + + /// An element selector failure faults the sequence. + /// A task representing the asynchronous test. + [Test] + public async Task ElementSelectorThrows_FaultsTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = new GroupByUntilSignal( + source, + static v => v[0], + static string (_) => throw new InvalidOperationException("element"), + static _ => Signal.Silent(), + null, + 0).Subscribe(observer); + + source.OnNext("a1"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:error element outer:error element"); + } + + /// Source completion completes every open group and then the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_CompletesEveryOpenGroupThenTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, static _ => Signal.Silent()); + source.OnNext("a1"); + source.OnNext("b1"); + + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:done gb:done outer:done"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Source failure faults every open group and then the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnError_FaultsEveryOpenGroupThenTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, static _ => Signal.Silent()); + source.OnNext("a1"); + + source.OnError(new InvalidOperationException("boom")); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 ga:error boom outer:error boom"); + } + + /// Ending a group releases its duration subscription, so a late duration signal does nothing. + /// A task representing the asynchronous test. + [Test] + public async Task DurationEmits_ReleasesTheDurationSubscription() + { + Signal source = new(); + Signal duration = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer, _ => duration); + source.OnNext("a1"); + + duration.OnNext(0); + + await Assert.That(duration.HasObservers).IsFalse(); + } + + /// Disposing the outer subscription keeps the source alive while a group is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileGroupSubscribed_KeepsSourceUntilGroupIsDisposed() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + var outer = Group(source, observer, static _ => Signal.Silent()); + source.OnNext("a1"); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers; + source.OnNext("a2"); + observer.Subscriptions[0].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 ga:a2"); + } + + /// Disposing the outer subscription with no subscribed group releases the source and the duration signals. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWithoutSubscribedGroup_ReleasesSourceAndDurations() + { + Signal source = new(); + Signal duration = new(); + GroupRecordingWitness observer = new() { SubscribeOnOpen = false }; + var outer = Group(source, observer, _ => duration); + source.OnNext("a1"); + + outer.Dispose(); + + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(duration.HasObservers).IsFalse(); + } + + /// A downstream observer failure tears the sink down and reaches the source. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + ThrowingWitness> observer = new(throwOnNext: true); + using var subscription = new GroupByUntilSignal(source, static v => v[0], static v => v, static _ => Signal.Silent(), null, 0) + .Subscribe(observer); + + await Assert.That(() => source.OnNext("a1")).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + RecordingWitness> observer = new(); + GroupByUntilWitness witness = new(observer, static v => v[0], static v => v, static _ => Signal.Silent(), null, 0); + witness.Dispose(); + + witness.OnNext("a1"); + witness.OnCompleted(); + + await Assert.That(observer.Values.Count).IsEqualTo(0); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A second terminal notification is ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_Repeated_ForwardsOnlyTheFirst() + { + RecordingWitness> observer = new(); + GroupByUntilWitness witness = new(observer, static v => v[0], static v => v, static _ => Signal.Silent(), null, 0); + + witness.OnCompleted(); + witness.OnError(new InvalidOperationException("late")); + + await Assert.That(observer.Completed).IsEqualTo(1); + await Assert.That(observer.Errors.Count).IsEqualTo(0); + } + + /// A null argument is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + RecordingWitness> observer = new(); + + await Assert.That(static () => new GroupByUntilWitness(null!, static v => v[0], static v => v, static _ => Signal.Silent(), null, 0)) + .ThrowsExactly(); + await Assert.That(() => new GroupByUntilWitness(observer, null!, static v => v, static _ => Signal.Silent(), null, 0)) + .ThrowsExactly(); + await Assert.That(() => new GroupByUntilWitness(observer, static v => v[0], null!, static _ => Signal.Silent(), null, 0)) + .ThrowsExactly(); + await Assert.That(() => new GroupByUntilWitness(observer, static v => v[0], static v => v, null!, null, 0)) + .ThrowsExactly(); + } + + /// Creates a duration signal and records it. + /// The recorded duration signals. + /// The duration signal. + private static Signal NewDuration(List> durations) + { + Signal duration = new(); + durations.Add(duration); + return duration; + } + + /// Groups a string source by its first character until the supplied duration signal fires. + /// The source. + /// The observer of the groups. + /// Supplies the duration signal of a group. + /// The subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static IDisposable Group( + Signal source, + IObserver> observer, + Func, IObservable> durationSelector) => + new GroupByUntilSignal(source, static v => v[0], static v => v, durationSelector, null, 0).Subscribe(observer); +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/GroupByWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/GroupByWitnessTests.cs new file mode 100644 index 00000000..4ce6b525 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/GroupByWitnessTests.cs @@ -0,0 +1,380 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that routes values into keyed groups. +public class GroupByWitnessTests +{ + /// A new key opens its group before the value that opened it reaches the group. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_NewKey_OpensGroupBeforeDeliveringItsFirstValue() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer); + + source.OnNext("a1"); + source.OnNext("b1"); + source.OnNext("a2"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:a2"); + } + + /// The element selector projects the value stored in the group. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_ElementSelector_ProjectsGroupValues() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = new GroupBySignal(source, static v => v[0], static v => v.ToUpperInvariant(), null, 0).Subscribe(observer); + + source.OnNext("a1"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:A1"); + } + + /// A comparer decides which values share a key. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_Comparer_MergesKeysItTreatsAsEqual() + { + const int initialCapacity = 4; + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = new GroupBySignal(source, static v => v, static v => v, StringComparer.OrdinalIgnoreCase, initialCapacity) + .Subscribe(observer); + + source.OnNext("a"); + source.OnNext("A"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a ga:A"); + } + + /// Completion completes every group in the order it opened and then the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_CompletesEveryGroupThenTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer); + + source.OnNext("a1"); + source.OnNext("b1"); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:done gb:done outer:done"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// An empty source completes the outer sequence without opening a group. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_WithoutValues_CompletesOnlyTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer); + + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("outer:done"); + } + + /// A source error faults every group and then the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnError_FaultsEveryGroupThenTheOuterSequence() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = Group(source, observer); + + source.OnNext("a1"); + source.OnNext("b1"); + source.OnError(new InvalidOperationException("boom")); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:error boom gb:error boom outer:error boom"); + } + + /// A key selector failure faults every group and the outer sequence and releases the source. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_KeySelectorThrows_FaultsEverythingAndReleasesTheSource() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = new GroupBySignal( + source, + static v => v == "bad" ? throw new InvalidOperationException("key") : v[0], + static v => v, + null, + 0).Subscribe(observer); + + source.OnNext("a1"); + source.OnNext("bad"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 ga:error key outer:error key"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// An element selector failure delivers the new group and then faults everything. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_ElementSelectorThrows_FaultsTheGroupThatWasJustOpened() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = new GroupBySignal(source, static v => v[0], static _ => throw new InvalidOperationException("element"), null, 0) + .Subscribe(observer); + + source.OnNext("a1"); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:error element outer:error element"); + } + + /// A null key faults the sequence instead of throwing at the source. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_NullKey_FaultsTheOuterSequence() + { + Signal source = new(); + RecordingWitness> observer = new(); + using var subscription = new GroupBySignal(source, static v => v!, static v => v, null, 0).Subscribe(observer); + + source.OnNext(null); + + await Assert.That(observer.Errors.Count).IsEqualTo(1); + await Assert.That(observer.Values.Count).IsEqualTo(0); + } + + /// Disposing the outer subscription keeps the source alive while a group is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileGroupSubscribed_KeepsSourceUntilEveryGroupIsDisposed() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + var outer = Group(source, observer); + source.OnNext("a1"); + source.OnNext("b1"); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers; + source.OnNext("a2"); + observer.Subscriptions[0].Dispose(); + var aliveAfterFirstGroup = source.HasObservers; + source.OnNext("b2"); + observer.Subscriptions[1].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(aliveAfterFirstGroup).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 open gb gb:b1 ga:a2 gb:b2"); + } + + /// Disposing the outer subscription with no subscribed group releases the source. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWithoutSubscribedGroup_ReleasesTheSource() + { + Signal source = new(); + GroupRecordingWitness observer = new() { SubscribeOnOpen = false }; + var outer = Group(source, observer); + source.OnNext("a1"); + + outer.Dispose(); + + await Assert.That(source.HasObservers).IsFalse(); + } + + /// A group that opens after the outer subscription is disposed is not delivered to the outer observer. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterOuterDisposedWithGroupAlive_DoesNotDeliverNewGroups() + { + Signal source = new(); + GroupRecordingWitness observer = new(); + var outer = Group(source, observer); + source.OnNext("a1"); + outer.Dispose(); + + source.OnNext("b1"); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open ga ga:a1 ga:done"); + } + + /// A subscriber that arrives late sees only the values published after it subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_LateToGroup_SeesOnlyLaterValues() + { + Signal source = new(); + GroupRecordingWitness observer = new() { SubscribeOnOpen = false }; + using var outer = Group(source, observer); + source.OnNext("a1"); + source.OnNext("a2"); + RecordingWitness late = new(); + + using var lateSubscription = observer.Groups[0].Subscribe(late); + source.OnNext("a3"); + + await Assert.That(late.Values.SequenceEqual(["a3"])).IsTrue(); + } + + /// A subscriber that arrives after the group ended is completed at once. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_ToEndedGroup_CompletesAtOnce() + { + Signal source = new(); + GroupRecordingWitness observer = new() { SubscribeOnOpen = false }; + using var outer = Group(source, observer); + source.OnNext("a1"); + source.OnCompleted(); + RecordingWitness late = new(); + + using var lateSubscription = observer.Groups[0].Subscribe(late); + + await Assert.That(late.Completed).IsEqualTo(1); + await Assert.That(late.Values.Count).IsEqualTo(0); + } + + /// A subscriber that arrives after the group faulted receives the error at once. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_ToFaultedGroup_ReceivesTheErrorAtOnce() + { + Signal source = new(); + GroupRecordingWitness observer = new() { SubscribeOnOpen = false }; + using var outer = Group(source, observer); + source.OnNext("a1"); + InvalidOperationException error = new("late"); + source.OnError(error); + RecordingWitness late = new(); + + using var lateSubscription = observer.Groups[0].Subscribe(late); + + await Assert.That(late.Errors.Single()).IsSameReferenceAs(error); + } + + /// A value raised while the observer is running is delivered after the observer returns. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_RaisedByGroupObserver_IsDeliveredAfterTheObserverReturns() + { + Signal source = new(); + List log = []; + GroupRecordingWitness observer = new() { SubscribeOnOpen = false }; + using var outer = Group(source, observer); + source.OnNext("a1"); + using var reentrant = observer.Groups[0].Subscribe(new CallbackObserver(value => + { + log.Add($"value {value}"); + if (value != "a2") + { + return; + } + + source.OnNext("a3"); + log.Add("returned"); + })); + + source.OnNext("a2"); + + await Assert.That(string.Join(' ', log)).IsEqualTo("value a2 returned value a3"); + } + + /// An observer that throws tears the sink down and the exception reaches the source. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + ThrowingWitness> observer = new(throwOnNext: true); + using var subscription = Group(source, observer); + + await Assert.That(() => source.OnNext("a1")).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Values that arrive after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + RecordingWitness> observer = new(); + GroupByWitness witness = new(observer, static v => v[0], static v => v, null, 0); + witness.Dispose(); + + witness.OnNext("a1"); + + await Assert.That(observer.Values.Count).IsEqualTo(0); + } + + /// A second terminal notification is ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_Repeated_ForwardsOnlyTheFirst() + { + RecordingWitness> observer = new(); + GroupByWitness witness = new(observer, static v => v[0], static v => v, null, 0); + + witness.OnCompleted(); + witness.OnError(new InvalidOperationException("late")); + witness.OnCompleted(); + + await Assert.That(observer.Completed).IsEqualTo(1); + await Assert.That(observer.Errors.Count).IsEqualTo(0); + } + + /// A null observer or selector is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + RecordingWitness> observer = new(); + + await Assert.That(static () => new GroupByWitness(null!, static v => v[0], static v => v, null, 0)).ThrowsExactly(); + await Assert.That(() => new GroupByWitness(observer, null!, static v => v, null, 0)).ThrowsExactly(); + await Assert.That(() => new GroupByWitness(observer, static v => v[0], null!, null, 0)).ThrowsExactly(); + } + + /// Groups a string source by its first character. + /// The source. + /// The observer of the groups. + /// The subscription. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static IDisposable Group(Signal source, IObserver> observer) => + new GroupBySignal(source, static v => v[0], static v => v, null, 0).Subscribe(observer); + + /// Runs a callback for each value. + /// The callback. + private sealed class CallbackObserver(Action onNext) : IObserver + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(string value) => onNext(value); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/GroupedSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/GroupedSignalTests.cs new file mode 100644 index 00000000..9d3198cc --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/GroupedSignalTests.cs @@ -0,0 +1,36 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the keyed sub-signal of a group. +public class GroupedSignalTests +{ + /// The group exposes its key and forwards subscriptions to its window. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_ForwardsToTheWindow() + { + SliceWindow window = new(new()); + GroupedSignal group = new("key", window); + RecordingWitness observer = new(); + using var subscription = group.Subscribe(observer); + + window.Publish(1); + window.Complete(); + + await Assert.That(group.Key).IsEqualTo("key"); + await Assert.That(observer.Values.SequenceEqual([1])).IsTrue(); + await Assert.That(observer.Completed).IsEqualTo(1); + } + + /// A null window is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullWindow_ThrowsArgumentNull() => + await Assert.That(static () => new GroupedSignal("key", null!)).ThrowsExactly(); +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.GroupBy.cs b/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.GroupBy.cs new file mode 100644 index 00000000..f1f2e487 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.GroupBy.cs @@ -0,0 +1,186 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the GroupBy and GroupByUntil overloads. +public partial class LinqExtensionsTests +{ + /// The initial capacity handed to the capacity overloads. + private const int InitialCapacity = 4; + + /// The log of a source that emits "a1", "b1" and "A2" and completes, grouped case-sensitively by the first character. + private const string CaseSensitiveLog = "open ga ga:a1 open gb gb:b1 open gA gA:A2 ga:done gb:done gA:done outer:done"; + + /// The case-sensitive log with each value projected to upper case. + private const string CaseSensitiveUpperLog = "open ga ga:A1 open gb gb:B1 open gA gA:A2 ga:done gb:done gA:done outer:done"; + + /// The log of the same source grouped case-insensitively. + private const string CaseInsensitiveLog = "open ga ga:a1 open gb gb:b1 ga:A2 ga:done gb:done outer:done"; + + /// The case-insensitive log with each value projected to upper case. + private const string CaseInsensitiveUpperLog = "open ga ga:A1 open gb gb:B1 ga:A2 ga:done gb:done outer:done"; + + /// Grouping by key delivers a group per key. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_KeySelector_DeliversAGroupPerKey() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1]))).IsEqualTo(CaseSensitiveLog); + + /// Grouping by key with a comparer lets the comparer decide which values share a group. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_KeySelectorAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], StringComparer.OrdinalIgnoreCase))).IsEqualTo(CaseInsensitiveLog); + + /// Grouping by key with a capacity delivers a group per key. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_KeySelectorAndCapacity_DeliversAGroupPerKey() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], InitialCapacity))).IsEqualTo(CaseSensitiveLog); + + /// Grouping by key with a capacity and comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_KeySelectorCapacityAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], InitialCapacity, StringComparer.OrdinalIgnoreCase))).IsEqualTo(CaseInsensitiveLog); + + /// Grouping with an element selector projects each value. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_ElementSelector_ProjectsEachValue() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], static v => v.ToUpperInvariant()))).IsEqualTo(CaseSensitiveUpperLog); + + /// Grouping with an element selector and comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_ElementSelectorAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], static v => v.ToUpperInvariant(), StringComparer.OrdinalIgnoreCase))) + .IsEqualTo(CaseInsensitiveUpperLog); + + /// Grouping with an element selector and capacity projects each value. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_ElementSelectorAndCapacity_ProjectsEachValue() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], static v => v.ToUpperInvariant(), InitialCapacity))) + .IsEqualTo(CaseSensitiveUpperLog); + + /// Grouping with an element selector, capacity and comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_ElementSelectorCapacityAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupBy(static v => v[..1], static v => v.ToUpperInvariant(), InitialCapacity, StringComparer.OrdinalIgnoreCase))) + .IsEqualTo(CaseInsensitiveUpperLog); + + /// A null source, selector or negative capacity is rejected by every GroupBy overload. + /// A task representing the asynchronous test. + [Test] + public async Task GroupBy_InvalidArguments_Throw() + { + var source = Signal.None(); + Func key = static v => v; + Func element = static v => v.Length; + + await Assert.That(() => ((IObservable)null!).GroupBy(key)).ThrowsExactly(); + await Assert.That(() => source.GroupBy((Func)null!)).ThrowsExactly(); + await Assert.That(() => source.GroupBy(key, (Func)null!)).ThrowsExactly(); + await Assert.That(() => source.GroupBy(key, -1)).ThrowsExactly(); + await Assert.That(() => source.GroupBy(key, -1, StringComparer.Ordinal)).ThrowsExactly(); + await Assert.That(() => source.GroupBy(key, element, -1)).ThrowsExactly(); + await Assert.That(() => source.GroupBy(key, element, -1, StringComparer.Ordinal)).ThrowsExactly(); + } + + /// Grouping until a duration delivers a group per key. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_DurationSelector_DeliversAGroupPerKey() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static _ => Signal.Silent()))).IsEqualTo(CaseSensitiveLog); + + /// Grouping until a duration with a comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_DurationSelectorAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static _ => Signal.Silent(), StringComparer.OrdinalIgnoreCase))) + .IsEqualTo(CaseInsensitiveLog); + + /// Grouping until a duration with a capacity delivers a group per key. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_DurationSelectorAndCapacity_DeliversAGroupPerKey() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static _ => Signal.Silent(), InitialCapacity))) + .IsEqualTo(CaseSensitiveLog); + + /// Grouping until a duration with a capacity and comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_DurationSelectorCapacityAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static _ => Signal.Silent(), InitialCapacity, StringComparer.OrdinalIgnoreCase))) + .IsEqualTo(CaseInsensitiveLog); + + /// Grouping until a duration with an element selector projects each value. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_ElementSelector_ProjectsEachValue() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static v => v.ToUpperInvariant(), static _ => Signal.Silent()))) + .IsEqualTo(CaseSensitiveUpperLog); + + /// Grouping until a duration with an element selector and comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_ElementSelectorAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static v => v.ToUpperInvariant(), static _ => Signal.Silent(), StringComparer.OrdinalIgnoreCase))) + .IsEqualTo(CaseInsensitiveUpperLog); + + /// Grouping until a duration with an element selector and capacity projects each value. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_ElementSelectorAndCapacity_ProjectsEachValue() => + await Assert.That(GroupLog(static s => s.GroupByUntil(static v => v[..1], static v => v.ToUpperInvariant(), static _ => Signal.Silent(), InitialCapacity))) + .IsEqualTo(CaseSensitiveUpperLog); + + /// Grouping until a duration with an element selector, capacity and comparer uses the comparer. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_ElementSelectorCapacityAndComparer_UsesTheComparer() => + await Assert.That(GroupLog(static s => s.GroupByUntil( + static v => v[..1], + static v => v.ToUpperInvariant(), + static _ => Signal.Silent(), + InitialCapacity, + StringComparer.OrdinalIgnoreCase))).IsEqualTo(CaseInsensitiveUpperLog); + + /// A null source, selector or negative capacity is rejected by every GroupByUntil overload. + /// A task representing the asynchronous test. + [Test] + public async Task GroupByUntil_InvalidArguments_Throw() + { + var source = Signal.None(); + Func key = static v => v; + Func element = static v => v.Length; + Func, IObservable> duration = static _ => Signal.Silent(); + Func, IObservable> elementDuration = static _ => Signal.Silent(); + + await Assert.That(() => ((IObservable)null!).GroupByUntil(key, duration)).ThrowsExactly(); + await Assert.That(() => source.GroupByUntil(key, (Func, IObservable>)null!)).ThrowsExactly(); + await Assert.That(() => source.GroupByUntil(key, duration, -1)).ThrowsExactly(); + await Assert.That(() => source.GroupByUntil(key, duration, -1, StringComparer.Ordinal)).ThrowsExactly(); + await Assert.That(() => source.GroupByUntil(key, element, elementDuration, -1)).ThrowsExactly(); + await Assert.That(() => source.GroupByUntil(key, element, elementDuration, -1, StringComparer.Ordinal)).ThrowsExactly(); + } + + /// Subscribes a group recorder to an operator over a subject that emits "a1", "b1" and "A2" and completes. + /// The value type of each group. + /// Applies the operator under test. + /// The recorded log. + private static string GroupLog(Func, IObservable>> build) + { + Signal source = new(); + GroupRecordingWitness observer = new(); + using var subscription = build(source).Subscribe(observer); + PushThenComplete(source, "a1", "b1", "A2"); + return observer.Text; + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Slice.cs b/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Slice.cs new file mode 100644 index 00000000..3ee689a8 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Slice.cs @@ -0,0 +1,229 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Concurrency; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the Slice overloads. +public partial class LinqExtensionsTests +{ + /// The duration of each window, in milliseconds. + private const int SpanMilliseconds = 10; + + /// The number of values in each count window. + private const int WindowSize = 2; + + /// The number of values between the starts of count windows that leave a gap. + private const int GapSkip = 3; + + /// The duration of each window that the default-sequencer overloads are given, in seconds. + private const int DefaultSequencerSpanSeconds = 1; + + /// The time between window starts that the default-sequencer overloads are given, in seconds. + private const int DefaultSequencerShiftSeconds = 2; + + /// The log of two consecutive windows that hold a value each and end with the source. + private const string TwoWindowsLog = "open w0 w0:a w0:done open w1 w1:b w1:done outer:done"; + + /// The log of consecutive windows of values over "a", "b" and "c". + private const string CountWindowsLog = "open w0 w0:a w0:b w0:done open w1 w1:c w1:done outer:done"; + + /// The log of windows of values with a skip of over "a" to "e". + private const string GapWindowsLog = "open w0 w0:a w0:b w0:done open w1 w1:d w1:e w1:done outer:done"; + + /// Slicing by count hands out consecutive windows. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_Count_HandsOutConsecutiveWindows() => + await Assert.That(SliceLog(static s => s.Slice(WindowSize), static s => PushThenComplete(s, "a", "b", "c"))).IsEqualTo(CountWindowsLog); + + /// Slicing by count and skip drops the values in the gap. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_CountAndSkip_DropsTheValuesInTheGap() => + await Assert.That(SliceLog(static s => s.Slice(WindowSize, GapSkip), static s => PushThenComplete(s, "a", "b", "c", "d", "e"))).IsEqualTo(GapWindowsLog); + + /// Slicing by time on the default sequencer builds a time signal. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_TimeSpan_BuildsATimeSignal() => + await Assert.That(Signal.None().Slice(TimeSpan.FromSeconds(DefaultSequencerSpanSeconds))).IsTypeOf>(); + + /// Slicing by time on a sequencer ends each window after the duration. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_TimeSpanAndSequencer_EndsEachWindowAfterTheDuration() => + await Assert.That(TimedLog(static (s, clock) => s.Slice(Ms(SpanMilliseconds), clock))).IsEqualTo(TwoWindowsLog); + + /// Slicing by time and shift on the default sequencer builds a time signal. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_TimeSpanAndShift_BuildsATimeSignal() => + await Assert.That(Signal.None().Slice(TimeSpan.FromSeconds(DefaultSequencerSpanSeconds), TimeSpan.FromSeconds(DefaultSequencerShiftSeconds))) + .IsTypeOf>(); + + /// Slicing by time and shift on a sequencer opens a window every shift. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_TimeSpanShiftAndSequencer_OpensAWindowEveryShift() => + await Assert.That(TimedLog(static (s, clock) => s.Slice(Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock))).IsEqualTo(TwoWindowsLog); + + /// Slicing by time and count on the default sequencer builds a time and count signal. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_TimeSpanAndCount_BuildsATimeCountSignal() => + await Assert.That(Signal.None().Slice(TimeSpan.FromSeconds(DefaultSequencerSpanSeconds), WindowSize)).IsTypeOf>(); + + /// Slicing by time and count on a sequencer ends a window at whichever limit comes first. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_TimeSpanCountAndSequencer_EndsAWindowAtWhicheverLimitComesFirst() => + await Assert.That(TimedLog(static (s, clock) => s.Slice(Ms(SpanMilliseconds), WindowSize, clock))).IsEqualTo(TwoWindowsLog); + + /// Slicing by a boundary signal starts the next window on each emission. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_Boundary_StartsTheNextWindowOnEachEmission() + { + Signal boundary = new(); + + var log = SliceLog(s => s.Slice(boundary), s => + { + s.OnNext("a"); + boundary.OnNext(0); + s.OnNext("b"); + s.OnCompleted(); + }); + + await Assert.That(log).IsEqualTo(TwoWindowsLog); + } + + /// Slicing with a closing selector ends each window with its closing signal. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_ClosingSelector_EndsEachWindowWithItsClosingSignal() + { + List> closers = []; + + var log = SliceLog( + s => s.Slice(() => NewCloser(closers)), + s => + { + s.OnNext("a"); + closers[0].OnNext(0); + s.OnNext("b"); + s.OnCompleted(); + }); + + await Assert.That(log).IsEqualTo(TwoWindowsLog); + } + + /// Slicing with openings and a closing selector opens windows on demand. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_OpeningsAndClosingSelector_OpensWindowsOnDemand() + { + Signal openings = new(); + Signal closer = new(); + + var log = SliceLog( + s => s.Slice(openings, _ => closer), + s => + { + openings.OnNext(0); + s.OnNext("a"); + closer.OnNext(0); + s.OnNext("b"); + }); + + await Assert.That(log).IsEqualTo("open w0 w0:a w0:done"); + } + + /// A null source, argument or non-positive size is rejected by every Slice overload. + /// A task representing the asynchronous test. + [Test] + public async Task Slice_InvalidArguments_Throw() + { + var source = Signal.None(); + VirtualClock clock = new(); + var span = Ms(SpanMilliseconds); + + await Assert.That(static () => ((IObservable)null!).Slice(WindowSize)).ThrowsExactly(); + await Assert.That(() => source.Slice(0)).ThrowsExactly(); + await Assert.That(() => source.Slice(WindowSize, 0)).ThrowsExactly(); + await Assert.That(() => source.Slice(TimeSpan.Zero)).ThrowsExactly(); + await Assert.That(() => source.Slice(span, (ISequencer)null!)).ThrowsExactly(); + await Assert.That(() => source.Slice(span, TimeSpan.Zero)).ThrowsExactly(); + await Assert.That(() => source.Slice(span, span, (ISequencer)null!)).ThrowsExactly(); + await Assert.That(() => source.Slice(span, 0)).ThrowsExactly(); + await Assert.That(() => source.Slice(span, WindowSize, (ISequencer)null!)).ThrowsExactly(); + await Assert.That(() => source.Slice(span, 0, clock)).ThrowsExactly(); + await Assert.That(() => source.Slice((IObservable)null!)).ThrowsExactly(); + await Assert.That(() => source.Slice((Func>)null!)).ThrowsExactly(); + await Assert.That(() => source.Slice(source, (Func>)null!)).ThrowsExactly(); + } + + /// Creates a duration in milliseconds. + /// The number of milliseconds. + /// The duration. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static TimeSpan Ms(int milliseconds) => TimeSpan.FromMilliseconds(milliseconds); + + /// Creates a closing signal and records it. + /// The recorded closing signals. + /// The closing signal. + private static Signal NewCloser(List> closers) + { + Signal closer = new(); + closers.Add(closer); + return closer; + } + + /// Pushes values into a source and completes it. + /// The source. + /// The values to push. + private static void PushThenComplete(Signal source, params string[] values) + { + foreach (var value in values) + { + source.OnNext(value); + } + + source.OnCompleted(); + } + + /// Subscribes a window recorder to an operator over a subject, drives the subject and returns the log. + /// Applies the operator under test. + /// Drives the subject. + /// The recorded log. + private static string SliceLog(Func, IObservable>> build, Action> drive) + { + Signal source = new(); + WindowRecordingWitness observer = new(); + using var subscription = build(source).Subscribe(observer); + drive(source); + return observer.Text; + } + + /// Runs a time-based operator over a subject: "a", one window duration, "b", then completion. + /// Applies the operator under test with a virtual clock. + /// The recorded log. + private static string TimedLog(Func, VirtualClock, IObservable>> build) + { + VirtualClock clock = new(); + return SliceLog( + s => build(s, clock), + s => + { + s.OnNext("a"); + clock.AdvanceBy(Ms(SpanMilliseconds)); + s.OnNext("b"); + s.OnCompleted(); + }); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Window.cs b/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Window.cs new file mode 100644 index 00000000..d72b41c6 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/LinqExtensionsTests.Window.cs @@ -0,0 +1,145 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Concurrency; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the Window overloads. +public partial class LinqExtensionsTests +{ + /// Windowing by count hands out consecutive windows. + /// A task representing the asynchronous test. + [Test] + public async Task Window_Count_HandsOutConsecutiveWindows() => + await Assert.That(SliceLog(static s => s.Window(WindowSize), static s => PushThenComplete(s, "a", "b", "c"))).IsEqualTo(CountWindowsLog); + + /// Windowing by count and skip drops the values in the gap. + /// A task representing the asynchronous test. + [Test] + public async Task Window_CountAndSkip_DropsTheValuesInTheGap() => + await Assert.That(SliceLog(static s => s.Window(WindowSize, GapSkip), static s => PushThenComplete(s, "a", "b", "c", "d", "e"))).IsEqualTo(GapWindowsLog); + + /// Windowing by time on the default scheduler builds a time signal. + /// A task representing the asynchronous test. + [Test] + public async Task Window_TimeSpan_BuildsATimeSignal() => + await Assert.That(Signal.None().Window(TimeSpan.FromSeconds(DefaultSequencerSpanSeconds))).IsTypeOf>(); + + /// Windowing by time on a scheduler ends each window after the duration. + /// A task representing the asynchronous test. + [Test] + public async Task Window_TimeSpanAndScheduler_EndsEachWindowAfterTheDuration() => + await Assert.That(TimedLog(static (s, clock) => s.Window(Ms(SpanMilliseconds), clock))).IsEqualTo(TwoWindowsLog); + + /// Windowing by time and shift on the default scheduler builds a time signal. + /// A task representing the asynchronous test. + [Test] + public async Task Window_TimeSpanAndShift_BuildsATimeSignal() => + await Assert.That(Signal.None().Window(TimeSpan.FromSeconds(DefaultSequencerSpanSeconds), TimeSpan.FromSeconds(DefaultSequencerShiftSeconds))) + .IsTypeOf>(); + + /// Windowing by time and shift on a scheduler opens a window every shift. + /// A task representing the asynchronous test. + [Test] + public async Task Window_TimeSpanShiftAndScheduler_OpensAWindowEveryShift() => + await Assert.That(TimedLog(static (s, clock) => s.Window(Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock))).IsEqualTo(TwoWindowsLog); + + /// Windowing by time and count on the default scheduler builds a time and count signal. + /// A task representing the asynchronous test. + [Test] + public async Task Window_TimeSpanAndCount_BuildsATimeCountSignal() => + await Assert.That(Signal.None().Window(TimeSpan.FromSeconds(DefaultSequencerSpanSeconds), WindowSize)).IsTypeOf>(); + + /// Windowing by time and count on a scheduler ends a window at whichever limit comes first. + /// A task representing the asynchronous test. + [Test] + public async Task Window_TimeSpanCountAndScheduler_EndsAWindowAtWhicheverLimitComesFirst() => + await Assert.That(TimedLog(static (s, clock) => s.Window(Ms(SpanMilliseconds), WindowSize, clock))).IsEqualTo(TwoWindowsLog); + + /// Windowing by a boundary signal starts the next window on each emission. + /// A task representing the asynchronous test. + [Test] + public async Task Window_Boundary_StartsTheNextWindowOnEachEmission() + { + Signal boundary = new(); + + var log = SliceLog(s => s.Window(boundary), s => + { + s.OnNext("a"); + boundary.OnNext(0); + s.OnNext("b"); + s.OnCompleted(); + }); + + await Assert.That(log).IsEqualTo(TwoWindowsLog); + } + + /// Windowing with a closing selector ends each window with its closing signal. + /// A task representing the asynchronous test. + [Test] + public async Task Window_ClosingSelector_EndsEachWindowWithItsClosingSignal() + { + List> closers = []; + + var log = SliceLog( + s => s.Window(() => NewCloser(closers)), + s => + { + s.OnNext("a"); + closers[0].OnNext(0); + s.OnNext("b"); + s.OnCompleted(); + }); + + await Assert.That(log).IsEqualTo(TwoWindowsLog); + } + + /// Windowing with openings and a closing selector opens windows on demand. + /// A task representing the asynchronous test. + [Test] + public async Task Window_OpeningsAndClosingSelector_OpensWindowsOnDemand() + { + Signal openings = new(); + Signal closer = new(); + + var log = SliceLog( + s => s.Window(openings, _ => closer), + s => + { + openings.OnNext(0); + s.OnNext("a"); + closer.OnNext(0); + s.OnNext("b"); + }); + + await Assert.That(log).IsEqualTo("open w0 w0:a w0:done"); + } + + /// A null source, argument or non-positive size is rejected by every Window overload. + /// A task representing the asynchronous test. + [Test] + public async Task Window_InvalidArguments_Throw() + { + var source = Signal.None(); + VirtualClock clock = new(); + var span = Ms(SpanMilliseconds); + + await Assert.That(static () => ((IObservable)null!).Window(WindowSize)).ThrowsExactly(); + await Assert.That(() => source.Window(0)).ThrowsExactly(); + await Assert.That(() => source.Window(WindowSize, 0)).ThrowsExactly(); + await Assert.That(() => source.Window(TimeSpan.Zero)).ThrowsExactly(); + await Assert.That(() => source.Window(span, (ISequencer)null!)).ThrowsExactly(); + await Assert.That(() => source.Window(span, TimeSpan.Zero)).ThrowsExactly(); + await Assert.That(() => source.Window(span, span, (ISequencer)null!)).ThrowsExactly(); + await Assert.That(() => source.Window(span, 0)).ThrowsExactly(); + await Assert.That(() => source.Window(span, WindowSize, (ISequencer)null!)).ThrowsExactly(); + await Assert.That(() => source.Window(span, 0, clock)).ThrowsExactly(); + await Assert.That(() => source.Window((IObservable)null!)).ThrowsExactly(); + await Assert.That(() => source.Window((Func>)null!)).ThrowsExactly(); + await Assert.That(() => source.Window(source, (Func>)null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SharedSubscriptionTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SharedSubscriptionTests.cs new file mode 100644 index 00000000..d3cb0b7a --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SharedSubscriptionTests.cs @@ -0,0 +1,173 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the subscription that stays alive until its handle and every lease are disposed. +public class SharedSubscriptionTests +{ + /// Disposing the handle with no lease releases the underlying subscription. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_WithoutLeases_ReleasesTheUnderlyingSubscription() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + + shared.Dispose(); + + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + await Assert.That(shared.IsDisposed).IsTrue(); + } + + /// Disposing the handle while a lease is held keeps the underlying subscription until the lease is disposed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_WithLease_KeepsTheUnderlyingSubscriptionUntilTheLeaseIsDisposed() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + var lease = shared.Acquire(); + + shared.Dispose(); + var afterHandle = underlying.DisposeCount; + lease.Dispose(); + + await Assert.That(afterHandle).IsEqualTo(0); + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// Disposing a lease while the handle is alive leaves the underlying subscription running. + /// A task representing the asynchronous test. + [Test] + public async Task DisposeLease_WhileHandleAlive_KeepsTheUnderlyingSubscription() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + + shared.Acquire().Dispose(); + + await Assert.That(underlying.DisposeCount).IsEqualTo(0); + } + + /// The last of several leases releases the underlying subscription. + /// A task representing the asynchronous test. + [Test] + public async Task DisposeLease_LastOfSeveral_ReleasesTheUnderlyingSubscription() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + var first = shared.Acquire(); + var second = shared.Acquire(); + shared.Dispose(); + + first.Dispose(); + var afterFirst = underlying.DisposeCount; + second.Dispose(); + + await Assert.That(afterFirst).IsEqualTo(0); + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// Disposing a lease twice returns it once. + /// A task representing the asynchronous test. + [Test] + public async Task DisposeLease_Twice_ReturnsTheLeaseOnce() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + var first = shared.Acquire(); + var second = shared.Acquire(); + shared.Dispose(); + + first.Dispose(); + first.Dispose(); + + await Assert.That(underlying.DisposeCount).IsEqualTo(0); + second.Dispose(); + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// Disposing the handle twice releases the underlying subscription once. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_Twice_ReleasesTheUnderlyingSubscriptionOnce() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + + shared.Dispose(); + shared.Dispose(); + + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// Releasing tears the underlying subscription down whatever leases remain and later leases are empty. + /// A task representing the asynchronous test. + [Test] + public async Task Release_WithLeases_ReleasesNowAndLaterLeasesDoNothing() + { + RecordingDisposable underlying = new(); + SharedSubscription shared = new(); + shared.Attach(underlying); + var lease = shared.Acquire(); + + shared.Release(); + var afterRelease = underlying.DisposeCount; + shared.Acquire().Dispose(); + lease.Dispose(); + shared.Dispose(); + + await Assert.That(afterRelease).IsEqualTo(1); + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// Attaching after release disposes the incoming subscription. + /// A task representing the asynchronous test. + [Test] + public async Task Attach_AfterRelease_DisposesTheIncomingSubscription() + { + RecordingDisposable incoming = new(); + SharedSubscription shared = new(); + shared.Release(); + + shared.Attach(incoming); + + await Assert.That(incoming.DisposeCount).IsEqualTo(1); + } + + /// Attaching a second subscription disposes it and keeps the first. + /// A task representing the asynchronous test. + [Test] + public async Task Attach_WhenOneIsAttached_DisposesTheIncomingSubscription() + { + RecordingDisposable first = new(); + RecordingDisposable second = new(); + SharedSubscription shared = new(); + shared.Attach(first); + + shared.Attach(second); + + await Assert.That(first.DisposeCount).IsEqualTo(0); + await Assert.That(second.DisposeCount).IsEqualTo(1); + } + + /// A null subscription is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Attach_Null_ThrowsArgumentNull() + { + SharedSubscription shared = new(); + + await Assert.That(() => shared.Attach(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceBoundarySignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceBoundarySignalTests.cs new file mode 100644 index 00000000..af53077a --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceBoundarySignalTests.cs @@ -0,0 +1,47 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into windows delimited by a boundary signal. +public class SliceBoundarySignalTests +{ + /// Each subscription subscribes to the source and the boundary on its own. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_SubscribesSourceAndBoundary() + { + Signal source = new(); + Signal boundary = new(); + + using var subscription = new SliceBoundarySignal(source, boundary).Subscribe(new WindowRecordingWitness()); + + await Assert.That(source.HasObservers).IsTrue(); + await Assert.That(boundary.HasObservers).IsTrue(); + } + + /// A null source or boundary is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + var source = Signal.None(); + + await Assert.That(() => new SliceBoundarySignal(null!, source)).ThrowsExactly(); + await Assert.That(() => new SliceBoundarySignal(source, null!)).ThrowsExactly(); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + SliceBoundarySignal signal = new(Signal.None(), Signal.None()); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceBoundaryWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceBoundaryWitnessTests.cs new file mode 100644 index 00000000..01555bbc --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceBoundaryWitnessTests.cs @@ -0,0 +1,184 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that hands out windows delimited by a boundary signal. +public class SliceBoundaryWitnessTests +{ + /// Each boundary emission ends the window and starts the next. + /// A task representing the asynchronous test. + [Test] + public async Task BoundaryEmits_EndsTheWindowAndStartsTheNext() + { + Signal source = new(); + Signal boundary = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceBoundarySignal(source, boundary).Subscribe(observer); + + source.OnNext("a"); + boundary.OnNext(0); + source.OnNext("b"); + boundary.OnNext(0); + source.OnNext("c"); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:done open w1 w1:b w1:done open w2 w2:c w2:done outer:done"); + } + + /// A completed boundary signal ends the window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task BoundaryCompletes_EndsTheWindowAndTheOuterSequence() + { + Signal source = new(); + Signal boundary = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceBoundarySignal(source, boundary).Subscribe(observer); + source.OnNext("a"); + + boundary.OnCompleted(); + source.OnNext("b"); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:done outer:done"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// A boundary error faults the window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task BoundaryFaults_FaultsTheWindowAndTheOuterSequence() + { + Signal source = new(); + Signal boundary = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceBoundarySignal(source, boundary).Subscribe(observer); + + boundary.OnError(new InvalidOperationException("boundary")); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error boundary outer:error boundary"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// A source error faults the window and the outer sequence and releases the boundary subscription. + /// A task representing the asynchronous test. + [Test] + public async Task SourceFaults_FaultsTheWindowAndTheOuterSequence() + { + Signal source = new(); + Signal boundary = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceBoundarySignal(source, boundary).Subscribe(observer); + + source.OnError(new InvalidOperationException("source")); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error source outer:error source"); + await Assert.That(boundary.HasObservers).IsFalse(); + } + + /// An empty source completes the first window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task SourceCompletes_WithoutValues_CompletesTheFirstWindow() + { + Signal source = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceBoundarySignal(source, Signal.Silent()).Subscribe(observer); + + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done outer:done"); + } + + /// Disposing the outer subscription keeps the source and boundary alive while a window is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileWindowSubscribed_KeepsSourceUntilWindowIsDisposed() + { + Signal source = new(); + Signal boundary = new(); + WindowRecordingWitness observer = new(); + var outer = new SliceBoundarySignal(source, boundary).Subscribe(observer); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers && boundary.HasObservers; + source.OnNext("a"); + observer.Subscriptions[0].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(boundary.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a"); + } + + /// A downstream observer failure tears the sink down. + /// A task representing the asynchronous test. + [Test] + public async Task Advance_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + Signal boundary = new(); + using var subscription = new SliceBoundarySignal(source, boundary).Subscribe(new ThrowAfterFirstWindow()); + + await Assert.That(() => boundary.OnNext(0)).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + RecordingWitness> observer = new(); + SliceBoundaryWitness witness = new(observer); + witness.Start(); + witness.Dispose(); + + witness.OnNext("a"); + witness.Boundaries.OnNext(0); + witness.OnCompleted(); + + await Assert.That(observer.Values.Count).IsEqualTo(1); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullObserver_ThrowsArgumentNull() => + await Assert.That(static () => new SliceBoundaryWitness(null!)).ThrowsExactly(); + + /// Accepts the first window and throws on the next. + private sealed class ThrowAfterFirstWindow : IObserver> + { + /// The number of windows received. + private int _windows; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) + { + } + + /// + public void OnNext(IObservable value) + { + _windows++; + if (_windows > 1) + { + throw new InvalidOperationException("observer"); + } + } + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceClosingSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceClosingSignalTests.cs new file mode 100644 index 00000000..a25a0050 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceClosingSignalTests.cs @@ -0,0 +1,54 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into windows ended by their own closing signal. +public class SliceClosingSignalTests +{ + /// Each subscription asks for its own closing signals. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_TwiceAsksForClosingSignalsPerSubscription() + { + const int subscriptions = 2; + var requests = 0; + SliceClosingSignal signal = new( + Signal.Silent(), + () => + { + requests++; + return Signal.Silent(); + }); + + using var first = signal.Subscribe(new WindowRecordingWitness()); + using var second = signal.Subscribe(new WindowRecordingWitness()); + + await Assert.That(requests).IsEqualTo(subscriptions); + } + + /// A null source or selector is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + var source = Signal.None(); + + await Assert.That(static () => new SliceClosingSignal(null!, static () => Signal.Silent())).ThrowsExactly(); + await Assert.That(() => new SliceClosingSignal(source, null!)).ThrowsExactly(); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + SliceClosingSignal signal = new(Signal.None(), static () => Signal.Silent()); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceClosingWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceClosingWitnessTests.cs new file mode 100644 index 00000000..a4b3c5be --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceClosingWitnessTests.cs @@ -0,0 +1,214 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that hands out windows ended by their own closing signal. +public class SliceClosingWitnessTests +{ + /// A closing signal that emits ends the window, and a new closing signal is requested for the next window. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingEmitsOrCompletes_EndsTheWindowAndOpensTheNext() + { + Signal source = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal(source, () => NewCloser(closers)).Subscribe(observer); + var closersAtStart = closers.Count; + + source.OnNext("a"); + closers[0].OnNext(0); + var closersAfterFirst = closers.Count; + source.OnNext("b"); + closers[1].OnCompleted(); + var closersAfterSecond = closers.Count; + source.OnNext("c"); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:done open w1 w1:b w1:done open w2 w2:c w2:done outer:done"); + await Assert.That(closersAtStart).IsEqualTo(1); + await Assert.That(closersAfterFirst).IsEqualTo(closersAtStart + 1); + await Assert.That(closersAfterSecond).IsEqualTo(closersAfterFirst + 1); + } + + /// A closing signal that fires twice ends the window once. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingEmitsThenCompletes_EndsTheWindowOnce() + { + var requests = 0; + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal( + Signal.Silent(), + () => + { + requests++; + return requests == 1 + ? new ScriptedObservable(static o => + { + o.OnNext(0); + o.OnCompleted(); + }) + : Signal.Silent(); + }).Subscribe(observer); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done open w1"); + await Assert.That(requests).IsGreaterThan(1); + } + + /// A closing error faults the window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingFaults_FaultsTheWindowAndTheOuterSequence() + { + Signal source = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal(source, () => NewCloser(closers)).Subscribe(observer); + + closers[0].OnError(new InvalidOperationException("closing")); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error closing outer:error closing"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// A selector failure on the first window faults the window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task SelectorThrows_OnFirstWindow_FaultsTheWindowAndTheOuterSequence() + { + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal( + Signal.Silent(), + static IObservable () => throw new InvalidOperationException("selector")).Subscribe(observer); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error selector outer:error selector"); + } + + /// A selector failure on a later window faults that window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task SelectorThrows_OnLaterWindow_FaultsThatWindowAndTheOuterSequence() + { + var requests = 0; + Signal closer = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal( + Signal.Silent(), + () => + { + requests++; + return requests == 1 ? closer : throw new InvalidOperationException("selector"); + }).Subscribe(observer); + + closer.OnNext(0); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done open w1 w1:error selector outer:error selector"); + } + + /// Source completion ends the window and the outer sequence and releases the closing subscription. + /// A task representing the asynchronous test. + [Test] + public async Task SourceCompletes_EndsTheWindowAndReleasesTheClosingSubscription() + { + Signal source = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal(source, () => NewCloser(closers)).Subscribe(observer); + + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done outer:done"); + await Assert.That(closers[0].HasObservers).IsFalse(); + } + + /// A source error faults the window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task SourceFaults_FaultsTheWindowAndTheOuterSequence() + { + Signal source = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal(source, static () => Signal.Silent()).Subscribe(observer); + + source.OnError(new InvalidOperationException("source")); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error source outer:error source"); + } + + /// Disposing the outer subscription keeps the source alive while a window is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileWindowSubscribed_KeepsSourceUntilWindowIsDisposed() + { + Signal source = new(); + WindowRecordingWitness observer = new(); + var outer = new SliceClosingSignal(source, static () => Signal.Silent()).Subscribe(observer); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers; + source.OnNext("a"); + observer.Subscriptions[0].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a"); + } + + /// A window subscriber that throws tears the sink down and the exception reaches the source. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_WindowObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceClosingSignal(source, static () => Signal.Silent()).Subscribe(observer); + using var thrower = observer.Windows[0].Subscribe(new ThrowingWitness(throwOnNext: true)); + + await Assert.That(() => source.OnNext("a")).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + RecordingWitness> observer = new(); + SliceClosingWitness witness = new(observer, static () => Signal.Silent()); + witness.Start(); + witness.Dispose(); + + witness.OnNext("a"); + witness.OnCompleted(); + + await Assert.That(observer.Values.Count).IsEqualTo(1); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A null observer or selector is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + RecordingWitness> observer = new(); + + await Assert.That(static () => new SliceClosingWitness(null!, static () => Signal.Silent())).ThrowsExactly(); + await Assert.That(() => new SliceClosingWitness(observer, null!)).ThrowsExactly(); + } + + /// Creates a closing signal and records it. + /// The recorded closing signals. + /// The closing signal. + private static Signal NewCloser(List> closers) + { + Signal closer = new(); + closers.Add(closer); + return closer; + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceCountSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceCountSignalTests.cs new file mode 100644 index 00000000..368e49bc --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceCountSignalTests.cs @@ -0,0 +1,56 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into windows of a fixed number of values. +public class SliceCountSignalTests +{ + /// Each subscription opens its own windows. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_TwiceSlicesEachSubscriptionOnItsOwn() + { + const int windowSize = 2; + Signal source = new(); + SliceCountSignal signal = new(source, windowSize, windowSize); + WindowRecordingWitness first = new(); + WindowRecordingWitness second = new(); + + using var firstSubscription = signal.Subscribe(first); + source.OnNext("a"); + using var secondSubscription = signal.Subscribe(second); + source.OnNext("b"); + + await Assert.That(first.Text).IsEqualTo("open w0 w0:a w0:b w0:done open w1"); + await Assert.That(second.Text).IsEqualTo("open w0 w0:b"); + } + + /// A null source or a non-positive size is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_InvalidArguments_Throw() + { + const int windowSize = 2; + var source = Signal.None(); + + await Assert.That(static () => new SliceCountSignal(null!, windowSize, windowSize)).ThrowsExactly(); + await Assert.That(() => new SliceCountSignal(source, 0, windowSize)).ThrowsExactly(); + await Assert.That(() => new SliceCountSignal(source, windowSize, 0)).ThrowsExactly(); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + const int windowSize = 2; + SliceCountSignal signal = new(Signal.None(), windowSize, windowSize); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceCountWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceCountWitnessTests.cs new file mode 100644 index 00000000..93c7fd01 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceCountWitnessTests.cs @@ -0,0 +1,197 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that hands out windows of a fixed number of values. +public class SliceCountWitnessTests +{ + /// Windows with a skip equal to the count are consecutive and do not overlap. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_SkipEqualToCount_HandsOutConsecutiveWindows() + { + const int windowSize = 2; + + var text = Run(windowSize, windowSize, "a", "b", "c", "d", "e"); + + await Assert.That(text).IsEqualTo("open w0 w0:a w0:b w0:done open w1 w1:c w1:d w1:done open w2 w2:e w2:done outer:done"); + } + + /// A skip below the count opens overlapping windows, each receiving every value while it is open. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_SkipBelowCount_OverlapsWindows() + { + const int windowSize = 3; + const int skip = 2; + + var text = Run(windowSize, skip, "a", "b", "c", "d", "e", "f", "g"); + + await Assert.That(text).IsEqualTo( + "open w0 w0:a w0:b open w1 w0:c w1:c w0:done w1:d open w2 w1:e w2:e w1:done w2:f open w3 w2:g w3:g w2:done w3:done outer:done"); + } + + /// A skip above the count leaves a gap of values that no window receives. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_SkipAboveCount_DropsTheValuesInTheGap() + { + const int windowSize = 2; + const int skip = 3; + + var text = Run(windowSize, skip, "a", "b", "c", "d", "e", "f", "g"); + + await Assert.That(text).IsEqualTo("open w0 w0:a w0:b w0:done open w1 w1:d w1:e w1:done open w2 w2:g w2:done outer:done"); + } + + /// An empty source completes the first window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_WithoutValues_CompletesTheFirstWindow() + { + const int windowSize = 2; + + var text = Run(windowSize, windowSize); + + await Assert.That(text).IsEqualTo("open w0 w0:done outer:done"); + } + + /// A source error faults the open windows in order and then the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnError_FaultsOpenWindowsThenTheOuterSequence() + { + const int windowSize = 3; + Signal source = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceCountSignal(source, windowSize, 1).Subscribe(observer); + source.OnNext("a"); + source.OnNext("b"); + + source.OnError(new InvalidOperationException("boom")); + + await Assert.That(observer.Text).IsEqualTo( + "open w0 w0:a open w1 w0:b w1:b open w2 w0:error boom w1:error boom w2:error boom outer:error boom"); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Disposing the outer subscription keeps the source alive while a window is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileWindowSubscribed_KeepsSourceUntilWindowIsDisposed() + { + const int windowSize = 3; + Signal source = new(); + WindowRecordingWitness observer = new(); + var outer = new SliceCountSignal(source, windowSize, windowSize).Subscribe(observer); + source.OnNext("a"); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers; + source.OnNext("b"); + observer.Subscriptions[0].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:b"); + } + + /// Disposing the outer subscription with no subscribed window releases the source. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWithoutSubscribedWindow_ReleasesTheSource() + { + const int windowSize = 3; + Signal source = new(); + RecordingWitness> observer = new(); + var outer = new SliceCountSignal(source, windowSize, windowSize).Subscribe(observer); + + outer.Dispose(); + + await Assert.That(source.HasObservers).IsFalse(); + } + + /// A downstream observer failure tears the sink down and reaches the caller. + /// A task representing the asynchronous test. + [Test] + public async Task Start_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + const int windowSize = 2; + Signal source = new(); + ThrowingWitness> observer = new(throwOnNext: true); + + await Assert.That(() => new SliceCountSignal(source, windowSize, windowSize).Subscribe(observer)).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + const int windowSize = 2; + RecordingWitness> observer = new(); + SliceCountWitness witness = new(observer, windowSize, windowSize); + witness.Dispose(); + + witness.OnNext("a"); + witness.OnCompleted(); + + await Assert.That(observer.Values.Count).IsEqualTo(0); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A second terminal notification is ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_Repeated_ForwardsOnlyTheFirst() + { + const int windowSize = 2; + RecordingWitness> observer = new(); + SliceCountWitness witness = new(observer, windowSize, windowSize); + witness.Start(); + + witness.OnCompleted(); + witness.OnError(new InvalidOperationException("late")); + + await Assert.That(observer.Completed).IsEqualTo(1); + await Assert.That(observer.Errors.Count).IsEqualTo(0); + } + + /// A null observer or a non-positive size is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_InvalidArguments_Throw() + { + const int windowSize = 2; + RecordingWitness> observer = new(); + + await Assert.That(static () => new SliceCountWitness(null!, windowSize, windowSize)).ThrowsExactly(); + await Assert.That(() => new SliceCountWitness(observer, 0, windowSize)).ThrowsExactly(); + await Assert.That(() => new SliceCountWitness(observer, windowSize, 0)).ThrowsExactly(); + } + + /// Feeds values through a count window and returns the recorded log. + /// The window size. + /// The number of values between window starts. + /// The values the source emits before it completes. + /// The recorded log. + private static string Run(int count, int skip, params string[] values) + { + Signal source = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceCountSignal(source, count, skip).Subscribe(observer); + foreach (var value in values) + { + source.OnNext(value); + } + + source.OnCompleted(); + return observer.Text; + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceOpeningSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceOpeningSignalTests.cs new file mode 100644 index 00000000..119a1579 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceOpeningSignalTests.cs @@ -0,0 +1,50 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that opens a window per opening signal emission. +public class SliceOpeningSignalTests +{ + /// Each subscription subscribes to the source and the opening signal on its own. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_SubscribesSourceAndOpenings() + { + Signal source = new(); + Signal openings = new(); + + using var subscription = new SliceOpeningSignal(source, openings, static _ => Signal.Silent()) + .Subscribe(new WindowRecordingWitness()); + + await Assert.That(source.HasObservers).IsTrue(); + await Assert.That(openings.HasObservers).IsTrue(); + } + + /// A null argument is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + var source = Signal.None(); + var openings = Signal.None(); + + await Assert.That(() => new SliceOpeningSignal(null!, openings, static _ => Signal.Silent())).ThrowsExactly(); + await Assert.That(() => new SliceOpeningSignal(source, null!, static _ => Signal.Silent())).ThrowsExactly(); + await Assert.That(() => new SliceOpeningSignal(source, openings, null!)).ThrowsExactly(); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + SliceOpeningSignal signal = new(Signal.None(), Signal.None(), static _ => Signal.Silent()); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceOpeningWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceOpeningWitnessTests.cs new file mode 100644 index 00000000..124508d0 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceOpeningWitnessTests.cs @@ -0,0 +1,287 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that opens a window per opening signal emission and ends it with a closing signal. +public class SliceOpeningWitnessTests +{ + /// Windows overlap, close independently, and the outer sequence completes with the opening signal. + /// A task representing the asynchronous test. + [Test] + public async Task OpeningsAndClosings_DriveOverlappingWindows() + { + Signal source = new(); + Signal openings = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal(source, openings, _ => NewCloser(closers)).Subscribe(observer); + + source.OnNext("a"); + openings.OnNext(0); + source.OnNext("b"); + openings.OnNext(0); + source.OnNext("c"); + closers[0].OnNext(0); + source.OnNext("d"); + closers[1].OnCompleted(); + source.OnNext("e"); + openings.OnNext(0); + source.OnNext("f"); + openings.OnCompleted(); + source.OnNext("g"); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo( + "open w0 w0:b open w1 w0:c w1:c w0:done w1:d w1:done open w2 w2:f outer:done w2:g w2:done"); + } + + /// The closing selector receives the opening value. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingSelector_ReceivesTheOpeningValue() + { + const string opening = "opening"; + Signal openings = new(); + List seen = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal( + Signal.Silent(), + openings, + value => + { + seen.Add(value); + return Signal.Silent(); + }).Subscribe(observer); + + openings.OnNext(opening); + + await Assert.That(seen.SequenceEqual([opening])).IsTrue(); + } + + /// A closing signal that fires twice ends the window once. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingEmitsThenCompletes_EndsTheWindowOnce() + { + Signal openings = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal( + Signal.Silent(), + openings, + static _ => new ScriptedObservable(static o => + { + o.OnNext(0); + o.OnCompleted(); + })).Subscribe(observer); + + openings.OnNext(0); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done"); + } + + /// A closing error faults every open window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingFaults_FaultsEveryWindowAndTheOuterSequence() + { + Signal source = new(); + Signal openings = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal(source, openings, _ => NewCloser(closers)).Subscribe(observer); + openings.OnNext(0); + openings.OnNext(0); + + closers[1].OnError(new InvalidOperationException("closing")); + + await Assert.That(observer.Text).IsEqualTo("open w0 open w1 w0:error closing w1:error closing outer:error closing"); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(openings.HasObservers).IsFalse(); + } + + /// An opening error faults every open window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OpeningsFault_FaultsEveryWindowAndTheOuterSequence() + { + Signal openings = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal(Signal.Silent(), openings, static _ => Signal.Silent()).Subscribe(observer); + openings.OnNext(0); + + openings.OnError(new InvalidOperationException("openings")); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error openings outer:error openings"); + } + + /// A closing selector failure faults every open window and the outer sequence without opening a window. + /// A task representing the asynchronous test. + [Test] + public async Task ClosingSelectorThrows_FaultsEveryWindowAndTheOuterSequence() + { + Signal openings = new(); + var requests = 0; + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal( + Signal.Silent(), + openings, + _ => + { + requests++; + return requests == 1 ? Signal.Silent() : throw new InvalidOperationException("selector"); + }).Subscribe(observer); + openings.OnNext(0); + + openings.OnNext(0); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error selector outer:error selector"); + } + + /// Source completion completes every open window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task SourceCompletes_CompletesEveryWindowAndTheOuterSequence() + { + Signal source = new(); + Signal openings = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal(source, openings, _ => NewCloser(closers)).Subscribe(observer); + openings.OnNext(0); + source.OnNext("a"); + + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:done outer:done"); + await Assert.That(closers[0].HasObservers).IsFalse(); + await Assert.That(openings.HasObservers).IsFalse(); + } + + /// Source failure faults every open window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task SourceFaults_FaultsEveryWindowAndTheOuterSequence() + { + Signal source = new(); + Signal openings = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal(source, openings, static _ => Signal.Silent()).Subscribe(observer); + openings.OnNext(0); + + source.OnError(new InvalidOperationException("source")); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error source outer:error source"); + } + + /// Source failure after the opening signal completed faults only the open windows. + /// A task representing the asynchronous test. + [Test] + public async Task SourceFaults_AfterOpeningsCompleted_FaultsOnlyTheOpenWindows() + { + Signal source = new(); + Signal openings = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceOpeningSignal(source, openings, static _ => Signal.Silent()).Subscribe(observer); + openings.OnNext(0); + openings.OnCompleted(); + + source.OnError(new InvalidOperationException("source")); + + await Assert.That(observer.Text).IsEqualTo("open w0 outer:done w0:error source"); + } + + /// A second completion of the opening signal is ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OpeningsComplete_Repeated_CompletesTheOuterSequenceOnce() + { + RecordingWitness> observer = new(); + SliceOpeningWitness witness = new(observer, static _ => Signal.Silent()); + + witness.Openings.OnCompleted(); + witness.Openings.OnCompleted(); + + await Assert.That(observer.Completed).IsEqualTo(1); + } + + /// Disposing the outer subscription keeps everything alive while a window is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileWindowSubscribed_KeepsSourceUntilWindowIsDisposed() + { + Signal source = new(); + Signal openings = new(); + List> closers = []; + WindowRecordingWitness observer = new(); + var outer = new SliceOpeningSignal(source, openings, _ => NewCloser(closers)).Subscribe(observer); + openings.OnNext(0); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers && closers[0].HasObservers; + source.OnNext("a"); + observer.Subscriptions[0].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(closers[0].HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a"); + } + + /// A downstream observer failure tears the sink down and reaches the caller. + /// A task representing the asynchronous test. + [Test] + public async Task Open_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + Signal openings = new(); + ThrowingWitness> observer = new(throwOnNext: true); + using var subscription = new SliceOpeningSignal(source, openings, static _ => Signal.Silent()).Subscribe(observer); + + await Assert.That(() => openings.OnNext(0)).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + RecordingWitness> observer = new(); + SliceOpeningWitness witness = new(observer, static _ => Signal.Silent()); + witness.Dispose(); + + witness.OnNext("a"); + witness.Openings.OnNext(0); + witness.Openings.OnCompleted(); + witness.OnCompleted(); + + await Assert.That(observer.Values.Count).IsEqualTo(0); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A null observer or selector is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + RecordingWitness> observer = new(); + + await Assert.That(static () => new SliceOpeningWitness(null!, static _ => Signal.Silent())).ThrowsExactly(); + await Assert.That(() => new SliceOpeningWitness(observer, null!)).ThrowsExactly(); + } + + /// Creates a closing signal and records it. + /// The recorded closing signals. + /// The closing signal. + private static Signal NewCloser(List> closers) + { + Signal closer = new(); + closers.Add(closer); + return closer; + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceRouterTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceRouterTests.cs new file mode 100644 index 00000000..a58dddaf --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceRouterTests.cs @@ -0,0 +1,221 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the router that delivers a sliced sequence in posting order outside the caller's lock. +public class SliceRouterTests +{ + /// Nothing is delivered until the router is flushed, and then everything arrives in posting order. + /// A task representing the asynchronous test. + [Test] + public async Task Flush_DeliversPostedNotificationsInOrder() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow window = new(owner); + + router.Open(window); + router.Publish(window, "a"); + router.Publish(window, "b"); + router.Complete(window); + var beforeFlush = outer.Text; + router.Flush(); + + await Assert.That(beforeFlush).IsEqualTo(string.Empty); + await Assert.That(outer.Text).IsEqualTo("open w0 w0:a w0:b w0:done"); + } + + /// A window fault is delivered to the window. + /// A task representing the asynchronous test. + [Test] + public async Task Flush_FaultedWindow_DeliversTheError() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow window = new(owner); + + router.Open(window); + router.Fault(window, new InvalidOperationException("boom")); + router.Flush(); + + await Assert.That(outer.Text).IsEqualTo("open w0 w0:error boom"); + } + + /// Finishing terminates each window and then the outer observer. + /// A task representing the asynchronous test. + [Test] + public async Task Finish_TerminatesWindowsThenTheOuterObserver() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow first = new(owner); + SliceWindow second = new(owner); + router.Open(first); + router.Open(second); + router.Flush(); + + router.Finish([first, second], null); + router.Flush(); + + await Assert.That(outer.Text).IsEqualTo("open w0 open w1 w0:done w1:done outer:done"); + } + + /// Finishing with an error faults each window and then the outer observer. + /// A task representing the asynchronous test. + [Test] + public async Task Finish_WithError_FaultsWindowsThenTheOuterObserver() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow window = new(owner); + router.Open(window); + router.Flush(); + + router.Finish([window], new InvalidOperationException("boom")); + router.Flush(); + + await Assert.That(outer.Text).IsEqualTo("open w0 w0:error boom outer:error boom"); + } + + /// Nothing posted after the terminal notification is delivered. + /// A task representing the asynchronous test. + [Test] + public async Task Publish_AfterFinish_IsNotDelivered() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow window = new(owner); + router.Open(window); + router.Finish([], null); + + router.Publish(window, "a"); + router.Flush(); + + await Assert.That(outer.Text).IsEqualTo("open w0 outer:done"); + } + + /// Completing the outer sequence early leaves later window notifications deliverable. + /// A task representing the asynchronous test. + [Test] + public async Task CompleteOuter_LeavesWindowNotificationsDeliverable() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow window = new(owner); + router.Open(window); + router.CompleteOuter(); + router.Publish(window, "a"); + router.FinishWindows([window], null); + + router.Flush(); + + await Assert.That(outer.Text).IsEqualTo("open w0 outer:done w0:a w0:done"); + } + + /// Once the owner is disposed, outer notifications stop and window notifications continue. + /// A task representing the asynchronous test. + [Test] + public async Task Flush_AfterOwnerDisposed_StopsOuterNotificationsOnly() + { + SharedSubscription owner = new(); + WindowRecordingWitness outer = new(); + SliceRouter, string> router = new(outer, owner); + SliceWindow window = new(owner); + router.Open(window); + router.Flush(); + owner.Dispose(); + + router.Open(new SliceWindow(owner)); + router.CompleteOuter(); + router.Publish(window, "a"); + router.Finish([window], new InvalidOperationException("boom")); + router.Flush(); + + await Assert.That(outer.Text).IsEqualTo("open w0 w0:a w0:error boom"); + } + + /// A notification posted by the observer that is being delivered arrives after that observer returns. + /// A task representing the asynchronous test. + [Test] + public async Task Flush_PostedDuringDelivery_IsDeliveredAfterTheObserverReturns() + { + SharedSubscription owner = new(); + List log = []; + SliceRouter, string>? router = null; + SliceWindow window = new(owner); + var outer = new CallbackWindowObserver(() => + { + log.Add("open"); + router!.Publish(window, "a"); + router.Flush(); + log.Add("returned"); + }); + router = new(outer, owner); + using var subscription = window.Subscribe(new CallbackValueObserver(value => log.Add($"value {value}"))); + + router.Open(window); + router.Flush(); + + await Assert.That(string.Join(' ', log)).IsEqualTo("open returned value a"); + } + + /// A null observer or owner is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_NullArguments_ThrowArgumentNull() + { + RecordingWitness> outer = new(); + + await Assert.That(static () => new SliceRouter, string>(null!, new())).ThrowsExactly(); + await Assert.That(() => new SliceRouter, string>(outer, null!)).ThrowsExactly(); + } + + /// Runs a callback for each window. + /// The callback. + private sealed class CallbackWindowObserver(Action onWindow) : IObserver> + { + /// + public void OnCompleted() + { + } + + /// + public void OnError(Exception error) + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(IObservable value) => onWindow(); + } + + /// Runs a callback for each value. + /// The callback. + private sealed class CallbackValueObserver(Action onValue) : IObserver + { + /// + public void OnCompleted() + { + } + + /// + public void OnError(Exception error) + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(string value) => onValue(value); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountSignalTests.cs new file mode 100644 index 00000000..9f0912b0 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountSignalTests.cs @@ -0,0 +1,65 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Concurrency; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into windows that end after a duration or a number of values. +public class SliceTimeCountSignalTests +{ + /// The maximum duration of each window, in milliseconds. + private const int SpanMilliseconds = 10; + + /// The maximum number of values in each window. + private const int WindowSize = 2; + + /// Each subscription runs its own timer. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_TwiceRunsEachTimerOnItsOwn() + { + const int laterSubscriptionOffsetMilliseconds = 5; + Signal source = new(); + VirtualClock clock = new(); + SliceTimeCountSignal signal = new(source, TimeSpan.FromMilliseconds(SpanMilliseconds), WindowSize, clock); + WindowRecordingWitness first = new(); + WindowRecordingWitness second = new(); + + using var firstSubscription = signal.Subscribe(first); + clock.AdvanceBy(TimeSpan.FromMilliseconds(laterSubscriptionOffsetMilliseconds)); + using var secondSubscription = signal.Subscribe(second); + clock.AdvanceBy(TimeSpan.FromMilliseconds(laterSubscriptionOffsetMilliseconds)); + + await Assert.That(first.Text).IsEqualTo("open w0 w0:done open w1"); + await Assert.That(second.Text).IsEqualTo("open w0"); + } + + /// A null argument or a non-positive duration or count is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_InvalidArguments_Throw() + { + var source = Signal.None(); + VirtualClock clock = new(); + var span = TimeSpan.FromMilliseconds(SpanMilliseconds); + + await Assert.That(() => new SliceTimeCountSignal(null!, span, WindowSize, clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeCountSignal(source, span, WindowSize, null!)).ThrowsExactly(); + await Assert.That(() => new SliceTimeCountSignal(source, TimeSpan.Zero, WindowSize, clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeCountSignal(source, span, 0, clock)).ThrowsExactly(); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + SliceTimeCountSignal signal = new(Signal.None(), TimeSpan.FromMilliseconds(SpanMilliseconds), WindowSize, new VirtualClock()); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountWitnessTests.cs new file mode 100644 index 00000000..4eec875a --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeCountWitnessTests.cs @@ -0,0 +1,202 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Concurrency; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that hands out windows that end after a duration or a number of values. +public class SliceTimeCountWitnessTests +{ + /// The maximum duration of each window, in milliseconds. + private const int SpanMilliseconds = 10; + + /// A full window ends at once and each new window restarts the duration. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_CountReached_EndsTheWindowAndOpensTheNext() + { + const int windowSize = 2; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeCountSignal(source, Ms(SpanMilliseconds), windowSize, clock).Subscribe(observer); + + source.OnNext("a"); + source.OnNext("b"); + var afterCount = observer.Text; + clock.AdvanceBy(Ms(SpanMilliseconds)); + source.OnNext("c"); + source.OnCompleted(); + + await Assert.That(afterCount).IsEqualTo("open w0 w0:a w0:b w0:done open w1"); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:b w0:done open w1 w1:done open w2 w2:c w2:done outer:done"); + } + + /// The duration ends a window that has not reached its count. + /// A task representing the asynchronous test. + [Test] + public async Task Tick_DurationElapses_EndsTheWindowAndStartsTheNext() + { + const int windowSize = 5; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeCountSignal(source, Ms(SpanMilliseconds), windowSize, clock).Subscribe(observer); + + source.OnNext("a"); + clock.AdvanceBy(Ms(SpanMilliseconds)); + source.OnNext("b"); + clock.AdvanceBy(Ms(SpanMilliseconds)); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:done open w1 w1:b w1:done open w2"); + } + + /// The timer of a window that filled up is cancelled, so it cannot end the window after it. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_CountReached_CancelsTheEarlierTimer() + { + const int windowSize = 2; + const int halfSpanMilliseconds = 5; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeCountSignal(source, Ms(SpanMilliseconds), windowSize, clock).Subscribe(observer); + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + source.OnNext("a"); + source.OnNext("b"); + + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + var atOriginalDeadline = observer.Text; + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + + await Assert.That(atOriginalDeadline).IsEqualTo("open w0 w0:a w0:b w0:done open w1"); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:b w0:done open w1 w1:done open w2"); + } + + /// A source error faults the window and the outer sequence and cancels the timer. + /// A task representing the asynchronous test. + [Test] + public async Task OnError_FaultsTheWindowAndTheOuterSequence() + { + const int windowSize = 2; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeCountSignal(source, Ms(SpanMilliseconds), windowSize, clock).Subscribe(observer); + + source.OnError(new InvalidOperationException("boom")); + clock.AdvanceBy(Ms(SpanMilliseconds + SpanMilliseconds)); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:error boom outer:error boom"); + } + + /// Disposing the outer subscription keeps the source alive while a window is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileWindowSubscribed_KeepsSourceUntilWindowIsDisposed() + { + const int windowSize = 2; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + var outer = new SliceTimeCountSignal(source, Ms(SpanMilliseconds), windowSize, clock).Subscribe(observer); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers; + source.OnNext("a"); + observer.Subscriptions[0].Dispose(); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a"); + } + + /// A downstream observer failure tears the sink down. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + VirtualClock clock = new(); + var windows = 0; + using var subscription = new SliceTimeCountSignal(source, Ms(SpanMilliseconds), 1, clock).Subscribe(new CallbackWindowObserver(() => + { + windows++; + if (windows > 1) + { + throw new InvalidOperationException("observer"); + } + })); + + await Assert.That(() => source.OnNext("a")).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + const int windowSize = 2; + VirtualClock clock = new(); + RecordingWitness> observer = new(); + SliceTimeCountWitness witness = new(observer, Ms(SpanMilliseconds), windowSize, clock); + witness.Start(); + witness.Dispose(); + + witness.OnNext("a"); + witness.OnCompleted(); + clock.AdvanceBy(Ms(SpanMilliseconds + SpanMilliseconds)); + + await Assert.That(observer.Values.Count).IsEqualTo(1); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A null argument or a non-positive duration or count is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_InvalidArguments_Throw() + { + const int windowSize = 2; + VirtualClock clock = new(); + RecordingWitness> observer = new(); + + await Assert.That(() => new SliceTimeCountWitness(null!, Ms(SpanMilliseconds), windowSize, clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeCountWitness(observer, Ms(SpanMilliseconds), windowSize, null!)).ThrowsExactly(); + await Assert.That(() => new SliceTimeCountWitness(observer, TimeSpan.Zero, windowSize, clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeCountWitness(observer, Ms(SpanMilliseconds), 0, clock)).ThrowsExactly(); + } + + /// Creates a duration in milliseconds. + /// The number of milliseconds. + /// The duration. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static TimeSpan Ms(int milliseconds) => TimeSpan.FromMilliseconds(milliseconds); + + /// Runs a callback for each window. + /// The callback. + private sealed class CallbackWindowObserver(Action onWindow) : IObserver> + { + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnNext(IObservable value) => onWindow(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceTimeSignalTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeSignalTests.cs new file mode 100644 index 00000000..1d28cfca --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeSignalTests.cs @@ -0,0 +1,64 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Concurrency; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the cold signal that splits a source into windows of a fixed duration. +public class SliceTimeSignalTests +{ + /// The duration of each window, in milliseconds. + private const int SpanMilliseconds = 10; + + /// Each subscription runs its own timer. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_TwiceRunsEachTimerOnItsOwn() + { + const int laterSubscriptionOffsetMilliseconds = 5; + Signal source = new(); + VirtualClock clock = new(); + var span = TimeSpan.FromMilliseconds(SpanMilliseconds); + SliceTimeSignal signal = new(source, span, span, clock); + WindowRecordingWitness first = new(); + WindowRecordingWitness second = new(); + + using var firstSubscription = signal.Subscribe(first); + clock.AdvanceBy(TimeSpan.FromMilliseconds(laterSubscriptionOffsetMilliseconds)); + using var secondSubscription = signal.Subscribe(second); + clock.AdvanceBy(TimeSpan.FromMilliseconds(laterSubscriptionOffsetMilliseconds)); + + await Assert.That(first.Text).IsEqualTo("open w0 w0:done open w1"); + await Assert.That(second.Text).IsEqualTo("open w0"); + } + + /// A null argument or a non-positive duration is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_InvalidArguments_Throw() + { + var source = Signal.None(); + VirtualClock clock = new(); + var span = TimeSpan.FromMilliseconds(SpanMilliseconds); + + await Assert.That(() => new SliceTimeSignal(null!, span, span, clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeSignal(source, span, span, null!)).ThrowsExactly(); + await Assert.That(() => new SliceTimeSignal(source, TimeSpan.Zero, span, clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeSignal(source, span, TimeSpan.Zero, clock)).ThrowsExactly(); + } + + /// A null observer is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_NullObserver_ThrowsArgumentNull() + { + var span = TimeSpan.FromMilliseconds(SpanMilliseconds); + SliceTimeSignal signal = new(Signal.None(), span, span, new VirtualClock()); + + await Assert.That(() => signal.Subscribe(null!)).ThrowsExactly(); + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceTimeWitnessTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeWitnessTests.cs new file mode 100644 index 00000000..0adbb2b3 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceTimeWitnessTests.cs @@ -0,0 +1,227 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; +using ReactiveUI.Primitives.Advanced; +using ReactiveUI.Primitives.Concurrency; +using ReactiveUI.Primitives.Signals; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests the sink that hands out windows of a fixed duration. +public class SliceTimeWitnessTests +{ + /// The duration of each window, in milliseconds. + private const int SpanMilliseconds = 10; + + /// A shift equal to the duration hands out consecutive windows. + /// A task representing the asynchronous test. + [Test] + public async Task Tick_ShiftEqualToSpan_HandsOutConsecutiveWindows() + { + const int halfSpanMilliseconds = 5; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock).Subscribe(observer); + + source.OnNext("a"); + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + source.OnNext("b"); + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + source.OnNext("c"); + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + source.OnNext("d"); + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + source.OnNext("e"); + clock.AdvanceBy(Ms(halfSpanMilliseconds)); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:b w0:done open w1 w1:c w1:d w1:done open w2 w2:e w2:done outer:done"); + } + + /// A shift shorter than the duration hands out overlapping windows. + /// A task representing the asynchronous test. + [Test] + public async Task Tick_ShiftShorterThanSpan_OverlapsWindows() + { + const int shiftMilliseconds = 5; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(shiftMilliseconds), clock).Subscribe(observer); + + source.OnNext("a"); + clock.AdvanceBy(Ms(shiftMilliseconds)); + source.OnNext("b"); + clock.AdvanceBy(Ms(shiftMilliseconds)); + source.OnNext("c"); + clock.AdvanceBy(Ms(shiftMilliseconds)); + source.OnNext("d"); + clock.AdvanceBy(Ms(shiftMilliseconds)); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo( + "open w0 w0:a open w1 w0:b w1:b w0:done open w2 w1:c w2:c w1:done open w3 w2:d w3:d w2:done open w4 w3:done w4:done outer:done"); + } + + /// A shift longer than the duration leaves a gap in which values reach no window. + /// A task representing the asynchronous test. + [Test] + public async Task Tick_ShiftLongerThanSpan_LeavesAGap() + { + const int shiftMilliseconds = 15; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(shiftMilliseconds), clock).Subscribe(observer); + + source.OnNext("a"); + clock.AdvanceBy(Ms(SpanMilliseconds)); + source.OnNext("dropped"); + clock.AdvanceBy(Ms(shiftMilliseconds - SpanMilliseconds)); + source.OnNext("b"); + clock.AdvanceBy(Ms(SpanMilliseconds)); + source.OnNext("dropped"); + source.OnCompleted(); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:a w0:done open w1 w1:b w1:done outer:done"); + } + + /// Source completion cancels the timer. + /// A task representing the asynchronous test. + [Test] + public async Task OnCompleted_CancelsTheTimer() + { + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock).Subscribe(observer); + source.OnCompleted(); + + clock.AdvanceBy(Ms(SpanMilliseconds + SpanMilliseconds)); + + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done outer:done"); + } + + /// A source error faults every open window and the outer sequence. + /// A task representing the asynchronous test. + [Test] + public async Task OnError_FaultsOpenWindowsThenTheOuterSequence() + { + const int shiftMilliseconds = 5; + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + using var subscription = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(shiftMilliseconds), clock).Subscribe(observer); + clock.AdvanceBy(Ms(shiftMilliseconds)); + + source.OnError(new InvalidOperationException("boom")); + + await Assert.That(observer.Text).IsEqualTo("open w0 open w1 w0:error boom w1:error boom outer:error boom"); + } + + /// Disposing the outer subscription keeps the source and the timer alive while a window is subscribed. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_OuterWhileWindowSubscribed_KeepsSourceUntilWindowIsDisposed() + { + Signal source = new(); + VirtualClock clock = new(); + WindowRecordingWitness observer = new(); + var outer = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock).Subscribe(observer); + + outer.Dispose(); + var aliveAfterOuter = source.HasObservers; + clock.AdvanceBy(Ms(SpanMilliseconds)); + observer.Subscriptions[0].Dispose(); + clock.AdvanceBy(Ms(SpanMilliseconds)); + + await Assert.That(aliveAfterOuter).IsTrue(); + await Assert.That(source.HasObservers).IsFalse(); + await Assert.That(observer.Text).IsEqualTo("open w0 w0:done"); + } + + /// A downstream observer failure tears the sink down. + /// A task representing the asynchronous test. + [Test] + public async Task Tick_OuterObserverThrows_DisposesTheSinkAndRethrows() + { + Signal source = new(); + VirtualClock clock = new(); + using var subscription = new SliceTimeSignal(source, Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock).Subscribe(new ThrowAfterFirstWindow()); + + await Assert.That(() => clock.AdvanceBy(Ms(SpanMilliseconds))).ThrowsExactly(); + await Assert.That(source.HasObservers).IsFalse(); + } + + /// Notifications after the sink is disposed are ignored. + /// A task representing the asynchronous test. + [Test] + public async Task OnNext_AfterDispose_IsIgnored() + { + VirtualClock clock = new(); + RecordingWitness> observer = new(); + SliceTimeWitness witness = new(observer, Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock); + witness.Start(); + witness.Dispose(); + + witness.OnNext("a"); + witness.OnCompleted(); + clock.AdvanceBy(Ms(SpanMilliseconds + SpanMilliseconds)); + + await Assert.That(observer.Values.Count).IsEqualTo(1); + await Assert.That(observer.Completed).IsEqualTo(0); + } + + /// A null argument or a non-positive duration is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task Constructor_InvalidArguments_Throw() + { + VirtualClock clock = new(); + RecordingWitness> observer = new(); + var negative = TimeSpan.FromTicks(-1); + + await Assert.That(() => new SliceTimeWitness(null!, Ms(SpanMilliseconds), Ms(SpanMilliseconds), clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeWitness(observer, Ms(SpanMilliseconds), Ms(SpanMilliseconds), null!)).ThrowsExactly(); + await Assert.That(() => new SliceTimeWitness(observer, TimeSpan.Zero, Ms(SpanMilliseconds), clock)).ThrowsExactly(); + await Assert.That(() => new SliceTimeWitness(observer, Ms(SpanMilliseconds), negative, clock)).ThrowsExactly(); + } + + /// Creates a duration in milliseconds. + /// The number of milliseconds. + /// The duration. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static TimeSpan Ms(int milliseconds) => TimeSpan.FromMilliseconds(milliseconds); + + /// Accepts the first window and throws on the next. + private sealed class ThrowAfterFirstWindow : IObserver> + { + /// The number of windows received. + private int _windows; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnCompleted() + { + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void OnError(Exception error) + { + } + + /// + public void OnNext(IObservable value) + { + _windows++; + if (_windows > 1) + { + throw new InvalidOperationException("observer"); + } + } + } +} diff --git a/src/tests/ReactiveUI.Primitives.Tests/SliceWindowTests.cs b/src/tests/ReactiveUI.Primitives.Tests/SliceWindowTests.cs new file mode 100644 index 00000000..db0700b6 --- /dev/null +++ b/src/tests/ReactiveUI.Primitives.Tests/SliceWindowTests.cs @@ -0,0 +1,135 @@ +// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved. +// ReactiveUI Association Incorporated licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using ReactiveUI.Primitives.Advanced; + +namespace ReactiveUI.Primitives.Tests; + +/// Tests one window of a sliced sequence. +public class SliceWindowTests +{ + /// Published values reach every current subscriber, and a completion ends them. + /// A task representing the asynchronous test. + [Test] + public async Task Publish_ReachesEverySubscriberInOrder() + { + SliceWindow window = new(new()); + RecordingWitness first = new(); + RecordingWitness second = new(); + using var firstSubscription = window.Subscribe(first); + using var secondSubscription = window.Subscribe(second); + + window.Publish("a"); + window.Publish("b"); + window.Complete(); + + await Assert.That(first.Values.SequenceEqual(["a", "b"])).IsTrue(); + await Assert.That(second.Values.SequenceEqual(["a", "b"])).IsTrue(); + await Assert.That(first.Completed).IsEqualTo(1); + await Assert.That(second.Completed).IsEqualTo(1); + } + + /// A fault reaches every current subscriber. + /// A task representing the asynchronous test. + [Test] + public async Task Fault_ReachesEverySubscriber() + { + SliceWindow window = new(new()); + RecordingWitness observer = new(); + using var subscription = window.Subscribe(observer); + InvalidOperationException error = new("boom"); + + window.Fault(error); + + await Assert.That(observer.Errors.Single()).IsSameReferenceAs(error); + } + + /// A subscriber that arrives after completion is completed at once and holds no lease. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_AfterComplete_CompletesAtOnce() + { + RecordingDisposable underlying = new(); + SharedSubscription owner = new(); + owner.Attach(underlying); + SliceWindow window = new(owner); + window.Complete(); + RecordingWitness late = new(); + + using var subscription = window.Subscribe(late); + owner.Dispose(); + + await Assert.That(late.Completed).IsEqualTo(1); + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// A subscriber that arrives after a fault receives the error at once. + /// A task representing the asynchronous test. + [Test] + public async Task Subscribe_AfterFault_ReceivesTheErrorAtOnce() + { + SliceWindow window = new(new()); + InvalidOperationException error = new("boom"); + window.Fault(error); + RecordingWitness late = new(); + + using var subscription = window.Subscribe(late); + + await Assert.That(late.Errors.Single()).IsSameReferenceAs(error); + } + + /// A terminated window ignores later notifications. + /// A task representing the asynchronous test. + [Test] + public async Task Publish_AfterTermination_IsIgnored() + { + SliceWindow window = new(new()); + RecordingWitness observer = new(); + using var subscription = window.Subscribe(observer); + window.Complete(); + + window.Publish("a"); + window.Fault(new InvalidOperationException("late")); + window.Complete(); + + await Assert.That(observer.Values.Count).IsEqualTo(0); + await Assert.That(observer.Errors.Count).IsEqualTo(0); + await Assert.That(observer.Completed).IsEqualTo(1); + } + + /// A disposed subscription stops receiving and returns its lease. + /// A task representing the asynchronous test. + [Test] + public async Task Dispose_Subscription_StopsDeliveryAndReturnsTheLease() + { + RecordingDisposable underlying = new(); + SharedSubscription owner = new(); + owner.Attach(underlying); + SliceWindow window = new(owner); + RecordingWitness observer = new(); + var subscription = window.Subscribe(observer); + owner.Dispose(); + var whileSubscribed = underlying.DisposeCount; + + subscription.Dispose(); + subscription.Dispose(); + window.Publish("a"); + + await Assert.That(whileSubscribed).IsEqualTo(0); + await Assert.That(observer.Values.Count).IsEqualTo(0); + await Assert.That(underlying.DisposeCount).IsEqualTo(1); + } + + /// A null owner, observer or error is rejected. + /// A task representing the asynchronous test. + [Test] + public async Task InvalidArguments_ThrowArgumentNull() + { + SliceWindow window = new(new()); + + await Assert.That(static () => new SliceWindow(null!)).ThrowsExactly(); + await Assert.That(() => window.Subscribe(null!)).ThrowsExactly(); + await Assert.That(() => window.Fault(null!)).ThrowsExactly(); + } +}