ofModelAction<Model> static method
Cmd<Model>
ofModelAction<Model>(
- FutureOr<
void> action(- Model model
- Update<
Model> onSuccessUpdate(- Model model
- Model onSuccessModel(
- Model model
- Cmd<
Model> ? onSuccessCommands, - Update<
Model> onErrorUpdate(- Model model,
- Exception e
- Model onErrorModel(
- Model model,
- Exception e
- Cmd<
Model> onErrorCommands()?, - bool doRebuild = true,
Do some action receiving the current model. Optionally dispatch a message if the action was successful and dispatch a message on case of Exception
Implementation
static Cmd<Model> ofModelAction<Model>(
FutureOr<void> action(Model model), {
Update<Model> onSuccessUpdate(Model model)?,
Model onSuccessModel(Model model)?,
Cmd<Model>? onSuccessCommands,
Update<Model> onErrorUpdate(Model model, Exception e)?,
Model onErrorModel(Model model, Exception e)?,
Cmd<Model> onErrorCommands(Exception e)?,
bool doRebuild = true,
}) =>
Cmd.ofSub((dispatch) => dispatch((model) => Update(model,
commands: Cmd.ofAction(() => action(model),
onErrorUpdate: onErrorUpdate,
onErrorCommands: onErrorCommands,
onSuccessUpdate: onSuccessUpdate,
onErrorModel: onErrorModel,
onSuccessModel: onSuccessModel,
onSuccessCommands: onSuccessCommands,
doRebuild: doRebuild))));