Skip to main content

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.