aviary-ps/src/format.AviaryFormat.purs

200 lines
7.8 KiB
Plaintext

-- | Generated by __purescript-protobuf__ from file `format.proto`
module AviaryFormat.Format
( Image(..), ImageRow, ImageR, parseImage, putImage, defaultImage, mkImage, mergeImage
, Index(..), IndexRow, IndexR, parseIndex, putIndex, defaultIndex, mkIndex, mergeIndex
, Format(..)
)
where
import Protobuf.Internal.Prelude
import Protobuf.Internal.Prelude as Prelude
-- ---------- Message Image ----------
newtype Image = Image ImageR
type ImageRow =
( key :: Prelude.Maybe Prelude.Bytes
, full_url :: Prelude.Maybe String
, thumb_url :: Prelude.Maybe String
, blurhash :: Prelude.Maybe String
, format :: Prelude.Maybe Format
, width :: Prelude.Maybe Prelude.UInt
, height :: Prelude.Maybe Prelude.UInt
, __unknown_fields :: Array Prelude.UnknownField
)
type ImageR = Record ImageRow
derive instance genericImage :: Prelude.Generic Image _
derive instance newtypeImage :: Prelude.Newtype Image _
derive instance eqImage :: Prelude.Eq Image
instance showImage :: Prelude.Show Image where show x = Prelude.genericShow x
putImage :: forall m. Prelude.MonadEffect m => Image -> Prelude.PutM m Prelude.Unit
putImage (Image r) = do
Prelude.putOptional 1 r.key Prelude.isDefault Prelude.encodeBytesField
Prelude.putOptional 2 r.full_url Prelude.isDefault Prelude.encodeStringField
Prelude.putOptional 3 r.thumb_url Prelude.isDefault Prelude.encodeStringField
Prelude.putOptional 4 r.blurhash Prelude.isDefault Prelude.encodeStringField
Prelude.putOptional 5 r.format Prelude.isDefault Prelude.putEnumField
Prelude.putOptional 6 r.width Prelude.isDefault Prelude.encodeUint32Field
Prelude.putOptional 7 r.height Prelude.isDefault Prelude.encodeUint32Field
Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
parseImage :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m Image
parseImage length = Prelude.label "Image / " $
Prelude.parseMessage Image defaultImage parseField length
where
parseField
:: Prelude.FieldNumberInt
-> Prelude.WireType
-> Prelude.ParserT Prelude.DataView m (Prelude.Builder ImageR ImageR)
parseField 1 Prelude.LenDel = Prelude.label "key / " $ do
x <- Prelude.decodeBytes
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "key") $ \_ -> Prelude.Just x
parseField 2 Prelude.LenDel = Prelude.label "full_url / " $ do
x <- Prelude.decodeString
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "full_url") $ \_ -> Prelude.Just x
parseField 3 Prelude.LenDel = Prelude.label "thumb_url / " $ do
x <- Prelude.decodeString
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "thumb_url") $ \_ -> Prelude.Just x
parseField 4 Prelude.LenDel = Prelude.label "blurhash / " $ do
x <- Prelude.decodeString
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "blurhash") $ \_ -> Prelude.Just x
parseField 5 Prelude.VarInt = Prelude.label "format / " $ do
x <- Prelude.parseEnum
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "format") $ \_ -> Prelude.Just x
parseField 6 Prelude.VarInt = Prelude.label "width / " $ do
x <- Prelude.decodeUint32
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "width") $ \_ -> Prelude.Just x
parseField 7 Prelude.VarInt = Prelude.label "height / " $ do
x <- Prelude.decodeUint32
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "height") $ \_ -> Prelude.Just x
parseField fieldNumber wireType = Prelude.parseFieldUnknown fieldNumber wireType
defaultImage :: ImageR
defaultImage =
{ key: Prelude.Nothing
, full_url: Prelude.Nothing
, thumb_url: Prelude.Nothing
, blurhash: Prelude.Nothing
, format: Prelude.Nothing
, width: Prelude.Nothing
, height: Prelude.Nothing
, __unknown_fields: []
}
mkImage :: forall r1 r3. Prelude.Union r1 ImageRow r3 => Prelude.Nub r3 ImageRow => Record r1 -> Image
mkImage r = Image $ Prelude.merge r defaultImage
mergeImage :: Image -> Image -> Image
mergeImage (Image l) (Image r) = Image
{ key: Prelude.alt l.key r.key
, full_url: Prelude.alt l.full_url r.full_url
, thumb_url: Prelude.alt l.thumb_url r.thumb_url
, blurhash: Prelude.alt l.blurhash r.blurhash
, format: Prelude.alt l.format r.format
, width: Prelude.alt l.width r.width
, height: Prelude.alt l.height r.height
, __unknown_fields: r.__unknown_fields <> l.__unknown_fields
}
-- ---------- Message Index ----------
newtype Index = Index IndexR
type IndexRow =
( images :: Array Image
, title :: Prelude.Maybe String
, desc :: Prelude.Maybe String
, __unknown_fields :: Array Prelude.UnknownField
)
type IndexR = Record IndexRow
derive instance genericIndex :: Prelude.Generic Index _
derive instance newtypeIndex :: Prelude.Newtype Index _
derive instance eqIndex :: Prelude.Eq Index
instance showIndex :: Prelude.Show Index where show x = Prelude.genericShow x
putIndex :: forall m. Prelude.MonadEffect m => Index -> Prelude.PutM m Prelude.Unit
putIndex (Index r) = do
Prelude.putRepeated 1 r.images $ Prelude.putLenDel putImage
Prelude.putOptional 2 r.title (\_ -> false) Prelude.encodeStringField
Prelude.putOptional 3 r.desc (\_ -> false) Prelude.encodeStringField
Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
parseIndex :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m Index
parseIndex length = Prelude.label "Index / " $
Prelude.parseMessage Index defaultIndex parseField length
where
parseField
:: Prelude.FieldNumberInt
-> Prelude.WireType
-> Prelude.ParserT Prelude.DataView m (Prelude.Builder IndexR IndexR)
parseField 1 Prelude.LenDel = Prelude.label "images / " $ do
x <- Prelude.parseLenDel parseImage
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "images") $ Prelude.flip Prelude.snoc x
parseField 2 Prelude.LenDel = Prelude.label "title / " $ do
x <- Prelude.decodeString
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "title") $ \_ -> Prelude.Just x
parseField 3 Prelude.LenDel = Prelude.label "desc / " $ do
x <- Prelude.decodeString
pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "desc") $ \_ -> Prelude.Just x
parseField fieldNumber wireType = Prelude.parseFieldUnknown fieldNumber wireType
defaultIndex :: IndexR
defaultIndex =
{ images: []
, title: Prelude.Nothing
, desc: Prelude.Nothing
, __unknown_fields: []
}
mkIndex :: forall r1 r3. Prelude.Union r1 IndexRow r3 => Prelude.Nub r3 IndexRow => Record r1 -> Index
mkIndex r = Index $ Prelude.merge r defaultIndex
mergeIndex :: Index -> Index -> Index
mergeIndex (Index l) (Index r) = Index
{ images: r.images <> l.images
, title: Prelude.alt l.title r.title
, desc: Prelude.alt l.desc r.desc
, __unknown_fields: r.__unknown_fields <> l.__unknown_fields
}
-- ---------- Enum Format ----------
data Format
= Format_WEBP
| Format_AVIF
| Format_JPG
| Format_PNG
| Format_GIF
derive instance genericFormat :: Prelude.Generic Format _
derive instance eqFormat :: Prelude.Eq Format
instance showFormat :: Prelude.Show Format where show = Prelude.genericShow
instance ordFormat :: Prelude.Ord Format where compare = Prelude.genericCompare
instance boundedFormat :: Prelude.Bounded Format
where
bottom = Prelude.genericBottom
top = Prelude.genericTop
instance enumFormat :: Prelude.Enum Format
where
succ = Prelude.genericSucc
pred = Prelude.genericPred
instance boundedenumFormat :: Prelude.BoundedEnum Format
where
cardinality = Prelude.genericCardinality
toEnum (0) = Prelude.Just Format_WEBP
toEnum (1) = Prelude.Just Format_AVIF
toEnum (2) = Prelude.Just Format_JPG
toEnum (3) = Prelude.Just Format_PNG
toEnum (4) = Prelude.Just Format_GIF
toEnum _ = Prelude.Nothing
fromEnum Format_WEBP = (0)
fromEnum Format_AVIF = (1)
fromEnum Format_JPG = (2)
fromEnum Format_PNG = (3)
fromEnum Format_GIF = (4)
instance defaultFormat :: Prelude.Default Format
where
default = Format_WEBP
isDefault = eq Format_WEBP