Skip to content

Instantly share code, notes, and snippets.

@mprokopov
Created March 8, 2021 11:33
Show Gist options
  • Select an option

  • Save mprokopov/93a581cdbafa1ed910afbfb44938a73e to your computer and use it in GitHub Desktop.

Select an option

Save mprokopov/93a581cdbafa1ed910afbfb44938a73e to your computer and use it in GitHub Desktop.
clojure namespaced keywords destructuring
(require '[widget.factory :as factory])
;; direct
(fn [{clip :widget.factory/clip}]
)
;; :keys + symbol
(fn [{:keys [widget.factory/clip]}]
)
;; :keys + keyword
(fn [{:keys [:widget.factory/clip]}]
)
;; same but with "auto-resolved keyword"
(fn [{:keys [::factory/clip]}]
)
;; namespaced ::keys
(fn [{::factory/keys [clip]}]
)
@mprokopov
Copy link
Copy Markdown
Author

(defn bid [{:keys [:stock-backend.bid/id
                   :stock-backend.bid/amount
                   :stock-backend.bid/pair
                   :stock-backend.bid/price
                   :stock-backend.bid/status
                   :stock-backend.bid/direction
                   :stock-backend.bid/my]}]

refactored into

(defn bid [{:stock-backend.bid/keys [id amount pair price status direction my]}]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment