From d2b8b9424ffd40b8703ad61438430f3491a33249 Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Tue, 23 Sep 2025 22:46:16 +0300 Subject: Improvements to the utils macros. --- src/dompa/nodes.cljc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/dompa/nodes.cljc') diff --git a/src/dompa/nodes.cljc b/src/dompa/nodes.cljc index 9ecc95f..dfd93bc 100644 --- a/src/dompa/nodes.cljc +++ b/src/dompa/nodes.cljc @@ -13,18 +13,19 @@ (defn- node->html-reducer-fn [void-nodes nodes->html-fn] (fn [html node] - (let [node-name (-> node :node/name name) - node-attrs (reduce-kv node-attrs-reducer "" (-> node :node/attrs))] - (cond - (= (-> node :node/name) :dompa/text) - (str html (-> node :node/value)) + (when-not (nil? node) + (let [node-name (-> node :node/name name) + node-attrs (reduce-kv node-attrs-reducer "" (-> node :node/attrs))] + (cond + (= (-> node :node/name) :dompa/text) + (str html (-> node :node/value)) - (contains? void-nodes (-> node :node/name)) - (str html "<" node-name node-attrs">") + (contains? void-nodes (-> node :node/name)) + (str html "<" node-name node-attrs">") - :else - (let [value (nodes->html-fn (-> node :node/children))] - (str html "<" node-name node-attrs ">" value "")))))) + :else + (let [value (nodes->html-fn (-> node :node/children))] + (str html "<" node-name node-attrs ">" value ""))))))) (defn traverse "Recursively traverses given tree of `nodes` with a `traverser-fn` -- cgit v1.2.3