duck_router library

Classes

DuckRouter
Creates a DuckRouter.
DuckRouterConfiguration
A configuration object for the DuckRouter.
DuckShell
The DuckShell is a Widget that manages state for a StatefulLocation. It allows switching between the children of that location.
DuckShellState
The state for the DuckShell.
InheritedDuckRouter
DuckRouter implementation of InheritedWidget.
Location
A location in the app.
LocationInterceptor
A location interceptor acts as a guard for a Location, preventing a user from navigating to that location depending on certain conditions, for example if the user is not logged in.
LocationMatch<T>
A match for a location, containing some extra context around the location.
LocationStack
A stack of locations.
LocationStackCodec
A Codec for encoding and decoding a LocationStack.
StatefulChildLocation
A location that is a child of a StatefulLocation. This child will have its own LocationStack.
StatefulLocation
A location that maintains its own state with the use of a Navigator.

Typedefs

DuckRouterDeepLinkHandler = List<Location> Function(Uri uri, Location currentLocation)
Handler for when the app gets a deeplink.
DuckRouterNavigatorListener = void Function(Location destination)
A listener for when the router navigates.
DuckRouterShellBuilder = Widget Function(BuildContext context, Widget child)
A builder for a shell around the DuckRouter.
LocationBuilder = Widget Function(BuildContext context)
A builder that creates a widget for a location.
LocationPageBuilder = Page Function(BuildContext context)
A builder that allows a fully custom Page to be built.
StatefulLocationBuilder = Widget Function(BuildContext context, DuckShell shell)
A builder that creates a widget for a stateful location.