as->
Threading macro which gives an alias to the thing you’re passing through a series of functions.
Copied straight from the docs
;; when you want to use arbitrary positioning of your argument in a thread macro
(as-> {:a 1 :b 2} m
(update m :a + 10)
(reduce (fn [s [_ v]] (+ s v)) 0 m))
;; when you'd like an if statement in your thread
(as-> {:a 1 :b 2} m
(update m :a + 10)
(if update-b
(update m :b + 10)
m))