PersistSignal<T>.lazy constructor

PersistSignal<T>.lazy({
  1. required FutureOr<T> read(),
  2. required FutureOr<void> write(
    1. T value
    ),
  3. T initialValue()?,
  4. Duration writeDelay = Duration.zero,
  5. JoltDebugFn? onDebug,
})

Creates a lazy persistent signal that loads its value on first access.

Parameters:

  • initialValue: Optional initial value if storage is empty
  • read: Function to read the value from storage
  • write: Function to write the value to storage

Returns: A lazy PersistSignal that loads on first access

Implementation

factory PersistSignal.lazy({
  required FutureOr<T> Function() read,
  required FutureOr<void> Function(T value) write,
  T Function()? initialValue,
  Duration writeDelay = Duration.zero,
  JoltDebugFn? onDebug,
}) =>
    PersistSignalImpl<T>(
      initialValue: initialValue,
      read: read,
      write: write,
      lazy: true,
      writeDelay: writeDelay,
      onDebug: onDebug,
    );