module Data.Avro.Decode.Lazy.LazyValue
where
import Data.ByteString
import Data.HashMap.Strict (HashMap)
import Data.Int
import Data.List.NonEmpty (NonEmpty)
import Data.Text
import Data.Vector
data LazyValue f
= Null
| Boolean Bool
| Int Int32
| Long Int64
| Float Float
| Double Double
| Bytes ByteString
| String Text
| Array (Vector (LazyValue f))
| Map (HashMap Text (LazyValue f))
| Record f (HashMap Text (LazyValue f))
| Union (NonEmpty f) f (LazyValue f)
| Fixed f ByteString
| Enum f Int Text
| Error !String
deriving (Eq, Show)