effect<S> function

EffectFun<S> effect<S>(
  1. EffectCallback<S> fx
)

Example

EffectFun<int> get asyncIncBy => effect<int>((num$) => num$
     .delay(const Duration(milliseconds: 10))
     .doOnData((by) => emit(state + by)));

Implementation

EffectFun<S> effect<S>(EffectCallback<S> fx) {
  var sc = StreamController<S>();
  fx(sc.stream).listen((event) {});
  return (S arg) {
    sc.add(arg);
  };
}