Upgrading rxdart 0.5 to 0.6
Breaking0.5.1 → 0.6.3+5Breaking2Deprecated1New11Changed1
BreakingUpgrade verdict
2 breaking changes.
In plain terms
- The concat function now works the way most people expect. If you relied on the old behavior, switch to the new concatEager function.
- If you were passing several starting values to startWith, you now need to use startWithMany instead.
- The zip and combineLatest helpers are deprecated; use the typed alternatives on Observable instead.
Must act 3 items need code or config changes
What you must change
Breaking2
Changes concat to behave as expected; the old concat behavior is now available as concatEager.
concatconcatEagerstartWith now takes just one parameter instead of an Iterable; use startWithMany to add multiple starting events.
startWithstartWithManyDeprecations to plan for
Deprecated1
Deprecates zip and combineLatest in favor of strong-type-friendly static methods on Observable.
zipcombineLatestObservable.combineThreeLatestObservable.zipFourAPI changes
Generated by DepDelta from published Dart source. Not mixed with prose notes.
- removed:
ctor Observable() - changed:
method Observable.startWith(List<T> startValues): Observable<T> → method Observable.startWith(T startValue): Observable<T> - added:
class BehaviourSubject<T> implements StreamController<T> - added:
class GroupByMap<T, S> - added:
class ReplaySubject<T> implements StreamController<T> - added:
class TypeToken<S> - added:
ctor BehaviourSubject( {void onListen(), void onPause(), void onResume(), onCancel(), bool sync = …}) - added:
ctor BehaviourSubject.broadcast( {void onListen(), onCancel(), bool sync = …}) - added:
ctor GroupByMap(this.key) - added:
ctor Observable.amb(Iterable<Stream<T>> streams, {bool asBroadcastStream = …}) - added:
ctor Observable.concat(Iterable<Stream<T>> streams, {bool asBroadcastStream = …}) - added:
ctor Observable.concatEager(Iterable<Stream<T>> streams, {bool asBroadcastStream = …}) - added:
ctor Observable.defer(Stream<T> create()) - added:
ctor Observable.just(T data) - added:
ctor ReplaySubject( {void onListen(), void onPause(), void onResume(), onCancel(), bool sync = …}) - added:
ctor ReplaySubject.broadcast( {void onListen(), onCancel(), bool sync = …}) - added:
ctor TypeToken() - added:
field GroupByMap.key: final T - added:
get BehaviourSubject.done: Future<dynamic> - added:
get BehaviourSubject.hasListener: bool - added:
get BehaviourSubject.isClosed: bool - added:
get BehaviourSubject.isPaused: bool - added:
get BehaviourSubject.onCancel: ControllerCancelCallback - added:
get BehaviourSubject.onListen: ControllerCallback - added:
get BehaviourSubject.onPause: ControllerCallback - added:
get BehaviourSubject.onResume: ControllerCallback - added:
get BehaviourSubject.sink: StreamSink<T> - added:
get BehaviourSubject.stream: StreamObservable<T> - added:
get GroupByMap.observable: Observable<S> - added:
get ReplaySubject.done: Future<dynamic> - added:
get ReplaySubject.hasListener: bool - added:
get ReplaySubject.isClosed: bool - added:
get ReplaySubject.isPaused: bool - added:
get ReplaySubject.onCancel: ControllerCancelCallback - added:
get ReplaySubject.onListen: ControllerCallback - added:
get ReplaySubject.onPause: ControllerCallback - added:
get ReplaySubject.onResume: ControllerCallback - added:
get ReplaySubject.sink: StreamSink<T> - added:
get ReplaySubject.stream: StreamObservable<T> - added:
method BehaviourSubject.add(T event): void - added:
method BehaviourSubject.addError(Object error, [StackTrace stackTrace]): void - added:
method BehaviourSubject.addStream(Stream<T> source, {bool cancelOnError = …}): Future<dynamic> - added:
method BehaviourSubject.close(): Future<dynamic> - added:
method Observable.defaultIfEmpty(T defaultValue): Observable<T> - added:
method Observable.groupBy<S>(S keySelector(T value), {int compareKeys(S keyA, S keyB)}): Observable<GroupByMap<S, T>> - added:
method Observable.ofType<S>(TypeToken<S> typeToken): Observable<S> - added:
method Observable.startWithMany(List<T> startValues): Observable<T> - added:
method Observable.withLatestFrom<S, R>( Stream<S> latestFromStream, R fn(T t, S s)): Observable<R> - added:
method ReplaySubject.add(T event): void - added:
method ReplaySubject.addError(Object error, [StackTrace stackTrace]): void - added:
method ReplaySubject.addStream(Stream<T> source, {bool cancelOnError = …}): Future<dynamic> - added:
method ReplaySubject.close(): Future<dynamic> - added:
method TypeToken.isType(dynamic other): bool - added:
method TypeToken.toType(dynamic other): S - added:
set BehaviourSubject.onCancel(onCancelHandler()) - added:
set BehaviourSubject.onListen(void onListenHandler()) - added:
set BehaviourSubject.onPause(void onPauseHandler()) - added:
set BehaviourSubject.onResume(void onResumeHandler()) - added:
set ReplaySubject.onCancel(onCancelHandler()) - added:
set ReplaySubject.onListen(void onListenHandler()) - added:
set ReplaySubject.onPause(void onPauseHandler()) - added:
set ReplaySubject.onResume(void onResumeHandler()) - added:
static method Observable.combineEightLatest<A, B, C, D, E, F, G, H, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, Stream<G> streamSeven, Stream<H> streamEight, T predicate(A a, B b, C c, D d, E e, F f, G g, H h), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineFiveLatest<A, B, C, D, E, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, T predicate(A a, B b, C c, D d, E e), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineFourLatest<A, B, C, D, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, T predicate(A a, B b, C c, D d), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineNineLatest<A, B, C, D, E, F, G, H, I, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, Stream<G> streamSeven, Stream<H> streamEight, Stream<I> streamNine, T predicate(A a, B b, C c, D d, E e, F f, G g, H h, I i), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineSevenLatest<A, B, C, D, E, F, G, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, Stream<G> streamSeven, T predicate(A a, B b, C c, D d, E e, F f, G g), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineSixLatest<A, B, C, D, E, F, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, T predicate(A a, B b, C c, D d, E e, F f), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineThreeLatest<A, B, C, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, T predicate(A a, B b, C c), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.combineTwoLatest<A, B, T>( Stream<A> streamOne, Stream<B> streamTwo, T predicate(A a, B b), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipEight<A, B, C, D, E, F, G, H, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, Stream<G> streamSeven, Stream<H> streamEight, T predicate(A a, B b, C c, D d, E e, F f, G g, H h), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipFive<A, B, C, D, E, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, T predicate(A a, B b, C c, D d, E e), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipFour<A, B, C, D, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, T predicate(A a, B b, C c, D d), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipNine<A, B, C, D, E, F, G, H, I, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, Stream<G> streamSeven, Stream<H> streamEight, Stream<I> streamNine, T predicate(A a, B b, C c, D d, E e, F f, G g, H h, I i), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipSeven<A, B, C, D, E, F, G, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, Stream<G> streamSeven, T predicate(A a, B b, C c, D d, E e, F f, G g), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipSix<A, B, C, D, E, F, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, Stream<D> streamFour, Stream<E> streamFive, Stream<F> streamSix, T predicate(A a, B b, C c, D d, E e, F f), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipThree<A, B, C, T>( Stream<A> streamOne, Stream<B> streamTwo, Stream<C> streamThree, T predicate(A a, B b, C c), {bool asBroadcastStream = …}): Observable<T> - added:
static method Observable.zipTwo<A, B, T>( Stream<A> streamOne, Stream<B> streamTwo, T predicate(A a, B b), {bool asBroadcastStream = …}): Observable<T> - added:
variable kBool: const TypeToken<bool> - added:
variable kDouble: const TypeToken<double> - added:
variable kInt: const TypeToken<int> - added:
variable kNum: const TypeToken<num> - added:
variable kString: const TypeToken<String> - added:
variable kSymbol: const TypeToken<Symbol>