From 37b555f71ea6ebaea9ff183f186abc46cf9b1a67 Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Sun, 14 Sep 2025 14:40:01 +0300 Subject: Restructure and start working on tests --- src/dompa/core.clj | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 src/dompa/core.clj (limited to 'src/dompa/core.clj') diff --git a/src/dompa/core.clj b/src/dompa/core.clj deleted file mode 100644 index 4891c46..0000000 --- a/src/dompa/core.clj +++ /dev/null @@ -1,52 +0,0 @@ -(ns dompa.core - (:require - [dompa.coordinates :refer [html->coordinates]] - [dompa.nodes :refer [coordinates->nodes]])) - -(defn html->nodes [html] - (->> (html->coordinates html) - (coordinates->nodes html))) - -(def default-void-nodes - #{:img}) - -(defn- node->html - [{:keys [name content void-node?]}] - (if void-node? - (str "<" name ">") - (str "<" name ">" content ""))) - -(defn nodes->html - ([nodes] - (nodes->html nodes {:void-nodes default-void-nodes})) - ([nodes {:keys [void-nodes]}] - (reduce - (fn [html node] - (if (= (-> node :name) :dompa/text) - (str html (-> node :value)) - (node->html {:name (-> node :name name) - :content (nodes->html (-> node :children)) - :void-node? (contains? void-nodes (-> node :name))}))) - "" - nodes))) - -(defn traverse-nodes [nodes pred] - (reduce - (fn [updated-nodes node] - (if-let [updated-node (pred node)] - (let [children (traverse-nodes (-> updated-node :children) pred)] - (conj updated-nodes (assoc updated-node :children children))) - updated-nodes)) - [] - nodes)) - -(defn traverse-html [html pred] - (-> (html->nodes html) - (traverse-nodes pred) - nodes->html)) - -(comment - (traverse-html "
asdasdhello
" #(when-not (= (-> % :name) :span) - %)) - (html->coordinates "
helloasdasdasdadad
hello some text
another root element
") - (html->nodes "
helloasdasdasdadad")) \ No newline at end of file -- cgit v1.2.3