jackdaw.data
This namespace aims to provide `->T`, `(datafy T)`, and `data->T` as
a round-tripping of Katka's (client) record types.
Note that for some types, particularly Kafka's `-Result` types no
`->T` constructors are provided as there are no consumers within the
Kafka API for these records they are merely packed results.
For compatibility with Clojure before 1.10.0, a `datafy` function is
provided. On 1.10 or after, it simply defers to
`clojure.datafy/datafy` but before 1.10 it acts as a backport
thereof.
+broker-config-resource-type+
+create-type-timestamp+
A timestamp type associated with the timestamp being from the
record's creation. That is, the record timestamp was user supplied.
+log-append-type-timestamp+
A timestamp type associated with the timestamp having been generated
by Kafka when the record was produced, not having been specified by
the user when the record was created.
+no-type-timestamp+
A timestamp type associated with... not having a timestamp type.
+topic-config-resource-type+
+unknown-config-resource-type+
->broker-resource
(->broker-resource name)
->topic-resource
(->topic-resource name)
as-OffsetAndTimestamp
(as-OffsetAndTimestamp ot)
as-TopicPartition
(as-TopicPartition o)
Config->data
(Config->data c)
ConfigEntry->data
(ConfigEntry->data e)
ConfigResource->data
(ConfigResource->data cr)
ConfigResourceType->data
(ConfigResourceType->data crt)
ConsumerRecord->data
(ConsumerRecord->data r)
datafy
(datafy x)
Attempts to return x as data.
`datafy` will return the value of `#'clojure.core.protocols/datafy`.
If the value has been transformed and the result supports metadata,
`:clojure.datafy/obj` will be set on the metadata to the original
value of x, and `:clojure.datafy/class` to the name of the class of
x, as a symbol.
DescribeClusterResult->data
(DescribeClusterResult->data dcr)
Node->data
(Node->data node)
OffsetAndTimestamp->data
(OffsetAndTimestamp->data ots)
PartitionInfo->data
(PartitionInfo->data pi)
ProducerRecord->data
(ProducerRecord->data pr)
Properties->data
(Properties->data o)
Consume a `Properties` instance, keywordizing the keys and returning
a Clojure mapping of the resulting keys to unmodified values.
TimestampType->data
(TimestampType->data tt)
TopicDescription->data
(TopicDescription->data td)
TopicPartition->data
(TopicPartition->data tp)
TopicPartitionInfo->data
(TopicPartitionInfo->data tpi)