{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} module Avro.Data.Deconflict.Read where import Data.Avro.Deriving deriveAvroFromByteString [r| [ { "name": "Foo", "type": "record", "fields": [ { "name": "fooBar", "type": { "name": "Bar", "type": "record", "fields": [ { "name": "barInt", "type": "int", "order": "descending" }, { "name": "barTime", "type": { "logicalType": "timestamp-millis", "type": "long" } }, { "name": "barLong", "type": { "logicalType": "timestamp-micros", "type": "long" } }, { "name": "barString", "type": "string" }, { "name": "barMissing", "type": "double", "default": 42.2}, { "name": "barMooMissing", "type": { "type": "record", "name": "Moo", "fields": [ { "name": "mooInt", "type": "int"}, { "name": "mooLong", "type": "long"} ] }, "default": { "mooLong": 2, "mooInt": 42 } } ] } }, { "name": "fooOption", "type": ["string", "null"], "default": "default value" }, { "name": "fooUnion", "type": ["string", "int", "float"] } ] } ] |]