Skip to content

Commit

Permalink
Merge 6a8a71d into 914b9c2
Browse files Browse the repository at this point in the history
  • Loading branch information
rpeach-sag committed Jul 23, 2018
2 parents 914b9c2 + 6a8a71d commit 693ca69
Show file tree
Hide file tree
Showing 52 changed files with 1,742 additions and 9 deletions.
6 changes: 6 additions & 0 deletions src/rx/interfaces/IObservable.mon
Original file line number Diff line number Diff line change
Expand Up @@ -556,4 +556,10 @@ event IObservable {
action<IObservable> returns IObservable pausable;
action<IObservable> returns IObservable pausableBuffered;
action<string> returns IDisposable toChannel;
action<any> returns IObservable toSortedList;
action<> returns IObservable toSortedListAsc;
action<> returns IObservable toSortedListDesc;
action<any> returns IObservable sort;
action<> returns IObservable sortAsc;
action<> returns IObservable sortDesc;
}
6 changes: 6 additions & 0 deletions src/rx/interfaces/ISubject.mon
Original file line number Diff line number Diff line change
Expand Up @@ -142,4 +142,10 @@ event ISubject {
action<IObservable> returns IObservable pausable;
action<IObservable> returns IObservable pausableBuffered;
action<string> returns IDisposable toChannel;
action<any> returns IObservable toSortedList;
action<> returns IObservable toSortedListAsc;
action<> returns IObservable toSortedListDesc;
action<any> returns IObservable sort;
action<> returns IObservable sortAsc;
action<> returns IObservable sortDesc;
}
4 changes: 2 additions & 2 deletions src/rx/objects/BehaviorSubject.mon
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ event BehaviorSubject {
action asISubject() returns ISubject {
return ISubject(self,
next, error, complete, asIObservable,
observable.connectObserver, observable.subscribe, observable.map, observable.publish, observable.connect, observable.refCount, observable.share, observable.take, observable.takeLast, observable.first, observable.last, observable.skip, observable.skipLast, observable.filter, observable.scan, observable.scanWithInitial, observable.distinct, observable.distinctBy, observable.combineLatestFromInstance, observable.withLatestFrom, observable.delay, observable.async, observable.do, observable.publishReplay, observable.shareReplay, observable.takeUntil, observable.repeatObservable, observable.flatMap, observable.mergeFromInstance, observable.zipFromInstance, observable.switchOnNext, observable.skipUntil, observable.elementAt, observable.reduce, observable.reduceWithInitial, observable.toStream, observable.catchError, observable.retry, observable.observeOn, observable.groupBy, observable.observeToChannel, observable.observeOnNew, observable.every, observable.contains, observable.takeWhile, observable.skipWhile, observable.concatFromInstance, observable.startWith, observable.defaultIfEmpty, observable.ignoreElements, observable.count, observable.sum, observable.sumInteger, observable.sumFloat, observable.sumDecimal, observable.concatString, observable.max, observable.maxInteger, observable.maxFloat, observable.maxDecimal, observable.min, observable.minInteger, observable.minFloat, observable.minDecimal, observable.average, observable.averageDecimal, observable.sequenceEqualFromInstance, observable.ambFromInstance, observable.timestamp, observable.updateTimestamp, observable.timeout, observable.getSync, observable.getSyncOr, observable.timeInterval, observable.distinctUntilChanged, observable.distinctByUntilChanged, observable.switchMap, observable.debounce, observable.windowTime, observable.throttleFirst, observable.throttleLast, observable.sampleTime, observable.buffer, observable.bufferTime, observable.bufferCount, observable.bufferTimeOrCount, observable.combineLatestToSequenceFromInstance, observable.withLatestFromToSequence, observable.zipToSequenceFromInstance, observable.groupByWindow, observable.windowCount, observable.windowTimeOrCount, observable.sample, observable.sampleCount, observable.sampleTimeOrCount, observable.bufferCountSkip, observable.pipe, observable.pluck, observable.mergeAll, observable.pipeOn, observable.pipeOnNew, observable.subscribeOn, observable.subscribeOnNew, observable.pairwise, observable.let, observable.groupByField, observable.complexPipe, observable.complexPipeOn, observable.complexPipeOnNew, observable.decouple, observable.distinctByField, observable.distinctByFieldUntilChanged, observable.pausable, observable.pausableBuffered, observable.toChannel);
observable.connectObserver, observable.subscribe, observable.map, observable.publish, observable.connect, observable.refCount, observable.share, observable.take, observable.takeLast, observable.first, observable.last, observable.skip, observable.skipLast, observable.filter, observable.scan, observable.scanWithInitial, observable.distinct, observable.distinctBy, observable.combineLatestFromInstance, observable.withLatestFrom, observable.delay, observable.async, observable.do, observable.publishReplay, observable.shareReplay, observable.takeUntil, observable.repeatObservable, observable.flatMap, observable.mergeFromInstance, observable.zipFromInstance, observable.switchOnNext, observable.skipUntil, observable.elementAt, observable.reduce, observable.reduceWithInitial, observable.toStream, observable.catchError, observable.retry, observable.observeOn, observable.groupBy, observable.observeToChannel, observable.observeOnNew, observable.every, observable.contains, observable.takeWhile, observable.skipWhile, observable.concatFromInstance, observable.startWith, observable.defaultIfEmpty, observable.ignoreElements, observable.count, observable.sum, observable.sumInteger, observable.sumFloat, observable.sumDecimal, observable.concatString, observable.max, observable.maxInteger, observable.maxFloat, observable.maxDecimal, observable.min, observable.minInteger, observable.minFloat, observable.minDecimal, observable.average, observable.averageDecimal, observable.sequenceEqualFromInstance, observable.ambFromInstance, observable.timestamp, observable.updateTimestamp, observable.timeout, observable.getSync, observable.getSyncOr, observable.timeInterval, observable.distinctUntilChanged, observable.distinctByUntilChanged, observable.switchMap, observable.debounce, observable.windowTime, observable.throttleFirst, observable.throttleLast, observable.sampleTime, observable.buffer, observable.bufferTime, observable.bufferCount, observable.bufferTimeOrCount, observable.combineLatestToSequenceFromInstance, observable.withLatestFromToSequence, observable.zipToSequenceFromInstance, observable.groupByWindow, observable.windowCount, observable.windowTimeOrCount, observable.sample, observable.sampleCount, observable.sampleTimeOrCount, observable.bufferCountSkip, observable.pipe, observable.pluck, observable.mergeAll, observable.pipeOn, observable.pipeOnNew, observable.subscribeOn, observable.subscribeOnNew, observable.pairwise, observable.let, observable.groupByField, observable.complexPipe, observable.complexPipeOn, observable.complexPipeOnNew, observable.decouple, observable.distinctByField, observable.distinctByFieldUntilChanged, observable.pausable, observable.pausableBuffered, observable.toChannel, observable.toSortedList, observable.toSortedListAsc, observable.toSortedListDesc, observable.sort, observable.sortAsc, observable.sortDesc);
}

