Skip to content

Commit 0769170

Browse files
committed
Local test for map reducer
1 parent f2c517b commit 0769170

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

dev/map-reducer.repl

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
(require '[aux :as a])
2+
(import '[java.io ByteArrayInputStream ByteArrayOutputStream]
3+
'[org.fressian FressianReader FressianWriter]
4+
'[org.fressian.handlers ILookup IReduceKV IReduceList ReadHandler]
5+
'[java.util HashMap])
6+
7+
(def map-reducer (reify IReduceKV
8+
(init [_ len]
9+
(HashMap. len))
10+
11+
(step [_ acc k v]
12+
(.put ^HashMap acc k v))
13+
14+
(complete [_ acc]
15+
acc)))
16+
17+
(def map-handler (reify ReadHandler
18+
(read [_ reader _ _]
19+
(.readWithReducer ^FressianReader reader ^IReduceKV map-reducer))))
20+
21+
(def custom-read-handlers
22+
(reify ILookup
23+
(valAt [_ k]
24+
(get {"map" map-handler} k))))
25+
26+
(type (a/defressian (a/fressian {"my" "map"}) custom-read-handlers))

0 commit comments

Comments
 (0)