{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} module Avro.Deconflict.A.Writer where import Data.Avro.Deriving import Text.RawString.QQ deriveAvroFromByteString [r| { "type": "record", "name": "Outer", "fields": [ { "name": "name", "type": "string" }, { "name": "inner", "type": { "type": "record", "name": "Inner", "fields": [ { "name": "id", "type": "int" } ] } }, { "name": "other", "type": "Inner" } ] } |] sampleValue :: Outer sampleValue = Outer "Peone" (Inner 3) (Inner 5)