action asIObservable() returns IObservable {
return IObservable(self,
observable.connectObserver, observable.subscribe, observable.map, observable.publish, observable.connect, observable.refCount, observable.share, observable.take, observable.takeLast, observable.first, observable.last, observable.skip, observable.skipLast, observable.filter, observable.scan, observable.scanWithInitial, observable.distinct, observable.distinctBy, observable.combineLatestFromInstance, observable.withLatestFrom, observable.delay, observable.async, observable.do, observable.publishReplay, observable.shareReplay, observable.takeUntil, observable.repeatObservable, observable.flatMap, observable.mergeFromInstance, observable.zipFromInstance, observable.switchOnNext, observable.skipUntil, observable.elementAt, observable.reduce, observable.reduceWithInitial, observable.toStream, observable.catchError, observable.retry, observable.observeOn, observable.groupBy, observable.observeToChannel, observable.observeOnNew, observable.every, observable.contains, observable.takeWhile, observable.skipWhile, observable.concatFromInstance, observable.startWith, observable.defaultIfEmpty, observable.ignoreElements, observable.count, observable.sum, observable.sumInteger, observable.sumFloat, observable.sumDecimal, observable.concatString, observable.max, observable.maxInteger, observable.maxFloat, observable.maxDecimal, observable.min, observable.minInteger, observable.minFloat, observable.minDecimal, observable.average, observable.averageDecimal, observable.sequenceEqualFromInstance, observable.ambFromInstance, observable.timestamp, observable.updateTimestamp, observable.timeout, observable.getSync, observable.getSyncOr, observable.timeInterval, observable.distinctUntilChanged, observable.distinctByUntilChanged, observable.switchMap, observable.debounce, observable.windowTime, observable.throttleFirst, observable.throttleLast, observable.sampleTime, observable.buffer, observable.bufferTime, observable.bufferCount, observable.bufferTimeOrCount, observable.combineLatestToSequenceFromInstance, observable.withLatestFromToSequence, observable.zipToSequenceFromInstance, observable.groupByWindow, observable.windowCount, observable.windowTimeOrCount, observable.sample, observable.sampleCount, observable.sampleTimeOrCount, observable.bufferCountSkip, observable.pipe, observable.pluck, observable.mergeAll, observable.pipeOn, observable.pipeOnNew, observable.subscribeOn, observable.subscribeOnNew, observable.pairwise, observable.let, observable.groupByField, observable.complexPipe, observable.complexPipeOn, observable.complexPipeOnNew, observable.decouple, observable.distinctByField, observable.distinctByFieldUntilChanged, observable.pausable, observable.pausableBuffered, observable.toChannel);
observable.connectObserver, observable.subscribe, observable.map, observable.publish, observable.connect, observable.refCount, observable.share, observable.take, observable.takeLast, observable.first, observable.last, observable.skip, observable.skipLast, observable.filter, observable.scan, observable.scanWithInitial, observable.distinct, observable.distinctBy, observable.combineLatestFromInstance, observable.withLatestFrom, observable.delay, observable.async, observable.do, observable.publishReplay, observable.shareReplay, observable.takeUntil, observable.repeatObservable, observable.flatMap, observable.mergeFromInstance, observable.zipFromInstance, observable.switchOnNext, observable.skipUntil, observable.elementAt, observable.reduce, observable.reduceWithInitial, observable.toStream, observable.catchError, observable.retry, observable.observeOn, observable.groupBy, observable.observeToChannel, observable.observeOnNew, observable.every, observable.contains, observable.takeWhile, observable.skipWhile, observable.concatFromInstance, observable.startWith, observable.defaultIfEmpty, observable.ignoreElements, observable.count, observable.sum, observable.sumInteger, observable.sumFloat, observable.sumDecimal, observable.concatString, observable.max, observable.maxInteger, observable.maxFloat, observable.maxDecimal, observable.min, observable.minInteger, observable.minFloat, observable.minDecimal, observable.average, observable.averageDecimal, observable.sequenceEqualFromInstance, observable.ambFromInstance, observable.timestamp, observable.updateTimestamp, observable.timeout, observable.getSync, observable.getSyncOr, observable.timeInterval, observable.distinctUntilChanged, observable.distinctByUntilChanged, observable.switchMap, observable.debounce, observable.windowTime, observable.throttleFirst, observable.throttleLast, observable.sampleTime, observable.buffer, observable.bufferTime, observable.bufferCount, observable.bufferTimeOrCount, observable.combineLatestToSequenceFromInstance, observable.withLatestFromToSequence, observable.zipToSequenceFromInstance, observable.groupByWindow, observable.windowCount, observable.windowTimeOrCount, observable.sample, observable.sampleCount, observable.sampleTimeOrCount, observable.bufferCountSkip, observable.pipe, observable.pluck, observable.mergeAll, observable.pipeOn, observable.pipeOnNew, observable.subscribeOn, observable.subscribeOnNew, observable.pairwise, observable.let, observable.groupByField, observable.complexPipe, observable.complexPipeOn, observable.complexPipeOnNew, observable.decouple, observable.distinctByField, observable.distinctByFieldUntilChanged, observable.pausable, observable.pausableBuffered, observable.toChannel, observable.toSortedList, observable.toSortedListAsc, observable.toSortedListDesc, observable.sort, observable.sortAsc, observable.sortDesc);
}
}
44 changes: 43 additions & 1 deletion src/rx/objects/Observable.mon
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ using com.industry.rx_epl.operators.Skip;
using com.industry.rx_epl.operators.SkipLast;
using com.industry.rx_epl.operators.SkipUntil;
using com.industry.rx_epl.operators.SkipWhile;
using com.industry.rx_epl.operators.Sort;
using com.industry.rx_epl.operators.SortAsc;
using com.industry.rx_epl.operators.SortDesc;
using com.industry.rx_epl.operators.StartWith;
using com.industry.rx_epl.operators.Sum;
using com.industry.rx_epl.operators.SumDecimal;
Expand All @@ -109,6 +112,9 @@ using com.industry.rx_epl.operators.ThrottleLast;
using com.industry.rx_epl.operators.TimeInterval;
using com.industry.rx_epl.operators.Timeout;
using com.industry.rx_epl.operators.Timestamp;
using com.industry.rx_epl.operators.ToSortedList;
using com.industry.rx_epl.operators.ToSortedListAsc;
using com.industry.rx_epl.operators.ToSortedListDesc;
using com.industry.rx_epl.operators.UpdateTimestamp;
using com.industry.rx_epl.operators.WithLatestFrom;
using com.industry.rx_epl.operators.WithLatestFromToSequence;
Expand Down Expand Up @@ -1061,6 +1067,42 @@ event Observable {
return ToChannel.create(self.asIObservable(), channelName);
}

