@phreed traverse-all
is for integrating specter with transducers, which is not what you want in this case
that can just be done with select
: (select [:foo ALL :bar] {:foo [{:bar "one" :baz "two"} {:bar "three" :biz "four"} ] :bing 5})
traverse
is useful when you want a non-vector data structure back without materializing any intermediate data structure, e.g.:
(into #{} (traverse [:foo ALL :bar] {:foo [{:bar "one" :baz "two"} {:bar "three" :biz "four"} ] :bing 5}))
Actually I do want to integrate with other transducers, the example I gave is contrived. I guess the issue is what does it mean to take a step with a single record?
@phreed transducers operate over collections
if you show a more complete example of your use case would be easier to help