valueListenablePod<T> function

PodNotifier<Pod<ValueListenable<T>>, T> valueListenablePod<T>(
  1. ValueListenable<T> create(
    1. Ref<ValueListenable<T>> ref
    )
)

Create a PodNotifier that listens to a ValueListenable.

Implementation

PodNotifier<Pod<ValueListenable<T>>, T> valueListenablePod<T>(
  ValueListenable<T> Function(Ref<ValueListenable<T>> ref) create,
) =>
    internalPodNotifier<Pod<ValueListenable<T>>, T>(
      pod<ValueListenable<T>>(create),
      (ref, pod) {
        final listenable = ref.watch(pod);

        void onChange() => ref.setSelf(listenable.value);
        listenable.addListener(onChange);
        ref.onDispose(() => listenable.removeListener(onChange));

        return listenable.value;
      },
    );