setWithUpdater method

void setWithUpdater(
  1. List<T> computeNewValue(
    1. List<T> oldValue
    )
)

Updates value to the return value of computeNewValue.

Implementation

void setWithUpdater(List<T> Function(List<T> oldValue) computeNewValue) {
  JSAny? updater(JSAny? oldValue) {
    final jsArray = switch (oldValue) {
      final JSArray arr => arr,
      _ => null,
    };
    final dartOld = _jsArrayToList<T>(jsArray);
    return computeNewValue(dartOld).toJS;
  }

  _setValue(updater.toJS);
}