nest_flutter library
Flutter integration for Nest Dart - bringing dependency injection and modular architecture to Flutter applications.
This library provides Flutter-specific widgets and utilities for the Nest Dart framework, and re-exports all core functionality from nest_core for convenience.
Classes
- Allow
- Allows the navigation to proceed.
- ApplicationContainer
- Application container that manages modules and dependency injection Provides centralized service resolution with module-based encapsulation
- ApplicationContainerNotifier
- A ChangeNotifier wrapper for ApplicationContainer to enable reactive updates
- ApplicationContainerProvider
- InheritedNotifier that provides ApplicationContainer to the widget tree
- Block
- Blocks the navigation from proceeding.
- CustomParameterCodec
- annotation to define a custom parameter decoder/encoder this is useful when the is encoded/decoded in a non-standard way like base64Url this must be used as an annotation on a field
-
CustomTransitionPage<
T> - Page with custom transition functionality.
- Disposable
- If objects that are registered inside GetIt implements Disposable the onDispose method will be called whenever that Object is unregistered, reset or its enclosing Scope is popped
- GetIt
- Very simple and easy to use service locator You register your object creation factory or an instance of an object with registerFactory, registerSingleton or registerLazySingleton And retrieve the desired object using get or call your locator as function as its a callable class Additionally GetIt offers asynchronous creation functions as well as functions to synchronize the async initialization of multiple Singletons
- GoRoute Get started Configuration Redirection Transition animations Named routes
- A route that is displayed visually above the matching parent route using the Navigator.
- GoRouteData Type-safe routes
- A class to represent a GoRoute in Type-safe routing.
- GoRouteInformationParser
-
Converts between incoming URLs and a RouteMatchList using
RouteMatcher. - GoRouteInformationProvider
- The RouteInformationProvider created by go_router.
- GoRouter Get started Upgrading Configuration Redirection Web Deep linking Named routes Error handling State restoration
- The route configuration for the app.
- GoRouterDelegate
- GoRouter implementation of RouterDelegate.
- GoRouterState
- The route state during routing.
- ImperativeRouteMatch
- The route match that represent route pushed through GoRouter.push.
- InheritedGoRouter
- GoRouter implementation of InheritedWidget.
- InitDependency
- Data structure used to identify a dependency by type and instanceName
- Locator
- Interface for dependency injection container Provides type-safe access to services with export restrictions
- Modular
- Modular class providing a clean API similar to Flutter Modular
- ModularApp
- ModularApp widget that initializes the module system Usage: ModularApp(module: AppModule(), child: MyApp())
- Module
- The Module class that extends nest_core Module with route support
- ModuleContext
- Context for tracking module dependencies and exports
-
NoTransitionPage<
T> - Custom transition page with no transition.
-
ObjectRegistration<
T extends Object> - OnEnterResult
- The result of an onEnter callback.
- RelativeGoRouteData Type-safe routes
- A class to represent a relative GoRoute in Type-safe routing.
- RouteBase
- The base class for GoRoute and ShellRoute.
- RouteBuilder
- Builds the top-level Navigator for GoRouter.
- RouteConfiguration
- The route configuration for GoRouter configured by the app.
- RouteData
- Baseclass for supporting Type-safe routing.
-
RouteInformationState<
T> - The data class to be stored in RouteInformation.state to be used by GoRouteInformationParser.
- RouteMatch
- An matched result by matching a GoRoute against a location.
- RouteMatchBase
- The base class for various route matches.
- RouteMatchList
- The list of RouteMatchBase objects.
- RoutingConfig Configuration
- A set of parameters that defines routing in GoRouter.
- ShadowChangeHandlers
-
If an object implements the
ShadowChangeHandlerif will get notified if an Object with the same registration type and name is registered on a higher scope which will shadow it. It also will get notified if the shadowing object is removed from GetIt - ShellRoute Configuration
- A route that displays a UI shell around the matching child route.
- ShellRouteBase
- Base class for classes that act as shells for sub-routes, such as ShellRoute and StatefulShellRoute.
- ShellRouteContext
- Context object used when building the shell and Navigator for a shell route.
- ShellRouteData
- A class to represent a ShellRoute in Type-safe routing.
- ShellRouteMatch
- An matched result by matching a ShellRoute against a location.
- Widget for managing the state of a StatefulShellRoute.
- State for StatefulNavigationShell.
- StatefulShellBranch
- Representation of a separate branch in a stateful navigation tree, used to configure StatefulShellRoute.
- StatefulShellBranchData
- Base class for supporting StatefulShellRoute
- StatefulShellRoute Configuration
- A route that displays a UI shell with separate Navigators for its sub-routes.
- StatefulShellRouteData
- Base class for supporting StatefulShellRoute
-
TypedGoRoute<
T extends GoRouteData> - A superclass for each typed go route descendant
-
TypedQueryParameter<
T> - Annotation to override the URI name for a route parameter.
-
TypedRelativeGoRoute<
T extends RelativeGoRouteData> - A superclass for each typed relative go route descendant
-
TypedRoute<
T extends RouteData> - A superclass for each typed route descendant
-
TypedShellRoute<
T extends ShellRouteData> - A superclass for each typed shell route descendant
-
TypedStatefulShellBranch<
T extends StatefulShellBranchData> - A superclass for each typed shell route descendant
-
TypedStatefulShellRoute<
T extends StatefulShellRouteData> - A superclass for each typed shell route descendant
- WillSignalReady
-
If your singleton that you register wants to use the manually signalling
of its ready state, it can implement this interface class instead of using
the
signalsReadyparameter of the registration functions (you don't really have to implement much ;-) )
Enums
- The type of the navigation.
- ObjectRegistrationType
-
You will see a rather esoteric looking test
(const Object() is! T)at several places. It tests ifTis a real type and not Object or dynamic. For each registered factory/singleton an ObjectRegistration<T> is created it holds either the instance of a Singleton or/and the creation functions for creating an instance whengetis called
Mixins
- RouteMixin
- Mixin that adds route support to nest_core Module
Extensions
- GoRouterHelper on BuildContext
- Dart extension to add navigation function to a BuildContext object, e.g. context.go('/');
Functions
Typedefs
-
DisposingFunc<
T> = FutureOr Function(T param) -
Signature for disposing function
because closures like
(x){}have a return type of Null we don't useFutureOr<void> -
ExitCallback
= FutureOr<
bool> Function(BuildContext context, GoRouterState state) -
Signature for function used in
RouteBase.onExit. -
FactoryFunc<
T> = T Function() - Signature of the factory function used by non async factories
-
FactoryFuncAsync<
T> = Future< T> Function() - Signature of the factory function used by async factories
-
FactoryFuncParam<
T, P1, P2> = T Function(P1 param1, P2 param2) -
For Factories that expect up to two parameters if you need only one use
voidfor the one you don't use -
FactoryFuncParamAsync<
T, P1, P2> = Future< T> Function(P1 param1, P2 param2) -
For async Factories that expect up to two parameters if you need only one use
voidfor the one you don't use - GoExceptionHandler = void Function(BuildContext context, GoRouterState state, GoRouter router)
-
The function signature of
GoRouter.onException. - Signature of a go router builder function with navigator.
- GoRouterPageBuilder = Page Function(BuildContext context, GoRouterState state)
- The page builder for GoRoute.
-
GoRouterRedirect
= FutureOr<
String?> Function(BuildContext context, GoRouterState state) - The signature of the redirect callback.
- GoRouterWidgetBuilder = Widget Function(BuildContext context, GoRouterState state)
- The widget builder for GoRoute.
-
The function signature for navigation callbacks in
_OnEnterHandler. - Signature for functions used to build Navigators
-
OnEnter
= FutureOr<
OnEnterResult> Function(BuildContext context, GoRouterState currentState, GoRouterState nextState, GoRouter goRouter) -
The signature for the top-level
onEntercallback. -
OnEnterThenCallback
= FutureOr<
void> Function() - Signature for callbacks invoked after an OnEnterResult is resolved.
- ParserExceptionHandler = RouteMatchList Function(BuildContext context, RouteMatchList routeMatchList)
- The function signature of GoRouteInformationParser.onParserException.
- PopPageWithRouteMatchCallback = bool Function(Route route, dynamic result, RouteMatchBase match)
-
Signature for a function that takes in a
routeto be popped with theresultand returns a boolean decision on whether the pop is successful. -
QueryParameterDecoder<
T> = T Function(String value) - Signature for custom query parameter decoding functions.
-
QueryParameterEncoder<
T> = String Function(T value) - Signature of custom query parameter encoding.
- RouteInfoState = RouteInformationState
- Type alias for route information state with dynamic type parameter.
- RouteMatchVisitor = bool Function(RouteMatchBase)
-
The function signature for
RouteMatchList.visitRouteMatches - ScopeDisposeFunc = FutureOr Function()
- Signature for disposing function on scope level
- Builder for a custom container for the branch Navigators of a StatefulShellRoute.
- ShellRouteBuilder = Widget Function(BuildContext context, GoRouterState state, Widget child)
- The widget builder for ShellRoute.
- ShellRoutePageBuilder = Page Function(BuildContext context, GoRouterState state, Widget child)
- The page builder for ShellRoute.
- StatefulShellRouteBuilder = Widget Function(BuildContext context, GoRouterState state, )
- The widget builder for StatefulShellRoute.
- StatefulShellRoutePageBuilder = Page Function(BuildContext context, GoRouterState state, )
- The page builder for StatefulShellRoute.
Exceptions / Errors
-
Raised when
Blockis returned fromonEnterbut there is no prior route configuration to restore (e.g., an initial deep link was blocked). - GoError
- Thrown when GoRouter is used incorrectly.
- GoException
- Thrown when GoRouter can not handle a user request.
- ServiceNotExportedException
- Exception thrown when trying to access a non-exported service
- WaitingTimeOutException