requireFlutterCoordinator function
Coordinator<RouteUnique>
requireFlutterCoordinator(
- CoordinatorCore<
RouteUri> coordinatorCore, { - required PathKey pathKey,
Ensures coordinatorCore is a Flutter Coordinator for default path builders.
NavigationPath, IndexedStackPath, and BranchedStackPath defaults use
NavigationStack or IndexedStackPathBuilder,
restoration IDs, and transitions that require Coordinator. Throws an
AssertionError in debug when coordinatorCore is another CoordinatorCore
implementation — register a custom builder via
CoordinatorLayout.defineLayoutBuilder instead.
Implementation
@visibleForTesting
@protected
Coordinator requireFlutterCoordinator(
CoordinatorCore coordinatorCore, {
required PathKey pathKey,
}) {
assert(
coordinatorCore is Coordinator,
'The default layout builder for "${pathKey.key}" requires a zenrouter '
'Coordinator (extend Coordinator<YourRoute>), but received '
'${coordinatorCore.runtimeType}. '
'NavigationPath, IndexedStackPath, and BranchedStackPath use Flutter '
'navigation widgets and need '
'Coordinator.routerDelegate, CoordinatorRestoration, and transition '
'strategy. Either extend Coordinator or call defineLayoutBuilder('
'${pathKey.key}, ...) with a builder that supports your coordinator type. '
'See packages/zenrouter/doc/guides/route-layout.md#default-layout-builders-require-coordinator.',
);
return coordinatorCore as Coordinator;
}