switchMap<R> method

RxComputed<R> switchMap<R>(
  1. RxComputed<R> mapper(
    1. T
    )
)

Switch to a new reactive value based on current value

Implementation

RxComputed<R> switchMap<R>(RxComputed<R> Function(T) mapper) {
  RxComputed<R>? currentMapped;
  return computed(() {
    final newMapped = mapper(value);
    if (currentMapped != newMapped) {
      currentMapped?.dispose();
      currentMapped = newMapped;
    }
    return currentMapped!.value;
  });
}