git.iko.soy/rowtype-yoga/purescript-protobuf
on master help sign in
Add MonadRec constraint to put functions.

Replace all internal use of traverse_ with foldRecM. putRepeated and putPacked will be stack-safe.

commit07d6e845755fab5c847752ea1752e556231d3df7 authorJames Brock <jamesbrock@gmail.com> dateTue 15 Oct 2024, 17:08 (2 years ago) parentdbe4d50
7 files changed+401−77
CHANGELOG.md+2 plugin/ProtocPlugin/Main.purs+2−2 plugin/ProtocPlugin/descriptor.Google.Protobuf.purs+373−54 plugin/ProtocPlugin/plugin.Google.Protobuf.Compiler.purs+8−8 src/Protobuf/Internal/Prelude.purs+1−3 src/Protobuf/Internal/Runtime.purs+8−4 test/Main.purs+7−6
CHANGELOG.md+2
@@ -1,5 +1,7 @@
11# Unreleased
22
3+- Bugfix #38 Add `MonadRec` constraint to `put` functions.
4+
35# v4.3.0 2023-01-30
46
57- Development: purs v0.15.7, node-streams-aff v5.0.0, assorted improvements.
plugin/ProtocPlugin/Main.purs+2−2
@@ -1303,12 +1303,12 @@ genFile proto_file ( FileDescriptorProto
13031303 -- https://github.com/purescript/purescript/issues/2975#issuecomment-313650710
13041304 , Right $ "instance show" <> tname <> " :: Prelude.Show " <> tname <> " where show x = Prelude.genericShow x"
13051305 , Right ""
1306− , Right $ "put" <> tname <> " :: forall m. Prelude.MonadEffect m => " <> tname <> " -> Prelude.PutM m Prelude.Unit"
1306+ , Right $ "put" <> tname <> " :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => " <> tname <> " -> Prelude.PutM m Prelude.Unit"
13071307 , Right $ "put" <> tname <> " (" <> tname <> " r) = do"
13081308 , map (String.joinWith "\n")
13091309 $ (traverse (genFieldPut nameSpace) fields_singular)
13101310 <> (sequence $ map (genOneofPut (nameSpace <> [ msgName ])) oneof_decl_fields)
1311− , Right " Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields"
1311+ , Right " Prelude.foldRecM (\\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields"
13121312 , Right ""
13131313 , Right $ "parse" <> tname <> " :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m " <> tname
13141314 , Right $ "parse" <> tname <> " length = Prelude.label \"" <> msgName <> " / \" $"
plugin/ProtocPlugin/descriptor.Google.Protobuf.purs+373−54
@@ -6,6 +6,7 @@ module Google.Protobuf.Descriptor
66, DescriptorProto_ExtensionRange(..), DescriptorProto_ExtensionRangeRow, DescriptorProto_ExtensionRangeR, parseDescriptorProto_ExtensionRange, putDescriptorProto_ExtensionRange, defaultDescriptorProto_ExtensionRange, mkDescriptorProto_ExtensionRange, mergeDescriptorProto_ExtensionRange
77, DescriptorProto_ReservedRange(..), DescriptorProto_ReservedRangeRow, DescriptorProto_ReservedRangeR, parseDescriptorProto_ReservedRange, putDescriptorProto_ReservedRange, defaultDescriptorProto_ReservedRange, mkDescriptorProto_ReservedRange, mergeDescriptorProto_ReservedRange
88, ExtensionRangeOptions(..), ExtensionRangeOptionsRow, ExtensionRangeOptionsR, parseExtensionRangeOptions, putExtensionRangeOptions, defaultExtensionRangeOptions, mkExtensionRangeOptions, mergeExtensionRangeOptions
9+, ExtensionRangeOptions_Declaration(..), ExtensionRangeOptions_DeclarationRow, ExtensionRangeOptions_DeclarationR, parseExtensionRangeOptions_Declaration, putExtensionRangeOptions_Declaration, defaultExtensionRangeOptions_Declaration, mkExtensionRangeOptions_Declaration, mergeExtensionRangeOptions_Declaration
910, FieldDescriptorProto(..), FieldDescriptorProtoRow, FieldDescriptorProtoR, parseFieldDescriptorProto, putFieldDescriptorProto, defaultFieldDescriptorProto, mkFieldDescriptorProto, mergeFieldDescriptorProto
1011, OneofDescriptorProto(..), OneofDescriptorProtoRow, OneofDescriptorProtoR, parseOneofDescriptorProto, putOneofDescriptorProto, defaultOneofDescriptorProto, mkOneofDescriptorProto, mergeOneofDescriptorProto
1112, EnumDescriptorProto(..), EnumDescriptorProtoRow, EnumDescriptorProtoR, parseEnumDescriptorProto, putEnumDescriptorProto, defaultEnumDescriptorProto, mkEnumDescriptorProto, mergeEnumDescriptorProto
@@ -27,12 +28,16 @@ module Google.Protobuf.Descriptor
2728, SourceCodeInfo_Location(..), SourceCodeInfo_LocationRow, SourceCodeInfo_LocationR, parseSourceCodeInfo_Location, putSourceCodeInfo_Location, defaultSourceCodeInfo_Location, mkSourceCodeInfo_Location, mergeSourceCodeInfo_Location
2829, GeneratedCodeInfo(..), GeneratedCodeInfoRow, GeneratedCodeInfoR, parseGeneratedCodeInfo, putGeneratedCodeInfo, defaultGeneratedCodeInfo, mkGeneratedCodeInfo, mergeGeneratedCodeInfo
2930, GeneratedCodeInfo_Annotation(..), GeneratedCodeInfo_AnnotationRow, GeneratedCodeInfo_AnnotationR, parseGeneratedCodeInfo_Annotation, putGeneratedCodeInfo_Annotation, defaultGeneratedCodeInfo_Annotation, mkGeneratedCodeInfo_Annotation, mergeGeneratedCodeInfo_Annotation
31+, ExtensionRangeOptions_VerificationState(..)
3032, FieldDescriptorProto_Type(..)
3133, FieldDescriptorProto_Label(..)
3234, FileOptions_OptimizeMode(..)
3335, FieldOptions_CType(..)
3436, FieldOptions_JSType(..)
37+, FieldOptions_OptionRetention(..)
38+, FieldOptions_OptionTargetType(..)
3539, MethodOptions_IdempotencyLevel(..)
40+, GeneratedCodeInfo_Annotation_Semantic(..)
3641)
3742where
3843import Protobuf.Internal.Prelude
@@ -56,10 +61,10 @@ derive instance newtypeFileDescriptorSet :: Prelude.Newtype FileDescriptorSet _
5661derive instance eqFileDescriptorSet :: Prelude.Eq FileDescriptorSet
5762instance showFileDescriptorSet :: Prelude.Show FileDescriptorSet where show x = Prelude.genericShow x
5863
59−putFileDescriptorSet :: forall m. Prelude.MonadEffect m => FileDescriptorSet -> Prelude.PutM m Prelude.Unit
64+putFileDescriptorSet :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => FileDescriptorSet -> Prelude.PutM m Prelude.Unit
6065putFileDescriptorSet (FileDescriptorSet r) = do
6166 Prelude.putRepeated 1 r.file $ Prelude.putLenDel putFileDescriptorProto
62− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
67+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
6368
6469parseFileDescriptorSet :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m FileDescriptorSet
6570parseFileDescriptorSet length = Prelude.label "FileDescriptorSet / " $
@@ -107,6 +112,7 @@ type FileDescriptorProtoRow =
107112 , options :: Prelude.Maybe FileOptions
108113 , source_code_info :: Prelude.Maybe SourceCodeInfo
109114 , syntax :: Prelude.Maybe String
115+ , edition :: Prelude.Maybe String
110116 , __unknown_fields :: Array Prelude.UnknownField
111117 )
112118type FileDescriptorProtoR = Record FileDescriptorProtoRow
@@ -115,7 +121,7 @@ derive instance newtypeFileDescriptorProto :: Prelude.Newtype FileDescriptorProt
115121derive instance eqFileDescriptorProto :: Prelude.Eq FileDescriptorProto
116122instance showFileDescriptorProto :: Prelude.Show FileDescriptorProto where show x = Prelude.genericShow x
117123
118−putFileDescriptorProto :: forall m. Prelude.MonadEffect m => FileDescriptorProto -> Prelude.PutM m Prelude.Unit
124+putFileDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => FileDescriptorProto -> Prelude.PutM m Prelude.Unit
119125putFileDescriptorProto (FileDescriptorProto r) = do
120126 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
121127 Prelude.putOptional 2 r.package Prelude.isDefault Prelude.encodeStringField
@@ -129,7 +135,8 @@ putFileDescriptorProto (FileDescriptorProto r) = do
129135 Prelude.putOptional 8 r.options (\_ -> false) $ Prelude.putLenDel putFileOptions
130136 Prelude.putOptional 9 r.source_code_info (\_ -> false) $ Prelude.putLenDel putSourceCodeInfo
131137 Prelude.putOptional 12 r.syntax Prelude.isDefault Prelude.encodeStringField
132− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
138+ Prelude.putOptional 13 r.edition Prelude.isDefault Prelude.encodeStringField
139+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
133140
134141parseFileDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m FileDescriptorProto
135142parseFileDescriptorProto length = Prelude.label "FileDescriptorProto / " $
@@ -181,6 +188,9 @@ parseFileDescriptorProto length = Prelude.label "FileDescriptorProto / " $
181188 parseField 12 Prelude.LenDel = Prelude.label "syntax / " $ do
182189 x <- Prelude.decodeString
183190 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "syntax") $ \_ -> Prelude.Just x
191+ parseField 13 Prelude.LenDel = Prelude.label "edition / " $ do
192+ x <- Prelude.decodeString
193+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "edition") $ \_ -> Prelude.Just x
184194 parseField fieldNumber wireType = Prelude.parseFieldUnknown fieldNumber wireType
185195
186196defaultFileDescriptorProto :: FileDescriptorProtoR
@@ -197,6 +207,7 @@ defaultFileDescriptorProto =
197207 , options: Prelude.Nothing
198208 , source_code_info: Prelude.Nothing
199209 , syntax: Prelude.Nothing
210+ , edition: Prelude.Nothing
200211 , __unknown_fields: []
201212 }
202213
@@ -217,6 +228,7 @@ mergeFileDescriptorProto (FileDescriptorProto l) (FileDescriptorProto r) = FileD
217228 , options: Prelude.mergeWith mergeFileOptions l.options r.options
218229 , source_code_info: Prelude.mergeWith mergeSourceCodeInfo l.source_code_info r.source_code_info
219230 , syntax: Prelude.alt l.syntax r.syntax
231+ , edition: Prelude.alt l.edition r.edition
220232 , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
221233 }
222234
@@ -244,7 +256,7 @@ derive instance newtypeDescriptorProto :: Prelude.Newtype DescriptorProto _
244256derive instance eqDescriptorProto :: Prelude.Eq DescriptorProto
245257instance showDescriptorProto :: Prelude.Show DescriptorProto where show x = Prelude.genericShow x
246258
247−putDescriptorProto :: forall m. Prelude.MonadEffect m => DescriptorProto -> Prelude.PutM m Prelude.Unit
259+putDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => DescriptorProto -> Prelude.PutM m Prelude.Unit
248260putDescriptorProto (DescriptorProto r) = do
249261 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
250262 Prelude.putRepeated 2 r.field $ Prelude.putLenDel putFieldDescriptorProto
@@ -256,7 +268,7 @@ putDescriptorProto (DescriptorProto r) = do
256268 Prelude.putOptional 7 r.options (\_ -> false) $ Prelude.putLenDel putMessageOptions
257269 Prelude.putRepeated 9 r.reserved_range $ Prelude.putLenDel putDescriptorProto_ReservedRange
258270 Prelude.putRepeated 10 r.reserved_name Prelude.encodeStringField
259− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
271+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
260272
261273parseDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m DescriptorProto
262274parseDescriptorProto length = Prelude.label "DescriptorProto / " $
@@ -346,12 +358,12 @@ derive instance newtypeDescriptorProto_ExtensionRange :: Prelude.Newtype Descrip
346358derive instance eqDescriptorProto_ExtensionRange :: Prelude.Eq DescriptorProto_ExtensionRange
347359instance showDescriptorProto_ExtensionRange :: Prelude.Show DescriptorProto_ExtensionRange where show x = Prelude.genericShow x
348360
349−putDescriptorProto_ExtensionRange :: forall m. Prelude.MonadEffect m => DescriptorProto_ExtensionRange -> Prelude.PutM m Prelude.Unit
361+putDescriptorProto_ExtensionRange :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => DescriptorProto_ExtensionRange -> Prelude.PutM m Prelude.Unit
350362putDescriptorProto_ExtensionRange (DescriptorProto_ExtensionRange r) = do
351363 Prelude.putOptional 1 r.start Prelude.isDefault Prelude.encodeInt32Field
352364 Prelude.putOptional 2 r.end Prelude.isDefault Prelude.encodeInt32Field
353365 Prelude.putOptional 3 r.options (\_ -> false) $ Prelude.putLenDel putExtensionRangeOptions
354− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
366+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
355367
356368parseDescriptorProto_ExtensionRange :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m DescriptorProto_ExtensionRange
357369parseDescriptorProto_ExtensionRange length = Prelude.label "ExtensionRange / " $
@@ -409,11 +421,11 @@ derive instance newtypeDescriptorProto_ReservedRange :: Prelude.Newtype Descript
409421derive instance eqDescriptorProto_ReservedRange :: Prelude.Eq DescriptorProto_ReservedRange
410422instance showDescriptorProto_ReservedRange :: Prelude.Show DescriptorProto_ReservedRange where show x = Prelude.genericShow x
411423
412−putDescriptorProto_ReservedRange :: forall m. Prelude.MonadEffect m => DescriptorProto_ReservedRange -> Prelude.PutM m Prelude.Unit
424+putDescriptorProto_ReservedRange :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => DescriptorProto_ReservedRange -> Prelude.PutM m Prelude.Unit
413425putDescriptorProto_ReservedRange (DescriptorProto_ReservedRange r) = do
414426 Prelude.putOptional 1 r.start Prelude.isDefault Prelude.encodeInt32Field
415427 Prelude.putOptional 2 r.end Prelude.isDefault Prelude.encodeInt32Field
416− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
428+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
417429
418430parseDescriptorProto_ReservedRange :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m DescriptorProto_ReservedRange
419431parseDescriptorProto_ReservedRange length = Prelude.label "ReservedRange / " $
@@ -453,6 +465,8 @@ mergeDescriptorProto_ReservedRange (DescriptorProto_ReservedRange l) (Descriptor
453465newtype ExtensionRangeOptions = ExtensionRangeOptions ExtensionRangeOptionsR
454466type ExtensionRangeOptionsRow =
455467 ( uninterpreted_option :: Array UninterpretedOption
468+ , declaration :: Array ExtensionRangeOptions_Declaration
469+ , verification :: Prelude.Maybe ExtensionRangeOptions_VerificationState
456470 , __unknown_fields :: Array Prelude.UnknownField
457471 )
458472type ExtensionRangeOptionsR = Record ExtensionRangeOptionsRow
@@ -461,10 +475,12 @@ derive instance newtypeExtensionRangeOptions :: Prelude.Newtype ExtensionRangeOp
461475derive instance eqExtensionRangeOptions :: Prelude.Eq ExtensionRangeOptions
462476instance showExtensionRangeOptions :: Prelude.Show ExtensionRangeOptions where show x = Prelude.genericShow x
463477
464−putExtensionRangeOptions :: forall m. Prelude.MonadEffect m => ExtensionRangeOptions -> Prelude.PutM m Prelude.Unit
478+putExtensionRangeOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => ExtensionRangeOptions -> Prelude.PutM m Prelude.Unit
465479putExtensionRangeOptions (ExtensionRangeOptions r) = do
466480 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
467− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
481+ Prelude.putRepeated 2 r.declaration $ Prelude.putLenDel putExtensionRangeOptions_Declaration
482+ Prelude.putOptional 3 r.verification Prelude.isDefault Prelude.putEnumField
483+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
468484
469485parseExtensionRangeOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m ExtensionRangeOptions
470486parseExtensionRangeOptions length = Prelude.label "ExtensionRangeOptions / " $
@@ -477,11 +493,19 @@ parseExtensionRangeOptions length = Prelude.label "ExtensionRangeOptions / " $
477493 parseField 999 Prelude.LenDel = Prelude.label "uninterpreted_option / " $ do
478494 x <- Prelude.parseLenDel parseUninterpretedOption
479495 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "uninterpreted_option") $ Prelude.flip Prelude.snoc x
496+ parseField 2 Prelude.LenDel = Prelude.label "declaration / " $ do
497+ x <- Prelude.parseLenDel parseExtensionRangeOptions_Declaration
498+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "declaration") $ Prelude.flip Prelude.snoc x
499+ parseField 3 Prelude.VarInt = Prelude.label "verification / " $ do
500+ x <- Prelude.parseEnum
501+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "verification") $ \_ -> Prelude.Just x
480502 parseField fieldNumber wireType = Prelude.parseFieldUnknown fieldNumber wireType
481503
482504defaultExtensionRangeOptions :: ExtensionRangeOptionsR
483505defaultExtensionRangeOptions =
484506 { uninterpreted_option: []
507+ , declaration: []
508+ , verification: Prelude.Nothing
485509 , __unknown_fields: []
486510 }
487511
@@ -491,6 +515,89 @@ mkExtensionRangeOptions r = ExtensionRangeOptions $ Prelude.merge r defaultExten
491515mergeExtensionRangeOptions :: ExtensionRangeOptions -> ExtensionRangeOptions -> ExtensionRangeOptions
492516mergeExtensionRangeOptions (ExtensionRangeOptions l) (ExtensionRangeOptions r) = ExtensionRangeOptions
493517 { uninterpreted_option: r.uninterpreted_option <> l.uninterpreted_option
518+ , declaration: r.declaration <> l.declaration
519+ , verification: Prelude.alt l.verification r.verification
520+ , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
521+ }
522+
523+
524+-- | Message generated by __protobuf__ from `google.protobuf.ExtensionRangeOptions.Declaration`
525+newtype ExtensionRangeOptions_Declaration = ExtensionRangeOptions_Declaration ExtensionRangeOptions_DeclarationR
526+type ExtensionRangeOptions_DeclarationRow =
527+ ( number :: Prelude.Maybe Int
528+ , full_name :: Prelude.Maybe String
529+ , type :: Prelude.Maybe String
530+ , is_repeated :: Prelude.Maybe Boolean
531+ , reserved :: Prelude.Maybe Boolean
532+ , repeated :: Prelude.Maybe Boolean
533+ , __unknown_fields :: Array Prelude.UnknownField
534+ )
535+type ExtensionRangeOptions_DeclarationR = Record ExtensionRangeOptions_DeclarationRow
536+derive instance genericExtensionRangeOptions_Declaration :: Prelude.Generic ExtensionRangeOptions_Declaration _
537+derive instance newtypeExtensionRangeOptions_Declaration :: Prelude.Newtype ExtensionRangeOptions_Declaration _
538+derive instance eqExtensionRangeOptions_Declaration :: Prelude.Eq ExtensionRangeOptions_Declaration
539+instance showExtensionRangeOptions_Declaration :: Prelude.Show ExtensionRangeOptions_Declaration where show x = Prelude.genericShow x
540+
541+putExtensionRangeOptions_Declaration :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => ExtensionRangeOptions_Declaration -> Prelude.PutM m Prelude.Unit
542+putExtensionRangeOptions_Declaration (ExtensionRangeOptions_Declaration r) = do
543+ Prelude.putOptional 1 r.number Prelude.isDefault Prelude.encodeInt32Field
544+ Prelude.putOptional 2 r.full_name Prelude.isDefault Prelude.encodeStringField
545+ Prelude.putOptional 3 r.type Prelude.isDefault Prelude.encodeStringField
546+ Prelude.putOptional 4 r.is_repeated Prelude.isDefault Prelude.encodeBoolField
547+ Prelude.putOptional 5 r.reserved Prelude.isDefault Prelude.encodeBoolField
548+ Prelude.putOptional 6 r.repeated Prelude.isDefault Prelude.encodeBoolField
549+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
550+
551+parseExtensionRangeOptions_Declaration :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m ExtensionRangeOptions_Declaration
552+parseExtensionRangeOptions_Declaration length = Prelude.label "Declaration / " $
553+ Prelude.parseMessage ExtensionRangeOptions_Declaration defaultExtensionRangeOptions_Declaration parseField length
554+ where
555+ parseField
556+ :: Prelude.FieldNumberInt
557+ -> Prelude.WireType
558+ -> Prelude.ParserT Prelude.DataView m (Prelude.Builder ExtensionRangeOptions_DeclarationR ExtensionRangeOptions_DeclarationR)
559+ parseField 1 Prelude.VarInt = Prelude.label "number / " $ do
560+ x <- Prelude.decodeInt32
561+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "number") $ \_ -> Prelude.Just x
562+ parseField 2 Prelude.LenDel = Prelude.label "full_name / " $ do
563+ x <- Prelude.decodeString
564+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "full_name") $ \_ -> Prelude.Just x
565+ parseField 3 Prelude.LenDel = Prelude.label "type / " $ do
566+ x <- Prelude.decodeString
567+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "type") $ \_ -> Prelude.Just x
568+ parseField 4 Prelude.VarInt = Prelude.label "is_repeated / " $ do
569+ x <- Prelude.decodeBool
570+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "is_repeated") $ \_ -> Prelude.Just x
571+ parseField 5 Prelude.VarInt = Prelude.label "reserved / " $ do
572+ x <- Prelude.decodeBool
573+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "reserved") $ \_ -> Prelude.Just x
574+ parseField 6 Prelude.VarInt = Prelude.label "repeated / " $ do
575+ x <- Prelude.decodeBool
576+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "repeated") $ \_ -> Prelude.Just x
577+ parseField fieldNumber wireType = Prelude.parseFieldUnknown fieldNumber wireType
578+
579+defaultExtensionRangeOptions_Declaration :: ExtensionRangeOptions_DeclarationR
580+defaultExtensionRangeOptions_Declaration =
581+ { number: Prelude.Nothing
582+ , full_name: Prelude.Nothing
583+ , type: Prelude.Nothing
584+ , is_repeated: Prelude.Nothing
585+ , reserved: Prelude.Nothing
586+ , repeated: Prelude.Nothing
587+ , __unknown_fields: []
588+ }
589+
590+mkExtensionRangeOptions_Declaration :: forall r1 r3. Prelude.Union r1 ExtensionRangeOptions_DeclarationRow r3 => Prelude.Nub r3 ExtensionRangeOptions_DeclarationRow => Record r1 -> ExtensionRangeOptions_Declaration
591+mkExtensionRangeOptions_Declaration r = ExtensionRangeOptions_Declaration $ Prelude.merge r defaultExtensionRangeOptions_Declaration
592+
593+mergeExtensionRangeOptions_Declaration :: ExtensionRangeOptions_Declaration -> ExtensionRangeOptions_Declaration -> ExtensionRangeOptions_Declaration
594+mergeExtensionRangeOptions_Declaration (ExtensionRangeOptions_Declaration l) (ExtensionRangeOptions_Declaration r) = ExtensionRangeOptions_Declaration
595+ { number: Prelude.alt l.number r.number
596+ , full_name: Prelude.alt l.full_name r.full_name
597+ , type: Prelude.alt l.type r.type
598+ , is_repeated: Prelude.alt l.is_repeated r.is_repeated
599+ , reserved: Prelude.alt l.reserved r.reserved
600+ , repeated: Prelude.alt l.repeated r.repeated
494601 , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
495602 }
496603
@@ -519,7 +626,7 @@ derive instance newtypeFieldDescriptorProto :: Prelude.Newtype FieldDescriptorPr
519626derive instance eqFieldDescriptorProto :: Prelude.Eq FieldDescriptorProto
520627instance showFieldDescriptorProto :: Prelude.Show FieldDescriptorProto where show x = Prelude.genericShow x
521628
522−putFieldDescriptorProto :: forall m. Prelude.MonadEffect m => FieldDescriptorProto -> Prelude.PutM m Prelude.Unit
629+putFieldDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => FieldDescriptorProto -> Prelude.PutM m Prelude.Unit
523630putFieldDescriptorProto (FieldDescriptorProto r) = do
524631 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
525632 Prelude.putOptional 3 r.number Prelude.isDefault Prelude.encodeInt32Field
@@ -532,7 +639,7 @@ putFieldDescriptorProto (FieldDescriptorProto r) = do
532639 Prelude.putOptional 10 r.json_name Prelude.isDefault Prelude.encodeStringField
533640 Prelude.putOptional 8 r.options (\_ -> false) $ Prelude.putLenDel putFieldOptions
534641 Prelude.putOptional 17 r.proto3_optional Prelude.isDefault Prelude.encodeBoolField
535− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
642+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
536643
537644parseFieldDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m FieldDescriptorProto
538645parseFieldDescriptorProto length = Prelude.label "FieldDescriptorProto / " $
@@ -628,11 +735,11 @@ derive instance newtypeOneofDescriptorProto :: Prelude.Newtype OneofDescriptorPr
628735derive instance eqOneofDescriptorProto :: Prelude.Eq OneofDescriptorProto
629736instance showOneofDescriptorProto :: Prelude.Show OneofDescriptorProto where show x = Prelude.genericShow x
630737
631−putOneofDescriptorProto :: forall m. Prelude.MonadEffect m => OneofDescriptorProto -> Prelude.PutM m Prelude.Unit
738+putOneofDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => OneofDescriptorProto -> Prelude.PutM m Prelude.Unit
632739putOneofDescriptorProto (OneofDescriptorProto r) = do
633740 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
634741 Prelude.putOptional 2 r.options (\_ -> false) $ Prelude.putLenDel putOneofOptions
635− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
742+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
636743
637744parseOneofDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m OneofDescriptorProto
638745parseOneofDescriptorProto length = Prelude.label "OneofDescriptorProto / " $
@@ -686,14 +793,14 @@ derive instance newtypeEnumDescriptorProto :: Prelude.Newtype EnumDescriptorProt
686793derive instance eqEnumDescriptorProto :: Prelude.Eq EnumDescriptorProto
687794instance showEnumDescriptorProto :: Prelude.Show EnumDescriptorProto where show x = Prelude.genericShow x
688795
689−putEnumDescriptorProto :: forall m. Prelude.MonadEffect m => EnumDescriptorProto -> Prelude.PutM m Prelude.Unit
796+putEnumDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => EnumDescriptorProto -> Prelude.PutM m Prelude.Unit
690797putEnumDescriptorProto (EnumDescriptorProto r) = do
691798 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
692799 Prelude.putRepeated 2 r.value $ Prelude.putLenDel putEnumValueDescriptorProto
693800 Prelude.putOptional 3 r.options (\_ -> false) $ Prelude.putLenDel putEnumOptions
694801 Prelude.putRepeated 4 r.reserved_range $ Prelude.putLenDel putEnumDescriptorProto_EnumReservedRange
695802 Prelude.putRepeated 5 r.reserved_name Prelude.encodeStringField
696− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
803+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
697804
698805parseEnumDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m EnumDescriptorProto
699806parseEnumDescriptorProto length = Prelude.label "EnumDescriptorProto / " $
@@ -764,11 +871,11 @@ derive instance newtypeEnumDescriptorProto_EnumReservedRange :: Prelude.Newtype
764871derive instance eqEnumDescriptorProto_EnumReservedRange :: Prelude.Eq EnumDescriptorProto_EnumReservedRange
765872instance showEnumDescriptorProto_EnumReservedRange :: Prelude.Show EnumDescriptorProto_EnumReservedRange where show x = Prelude.genericShow x
766873
767−putEnumDescriptorProto_EnumReservedRange :: forall m. Prelude.MonadEffect m => EnumDescriptorProto_EnumReservedRange -> Prelude.PutM m Prelude.Unit
874+putEnumDescriptorProto_EnumReservedRange :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => EnumDescriptorProto_EnumReservedRange -> Prelude.PutM m Prelude.Unit
768875putEnumDescriptorProto_EnumReservedRange (EnumDescriptorProto_EnumReservedRange r) = do
769876 Prelude.putOptional 1 r.start Prelude.isDefault Prelude.encodeInt32Field
770877 Prelude.putOptional 2 r.end Prelude.isDefault Prelude.encodeInt32Field
771− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
878+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
772879
773880parseEnumDescriptorProto_EnumReservedRange :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m EnumDescriptorProto_EnumReservedRange
774881parseEnumDescriptorProto_EnumReservedRange length = Prelude.label "EnumReservedRange / " $
@@ -820,12 +927,12 @@ derive instance newtypeEnumValueDescriptorProto :: Prelude.Newtype EnumValueDesc
820927derive instance eqEnumValueDescriptorProto :: Prelude.Eq EnumValueDescriptorProto
821928instance showEnumValueDescriptorProto :: Prelude.Show EnumValueDescriptorProto where show x = Prelude.genericShow x
822929
823−putEnumValueDescriptorProto :: forall m. Prelude.MonadEffect m => EnumValueDescriptorProto -> Prelude.PutM m Prelude.Unit
930+putEnumValueDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => EnumValueDescriptorProto -> Prelude.PutM m Prelude.Unit
824931putEnumValueDescriptorProto (EnumValueDescriptorProto r) = do
825932 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
826933 Prelude.putOptional 2 r.number Prelude.isDefault Prelude.encodeInt32Field
827934 Prelude.putOptional 3 r.options (\_ -> false) $ Prelude.putLenDel putEnumValueOptions
828− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
935+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
829936
830937parseEnumValueDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m EnumValueDescriptorProto
831938parseEnumValueDescriptorProto length = Prelude.label "EnumValueDescriptorProto / " $
@@ -882,12 +989,12 @@ derive instance newtypeServiceDescriptorProto :: Prelude.Newtype ServiceDescript
882989derive instance eqServiceDescriptorProto :: Prelude.Eq ServiceDescriptorProto
883990instance showServiceDescriptorProto :: Prelude.Show ServiceDescriptorProto where show x = Prelude.genericShow x
884991
885−putServiceDescriptorProto :: forall m. Prelude.MonadEffect m => ServiceDescriptorProto -> Prelude.PutM m Prelude.Unit
992+putServiceDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => ServiceDescriptorProto -> Prelude.PutM m Prelude.Unit
886993putServiceDescriptorProto (ServiceDescriptorProto r) = do
887994 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
888995 Prelude.putRepeated 2 r.method $ Prelude.putLenDel putMethodDescriptorProto
889996 Prelude.putOptional 3 r.options (\_ -> false) $ Prelude.putLenDel putServiceOptions
890− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
997+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
891998
892999parseServiceDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m ServiceDescriptorProto
8931000parseServiceDescriptorProto length = Prelude.label "ServiceDescriptorProto / " $
@@ -947,7 +1054,7 @@ derive instance newtypeMethodDescriptorProto :: Prelude.Newtype MethodDescriptor
9471054derive instance eqMethodDescriptorProto :: Prelude.Eq MethodDescriptorProto
9481055instance showMethodDescriptorProto :: Prelude.Show MethodDescriptorProto where show x = Prelude.genericShow x
9491056
950−putMethodDescriptorProto :: forall m. Prelude.MonadEffect m => MethodDescriptorProto -> Prelude.PutM m Prelude.Unit
1057+putMethodDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => MethodDescriptorProto -> Prelude.PutM m Prelude.Unit
9511058putMethodDescriptorProto (MethodDescriptorProto r) = do
9521059 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
9531060 Prelude.putOptional 2 r.input_type Prelude.isDefault Prelude.encodeStringField
@@ -955,7 +1062,7 @@ putMethodDescriptorProto (MethodDescriptorProto r) = do
9551062 Prelude.putOptional 4 r.options (\_ -> false) $ Prelude.putLenDel putMethodOptions
9561063 Prelude.putOptional 5 r.client_streaming Prelude.isDefault Prelude.encodeBoolField
9571064 Prelude.putOptional 6 r.server_streaming Prelude.isDefault Prelude.encodeBoolField
958− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1065+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
9591066
9601067parseMethodDescriptorProto :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m MethodDescriptorProto
9611068parseMethodDescriptorProto length = Prelude.label "MethodDescriptorProto / " $
@@ -1043,7 +1150,7 @@ derive instance newtypeFileOptions :: Prelude.Newtype FileOptions _
10431150derive instance eqFileOptions :: Prelude.Eq FileOptions
10441151instance showFileOptions :: Prelude.Show FileOptions where show x = Prelude.genericShow x
10451152
1046−putFileOptions :: forall m. Prelude.MonadEffect m => FileOptions -> Prelude.PutM m Prelude.Unit
1153+putFileOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => FileOptions -> Prelude.PutM m Prelude.Unit
10471154putFileOptions (FileOptions r) = do
10481155 Prelude.putOptional 1 r.java_package Prelude.isDefault Prelude.encodeStringField
10491156 Prelude.putOptional 8 r.java_outer_classname Prelude.isDefault Prelude.encodeStringField
@@ -1066,7 +1173,7 @@ putFileOptions (FileOptions r) = do
10661173 Prelude.putOptional 44 r.php_metadata_namespace Prelude.isDefault Prelude.encodeStringField
10671174 Prelude.putOptional 45 r.ruby_package Prelude.isDefault Prelude.encodeStringField
10681175 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1069− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1176+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
10701177
10711178parseFileOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m FileOptions
10721179parseFileOptions length = Prelude.label "FileOptions / " $
@@ -1204,6 +1311,7 @@ type MessageOptionsRow =
12041311 , no_standard_descriptor_accessor :: Prelude.Maybe Boolean
12051312 , deprecated :: Prelude.Maybe Boolean
12061313 , map_entry :: Prelude.Maybe Boolean
1314+ , deprecated_legacy_json_field_conflicts :: Prelude.Maybe Boolean
12071315 , uninterpreted_option :: Array UninterpretedOption
12081316 , __unknown_fields :: Array Prelude.UnknownField
12091317 )
@@ -1213,14 +1321,15 @@ derive instance newtypeMessageOptions :: Prelude.Newtype MessageOptions _
12131321derive instance eqMessageOptions :: Prelude.Eq MessageOptions
12141322instance showMessageOptions :: Prelude.Show MessageOptions where show x = Prelude.genericShow x
12151323
1216−putMessageOptions :: forall m. Prelude.MonadEffect m => MessageOptions -> Prelude.PutM m Prelude.Unit
1324+putMessageOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => MessageOptions -> Prelude.PutM m Prelude.Unit
12171325putMessageOptions (MessageOptions r) = do
12181326 Prelude.putOptional 1 r.message_set_wire_format Prelude.isDefault Prelude.encodeBoolField
12191327 Prelude.putOptional 2 r.no_standard_descriptor_accessor Prelude.isDefault Prelude.encodeBoolField
12201328 Prelude.putOptional 3 r.deprecated Prelude.isDefault Prelude.encodeBoolField
12211329 Prelude.putOptional 7 r.map_entry Prelude.isDefault Prelude.encodeBoolField
1330+ Prelude.putOptional 11 r.deprecated_legacy_json_field_conflicts Prelude.isDefault Prelude.encodeBoolField
12221331 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1223− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1332+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
12241333
12251334parseMessageOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m MessageOptions
12261335parseMessageOptions length = Prelude.label "MessageOptions / " $
@@ -1242,6 +1351,9 @@ parseMessageOptions length = Prelude.label "MessageOptions / " $
12421351 parseField 7 Prelude.VarInt = Prelude.label "map_entry / " $ do
12431352 x <- Prelude.decodeBool
12441353 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "map_entry") $ \_ -> Prelude.Just x
1354+ parseField 11 Prelude.VarInt = Prelude.label "deprecated_legacy_json_field_conflicts / " $ do
1355+ x <- Prelude.decodeBool
1356+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "deprecated_legacy_json_field_conflicts") $ \_ -> Prelude.Just x
12451357 parseField 999 Prelude.LenDel = Prelude.label "uninterpreted_option / " $ do
12461358 x <- Prelude.parseLenDel parseUninterpretedOption
12471359 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "uninterpreted_option") $ Prelude.flip Prelude.snoc x
@@ -1253,6 +1365,7 @@ defaultMessageOptions =
12531365 , no_standard_descriptor_accessor: Prelude.Nothing
12541366 , deprecated: Prelude.Nothing
12551367 , map_entry: Prelude.Nothing
1368+ , deprecated_legacy_json_field_conflicts: Prelude.Nothing
12561369 , uninterpreted_option: []
12571370 , __unknown_fields: []
12581371 }
@@ -1266,6 +1379,7 @@ mergeMessageOptions (MessageOptions l) (MessageOptions r) = MessageOptions
12661379 , no_standard_descriptor_accessor: Prelude.alt l.no_standard_descriptor_accessor r.no_standard_descriptor_accessor
12671380 , deprecated: Prelude.alt l.deprecated r.deprecated
12681381 , map_entry: Prelude.alt l.map_entry r.map_entry
1382+ , deprecated_legacy_json_field_conflicts: Prelude.alt l.deprecated_legacy_json_field_conflicts r.deprecated_legacy_json_field_conflicts
12691383 , uninterpreted_option: r.uninterpreted_option <> l.uninterpreted_option
12701384 , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
12711385 }
@@ -1281,6 +1395,10 @@ type FieldOptionsRow =
12811395 , unverified_lazy :: Prelude.Maybe Boolean
12821396 , deprecated :: Prelude.Maybe Boolean
12831397 , weak :: Prelude.Maybe Boolean
1398+ , debug_redact :: Prelude.Maybe Boolean
1399+ , retention :: Prelude.Maybe FieldOptions_OptionRetention
1400+ , target :: Prelude.Maybe FieldOptions_OptionTargetType
1401+ , targets :: Array FieldOptions_OptionTargetType
12841402 , uninterpreted_option :: Array UninterpretedOption
12851403 , __unknown_fields :: Array Prelude.UnknownField
12861404 )
@@ -1290,7 +1408,7 @@ derive instance newtypeFieldOptions :: Prelude.Newtype FieldOptions _
12901408derive instance eqFieldOptions :: Prelude.Eq FieldOptions
12911409instance showFieldOptions :: Prelude.Show FieldOptions where show x = Prelude.genericShow x
12921410
1293−putFieldOptions :: forall m. Prelude.MonadEffect m => FieldOptions -> Prelude.PutM m Prelude.Unit
1411+putFieldOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => FieldOptions -> Prelude.PutM m Prelude.Unit
12941412putFieldOptions (FieldOptions r) = do
12951413 Prelude.putOptional 1 r.ctype Prelude.isDefault Prelude.putEnumField
12961414 Prelude.putOptional 2 r.packed Prelude.isDefault Prelude.encodeBoolField
@@ -1299,8 +1417,12 @@ putFieldOptions (FieldOptions r) = do
12991417 Prelude.putOptional 15 r.unverified_lazy Prelude.isDefault Prelude.encodeBoolField
13001418 Prelude.putOptional 3 r.deprecated Prelude.isDefault Prelude.encodeBoolField
13011419 Prelude.putOptional 10 r.weak Prelude.isDefault Prelude.encodeBoolField
1420+ Prelude.putOptional 16 r.debug_redact Prelude.isDefault Prelude.encodeBoolField
1421+ Prelude.putOptional 17 r.retention Prelude.isDefault Prelude.putEnumField
1422+ Prelude.putOptional 18 r.target Prelude.isDefault Prelude.putEnumField
1423+ Prelude.putPacked 19 r.targets Prelude.putEnum
13021424 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1303− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1425+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
13041426
13051427parseFieldOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m FieldOptions
13061428parseFieldOptions length = Prelude.label "FieldOptions / " $
@@ -1331,6 +1453,21 @@ parseFieldOptions length = Prelude.label "FieldOptions / " $
13311453 parseField 10 Prelude.VarInt = Prelude.label "weak / " $ do
13321454 x <- Prelude.decodeBool
13331455 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "weak") $ \_ -> Prelude.Just x
1456+ parseField 16 Prelude.VarInt = Prelude.label "debug_redact / " $ do
1457+ x <- Prelude.decodeBool
1458+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "debug_redact") $ \_ -> Prelude.Just x
1459+ parseField 17 Prelude.VarInt = Prelude.label "retention / " $ do
1460+ x <- Prelude.parseEnum
1461+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "retention") $ \_ -> Prelude.Just x
1462+ parseField 18 Prelude.VarInt = Prelude.label "target / " $ do
1463+ x <- Prelude.parseEnum
1464+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "target") $ \_ -> Prelude.Just x
1465+ parseField 19 Prelude.VarInt = Prelude.label "targets / " $ do
1466+ x <- Prelude.parseEnum
1467+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "targets") $ Prelude.flip Prelude.snoc x
1468+ parseField 19 Prelude.LenDel = Prelude.label "targets / " $ do
1469+ x <- Prelude.parseLenDel $ Prelude.manyLength Prelude.parseEnum
1470+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "targets") $ Prelude.flip Prelude.append x
13341471 parseField 999 Prelude.LenDel = Prelude.label "uninterpreted_option / " $ do
13351472 x <- Prelude.parseLenDel parseUninterpretedOption
13361473 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "uninterpreted_option") $ Prelude.flip Prelude.snoc x
@@ -1345,6 +1482,10 @@ defaultFieldOptions =
13451482 , unverified_lazy: Prelude.Nothing
13461483 , deprecated: Prelude.Nothing
13471484 , weak: Prelude.Nothing
1485+ , debug_redact: Prelude.Nothing
1486+ , retention: Prelude.Nothing
1487+ , target: Prelude.Nothing
1488+ , targets: []
13481489 , uninterpreted_option: []
13491490 , __unknown_fields: []
13501491 }
@@ -1361,6 +1502,10 @@ mergeFieldOptions (FieldOptions l) (FieldOptions r) = FieldOptions
13611502 , unverified_lazy: Prelude.alt l.unverified_lazy r.unverified_lazy
13621503 , deprecated: Prelude.alt l.deprecated r.deprecated
13631504 , weak: Prelude.alt l.weak r.weak
1505+ , debug_redact: Prelude.alt l.debug_redact r.debug_redact
1506+ , retention: Prelude.alt l.retention r.retention
1507+ , target: Prelude.alt l.target r.target
1508+ , targets: r.targets <> l.targets
13641509 , uninterpreted_option: r.uninterpreted_option <> l.uninterpreted_option
13651510 , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
13661511 }
@@ -1378,10 +1523,10 @@ derive instance newtypeOneofOptions :: Prelude.Newtype OneofOptions _
13781523derive instance eqOneofOptions :: Prelude.Eq OneofOptions
13791524instance showOneofOptions :: Prelude.Show OneofOptions where show x = Prelude.genericShow x
13801525
1381−putOneofOptions :: forall m. Prelude.MonadEffect m => OneofOptions -> Prelude.PutM m Prelude.Unit
1526+putOneofOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => OneofOptions -> Prelude.PutM m Prelude.Unit
13821527putOneofOptions (OneofOptions r) = do
13831528 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1384− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1529+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
13851530
13861531parseOneofOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m OneofOptions
13871532parseOneofOptions length = Prelude.label "OneofOptions / " $
@@ -1417,6 +1562,7 @@ newtype EnumOptions = EnumOptions EnumOptionsR
14171562type EnumOptionsRow =
14181563 ( allow_alias :: Prelude.Maybe Boolean
14191564 , deprecated :: Prelude.Maybe Boolean
1565+ , deprecated_legacy_json_field_conflicts :: Prelude.Maybe Boolean
14201566 , uninterpreted_option :: Array UninterpretedOption
14211567 , __unknown_fields :: Array Prelude.UnknownField
14221568 )
@@ -1426,12 +1572,13 @@ derive instance newtypeEnumOptions :: Prelude.Newtype EnumOptions _
14261572derive instance eqEnumOptions :: Prelude.Eq EnumOptions
14271573instance showEnumOptions :: Prelude.Show EnumOptions where show x = Prelude.genericShow x
14281574
1429−putEnumOptions :: forall m. Prelude.MonadEffect m => EnumOptions -> Prelude.PutM m Prelude.Unit
1575+putEnumOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => EnumOptions -> Prelude.PutM m Prelude.Unit
14301576putEnumOptions (EnumOptions r) = do
14311577 Prelude.putOptional 2 r.allow_alias Prelude.isDefault Prelude.encodeBoolField
14321578 Prelude.putOptional 3 r.deprecated Prelude.isDefault Prelude.encodeBoolField
1579+ Prelude.putOptional 6 r.deprecated_legacy_json_field_conflicts Prelude.isDefault Prelude.encodeBoolField
14331580 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1434− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1581+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
14351582
14361583parseEnumOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m EnumOptions
14371584parseEnumOptions length = Prelude.label "EnumOptions / " $
@@ -1447,6 +1594,9 @@ parseEnumOptions length = Prelude.label "EnumOptions / " $
14471594 parseField 3 Prelude.VarInt = Prelude.label "deprecated / " $ do
14481595 x <- Prelude.decodeBool
14491596 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "deprecated") $ \_ -> Prelude.Just x
1597+ parseField 6 Prelude.VarInt = Prelude.label "deprecated_legacy_json_field_conflicts / " $ do
1598+ x <- Prelude.decodeBool
1599+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "deprecated_legacy_json_field_conflicts") $ \_ -> Prelude.Just x
14501600 parseField 999 Prelude.LenDel = Prelude.label "uninterpreted_option / " $ do
14511601 x <- Prelude.parseLenDel parseUninterpretedOption
14521602 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "uninterpreted_option") $ Prelude.flip Prelude.snoc x
@@ -1456,6 +1606,7 @@ defaultEnumOptions :: EnumOptionsR
14561606defaultEnumOptions =
14571607 { allow_alias: Prelude.Nothing
14581608 , deprecated: Prelude.Nothing
1609+ , deprecated_legacy_json_field_conflicts: Prelude.Nothing
14591610 , uninterpreted_option: []
14601611 , __unknown_fields: []
14611612 }
@@ -1467,6 +1618,7 @@ mergeEnumOptions :: EnumOptions -> EnumOptions -> EnumOptions
14671618mergeEnumOptions (EnumOptions l) (EnumOptions r) = EnumOptions
14681619 { allow_alias: Prelude.alt l.allow_alias r.allow_alias
14691620 , deprecated: Prelude.alt l.deprecated r.deprecated
1621+ , deprecated_legacy_json_field_conflicts: Prelude.alt l.deprecated_legacy_json_field_conflicts r.deprecated_legacy_json_field_conflicts
14701622 , uninterpreted_option: r.uninterpreted_option <> l.uninterpreted_option
14711623 , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
14721624 }
@@ -1485,11 +1637,11 @@ derive instance newtypeEnumValueOptions :: Prelude.Newtype EnumValueOptions _
14851637derive instance eqEnumValueOptions :: Prelude.Eq EnumValueOptions
14861638instance showEnumValueOptions :: Prelude.Show EnumValueOptions where show x = Prelude.genericShow x
14871639
1488−putEnumValueOptions :: forall m. Prelude.MonadEffect m => EnumValueOptions -> Prelude.PutM m Prelude.Unit
1640+putEnumValueOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => EnumValueOptions -> Prelude.PutM m Prelude.Unit
14891641putEnumValueOptions (EnumValueOptions r) = do
14901642 Prelude.putOptional 1 r.deprecated Prelude.isDefault Prelude.encodeBoolField
14911643 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1492− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1644+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
14931645
14941646parseEnumValueOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m EnumValueOptions
14951647parseEnumValueOptions length = Prelude.label "EnumValueOptions / " $
@@ -1538,11 +1690,11 @@ derive instance newtypeServiceOptions :: Prelude.Newtype ServiceOptions _
15381690derive instance eqServiceOptions :: Prelude.Eq ServiceOptions
15391691instance showServiceOptions :: Prelude.Show ServiceOptions where show x = Prelude.genericShow x
15401692
1541−putServiceOptions :: forall m. Prelude.MonadEffect m => ServiceOptions -> Prelude.PutM m Prelude.Unit
1693+putServiceOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => ServiceOptions -> Prelude.PutM m Prelude.Unit
15421694putServiceOptions (ServiceOptions r) = do
15431695 Prelude.putOptional 33 r.deprecated Prelude.isDefault Prelude.encodeBoolField
15441696 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1545− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1697+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
15461698
15471699parseServiceOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m ServiceOptions
15481700parseServiceOptions length = Prelude.label "ServiceOptions / " $
@@ -1592,12 +1744,12 @@ derive instance newtypeMethodOptions :: Prelude.Newtype MethodOptions _
15921744derive instance eqMethodOptions :: Prelude.Eq MethodOptions
15931745instance showMethodOptions :: Prelude.Show MethodOptions where show x = Prelude.genericShow x
15941746
1595−putMethodOptions :: forall m. Prelude.MonadEffect m => MethodOptions -> Prelude.PutM m Prelude.Unit
1747+putMethodOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => MethodOptions -> Prelude.PutM m Prelude.Unit
15961748putMethodOptions (MethodOptions r) = do
15971749 Prelude.putOptional 33 r.deprecated Prelude.isDefault Prelude.encodeBoolField
15981750 Prelude.putOptional 34 r.idempotency_level Prelude.isDefault Prelude.putEnumField
15991751 Prelude.putRepeated 999 r.uninterpreted_option $ Prelude.putLenDel putUninterpretedOption
1600− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1752+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
16011753
16021754parseMethodOptions :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m MethodOptions
16031755parseMethodOptions length = Prelude.label "MethodOptions / " $
@@ -1663,7 +1815,7 @@ derive instance newtypeUninterpretedOption :: Prelude.Newtype UninterpretedOptio
16631815derive instance eqUninterpretedOption :: Prelude.Eq UninterpretedOption
16641816instance showUninterpretedOption :: Prelude.Show UninterpretedOption where show x = Prelude.genericShow x
16651817
1666−putUninterpretedOption :: forall m. Prelude.MonadEffect m => UninterpretedOption -> Prelude.PutM m Prelude.Unit
1818+putUninterpretedOption :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => UninterpretedOption -> Prelude.PutM m Prelude.Unit
16671819putUninterpretedOption (UninterpretedOption r) = do
16681820 Prelude.putRepeated 2 r.name $ Prelude.putLenDel putUninterpretedOption_NamePart
16691821 Prelude.putOptional 3 r.identifier_value Prelude.isDefault Prelude.encodeStringField
@@ -1672,7 +1824,7 @@ putUninterpretedOption (UninterpretedOption r) = do
16721824 Prelude.putOptional 6 r.double_value Prelude.isDefault Prelude.encodeDoubleField
16731825 Prelude.putOptional 7 r.string_value Prelude.isDefault Prelude.encodeBytesField
16741826 Prelude.putOptional 8 r.aggregate_value Prelude.isDefault Prelude.encodeStringField
1675− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1827+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
16761828
16771829parseUninterpretedOption :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m UninterpretedOption
16781830parseUninterpretedOption length = Prelude.label "UninterpretedOption / " $
@@ -1752,11 +1904,11 @@ derive instance newtypeUninterpretedOption_NamePart :: Prelude.Newtype Uninterpr
17521904derive instance eqUninterpretedOption_NamePart :: Prelude.Eq UninterpretedOption_NamePart
17531905instance showUninterpretedOption_NamePart :: Prelude.Show UninterpretedOption_NamePart where show x = Prelude.genericShow x
17541906
1755−putUninterpretedOption_NamePart :: forall m. Prelude.MonadEffect m => UninterpretedOption_NamePart -> Prelude.PutM m Prelude.Unit
1907+putUninterpretedOption_NamePart :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => UninterpretedOption_NamePart -> Prelude.PutM m Prelude.Unit
17561908putUninterpretedOption_NamePart (UninterpretedOption_NamePart r) = do
17571909 Prelude.putOptional 1 r.name_part Prelude.isDefault Prelude.encodeStringField
17581910 Prelude.putOptional 2 r.is_extension Prelude.isDefault Prelude.encodeBoolField
1759− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1911+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
17601912
17611913parseUninterpretedOption_NamePart :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m UninterpretedOption_NamePart
17621914parseUninterpretedOption_NamePart length = Prelude.label "NamePart / " $
@@ -1807,10 +1959,10 @@ derive instance newtypeSourceCodeInfo :: Prelude.Newtype SourceCodeInfo _
18071959derive instance eqSourceCodeInfo :: Prelude.Eq SourceCodeInfo
18081960instance showSourceCodeInfo :: Prelude.Show SourceCodeInfo where show x = Prelude.genericShow x
18091961
1810−putSourceCodeInfo :: forall m. Prelude.MonadEffect m => SourceCodeInfo -> Prelude.PutM m Prelude.Unit
1962+putSourceCodeInfo :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => SourceCodeInfo -> Prelude.PutM m Prelude.Unit
18111963putSourceCodeInfo (SourceCodeInfo r) = do
18121964 Prelude.putRepeated 1 r.location $ Prelude.putLenDel putSourceCodeInfo_Location
1813− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
1965+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
18141966
18151967parseSourceCodeInfo :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m SourceCodeInfo
18161968parseSourceCodeInfo length = Prelude.label "SourceCodeInfo / " $
@@ -1857,14 +2009,14 @@ derive instance newtypeSourceCodeInfo_Location :: Prelude.Newtype SourceCodeInfo
18572009derive instance eqSourceCodeInfo_Location :: Prelude.Eq SourceCodeInfo_Location
18582010instance showSourceCodeInfo_Location :: Prelude.Show SourceCodeInfo_Location where show x = Prelude.genericShow x
18592011
1860−putSourceCodeInfo_Location :: forall m. Prelude.MonadEffect m => SourceCodeInfo_Location -> Prelude.PutM m Prelude.Unit
2012+putSourceCodeInfo_Location :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => SourceCodeInfo_Location -> Prelude.PutM m Prelude.Unit
18612013putSourceCodeInfo_Location (SourceCodeInfo_Location r) = do
18622014 Prelude.putPacked 1 r.path Prelude.encodeInt32
18632015 Prelude.putPacked 2 r.span Prelude.encodeInt32
18642016 Prelude.putOptional 3 r.leading_comments Prelude.isDefault Prelude.encodeStringField
18652017 Prelude.putOptional 4 r.trailing_comments Prelude.isDefault Prelude.encodeStringField
18662018 Prelude.putRepeated 6 r.leading_detached_comments Prelude.encodeStringField
1867− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
2019+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
18682020
18692021parseSourceCodeInfo_Location :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m SourceCodeInfo_Location
18702022parseSourceCodeInfo_Location length = Prelude.label "Location / " $
@@ -1937,10 +2089,10 @@ derive instance newtypeGeneratedCodeInfo :: Prelude.Newtype GeneratedCodeInfo _
19372089derive instance eqGeneratedCodeInfo :: Prelude.Eq GeneratedCodeInfo
19382090instance showGeneratedCodeInfo :: Prelude.Show GeneratedCodeInfo where show x = Prelude.genericShow x
19392091
1940−putGeneratedCodeInfo :: forall m. Prelude.MonadEffect m => GeneratedCodeInfo -> Prelude.PutM m Prelude.Unit
2092+putGeneratedCodeInfo :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => GeneratedCodeInfo -> Prelude.PutM m Prelude.Unit
19412093putGeneratedCodeInfo (GeneratedCodeInfo r) = do
19422094 Prelude.putRepeated 1 r.annotation $ Prelude.putLenDel putGeneratedCodeInfo_Annotation
1943− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
2095+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
19442096
19452097parseGeneratedCodeInfo :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m GeneratedCodeInfo
19462098parseGeneratedCodeInfo length = Prelude.label "GeneratedCodeInfo / " $
@@ -1978,6 +2130,7 @@ type GeneratedCodeInfo_AnnotationRow =
19782130 , source_file :: Prelude.Maybe String
19792131 , begin :: Prelude.Maybe Int
19802132 , end :: Prelude.Maybe Int
2133+ , semantic :: Prelude.Maybe GeneratedCodeInfo_Annotation_Semantic
19812134 , __unknown_fields :: Array Prelude.UnknownField
19822135 )
19832136type GeneratedCodeInfo_AnnotationR = Record GeneratedCodeInfo_AnnotationRow
@@ -1986,13 +2139,14 @@ derive instance newtypeGeneratedCodeInfo_Annotation :: Prelude.Newtype Generated
19862139derive instance eqGeneratedCodeInfo_Annotation :: Prelude.Eq GeneratedCodeInfo_Annotation
19872140instance showGeneratedCodeInfo_Annotation :: Prelude.Show GeneratedCodeInfo_Annotation where show x = Prelude.genericShow x
19882141
1989−putGeneratedCodeInfo_Annotation :: forall m. Prelude.MonadEffect m => GeneratedCodeInfo_Annotation -> Prelude.PutM m Prelude.Unit
2142+putGeneratedCodeInfo_Annotation :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => GeneratedCodeInfo_Annotation -> Prelude.PutM m Prelude.Unit
19902143putGeneratedCodeInfo_Annotation (GeneratedCodeInfo_Annotation r) = do
19912144 Prelude.putPacked 1 r.path Prelude.encodeInt32
19922145 Prelude.putOptional 2 r.source_file Prelude.isDefault Prelude.encodeStringField
19932146 Prelude.putOptional 3 r.begin Prelude.isDefault Prelude.encodeInt32Field
19942147 Prelude.putOptional 4 r.end Prelude.isDefault Prelude.encodeInt32Field
1995− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
2148+ Prelude.putOptional 5 r.semantic Prelude.isDefault Prelude.putEnumField
2149+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
19962150
19972151parseGeneratedCodeInfo_Annotation :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m GeneratedCodeInfo_Annotation
19982152parseGeneratedCodeInfo_Annotation length = Prelude.label "Annotation / " $
@@ -2017,6 +2171,9 @@ parseGeneratedCodeInfo_Annotation length = Prelude.label "Annotation / " $
20172171 parseField 4 Prelude.VarInt = Prelude.label "end / " $ do
20182172 x <- Prelude.decodeInt32
20192173 pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "end") $ \_ -> Prelude.Just x
2174+ parseField 5 Prelude.VarInt = Prelude.label "semantic / " $ do
2175+ x <- Prelude.parseEnum
2176+ pure $ Prelude.modify (Prelude.Proxy :: Prelude.Proxy "semantic") $ \_ -> Prelude.Just x
20202177 parseField fieldNumber wireType = Prelude.parseFieldUnknown fieldNumber wireType
20212178
20222179defaultGeneratedCodeInfo_Annotation :: GeneratedCodeInfo_AnnotationR
@@ -2025,6 +2182,7 @@ defaultGeneratedCodeInfo_Annotation =
20252182 , source_file: Prelude.Nothing
20262183 , begin: Prelude.Nothing
20272184 , end: Prelude.Nothing
2185+ , semantic: Prelude.Nothing
20282186 , __unknown_fields: []
20292187 }
20302188
@@ -2037,10 +2195,42 @@ mergeGeneratedCodeInfo_Annotation (GeneratedCodeInfo_Annotation l) (GeneratedCod
20372195 , source_file: Prelude.alt l.source_file r.source_file
20382196 , begin: Prelude.alt l.begin r.begin
20392197 , end: Prelude.alt l.end r.end
2198+ , semantic: Prelude.alt l.semantic r.semantic
20402199 , __unknown_fields: r.__unknown_fields <> l.__unknown_fields
20412200 }
20422201
20432202
2203+-- | Enum generated by __protobuf__ from `google.protobuf.ExtensionRangeOptions.VerificationState`
2204+-- |
2205+-- | The verification state of the extension range.
2206+data ExtensionRangeOptions_VerificationState
2207+ = ExtensionRangeOptions_VerificationState_DECLARATION
2208+ | ExtensionRangeOptions_VerificationState_UNVERIFIED
2209+derive instance genericExtensionRangeOptions_VerificationState :: Prelude.Generic ExtensionRangeOptions_VerificationState _
2210+derive instance eqExtensionRangeOptions_VerificationState :: Prelude.Eq ExtensionRangeOptions_VerificationState
2211+instance showExtensionRangeOptions_VerificationState :: Prelude.Show ExtensionRangeOptions_VerificationState where show = Prelude.genericShow
2212+instance ordExtensionRangeOptions_VerificationState :: Prelude.Ord ExtensionRangeOptions_VerificationState where compare = Prelude.genericCompare
2213+instance boundedExtensionRangeOptions_VerificationState :: Prelude.Bounded ExtensionRangeOptions_VerificationState
2214+ where
2215+ bottom = Prelude.genericBottom
2216+ top = Prelude.genericTop
2217+instance enumExtensionRangeOptions_VerificationState :: Prelude.Enum ExtensionRangeOptions_VerificationState
2218+ where
2219+ succ = Prelude.genericSucc
2220+ pred = Prelude.genericPred
2221+instance boundedenumExtensionRangeOptions_VerificationState :: Prelude.BoundedEnum ExtensionRangeOptions_VerificationState
2222+ where
2223+ cardinality = Prelude.genericCardinality
2224+ toEnum (0) = Prelude.Just ExtensionRangeOptions_VerificationState_DECLARATION
2225+ toEnum (1) = Prelude.Just ExtensionRangeOptions_VerificationState_UNVERIFIED
2226+ toEnum _ = Prelude.Nothing
2227+ fromEnum ExtensionRangeOptions_VerificationState_DECLARATION = (0)
2228+ fromEnum ExtensionRangeOptions_VerificationState_UNVERIFIED = (1)
2229+instance defaultExtensionRangeOptions_VerificationState :: Prelude.Default ExtensionRangeOptions_VerificationState
2230+ where
2231+ default = ExtensionRangeOptions_VerificationState_DECLARATION
2232+ isDefault = eq ExtensionRangeOptions_VerificationState_DECLARATION
2233+
20442234-- | Enum generated by __protobuf__ from `google.protobuf.FieldDescriptorProto.Type`
20452235data FieldDescriptorProto_Type
20462236 = FieldDescriptorProto_Type_TYPE_DOUBLE
@@ -2248,6 +2438,100 @@ instance defaultFieldOptions_JSType :: Prelude.Default FieldOptions_JSType
22482438 default = FieldOptions_JSType_JS_NORMAL
22492439 isDefault = eq FieldOptions_JSType_JS_NORMAL
22502440
2441+-- | Enum generated by __protobuf__ from `google.protobuf.FieldOptions.OptionRetention`
2442+-- |
2443+-- | If set to RETENTION_SOURCE, the option will be omitted from the binary.
2444+-- | Note: as of January 2023, support for this is in progress and does not yet
2445+-- | have an effect (b/264593489).
2446+data FieldOptions_OptionRetention
2447+ = FieldOptions_OptionRetention_RETENTION_UNKNOWN
2448+ | FieldOptions_OptionRetention_RETENTION_RUNTIME
2449+ | FieldOptions_OptionRetention_RETENTION_SOURCE
2450+derive instance genericFieldOptions_OptionRetention :: Prelude.Generic FieldOptions_OptionRetention _
2451+derive instance eqFieldOptions_OptionRetention :: Prelude.Eq FieldOptions_OptionRetention
2452+instance showFieldOptions_OptionRetention :: Prelude.Show FieldOptions_OptionRetention where show = Prelude.genericShow
2453+instance ordFieldOptions_OptionRetention :: Prelude.Ord FieldOptions_OptionRetention where compare = Prelude.genericCompare
2454+instance boundedFieldOptions_OptionRetention :: Prelude.Bounded FieldOptions_OptionRetention
2455+ where
2456+ bottom = Prelude.genericBottom
2457+ top = Prelude.genericTop
2458+instance enumFieldOptions_OptionRetention :: Prelude.Enum FieldOptions_OptionRetention
2459+ where
2460+ succ = Prelude.genericSucc
2461+ pred = Prelude.genericPred
2462+instance boundedenumFieldOptions_OptionRetention :: Prelude.BoundedEnum FieldOptions_OptionRetention
2463+ where
2464+ cardinality = Prelude.genericCardinality
2465+ toEnum (0) = Prelude.Just FieldOptions_OptionRetention_RETENTION_UNKNOWN
2466+ toEnum (1) = Prelude.Just FieldOptions_OptionRetention_RETENTION_RUNTIME
2467+ toEnum (2) = Prelude.Just FieldOptions_OptionRetention_RETENTION_SOURCE
2468+ toEnum _ = Prelude.Nothing
2469+ fromEnum FieldOptions_OptionRetention_RETENTION_UNKNOWN = (0)
2470+ fromEnum FieldOptions_OptionRetention_RETENTION_RUNTIME = (1)
2471+ fromEnum FieldOptions_OptionRetention_RETENTION_SOURCE = (2)
2472+instance defaultFieldOptions_OptionRetention :: Prelude.Default FieldOptions_OptionRetention
2473+ where
2474+ default = FieldOptions_OptionRetention_RETENTION_UNKNOWN
2475+ isDefault = eq FieldOptions_OptionRetention_RETENTION_UNKNOWN
2476+
2477+-- | Enum generated by __protobuf__ from `google.protobuf.FieldOptions.OptionTargetType`
2478+-- |
2479+-- | This indicates the types of entities that the field may apply to when used
2480+-- | as an option. If it is unset, then the field may be freely used as an
2481+-- | option on any kind of entity. Note: as of January 2023, support for this is
2482+-- | in progress and does not yet have an effect (b/264593489).
2483+data FieldOptions_OptionTargetType
2484+ = FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN
2485+ | FieldOptions_OptionTargetType_TARGET_TYPE_FILE
2486+ | FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE
2487+ | FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE
2488+ | FieldOptions_OptionTargetType_TARGET_TYPE_FIELD
2489+ | FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF
2490+ | FieldOptions_OptionTargetType_TARGET_TYPE_ENUM
2491+ | FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY
2492+ | FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE
2493+ | FieldOptions_OptionTargetType_TARGET_TYPE_METHOD
2494+derive instance genericFieldOptions_OptionTargetType :: Prelude.Generic FieldOptions_OptionTargetType _
2495+derive instance eqFieldOptions_OptionTargetType :: Prelude.Eq FieldOptions_OptionTargetType
2496+instance showFieldOptions_OptionTargetType :: Prelude.Show FieldOptions_OptionTargetType where show = Prelude.genericShow
2497+instance ordFieldOptions_OptionTargetType :: Prelude.Ord FieldOptions_OptionTargetType where compare = Prelude.genericCompare
2498+instance boundedFieldOptions_OptionTargetType :: Prelude.Bounded FieldOptions_OptionTargetType
2499+ where
2500+ bottom = Prelude.genericBottom
2501+ top = Prelude.genericTop
2502+instance enumFieldOptions_OptionTargetType :: Prelude.Enum FieldOptions_OptionTargetType
2503+ where
2504+ succ = Prelude.genericSucc
2505+ pred = Prelude.genericPred
2506+instance boundedenumFieldOptions_OptionTargetType :: Prelude.BoundedEnum FieldOptions_OptionTargetType
2507+ where
2508+ cardinality = Prelude.genericCardinality
2509+ toEnum (0) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN
2510+ toEnum (1) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_FILE
2511+ toEnum (2) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE
2512+ toEnum (3) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE
2513+ toEnum (4) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_FIELD
2514+ toEnum (5) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF
2515+ toEnum (6) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_ENUM
2516+ toEnum (7) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY
2517+ toEnum (8) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE
2518+ toEnum (9) = Prelude.Just FieldOptions_OptionTargetType_TARGET_TYPE_METHOD
2519+ toEnum _ = Prelude.Nothing
2520+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN = (0)
2521+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_FILE = (1)
2522+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE = (2)
2523+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE = (3)
2524+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_FIELD = (4)
2525+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF = (5)
2526+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_ENUM = (6)
2527+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY = (7)
2528+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE = (8)
2529+ fromEnum FieldOptions_OptionTargetType_TARGET_TYPE_METHOD = (9)
2530+instance defaultFieldOptions_OptionTargetType :: Prelude.Default FieldOptions_OptionTargetType
2531+ where
2532+ default = FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN
2533+ isDefault = eq FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN
2534+
22512535-- | Enum generated by __protobuf__ from `google.protobuf.MethodOptions.IdempotencyLevel`
22522536-- |
22532537-- | Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
@@ -2284,3 +2568,38 @@ instance defaultMethodOptions_IdempotencyLevel :: Prelude.Default MethodOptions_
22842568 default = MethodOptions_IdempotencyLevel_IDEMPOTENCY_UNKNOWN
22852569 isDefault = eq MethodOptions_IdempotencyLevel_IDEMPOTENCY_UNKNOWN
22862570
2571+-- | Enum generated by __protobuf__ from `google.protobuf.GeneratedCodeInfo.Annotation.Semantic`
2572+-- |
2573+-- | Represents the identified object's effect on the element in the original
2574+-- | .proto file.
2575+data GeneratedCodeInfo_Annotation_Semantic
2576+ = GeneratedCodeInfo_Annotation_Semantic_NONE
2577+ | GeneratedCodeInfo_Annotation_Semantic_SET
2578+ | GeneratedCodeInfo_Annotation_Semantic_ALIAS
2579+derive instance genericGeneratedCodeInfo_Annotation_Semantic :: Prelude.Generic GeneratedCodeInfo_Annotation_Semantic _
2580+derive instance eqGeneratedCodeInfo_Annotation_Semantic :: Prelude.Eq GeneratedCodeInfo_Annotation_Semantic
2581+instance showGeneratedCodeInfo_Annotation_Semantic :: Prelude.Show GeneratedCodeInfo_Annotation_Semantic where show = Prelude.genericShow
2582+instance ordGeneratedCodeInfo_Annotation_Semantic :: Prelude.Ord GeneratedCodeInfo_Annotation_Semantic where compare = Prelude.genericCompare
2583+instance boundedGeneratedCodeInfo_Annotation_Semantic :: Prelude.Bounded GeneratedCodeInfo_Annotation_Semantic
2584+ where
2585+ bottom = Prelude.genericBottom
2586+ top = Prelude.genericTop
2587+instance enumGeneratedCodeInfo_Annotation_Semantic :: Prelude.Enum GeneratedCodeInfo_Annotation_Semantic
2588+ where
2589+ succ = Prelude.genericSucc
2590+ pred = Prelude.genericPred
2591+instance boundedenumGeneratedCodeInfo_Annotation_Semantic :: Prelude.BoundedEnum GeneratedCodeInfo_Annotation_Semantic
2592+ where
2593+ cardinality = Prelude.genericCardinality
2594+ toEnum (0) = Prelude.Just GeneratedCodeInfo_Annotation_Semantic_NONE
2595+ toEnum (1) = Prelude.Just GeneratedCodeInfo_Annotation_Semantic_SET
2596+ toEnum (2) = Prelude.Just GeneratedCodeInfo_Annotation_Semantic_ALIAS
2597+ toEnum _ = Prelude.Nothing
2598+ fromEnum GeneratedCodeInfo_Annotation_Semantic_NONE = (0)
2599+ fromEnum GeneratedCodeInfo_Annotation_Semantic_SET = (1)
2600+ fromEnum GeneratedCodeInfo_Annotation_Semantic_ALIAS = (2)
2601+instance defaultGeneratedCodeInfo_Annotation_Semantic :: Prelude.Default GeneratedCodeInfo_Annotation_Semantic
2602+ where
2603+ default = GeneratedCodeInfo_Annotation_Semantic_NONE
2604+ isDefault = eq GeneratedCodeInfo_Annotation_Semantic_NONE
2605+
plugin/ProtocPlugin/plugin.Google.Protobuf.Compiler.purs+8−8
@@ -31,13 +31,13 @@ derive instance newtypeVersion :: Prelude.Newtype Version _
3131derive instance eqVersion :: Prelude.Eq Version
3232instance showVersion :: Prelude.Show Version where show x = Prelude.genericShow x
3333
34−putVersion :: forall m. Prelude.MonadEffect m => Version -> Prelude.PutM m Prelude.Unit
34+putVersion :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Version -> Prelude.PutM m Prelude.Unit
3535putVersion (Version r) = do
3636 Prelude.putOptional 1 r.major Prelude.isDefault Prelude.encodeInt32Field
3737 Prelude.putOptional 2 r.minor Prelude.isDefault Prelude.encodeInt32Field
3838 Prelude.putOptional 3 r.patch Prelude.isDefault Prelude.encodeInt32Field
3939 Prelude.putOptional 4 r.suffix Prelude.isDefault Prelude.encodeStringField
40− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
40+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
4141
4242parseVersion :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m Version
4343parseVersion length = Prelude.label "Version / " $
@@ -100,13 +100,13 @@ derive instance newtypeCodeGeneratorRequest :: Prelude.Newtype CodeGeneratorRequ
100100derive instance eqCodeGeneratorRequest :: Prelude.Eq CodeGeneratorRequest
101101instance showCodeGeneratorRequest :: Prelude.Show CodeGeneratorRequest where show x = Prelude.genericShow x
102102
103−putCodeGeneratorRequest :: forall m. Prelude.MonadEffect m => CodeGeneratorRequest -> Prelude.PutM m Prelude.Unit
103+putCodeGeneratorRequest :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => CodeGeneratorRequest -> Prelude.PutM m Prelude.Unit
104104putCodeGeneratorRequest (CodeGeneratorRequest r) = do
105105 Prelude.putRepeated 1 r.file_to_generate Prelude.encodeStringField
106106 Prelude.putOptional 2 r.parameter Prelude.isDefault Prelude.encodeStringField
107107 Prelude.putRepeated 15 r.proto_file $ Prelude.putLenDel Google.Protobuf.putFileDescriptorProto
108108 Prelude.putOptional 3 r.compiler_version (\_ -> false) $ Prelude.putLenDel putVersion
109− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
109+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
110110
111111parseCodeGeneratorRequest :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m CodeGeneratorRequest
112112parseCodeGeneratorRequest length = Prelude.label "CodeGeneratorRequest / " $
@@ -168,12 +168,12 @@ derive instance newtypeCodeGeneratorResponse :: Prelude.Newtype CodeGeneratorRes
168168derive instance eqCodeGeneratorResponse :: Prelude.Eq CodeGeneratorResponse
169169instance showCodeGeneratorResponse :: Prelude.Show CodeGeneratorResponse where show x = Prelude.genericShow x
170170
171−putCodeGeneratorResponse :: forall m. Prelude.MonadEffect m => CodeGeneratorResponse -> Prelude.PutM m Prelude.Unit
171+putCodeGeneratorResponse :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => CodeGeneratorResponse -> Prelude.PutM m Prelude.Unit
172172putCodeGeneratorResponse (CodeGeneratorResponse r) = do
173173 Prelude.putOptional 1 r.error Prelude.isDefault Prelude.encodeStringField
174174 Prelude.putOptional 2 r.supported_features Prelude.isDefault Prelude.encodeUint64Field
175175 Prelude.putRepeated 15 r.file $ Prelude.putLenDel putCodeGeneratorResponse_File
176− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
176+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
177177
178178parseCodeGeneratorResponse :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m CodeGeneratorResponse
179179parseCodeGeneratorResponse length = Prelude.label "CodeGeneratorResponse / " $
@@ -231,13 +231,13 @@ derive instance newtypeCodeGeneratorResponse_File :: Prelude.Newtype CodeGenerat
231231derive instance eqCodeGeneratorResponse_File :: Prelude.Eq CodeGeneratorResponse_File
232232instance showCodeGeneratorResponse_File :: Prelude.Show CodeGeneratorResponse_File where show x = Prelude.genericShow x
233233
234−putCodeGeneratorResponse_File :: forall m. Prelude.MonadEffect m => CodeGeneratorResponse_File -> Prelude.PutM m Prelude.Unit
234+putCodeGeneratorResponse_File :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => CodeGeneratorResponse_File -> Prelude.PutM m Prelude.Unit
235235putCodeGeneratorResponse_File (CodeGeneratorResponse_File r) = do
236236 Prelude.putOptional 1 r.name Prelude.isDefault Prelude.encodeStringField
237237 Prelude.putOptional 2 r.insertion_point Prelude.isDefault Prelude.encodeStringField
238238 Prelude.putOptional 15 r.content Prelude.isDefault Prelude.encodeStringField
239239 Prelude.putOptional 16 r.generated_code_info (\_ -> false) $ Prelude.putLenDel Google.Protobuf.putGeneratedCodeInfo
240− Prelude.traverse_ Prelude.putFieldUnknown r.__unknown_fields
240+ Prelude.foldRecM (\_ x -> Prelude.putFieldUnknown x) unit r.__unknown_fields
241241
242242parseCodeGeneratorResponse_File :: forall m. Prelude.MonadEffect m => Prelude.MonadRec m => Prelude.ByteLength -> Prelude.ParserT Prelude.DataView m CodeGeneratorResponse_File
243243parseCodeGeneratorResponse_File length = Prelude.label "File / " $
src/Protobuf/Internal/Prelude.purs+1−3
@@ -22,7 +22,6 @@ module Protobuf.Internal.Prelude
2222 , module Data.String
2323 , module Type.Proxy
2424 , module Record
25− , module Data.Traversable
2625 , module Data.Tuple
2726 , module Data.UInt
2827 , module Prim.Row
@@ -42,7 +41,7 @@ module Protobuf.Internal.Prelude
4241import Type.Proxy (Proxy(..))
4342import Control.Alt (alt)
4443import Control.Monad.Rec.Class (class MonadRec) as MonadRec.Class
45−import Data.Array (snoc)
44+import Data.Array (snoc, foldRecM)
4645import Data.ArrayBuffer.Builder (PutM)
4746import Data.ArrayBuffer.Types (DataView, ByteLength)
4847import Data.Bounded (class Bounded)
@@ -63,7 +62,6 @@ import Data.Ord (class Ord)
6362import Data.Semigroup ((<>))
6463import Data.Show (class Show)
6564import Data.String (joinWith)
66−import Data.Traversable (traverse_)
6765import Data.Tuple (Tuple(..))
6866import Data.UInt (toInt, fromInt, UInt)
6967import Effect.Class (class MonadEffect) as Effect.Class
src/Protobuf/Internal/Runtime.purs+8−4
@@ -21,12 +21,12 @@ import Prelude
2121
2222import Control.Monad.Rec.Class (class MonadRec, tailRecM, Step(..))
2323import Control.Monad.Trans.Class (lift)
24−import Data.Array (snoc)
24+import Data.Array (snoc, foldRecM)
2525import Data.Array as Array
2626import Data.ArrayBuffer.Builder (DataBuff(..), PutM, subBuilder)
2727import Data.ArrayBuffer.Types (DataView, ByteLength)
2828import Data.Enum (class BoundedEnum, fromEnum, toEnum)
29−import Data.Foldable (foldl, traverse_)
29+import Data.Foldable (foldl)
3030import Data.Generic.Rep (class Generic)
3131import Data.Int64 as Int64
3232import Data.List (List, (:))
@@ -207,15 +207,19 @@ putOptional fieldNumber (Just x) isDefault encoder = do
207207putRepeated ::
208208 forall m a.
209209 MonadEffect m =>
210+ MonadRec m =>
210211 FieldNumberInt ->
211212 Array a ->
212213 (FieldNumber -> a -> PutM m Unit) ->
213214 PutM m Unit
214−putRepeated fieldNumber xs encoder = flip traverse_ xs $ encoder $ UInt.fromInt fieldNumber
215+putRepeated fieldNumber xs encoder = foldRecM (\_ x -> encoder fn x) unit xs
216+ where
217+ fn = UInt.fromInt fieldNumber
215218
216219putPacked ::
217220 forall m a.
218221 MonadEffect m =>
222+ MonadRec m =>
219223 FieldNumberInt ->
220224 Array a ->
221225 (a -> PutM m Unit) ->
@@ -223,7 +227,7 @@ putPacked ::
223227putPacked _ [] _ = pure unit
224228
225229putPacked fieldNumber xs encoder = do
226− b <- subBuilder $ traverse_ encoder xs
230+ b <- subBuilder $ foldRecM (\_ x -> encoder x) unit xs
227231 Encode.encodeBuilder (UInt.fromInt fieldNumber) b
228232
229233putEnumField ::
test/Main.purs+7−6
@@ -24,16 +24,17 @@ import Data.UInt64 (UInt64)
2424import Data.UInt64 as UInt64
2525import Data.Unfoldable (replicate)
2626import Effect (Effect)
27−import Protobuf.Internal.Decode as Decode
28−import Protobuf.Library (Bytes(..))
29−import Test.Assert (assert')
30−import Parsing (runParserT)
31−import Web.Encoding.TextEncoder as TextEncoder
27+-- import Effect.Console as Console
3228import Pack.Msg1 as Pack1
3329import Pack.Msg2 as Pack2
3430import Pack3.Msg3 as Pack3
3531import Pack4.Msg4 as Pack4
3632import Pack5.Msg5 as Pack5
33+import Parsing (runParserT)
34+import Protobuf.Internal.Decode as Decode
35+import Protobuf.Library (Bytes(..))
36+import Test.Assert (assert')
37+import Web.Encoding.TextEncoder as TextEncoder
3738
3839billion' :: Int
3940billion' = -1000000000
@@ -88,7 +89,7 @@ main = do
8889 Right msg1' -> assert' "msg1 roundtrip" $ msg1 == msg1'
8990
9091 let msg2 = (Pack2.mkMsg2
91− { f1: replicate 3 1234.5
92+ { f1: replicate 10000 1234.5
9293 , f2: catMaybes [Float32.fromNumber 345.6, Float32.fromNumber 345.6]
9394 , f3: replicate 3 billion'
9495 , f4: replicate 3 billion2'