changeStack<T> function

ChangeStackSignal<T> changeStack<T>(
  1. T value, {
  2. int? limit,
  3. ChangeSignalOptions<T>? options,
  4. @Deprecated('Use options: ChangeSignalOptions(autoDispose: ...) instead') bool? autoDispose,
  5. @Deprecated('Use options: ChangeSignalOptions(name: ...) instead') String? debugLabel,
})

Creates a ChangeStackSignal initialized with the provided value.

This is a convenience helper function for creating reactive undo/redo history signals. You can pass a limit to restrict the maximum history stack size.

import 'package:signals/signals.dart';

final s = changeStack(0, limit: 10);
s.value = 1;
s.undo(); // Returns to 0

Implementation

ChangeStackSignal<T> changeStack<T>(
  T value, {
  int? limit,
  ChangeSignalOptions<T>? options,
  @Deprecated('Use options: ChangeSignalOptions(autoDispose: ...) instead')
  bool? autoDispose,
  @Deprecated('Use options: ChangeSignalOptions(name: ...) instead')
  String? debugLabel,
}) {
  return ChangeStackSignal<T>(
    value,
    limit: limit,
    options: options ??
        ChangeSignalOptions<T>(
          limit: limit,
          autoDispose: autoDispose ?? false,
          name: debugLabel,
        ),
  );
}