Serialisation overview
The code generated by Smithy4s is strictly protocol agnostic. One implication is that the data-types generated by Smithy4s are not tied to any particular serialisation format or third-party library. Instead, Smithy4s generates an instance of a smithy4s.schema.Schema
for each data-type (see the relevant section). From this schema can be derived encoders and decoders for virtually any serialisation format.
Smithy4s provides opt-in modules implementing serialisation in several different formats, including JSON
, XML
and Protobuf
. The modules cross-compile to all combinations of platforms (JVM/JS/Native) and scala-versions supported by Smithy4s.