{- This file was auto-generated from google/protobuf/duration.proto by the proto-lens-protoc program. -} {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} module Proto.Google.Protobuf.Duration where import qualified Data.ProtoLens.Reexport.Prelude as Prelude import qualified Data.ProtoLens.Reexport.Data.Int as Data.Int import qualified Data.ProtoLens.Reexport.Data.Word as Data.Word import qualified Data.ProtoLens.Reexport.Data.ProtoLens as Data.ProtoLens import qualified Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum import qualified Data.ProtoLens.Reexport.Lens.Family2 as Lens.Family2 import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked as Lens.Family2.Unchecked import qualified Data.ProtoLens.Reexport.Data.Default.Class as Data.Default.Class import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map import qualified Data.ProtoLens.Reexport.Data.ByteString as Data.ByteString import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels data Duration = Duration{_Duration'seconds :: !Data.Int.Int64, _Duration'nanos :: !Data.Int.Int32} deriving (Prelude.Show, Prelude.Eq) instance (a ~ Data.Int.Int64, b ~ Data.Int.Int64, Prelude.Functor f) => Lens.Labels.HasLens "seconds" f Duration Duration a b where lensOf _ = Lens.Family2.Unchecked.lens _Duration'seconds (\ x__ y__ -> x__{_Duration'seconds = y__}) instance (a ~ Data.Int.Int32, b ~ Data.Int.Int32, Prelude.Functor f) => Lens.Labels.HasLens "nanos" f Duration Duration a b where lensOf _ = Lens.Family2.Unchecked.lens _Duration'nanos (\ x__ y__ -> x__{_Duration'nanos = y__}) instance Data.Default.Class.Default Duration where def = Duration{_Duration'seconds = Data.ProtoLens.fieldDefault, _Duration'nanos = Data.ProtoLens.fieldDefault} instance Data.ProtoLens.Message Duration where descriptor = let seconds__field_descriptor = Data.ProtoLens.FieldDescriptor "seconds" (Data.ProtoLens.Int64Field :: Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64) (Data.ProtoLens.PlainField Data.ProtoLens.Optional seconds) :: Data.ProtoLens.FieldDescriptor Duration nanos__field_descriptor = Data.ProtoLens.FieldDescriptor "nanos" (Data.ProtoLens.Int32Field :: Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32) (Data.ProtoLens.PlainField Data.ProtoLens.Optional nanos) :: Data.ProtoLens.FieldDescriptor Duration in Data.ProtoLens.MessageDescriptor (Data.Map.fromList [(Data.ProtoLens.Tag 1, seconds__field_descriptor), (Data.ProtoLens.Tag 2, nanos__field_descriptor)]) (Data.Map.fromList [("seconds", seconds__field_descriptor), ("nanos", nanos__field_descriptor)]) nanos :: forall f s t a b . (Lens.Labels.HasLens "nanos" f s t a b) => Lens.Family2.LensLike f s t a b nanos = Lens.Labels.lensOf ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nanos") seconds :: forall f s t a b . (Lens.Labels.HasLens "seconds" f s t a b) => Lens.Family2.LensLike f s t a b seconds = Lens.Labels.lensOf ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "seconds")