Closed zampino closed 2 months ago
The error depends also on which values are being wrapped:
I believe the reason for this is how viewer/present
treats wrapped values:
[(viewer/present {:nextjournal/value (clerk/with-viewer viewer/string-viewer "hello")})
(viewer/present {:nextjournal/value (clerk/with-viewer viewer/number-viewer 123)})]
;; => [{:path [],
;; :nextjournal/value "hello",
;; :nextjournal/viewer {:name nextjournal.clerk.viewer/map-viewer,
;; :render-fn #viewer-fnnextjournal.clerk.render/render-map,
;; :opening-paren "{",
;; :closing-paren ("}"),
;; :page-size 10,
;; :hash "5drSiYgxwbGAGQx15hZm4Ts9vK16be"}}
;; {:path [],
;; :nextjournal/value 123,
;; :nextjournal/viewer {:name nextjournal.clerk.viewer/map-viewer,
;; :render-fn #viewer-fnnextjournal.clerk.render/render-map,
;; :opening-paren "{",
;; :closing-paren ("}"),
;; :page-size 10,
;; :hash "5drSiYgxwbGAGQx15hZm4Ts9vK16be"}}]
the inner value and the assigned viewer definitely go out of sync.
the above gives:
This is the cause of https://github.com/nextjournal/clerk/issues/638#issuecomment-2018168649.