File tree Expand file tree Collapse file tree 3 files changed +18
-23
lines changed
libraries/sdk/src/main/starfederation/datastar/clojure/api Expand file tree Collapse file tree 3 files changed +18
-23
lines changed Original file line number Diff line number Diff line change 1- (ns starfederation.datastar.clojure.api.common )
1+ (ns starfederation.datastar.clojure.api.common
2+ (:require
3+ [clojure.string :as string]))
24
35; ; -----------------------------------------------------------------------------
46; ; Option names
4143
4244(defn add-data-lines!
4345 " Add several data-lines to the `data-lines!` transient vector."
44- [data-lines! prefix lines-seq ]
46+ [data-lines! prefix text ]
4547 (reduce
4648 (fn [acc part]
4749 (conj! acc (str prefix part)))
4850 data-lines!
49- lines-seq ))
51+ ( string/split-lines text) ))
5052
5153
5254(defn add-boolean-option?
5658 (and
5759 (boolean? val)
5860 (not= val default-val )))
59-
60-
61-
Original file line number Diff line number Diff line change 3030 (cond-> data-lines!
3131 (and sel (valid-selector? sel))
3232 (common/add-opt-line! consts/selector-dataline-literal sel)
33-
33+
3434 (and patch-mode (add-epm? patch-mode))
3535 (common/add-opt-line! consts/mode-dataline-literal patch-mode)
3636
4747 [data-lines! element]
4848 (cond-> data-lines!
4949 (u/not-empty-string? element)
50- (common/add-data-lines! consts/elements-dataline-literal
51- (string/split-lines element))))
50+ (common/add-data-lines! consts/elements-dataline-literal element)))
5251
5352
5453(defn ->patch-elements
9190(defn conj-patch-elements-seq
9291 " Adds a the data-lines when patching a seq of strings elements."
9392 [data-lines! elements-seq]
94- (cond-> data-lines!
95- (seq elements-seq)
96- (common/add-data-lines! consts/elements-dataline-literal
97- (eduction
98- (comp (mapcat string/split-lines)
99- (remove string/blank?))
100- elements-seq))))
93+ (if (seq elements-seq)
94+ (reduce
95+ (fn [data-lines! elements]
96+ (if (string/blank? elements)
97+ data-lines!
98+ (common/add-data-lines! data-lines! consts/elements-dataline-literal elements)))
99+ data-lines!
100+ elements-seq)
101+ data-lines!))
101102
102103
103104(defn ->patch-elements-seq
146147 (patch-elements! sse-gen " " (assoc opts
147148 common/selector selector
148149 common/patch-mode consts/element-patch-mode-remove)))
149-
150-
Original file line number Diff line number Diff line change 2121 (common/add-opt-line! consts/only-if-missing-dataline-literal oim)
2222
2323 (u/not-empty-string? signals)
24- (common/add-data-lines! consts/signals-dataline-literal
25- (string/split-lines signals))))))
24+ (common/add-data-lines! consts/signals-dataline-literal signals)))))
2625
2726
2827
2928(comment
3029 (= (->patch-signals " {'some': \n 'json'}" {})
3130 [" signals {'some': "
3231 " signals 'json'}" ]))
33-
32+
3433(defn patch-signals! [sse-gen signals-content opts]
3534 (try
3635 (sse/send-event! sse-gen
5655 (if (= :get (:request-method request))
5756 (get-in request [:query-params consts/datastar-key])
5857 (:body request)))
59-
60-
You can’t perform that action at this time.
0 commit comments