action toSortedList(any comparator) returns IObservable {
Observable o := _create();
o.onConnection := ToSortedList.create(comparator)(onConnection);
return o.asIObservable();
}

action toSortedListAsc() returns IObservable {
Observable o := _create();
o.onConnection := ToSortedListAsc.create()(onConnection);
return o.asIObservable();
}

action toSortedListDesc() returns IObservable {
Observable o := _create();
o.onConnection := ToSortedListDesc.create()(onConnection);
return o.asIObservable();
}

action sort(any comparator) returns IObservable {
Observable o := _create();
o.onConnection := Sort.create(comparator)(onConnection);
return o.asIObservable();
}

action sortAsc() returns IObservable {
Observable o := _create();
o.onConnection := SortAsc.create()(onConnection);
return o.asIObservable();
}

action sortDesc() returns IObservable {
Observable o := _create();
o.onConnection := SortDesc.create()(onConnection);
return o.asIObservable();
}

static action invalidConnect() returns IDisposable {
throw Exception("Can only connect a published Observable", "UnsupportedOperation");
}
Expand All @@ -1075,6 +1117,6 @@ event Observable {

action asIObservable() returns IObservable {
return IObservable(self,
connectObserver, subscribe, map, publish, connect, refCount, share, take, takeLast, first, last, skip, skipLast, filter, scan, scanWithInitial, distinct, distinctBy, combineLatestFromInstance, withLatestFrom, delay, async, do, publishReplay, shareReplay, takeUntil, repeatObservable, flatMap, mergeFromInstance, zipFromInstance, switchOnNext, skipUntil, elementAt, reduce, reduceWithInitial, toStream, catchError, retry, observeOn, groupBy, observeToChannel, observeOnNew, every, contains, takeWhile, skipWhile, concatFromInstance, startWith, defaultIfEmpty, ignoreElements, count, sum, sumInteger, sumFloat, sumDecimal, concatString, max, maxInteger, maxFloat, maxDecimal, min, minInteger, minFloat, minDecimal, average, averageDecimal, sequenceEqualFromInstance, ambFromInstance, timestamp, updateTimestamp, timeout, getSync, getSyncOr, timeInterval, distinctUntilChanged, distinctByUntilChanged, switchMap, debounce, windowTime, throttleFirst, throttleLast, sampleTime, buffer, bufferTime, bufferCount, bufferTimeOrCount, combineLatestToSequenceFromInstance, withLatestFromToSequence, zipToSequenceFromInstance, groupByWindow, windowCount, windowTimeOrCount, sample, sampleCount, sampleTimeOrCount, bufferCountSkip, pipe, pluck, mergeAll, pipeOn, pipeOnNew, subscribeOn, subscribeOnNew, pairwise, let, groupByField, complexPipe, complexPipeOn, complexPipeOnNew, decouple, distinctByField, distinctByFieldUntilChanged, pausable, pausableBuffered, toChannel);
connectObserver, subscribe, map, publish, connect, refCount, share, take, takeLast, first, last, skip, skipLast, filter, scan, scanWithInitial, distinct, distinctBy, combineLatestFromInstance, withLatestFrom, delay, async, do, publishReplay, shareReplay, takeUntil, repeatObservable, flatMap, mergeFromInstance, zipFromInstance, switchOnNext, skipUntil, elementAt, reduce, reduceWithInitial, toStream, catchError, retry, observeOn, groupBy, observeToChannel, observeOnNew, every, contains, takeWhile, skipWhile, concatFromInstance, startWith, defaultIfEmpty, ignoreElements, count, sum, sumInteger, sumFloat, sumDecimal, concatString, max, maxInteger, maxFloat, maxDecimal, min, minInteger, minFloat, minDecimal, average, averageDecimal, sequenceEqualFromInstance, ambFromInstance, timestamp, updateTimestamp, timeout, getSync, getSyncOr, timeInterval, distinctUntilChanged, distinctByUntilChanged, switchMap, debounce, windowTime, throttleFirst, throttleLast, sampleTime, buffer, bufferTime, bufferCount, bufferTimeOrCount, combineLatestToSequenceFromInstance, withLatestFromToSequence, zipToSequenceFromInstance, groupByWindow, windowCount, windowTimeOrCount, sample, sampleCount, sampleTimeOrCount, bufferCountSkip, pipe, pluck, mergeAll, pipeOn, pipeOnNew, subscribeOn, subscribeOnNew, pairwise, let, groupByField, complexPipe, complexPipeOn, complexPipeOnNew, decouple, distinctByField, distinctByFieldUntilChanged, pausable, pausableBuffered, toChannel, toSortedList, toSortedListAsc, toSortedListDesc, sort, sortAsc, sortDesc);
}
}

0 comments on commit 693ca69

Please sign in to comment.