GuardStack class
Compose multiple guards into a single guard.
Executes guards in order until one returns GuardResult.handled or all return GuardResult.next.
Example:
// Create reusable guard combinations
final adminGuards = GuardStack([
AuthGuard(),
RoleGuard(['admin']),
AuditLogGuard(),
]);
router.route(
AdminPage.path,
(_) => AdminPage(),
routeGuards: [adminGuards],
);
- Inheritance
-
- Object
- RouteGuard
- NyRouteGuard
- GuardStack
Constructors
-
GuardStack(List<
NyRouteGuard> guards)
Properties
- context → BuildContext?
-
Convenience getter for the build context.
no setterinherited
- data → dynamic
-
Convenience getter for the route data.
no setterinherited
-
guards
→ List<
NyRouteGuard> -
The guards to execute in order.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasModifiedData → bool
-
Whether setData was called during this guard's execution.
no setterinherited
- modifiedData → dynamic
-
Get modified data if setData was called.
no setterinherited
- pageRequest ↔ PageRequest?
-
getter/setter pairinherited
-
queryParameters
→ Map<
String, String> -
Convenience getter for query parameters.
no setterinherited
- redirectConfig → RedirectConfig?
-
Get the redirect configuration if a redirect was requested.
no setterinherited
- routeContext → RouteContext?
-
The current route context.
no setterinherited
- routeName → String?
-
Convenience getter for the route name.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
abort(
) → GuardResult -
Abort navigation without redirecting.
inherited
-
next(
) → GuardResult -
Continue to the next guard or to the route.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onAfter(
RouteContext context) → Future< void> -
Called after successful navigation to the route.
override
-
onBefore(
RouteContext context) → Future< GuardResult> -
Called before navigation to the route.
override
-
onRequest(
PageRequest pageRequest) → Future< PageRequest?> -
Legacy method override for backward compatibility.
Delegates to the new onBefore lifecycle method.
inherited
-
redirect(
Object path, {dynamic data, Map< String, dynamic> ? queryParameters, dynamic result, bool removeUntilPredicate(Route route)?, TransitionType? transitionType, dynamic onPop(dynamic value)?}) → GuardResult -
Redirect to a different route.
inherited
-
setData(
dynamic data) → void -
Modify the data passed to subsequent guards and the route.
inherited
-
setRouteContext(
RouteContext context) → void -
Set the route context. Called by the router.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited