GuardResult class

Represents the result of evaluating a route navigation guard.

Returned by BloomRouteGuard.canActivate. A guard result determines whether navigation to a target route is permitted to proceed (isAllowed is true) or must be redirected to an alternate path (redirectPath).

When a guard returns a redirect, client routers halt navigation to the requested path and instead navigate to redirectPath.

class AuthGuard extends BloomRouteGuard {
  final bool isLoggedIn;
  const AuthGuard(this.isLoggedIn);

  @override
  GuardResult canActivate(String location, Map<String, String> params) {
    if (!isLoggedIn) {
      return GuardResult.redirect('/login');
    }
    return GuardResult.allow();
  }
}

Constructors

GuardResult.allow()
Creates a guard result permitting navigation to proceed.
factory
GuardResult.deny()
Creates a guard result that blocks navigation without redirecting.
factory
GuardResult.redirect(String path)
Creates a guard result that cancels the current navigation and redirects to path.
factory

Properties

hashCode → int
The hash code for this object.
no setterinherited
isAllowed → bool
Whether navigation to the target route is permitted to proceed.
final
redirectPath → String?
Target path to redirect to when navigation is disallowed.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited