execute method
Implementation
@override
FutureOr<AWActions?> execute(
AnyWidgetContext context, ActionPayload payload) {
if (!context.isMounted()) return null;
return map(
push: (value) {
final state = Navigator.maybeOf(context.context,
rootNavigator: value.rootNavigator ?? false);
if (null == state) return null;
return state.push<AWActions?>(value.route.toFlutter(context));
},
pop: (value) async {
final state = Navigator.maybeOf(context.context,
rootNavigator: value.rootNavigator ?? false);
if (null == state) return;
state.pop(value.actions);
},
maybePop: (value) async {
final state = Navigator.maybeOf(context.context,
rootNavigator: value.rootNavigator ?? false);
if (null == state) return;
await state.maybePop(value.actions);
},
pushReplacement: (value) async {
final state = Navigator.maybeOf(context.context,
rootNavigator: value.rootNavigator ?? false);
if (null == state) return;
await state.pushReplacement(
value.route.toFlutter(context),
);
},
);
}