Feature request: Add interface for Representer
conao3 opened this issue · 0 comments
conao3 commented
I notice dumping clojure symbol using clj-yaml, it output !!clojure.lang.Symbol
.
user> (require '[clj-yaml.core :as yaml])
user> (yaml/generate-string {:arglists '([] [x])})
"arglists:\n- []\n- - !!clojure.lang.Symbol {}\n"
I want that it just outputs as a string.
My assumption would be an API like this
(yaml/generate-string {:arglists '([] [x])} {:dumper-options :serialize-tag {clojure.lang.Symbol str}})
workaround
thanks @lread
(require '[clj-yaml.core :as yaml]
'[clojure.walk :as walk])
(defn prep [form]
(walk/prewalk (fn [item] (if (symbol? item)
(str item)
item))
form))
(-> {:arglists '([] [x])} prep yaml/generate-string)
;; => "arglists:\n- []\n- [x]\n"
pointer
from @lread's comment, maybe this feature is Representer
of SnakeYAML
.