♻️ Refactor svg to data-uri code

This commit is contained in:
Aitor 2023-05-25 14:58:22 +02:00
parent df1c56da2d
commit 4068413f9f
2 changed files with 13 additions and 15 deletions

View file

@ -410,14 +410,19 @@
(-> (js/XMLSerializer.)
(.serializeToString node))))
(defn svg->data-uri
[svg]
(assert (string? svg))
(let [b64 (-> svg
js/encodeURIComponent
js/unescape
(defn str->data-uri
[str type]
(assert (string? str))
(let [b64 (-> str
js/btoa)]
(dm/str "data:image/svg+xml;base64," b64)))
(dm/str "data:" type ";base64," b64)))
(defn svg-node->data-uri
[svg-node]
(let [xml (-> (js/XMLSerializer.)
(.serializeToString svg-node))
data-uri (str->data-uri xml "image/svg+xml")]
data-uri))
(defn set-property! [^js node property value]
(when (some? node)