The pure half of route compilation: the bidi-table walk, minus the defmethod/registry
side effects, so it can be unit-tested under :node-test (bangmod.router.internal
cannot load there — pushy and reagent touch js/window at load time).
Grammar accepted — bidi's, with one change: a leaf is [handler-keyword component]
instead of a bare handler.
RoutePair := [Pattern Matched] Matched := [handler-kw component] | {Pattern Matched ...} | [RoutePair ...]
Patterns (strings, ["/projects/" :id] vectors, ...) are never walked, so a path
parameter keyword is never mistaken for a handler.
The pure half of route compilation: the bidi-table walk, minus the defmethod/registry
side effects, so it can be unit-tested under `:node-test` (`bangmod.router.internal`
cannot load there — pushy and reagent touch `js/window` at load time).
Grammar accepted — bidi's, with one change: a leaf is `[handler-keyword component]`
instead of a bare handler.
RoutePair := [Pattern Matched]
Matched := [handler-kw component] | {Pattern Matched ...} | [RoutePair ...]
Patterns (strings, `["/projects/" :id]` vectors, ...) are never walked, so a path
parameter keyword is never mistaken for a handler.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |