Mutation<R> constructor

Mutation<R>(
  1. MutationKey<R> key, {
  2. MutationInitialDataCallback<R>? initialData,
  3. MutationMutateCallback<R>? initialMutate,
  4. MutationOnUpdateInitializedCallback? onUpdateInitialized,
  5. MutationOnUpdateDataCallback<R>? onUpdateData,
  6. MutationOnUpdateErrorCallback? onUpdateError,
  7. MutationOnUpdateLoadingCallback? onUpdateLoading,
  8. MutationOnCloseCallback<R>? onClose,
})

Implementation

Mutation(this.key,
    {MutationInitialDataCallback<R>? initialData,
    MutationMutateCallback<R>? initialMutate,
    MutationOnUpdateInitializedCallback? onUpdateInitialized,
    MutationOnUpdateDataCallback<R>? onUpdateData,
    MutationOnUpdateErrorCallback? onUpdateError,
    MutationOnUpdateLoadingCallback? onUpdateLoading,
    MutationOnCloseCallback<R>? onClose}) {
  if (onUpdateData != null) {
    _onUpdateDataList.add(onUpdateData);
  }
  if (onUpdateError != null) {
    _onUpdateErrorList.add(onUpdateError);
  }
  if (onUpdateInitialized != null) {
    _onUpdateInitializedList.add(onUpdateInitialized);
  }
  if (onUpdateLoading != null) {
    _onUpdateLoadingList.add(onUpdateLoading);
  }
  if (onClose != null) {
    _onCloseList.add(onClose);
  }
  if (initialData != null && initialMutate != null) {
    throw const MutationException("initialData and initialMutate set!");
  }
  if (initialData != null) {
    _updateData(initialData());
    _updateInitialized();
  } else {
    _initialMutateCallback = initialMutate;
  }
}