|
393 | 393 | (var? (get-safe x :nextjournal.clerk/var-from-def)))
|
394 | 394 |
|
395 | 395 | (def var-from-def-viewer
|
396 |
| - {:pred var-from-def? |
| 396 | + {:name `var-from-def-viewer |
| 397 | + :pred var-from-def? |
397 | 398 | :transform-fn (update-val (comp deref :nextjournal.clerk/var-from-def))})
|
398 | 399 |
|
399 | 400 | (defn apply-viewer-unwrapping-var-from-def
|
|
772 | 773 | :transform-fn (fn [wrapped-value] (with-viewer `html-viewer [:sup.sidenote-ref (-> wrapped-value ->value :ref inc)]))}])
|
773 | 774 |
|
774 | 775 | (def char-viewer
|
775 |
| - {:pred char? :render-fn '(fn [c] [:span.cmt-string.inspected-value "\\" c])}) |
| 776 | + {:name `char-viewer :pred char? :render-fn '(fn [c] [:span.cmt-string.inspected-value "\\" c])}) |
776 | 777 |
|
777 | 778 | (def string-viewer
|
778 |
| - {:pred string? |
| 779 | + {:name `string-viewer |
| 780 | + :pred string? |
779 | 781 | :render-fn 'nextjournal.clerk.render/render-quoted-string
|
780 | 782 | :opening-paren "\""
|
781 | 783 | :closing-paren "\""
|
782 | 784 | :page-size 80})
|
783 | 785 |
|
784 | 786 | (def number-viewer
|
785 |
| - {:pred number? |
| 787 | + {:name `number-viewer |
| 788 | + :pred number? |
786 | 789 | :render-fn 'nextjournal.clerk.render/render-number
|
787 | 790 | #?@(:clj [:transform-fn (update-val #(cond-> %
|
788 | 791 | (or (instance? clojure.lang.Ratio %)
|
|
792 | 795 | {:name `number-hex-viewer :render-fn '(fn [num] (nextjournal.clerk.render/render-number (str "0x" (.toString (js/Number. num) 16))))})
|
793 | 796 |
|
794 | 797 | (def symbol-viewer
|
795 |
| - {:pred symbol? :render-fn '(fn [x] [:span.cmt-keyword.inspected-value (str x)])}) |
| 798 | + {:name `symbol-viewer :pred symbol? :render-fn '(fn [x] [:span.cmt-keyword.inspected-value (str x)])}) |
796 | 799 |
|
797 | 800 | (def keyword-viewer
|
798 |
| - {:pred keyword? :render-fn '(fn [x] [:span.cmt-atom.inspected-value (str x)])}) |
| 801 | + {:name `keyword-viewer :pred keyword? :render-fn '(fn [x] [:span.cmt-atom.inspected-value (str x)])}) |
799 | 802 |
|
800 | 803 | (def nil-viewer
|
801 |
| - {:pred nil? :render-fn '(fn [_] [:span.cmt-default.inspected-value "nil"])}) |
| 804 | + {:name `nil-viewer :pred nil? :render-fn '(fn [_] [:span.cmt-default.inspected-value "nil"])}) |
802 | 805 |
|
803 | 806 | (def boolean-viewer
|
804 |
| - {:pred boolean? :render-fn '(fn [x] [:span.cmt-bool.inspected-value (str x)])}) |
| 807 | + {:name `boolean-viewer :pred boolean? :render-fn '(fn [x] [:span.cmt-bool.inspected-value (str x)])}) |
805 | 808 |
|
806 | 809 | (def map-entry-viewer
|
807 |
| - {:pred map-entry? :name `map-entry-viewer :render-fn '(fn [xs opts] (into [:<>] (comp (nextjournal.clerk.render/inspect-children opts) (interpose " ")) xs)) :page-size 2}) |
| 810 | + {:name `map-entry-viewer :pred map-entry? :render-fn '(fn [xs opts] (into [:<>] (comp (nextjournal.clerk.render/inspect-children opts) (interpose " ")) xs)) :page-size 2}) |
808 | 811 |
|
809 | 812 | (def read+inspect-viewer
|
810 | 813 | {:name `read+inspect-viewer :render-fn '(fn [x] (try [nextjournal.clerk.render/inspect (nextjournal.clerk.viewer/read-string-without-tag-table x)]
|
811 | 814 | (catch js/Error _e
|
812 | 815 | (nextjournal.clerk.render/render-unreadable-edn x))))})
|
813 | 816 |
|
814 | 817 | (def vector-viewer
|
815 |
| - {:pred vector? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "[" :closing-paren "]" :page-size 20}) |
| 818 | + {:name `vector-viewer :pred vector? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "[" :closing-paren "]" :page-size 20}) |
816 | 819 |
|
817 | 820 | (def set-viewer
|
818 |
| - {:pred set? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "#{" :closing-paren "}" :page-size 20}) |
| 821 | + {:name `set-viewer :pred set? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "#{" :closing-paren "}" :page-size 20}) |
819 | 822 |
|
820 | 823 | (def sequential-viewer
|
821 |
| - {:pred sequential? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "(" :closing-paren ")" :page-size 20}) |
| 824 | + {:name `sequential-viewer :pred sequential? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "(" :closing-paren ")" :page-size 20}) |
822 | 825 |
|
823 | 826 | (def map-viewer
|
824 |
| - {:pred map? :name `map-viewer :render-fn 'nextjournal.clerk.render/render-map :opening-paren "{" :closing-paren "}" :page-size 10}) |
| 827 | + {:name `map-viewer :pred map? :render-fn 'nextjournal.clerk.render/render-map :opening-paren "{" :closing-paren "}" :page-size 10}) |
825 | 828 |
|
826 | 829 | #?(:cljs (defn var->symbol [v] (if (instance? sci.lang.Var v) (sci.impl.vars/toSymbol v) (symbol v))))
|
827 | 830 |
|
828 | 831 | (def var-viewer
|
829 |
| - {:pred (some-fn var? #?(:cljs #(instance? sci.lang.Var %))) |
| 832 | + {:name `var-viewer |
| 833 | + :pred (some-fn var? #?(:cljs #(instance? sci.lang.Var %))) |
830 | 834 | :transform-fn (comp #?(:cljs var->symbol :clj symbol) ->value)
|
831 | 835 | :render-fn '(fn [x] [:span.inspected-value [:span.cmt-meta "#'" (str x)]])})
|
832 | 836 |
|
|
846 | 850 | :nextjournal/content-type "image/png"
|
847 | 851 | :nextjournal/width (image-width image)}
|
848 | 852 | mark-presented))])
|
| 853 | + :name `image-viewer |
849 | 854 | :render-fn '(fn [blob-or-url] [:div.flex.flex-col.items-center.not-prose
|
850 | 855 | [:img {:src #?(:clj (nextjournal.clerk.render/url-for blob-or-url)
|
851 | 856 | :cljs blob-or-url)}]])})
|
852 | 857 |
|
853 | 858 | (def ideref-viewer
|
854 |
| - {:pred #(#?(:clj instance? :cljs satisfies?) IDeref %) |
| 859 | + {:name `ideref-viewer |
| 860 | + :pred #(#?(:clj instance? :cljs satisfies?) IDeref %) |
855 | 861 | :transform-fn (update-val (fn [ideref]
|
856 | 862 | (with-viewer `tagged-value-viewer
|
857 | 863 | {:tag "object"
|
|
862 | 868 | (deref ideref)))})))})
|
863 | 869 |
|
864 | 870 | (def regex-viewer
|
865 |
| - {:pred #?(:clj (partial instance? java.util.regex.Pattern) :cljs regexp?) |
| 871 | + {:name `regex-viewer |
| 872 | + :pred #?(:clj (partial instance? java.util.regex.Pattern) :cljs regexp?) |
866 | 873 | :transform-fn (fn [wrapped-value] (with-viewer `tagged-value-viewer {:tag "" :value (let [regex (->value wrapped-value)]
|
867 | 874 | #?(:clj (.pattern regex) :cljs (.-source regex)))}))})
|
868 | 875 |
|
869 | 876 | (def fallback-viewer
|
870 |
| - {:pred (constantly :true) :transform-fn (update-val #(with-viewer `read+inspect-viewer (pr-str %)))}) |
| 877 | + {:name `fallback-viewer :pred (constantly :true) :transform-fn (update-val #(with-viewer `read+inspect-viewer (pr-str %)))}) |
871 | 878 |
|
872 | 879 | (def elision-viewer
|
873 | 880 | {:name `elision-viewer :render-fn 'nextjournal.clerk.render/render-elision :transform-fn mark-presented})
|
|
1156 | 1163 | mark-presented))})
|
1157 | 1164 |
|
1158 | 1165 | (def viewer-eval-viewer
|
1159 |
| - {:pred viewer-eval? |
| 1166 | + {:name `viewer-eval-viewer |
| 1167 | + :pred viewer-eval? |
1160 | 1168 | :var-from-def? true
|
1161 | 1169 | :transform-fn (comp mark-presented
|
1162 | 1170 | (update-val
|
|
0 commit comments