expand<F> method

Emitter<F> expand<F>(
  1. Iterable<F> convert(
    1. T
    ), {
  2. String? name,
  3. bool keepAlive = false,
  4. List<Object?>? args,
})

Implementation

Emitter<F> expand<F>(Iterable<F> Function(T) convert,
    {String? name, bool keepAlive = false, List<Object?>? args}) {
  return Emitter<F>((ref, emit) {
    ref.watch(this).then((value) {
      for (var v in convert(value)) {
        emit(v);
      }
    });
  },
      name: name ?? argsName(args) ?? '${infoName}_expand',
      keepAlive: keepAlive,
      args: args);
}