run abstract method
Starts a mutation and set its state based on the result of the callback.
This sets the mutation state to MutationPending, call the callback, then set the mutation state to either MutationSuccess or MutationError depending on whether the callback completes successfully or throws an error.
While within the callback, use MutationTransaction to interact with providers. When doing so, run will naturally keep the providers alive for the duration of the callback, and close any pending subscriptions after it completes.
Implementation
Future<ResultT> run(
MutationTarget target,
Future<ResultT> Function(MutationTransaction transaction) cb,
);