We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 39b6703 commit 2291779Copy full SHA for 2291779
src/rewrite_clj/node/coerce.clj
@@ -7,7 +7,8 @@
7
[protocols :as node
8
:refer [NodeCoerceable
9
coerce]]
10
- [reader-macro :refer [var-node]]
+ [reader-macro
11
+ :refer [reader-macro-node var-node]]
12
[seq :refer [vector-node
13
list-node
14
set-node
@@ -83,11 +84,19 @@
83
84
(butlast)
85
(vec))))
86
87
+(defn- record-node
88
+ [m]
89
+ (reader-macro-node
90
+ [(token-node (symbol (.getName ^Class (class m))))
91
+ (map-node (map->children m))]))
92
+
93
(extend-protocol NodeCoerceable
94
clojure.lang.IPersistentMap
95
(coerce [m]
96
(node-with-meta
- (map-node (map->children m))
97
+ (if (record? m)
98
+ (record-node m)
99
+ (map-node (map->children m)))
100
m)))
101
102
;; ## Vars
0 commit comments