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

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.

Typedefs

DeepLinkHandler = FutureOr<void> Function(DeepLinkCommand command)