performUpdate method Null safety

CubixState<TState> performUpdate(
  1. CubixState<TState> get(
      ),
    1. void emit(
      1. CubixState<TState>
      ),
    2. {TState state(
      1. TState state
      )?,
    3. Dispatcher? remove,
    4. Dispatcher? add,
    5. List<Dispatcher>? dispatchers}
    )

    Implementation

    CubixState<TState> performUpdate(
      CubixState<TState> Function() get,
      void Function(CubixState<TState>) emit, {
      TState Function(TState state)? state,
      Dispatcher? remove,
      Dispatcher? add,
      List<Dispatcher>? dispatchers,
    }) {
      final prevState = get();
      final nextState = prevState.reduce(
          state: state, add: add, remove: remove, dispatchers: dispatchers);
      if (nextState == prevState) return prevState;
      emit(nextState);
      return prevState;
    }