UniRx icon indicating copy to clipboard operation
UniRx copied to clipboard

Rx.NET operators not implemented yet.

Open neuecc opened this issue 9 years ago • 9 comments

Here is the list.

  • [ ] All(IObservable1 source, Func2 predicate)
  • [ ] And(IObservable1 left, IObservable1 right)
  • [ ] Any(IObservable`1 source)
  • [ ] Any(IObservable1 source, Func2 predicate)
  • [ ] Average(IObservable`1 source)
  • [ ] Average(IObservable1 source, Func2 selector)
  • [ ] Buffer(IObservable1 source, Func1 bufferClosingSelector)
  • [ ] Buffer(IObservable1 source, IObservable1 bufferOpenings, Func`2 bufferClosingSelector)
  • [ ] Case(Func1 selector, IDictionary2 sources)
  • [ ] Case(Func1 selector, IDictionary2 sources, IObservable`1 defaultSource)
  • [ ] Case(Func1 selector, IDictionary2 sources, IScheduler scheduler)
  • [ ] Catch(IObservable1 first, IObservable1 second)
  • [ ] Catch(IObservable`1[] sources)
  • [ ] Chunkify(IObservable`1 source)
  • [ ] Collect(IObservable1 source, Func1 getInitialCollector, Func3 merge, Func2 getNewCollector)
  • [ ] Collect(IObservable1 source, Func1 newCollector, Func`3 merge)
  • [ ] Contains(IObservable`1 source, TSource value)
  • [ ] Contains(IObservable1 source, TSource value, IEqualityComparer1 comparer)
  • [ ] Count(IObservable`1 source)
  • [ ] Count(IObservable1 source, Func2 predicate)
  • [ ] Delay(IObservable`1 source, DateTimeOffset dueTime)
  • [ ] Delay(IObservable`1 source, DateTimeOffset dueTime, IScheduler scheduler)
  • [ ] Delay(IObservable1 source, Func2 delayDurationSelector)
  • [ ] Delay(IObservable1 source, IObservable1 subscriptionDelay, Func`2 delayDurationSelector)
  • [ ] DoWhile(IObservable1 source, Func1 condition)
  • [ ] ElementAt(IObservable`1 source, Int32 index)
  • [ ] ElementAtOrDefault(IObservable`1 source, Int32 index)
  • [ ] Finally(IObservable`1 source, Action finallyAction)
  • [ ] Generate(TState initialState, Func2 condition, Func2 iterate, Func`2 resultSelector)
  • [ ] Generate(TState initialState, Func2 condition, Func2 iterate, Func2 resultSelector, Func2 timeSelector)
  • [ ] Generate(TState initialState, Func2 condition, Func2 iterate, Func2 resultSelector, Func2 timeSelector)
  • [ ] Generate(TState initialState, Func2 condition, Func2 iterate, Func2 resultSelector, Func2 timeSelector, IScheduler scheduler)
  • [ ] Generate(TState initialState, Func2 condition, Func2 iterate, Func2 resultSelector, Func2 timeSelector, IScheduler scheduler)
  • [ ] Generate(TState initialState, Func2 condition, Func2 iterate, Func`2 resultSelector, IScheduler scheduler)
  • [x] GroupBy(IObservable1 source, Func2 keySelector)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, Func`2 elementSelector)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, Func`2 elementSelector, Int32 capacity)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, Func2 elementSelector, Int32 capacity, IEqualityComparer1 comparer)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, IEqualityComparer`1 comparer)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, Int32 capacity)
  • [x] GroupBy(IObservable1 source, Func2 keySelector, Int32 capacity, IEqualityComparer`1 comparer)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func`2 durationSelector)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func2 durationSelector, IEqualityComparer1 comparer)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func`2 durationSelector, Int32 capacity)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func2 durationSelector, Int32 capacity, IEqualityComparer1 comparer)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func2 elementSelector, Func2 durationSelector)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func2 elementSelector, Func2 durationSelector, IEqualityComparer`1 comparer)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func2 elementSelector, Func2 durationSelector, Int32 capacity)
  • [ ] GroupByUntil(IObservable1 source, Func2 keySelector, Func2 elementSelector, Func2 durationSelector, Int32 capacity, IEqualityComparer`1 comparer)
  • [ ] GroupJoin(IObservable1 left, IObservable1 right, Func2 leftDurationSelector, Func2 rightDurationSelector, Func`3 resultSelector)
  • [ ] If(Func1 condition, IObservable1 thenSource)
  • [ ] If(Func1 condition, IObservable1 thenSource, IObservable`1 elseSource)
  • [ ] If(Func1 condition, IObservable1 thenSource, IScheduler scheduler)
  • [ ] IsEmpty(IObservable`1 source)
  • [ ] Join(IObservable1 left, IObservable1 right, Func2 leftDurationSelector, Func2 rightDurationSelector, Func`3 resultSelector)
  • [ ] Latest(IObservable`1 source)
  • [ ] LongCount(IObservable`1 source)
  • [ ] LongCount(IObservable1 source, Func2 predicate)
  • [ ] Max(IObservable`1 source)
  • [ ] Max(IObservable1 source, Func2 selector)
  • [ ] Max(IObservable1 source, Func2 selector, IComparer`1 comparer)
  • [ ] Max(IObservable1 source, IComparer1 comparer)
  • [ ] MaxBy(IObservable1 source, Func2 keySelector)
  • [ ] MaxBy(IObservable1 source, Func2 keySelector, IComparer`1 comparer)
  • [ ] Min(IObservable`1 source)
  • [ ] Min(IObservable1 source, Func2 selector)
  • [ ] Min(IObservable1 source, Func2 selector, IComparer`1 comparer)
  • [ ] Min(IObservable1 source, IComparer1 comparer)
  • [ ] MinBy(IObservable1 source, Func2 keySelector)
  • [ ] MinBy(IObservable1 source, Func2 keySelector, IComparer`1 comparer)
  • [ ] MostRecent(IObservable`1 source, TSource initialValue)
  • [ ] Multicast(IObservable1 source, Func1 subjectSelector, Func`2 selector)
  • [ ] Next(IObservable`1 source)
  • [ ] OnErrorResumeNext(IEnumerable`1 sources)
  • [ ] OnErrorResumeNext(IObservable1 first, IObservable1 second)
  • [ ] OnErrorResumeNext(IObservable`1[] sources)
  • [ ] Publish(IObservable1 source, Func2 selector)
  • [ ] Publish(IObservable1 source, Func2 selector, TSource initialValue)
  • [ ] PublishLast(IObservable1 source, Func2 selector)
  • [ ] Replay(IObservable1 source, Func2 selector)
  • [ ] Replay(IObservable1 source, Func2 selector, Int32 bufferSize)
  • [ ] Replay(IObservable1 source, Func2 selector, Int32 bufferSize, IScheduler scheduler)
  • [ ] Replay(IObservable1 source, Func2 selector, Int32 bufferSize, TimeSpan window)
  • [ ] Replay(IObservable1 source, Func2 selector, Int32 bufferSize, TimeSpan window, IScheduler scheduler)
  • [ ] Replay(IObservable1 source, Func2 selector, IScheduler scheduler)
  • [ ] Replay(IObservable1 source, Func2 selector, TimeSpan window)
  • [ ] Replay(IObservable1 source, Func2 selector, TimeSpan window, IScheduler scheduler)
  • [ ] Sample(IObservable1 source, IObservable1 sampler)
  • [ ] SequenceEqual(IObservable1 first, IEnumerable1 second)
  • [ ] SequenceEqual(IObservable1 first, IEnumerable1 second, IEqualityComparer`1 comparer)
  • [ ] SkipLast(IObservable`1 source, Int32 count)
  • [ ] SkipLast(IObservable`1 source, TimeSpan duration)
  • [ ] SkipLast(IObservable`1 source, TimeSpan duration, IScheduler scheduler)
  • [ ] SkipUntil(IObservable`1 source, DateTimeOffset startTime)
  • [ ] SkipUntil(IObservable`1 source, DateTimeOffset startTime, IScheduler scheduler)
  • [ ] Subscribe(IEnumerable1 source, IObserver1 observer)
  • [ ] Subscribe(IEnumerable1 source, IObserver1 observer, IScheduler scheduler)
  • [ ] Sum(IObservable`1 source)
  • [ ] Sum(IObservable1 source, Func2 selector)
  • [x] TakeLast(IObservable`1 source, Int32 count)
  • [ ] TakeLast(IObservable`1 source, Int32 count, IScheduler scheduler)
  • [x] TakeLast(IObservable`1 source, TimeSpan duration)
  • [x] TakeLast(IObservable`1 source, TimeSpan duration, IScheduler scheduler)
  • [ ] TakeLast(IObservable`1 source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)
  • [ ] TakeLastBuffer(IObservable`1 source, Int32 count)
  • [ ] TakeLastBuffer(IObservable`1 source, TimeSpan duration)
  • [ ] TakeLastBuffer(IObservable`1 source, TimeSpan duration, IScheduler scheduler)
  • [ ] TakeUntil(IObservable`1 source, DateTimeOffset endTime)
  • [ ] TakeUntil(IObservable`1 source, DateTimeOffset endTime, IScheduler scheduler)
  • [ ] Then(IObservable1 source, Func2 selector)
  • [ ] Throttle(IObservable1 source, Func2 throttleDurationSelector)
  • [ ] Timeout(IObservable1 source, DateTimeOffset dueTime, IObservable1 other)
  • [ ] Timeout(IObservable1 source, DateTimeOffset dueTime, IObservable1 other, IScheduler scheduler)
  • [ ] Timeout(IObservable1 source, Func2 timeoutDurationSelector)
  • [ ] Timeout(IObservable1 source, Func2 timeoutDurationSelector, IObservable`1 other)
  • [ ] Timeout(IObservable1 source, IObservable1 firstTimeout, Func`2 timeoutDurationSelector)
  • [ ] Timeout(IObservable1 source, IObservable1 firstTimeout, Func2 timeoutDurationSelector, IObservable1 other)
  • [ ] Timeout(IObservable1 source, TimeSpan dueTime, IObservable1 other)
  • [ ] Timeout(IObservable1 source, TimeSpan dueTime, IObservable1 other, IScheduler scheduler)
  • [ ] ToDictionary(IObservable1 source, Func2 keySelector)
  • [ ] ToDictionary(IObservable1 source, Func2 keySelector, Func`2 elementSelector)
  • [ ] ToDictionary(IObservable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer)
  • [ ] ToDictionary(IObservable1 source, Func2 keySelector, IEqualityComparer`1 comparer)
  • [ ] ToEnumerable(IObservable`1 source)
  • [ ] ToEvent(IObservable`1 source)
  • [ ] ToEventPattern(IObservable`1 source)
  • [ ] ToLookup(IObservable1 source, Func2 keySelector)
  • [ ] ToLookup(IObservable1 source, Func2 keySelector, Func`2 elementSelector)
  • [ ] ToLookup(IObservable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer)
  • [ ] ToLookup(IObservable1 source, Func2 keySelector, IEqualityComparer`1 comparer)
  • [ ] Using(Func1 resourceFactory, Func2 observableFactory)
  • [ ] Using(Func2 resourceFactoryAsync, Func3 observableFactoryAsync)
  • [ ] When(IEnumerable`1 plans)
  • [ ] When(Plan`1[] plans)
  • [ ] While(Func1 condition, IObservable1 source)
  • [ ] Window(IObservable1 source, Func1 windowClosingSelector)
  • [ ] Window(IObservable`1 source, Int32 count)
  • [ ] Window(IObservable`1 source, Int32 count, Int32 skip)
  • [ ] Window(IObservable1 source, IObservable1 windowBoundaries)
  • [ ] Window(IObservable1 source, IObservable1 windowOpenings, Func`2 windowClosingSelector)
  • [ ] Window(IObservable`1 source, TimeSpan timeSpan)
  • [ ] Window(IObservable`1 source, TimeSpan timeSpan, Int32 count)
  • [ ] Window(IObservable`1 source, TimeSpan timeSpan, Int32 count, IScheduler scheduler)
  • [ ] Window(IObservable`1 source, TimeSpan timeSpan, IScheduler scheduler)
  • [ ] Window(IObservable`1 source, TimeSpan timeSpan, TimeSpan timeShift)
  • [ ] Window(IObservable`1 source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)

neuecc avatar Dec 16 '15 09:12 neuecc

Hello! Any estimates on Sum operator?

astaror avatar May 20 '16 13:05 astaror

Thank you. Currently you can use Aggregate instead of Sum.

Window, Aggregation Operators, Generate is requested to me. I'll implement it at first.

neuecc avatar May 24 '16 01:05 neuecc

-- Edited

I take it back, Switch() is already implemented.

franklin-ross avatar Jul 08 '16 12:07 franklin-ross

Hello! How about Join operator?

NikolayVoronkov avatar Sep 03 '16 09:09 NikolayVoronkov

The items checked are the implemented or the not-yet-implemented ones? I'm looking for Using(Func1 , Func2).

aalmada avatar Oct 13 '16 14:10 aalmada

Hi guys, Is the list updated?

jdnichollsc avatar Jan 16 '19 14:01 jdnichollsc

@neuecc are you still accepting pull requests? I'm thinking about implementing some of these operators.

mikey555 avatar Jun 08 '21 02:06 mikey555

Was also looking in to implementing OnErrorResumeNext as it stands right now I'm having to do some less then ideal work with Finally to get what I'm after.

thsbrown avatar May 17 '22 22:05 thsbrown

Hi guys! Any chance to GroupByUntil?

c84c avatar Oct 13 '22 09:10 c84c