createStateSelectListener function

void createStateSelectListener(
  1. Target target
)

create the listener for provider.select filter (StateProvider)

Implementation

void createStateSelectListener(Target target) {
  dynamic prevValue = target.callback(target.notifier.state);
  target.selectValue = prevValue;

  // ignore: prefer_function_declarations_over_variables
  final listener = (newState) {
    final value = target.callback(target.notifier.state);
    target.selectValue = value;
    // check if the value has changed
    if (prevValue != value || (value is bool && value)) {
      if (target.rebuild != null) {
        target.rebuild!();
      }
    }
    prevValue = value;
  };
  target.listener = listener;
}