Skip to content

query param binding for Regex route #108

Open
@jngbng

Description

@jngbng

Following example in README does not work due to compilation failure.

(defroute #"/users/(\d+)" [id {:keys [query-params]}]
  (js/console.log (str "User: " id))
  (js/console.log (pr-str query-params)))

Compilation bug happens at the following line, which is actually dead code.

{:keys destruct}

I guess you already know this problem as you have used a workaround in the following test code:

https://github.com/clj-commons/secretary/blob/master/test/secretary/test/core.cljs#L162

Before the bug is resolved, the README would better be modified.

(defroute #"/users/(\d+)" [id q]
  (js/console.log (str "User: " id))
  (js/console.log (pr-str (:query-params q)))

;;; or

(defroute #"/users/(\d+)" {:as params}
  (let [[id {:keys [query-params]}] params]
    (js/console.log (str "User: " id))
    (js/console.log (pr-str query-params))))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions