Fork me on GitHub
#specter
<
2018-11-08
>
lxsli15:11:07

Hi, I have this:

(transform [ALL] (fn [[k v]] [k (transform [ALL] (fn [[k1 v1]] [k1 (resolver-key k k1)]) v)]) rs))
With rs like:
{:Entry {:foo _ :bar _} ...}
I get my result:
{:Entry {:foo :Entry-foo :bar :Entry-bar} ...}

lxsli15:11:59

It feels like if there was a way to use MAP-VALS but collect the key as I did so, that would be easier?

nathanmarz15:11:52

@lxsi you want to use value collection for this:

(def MAP-VALS-WITH-KEY (path ALL (collect-one FIRST) LAST))
(transform [MAP-VALS-WITH-KEY MAP-VALS-WITH-KEY] (fn [k1 k2 _] (resolver-key k1 k2)) data)

lxsli15:11:22

Sweet, thank you!