forked from FundingCircle/jackdaw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fn.clj
28 lines (21 loc) · 1 KB
/
fn.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(ns jackdaw.serdes.fn
"FIXME"
{:license "BSD 3-Clause License <https://github.com/FundingCircle/jackdaw/blob/master/LICENSE>"}
(:require [clojure.spec.alpha :as s]
[jackdaw.serdes.fn-impl :as fn-impl])
(:import [org.apache.kafka.common.serialization Deserializer Serializer]))
(set! *warn-on-reflection* true)
(s/def ::serialize fn?)
(s/def ::close fn?)
(s/def ::configure fn?)
(s/fdef new-serializer :args (s/cat :args (s/keys :req-un [::serialize]
:opt-un [::close
::configure])))
(defn new-serializer ^Serializer [args]
(fn-impl/map->FnSerializer args))
(s/def ::deserialize fn?)
(s/fdef new-deserializer :args (s/cat :args (s/keys :req-un [::deserialize]
:opt-un [::close
::configure])))
(defn new-deserializer ^Deserializer [args]
(fn-impl/map->FnDeserializer args))