core/deep_link_command_router
library
Classes
-
DeepLinkCommand
-
Immutable, already-validated deep link — path params and query params
merged into one map (a query key never overrides a path param of the
same name, since path params are captured first).
-
DeepLinkCommandRouter
-
Parses deep links into typed DeepLinkCommands and dispatches them to
registered handlers — no concrete deep-link plugin dependency (
app_links,
uni_links, ...); a consuming app feeds its own URI stream into
handleUri.
-
DeepLinkHandleResult
-
-
DeepLinkHandlerResult
-
One handler's result for a single dispatch — diagnostic only, never
aborts the rest of the dispatch loop.
-
DeepLinkRoute
-
One allowlisted route:
scheme/host/path shape → a typed command.
A path segment starting with : captures that segment as a param (e.g.
['level', ':id'] matches /level/42 and captures id: '42').
Functions
-
parseDeepLink(Uri uri, List<DeepLinkRoute> routes, {int maxLength = 2048})
→ SdkResult<DeepLinkCommand>
-
Pure parser — no I/O, no singletons — matches
uri against routes in
order, first match wins. Rejects (never throws) on: a URI longer than
maxLength (guards against an oversized query string), a scheme/host
not in any route, or a path that doesn't match any route's shape.