File tree Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Original file line number Diff line number Diff line change 1010
1111(defn ^:private extract-hash->viewer [presentation]
1212 (into {}
13- (map (juxt #(symbol " nextjournal.clerk" (str " viewer-fn$" (:hash %))) identity))
13+ (map (juxt (fn [viewer]
14+ (or (when (qualified-symbol? (:name viewer))
15+ (symbol (namespace (:name viewer)) (str (name (:name viewer)) " $" (:hash viewer))))
16+ (symbol " nextjournal.clerk.viewer" (str " viewer-fn$" (:hash viewer))))) identity))
1417 (keep :nextjournal/viewer (tree-seq (some-fn map? vector?) #(cond-> % (map? %) vals) presentation))))
1518
1619(defn doc->viewer
Original file line number Diff line number Diff line change 801801 (nextjournal.clerk.render/render-unreadable-edn x))))})
802802
803803(def vector-viewer
804- {:pred vector? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren " [" :closing-paren " ]" :page-size 20 })
804+ {:pred vector? :name `vector-viewer : render-fn 'nextjournal.clerk.render/render-coll :opening-paren " [" :closing-paren " ]" :page-size 20 })
805805
806806(def set-viewer
807- {:pred set? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren " #{" :closing-paren " }" :page-size 20 })
807+ {:pred set? :name `set-viewer : render-fn 'nextjournal.clerk.render/render-coll :opening-paren " #{" :closing-paren " }" :page-size 20 })
808808
809809(def sequential-viewer
810- {:pred sequential? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren " (" :closing-paren " )" :page-size 20 })
810+ {:pred sequential? :name `sequential-viewer : render-fn 'nextjournal.clerk.render/render-coll :opening-paren " (" :closing-paren " )" :page-size 20 })
811811
812812(def map-viewer
813813 {:pred map? :name `map-viewer :render-fn 'nextjournal.clerk.render/render-map :opening-paren " {" :closing-paren " }" :page-size 10 })
Original file line number Diff line number Diff line change 339339 (is (= 5
340340 (count
341341 (->> (eval/eval-string " ^{:nextjournal.clerk/budget 5}(reduce (fn [acc _i] (vector acc)) :fin (range 100 0 -1))" )
342- view/doc->viewer v/->value :blocks
342+ view/doc->viewer v/->value
343+ :blocks
343344 (tree-seq coll? seq)
344- (filter (every-pred map? (comp #{'nextjournal.clerk.render/render-coll} :form :render-fn )))))))
345+ (keep :nextjournal/viewer )
346+ (filter #(str/starts-with? (str %) " nextjournal.clerk.viewer/vector-viewer" ))))))
345347
346348 (is (= 5
347349 (count
348350 (->> (eval/eval-string " (nextjournal.clerk/with-viewer {} {:nextjournal.clerk/budget 5} (reduce (fn [acc i] (vector acc)) :fin (range 15 0 -1)))" )
349351 view/doc->viewer v/->value :blocks
350352 (tree-seq coll? seq)
351- (filter (every-pred map? (comp #{'nextjournal.clerk.render/render-coll} :form :render-fn )))))))
353+ (keep :nextjournal/viewer )
354+ (filter #(str/starts-with? (str %) " nextjournal.clerk.viewer/vector-viewer" ))))))
352355
353356 (is (= 101
354357 (count
355358 (->> (eval/eval-string " ^{:nextjournal.clerk/budget nil}(reduce (fn [acc i] (vector i acc)) :fin (range 101 0 -1))" )
356359 view/doc->viewer v/->value :blocks
357360 (tree-seq coll? seq)
358- (filter ( every-pred map ? (comp #{' nextjournal.clerk.render/render-coll} :form :render-fn ) ))))))))
361+ (filter #( str/starts-with ? (str %) " nextjournal.clerk.viewer/vector-viewer " ))))))))
359362
360363(deftest ->edn
361364 (testing " normal symbols and keywords"
You can’t perform that action at this time.
0 commit comments