Apparently having a nested map with an invalid value inside map-of breaks the strip-extra-keys-transformer.
Works as expected:
(m/encode
[:map-of
:any
[:map
[:a
[:string]]
[:b
[:string]]]]
{"anything" {:a "a" :b "b" :c "c"}}
mt/strip-extra-keys-transformer)
{"anything" {:a "a", :b "b"}
Produces empty map instead of {"anything" {:a "a"}}:
(m/encode
[:map-of
:any
[:map
[:a
[:string]]
[:b
[:string]]]]
{"anything" {:a "a" :c "c"}}
mt/strip-extra-keys-transformer)
{}
I found some mention to this problem in this pull request