once<T> method

  1. @defineHook
Watcher<T> once<T>(
  1. SourcesFn<T> sourcesFn,
  2. WatcherFn<T> fn, {
  3. WhenFn<T>? when,
  4. JoltDebugFn? onDebug,
})

Creates a watcher hook that executes only once.

Parameters:

  • sourcesFn: Function that returns the values to watch
  • fn: Callback function executed when sources change
  • when: Optional condition function for custom trigger logic
  • onDebug: Optional debug callback for reactive system debugging

Returns: A Watcher that executes only once

Implementation

@defineHook
Watcher<T> once<T>(
  SourcesFn<T> sourcesFn,
  WatcherFn<T> fn, {
  WhenFn<T>? when,
  JoltDebugFn? onDebug,
}) {
  late _UseWatcherHook<T> hook;
  hook = _UseWatcherHook<T>(sourcesFn, (newValue, oldValue) {
    fn(newValue, oldValue);
    hook.state.dispose();
  }, when: when, immediately: false, onDebug: onDebug);
  return useHook(hook);
}