malli 2025-05-27

Hi guys! It's a normal behaviour?

(def Foo
  [:map
    [:x :string]
    [:z [:map-of :string [:map
                           [:foo :int]
                           [:fifoo :string]]]]])

(m/encode Foo {:x "x" :y "y" :z {"aaa" {:foo 1}}} (mt/transformer mt/json-transformer mt/strip-extra-keys-transformer))
;; => {:x "x" :z {}}
Why z is completely stripped?

✅ 1

I'm thinking since it doesn't contain a valid value for that schema

Yeah. I will mark optional some fields