diff --git a/src/main/cljs/dda/k8s_mastodon_bot/yaml.cljs b/src/main/cljs/dda/k8s_mastodon_bot/yaml.cljs index faed5b8..5a9de3b 100644 --- a/src/main/cljs/dda/k8s_mastodon_bot/yaml.cljs +++ b/src/main/cljs/dda/k8s_mastodon_bot/yaml.cljs @@ -1,8 +1,11 @@ (ns dda.k8s-mastodon-bot.yaml (:require - [aero.core :as aero] ["js-yaml" :as yaml] )) (defn from-string [input] - 42) \ No newline at end of file + (js->clj (yaml/load input) + :keywordize-keys true)) + +(defn to-string [edn] + (yaml/dump (clj->js edn))) \ No newline at end of file diff --git a/src/test/cljc/dda/k8s_mastodon_bot/yaml_test.cljc b/src/test/cljc/dda/k8s_mastodon_bot/yaml_test.cljc index 5770833..7c4da6d 100644 --- a/src/test/cljc/dda/k8s_mastodon_bot/yaml_test.cljc +++ b/src/test/cljc/dda/k8s_mastodon_bot/yaml_test.cljc @@ -3,6 +3,11 @@ [clojure.test :refer [deftest is testing are]] [dda.k8s-mastodon-bot.yaml :as cut])) -(deftest should-pars-yaml-string - (is (= 43 +(deftest should-parse-yaml-string + (is (= {:hallo "welt"} (cut/from-string "hallo: welt")))) + +(deftest should-generate-yaml-string + (is (= "hallo: welt +" + (cut/to-string {:hallo "welt"}))))