@@ -69,6 +69,7 @@ import Protobuf.Common as Common
6969import Protobuf.Decode as Decode
7070import Protobuf.Encode as Encode
7171import Protobuf.Runtime as Runtime
72+import Control.Monad.Rec.Class (class MonadRec)
7273
7374
7475
@@ -89,7 +90,7 @@ putFileDescriptorSet (FileDescriptorSet r) = do
8990 Runtime.putRepeated 1 r.file $ Runtime.putLenDel putFileDescriptorProto
9091 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
9192
92−parseFileDescriptorSet :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FileDescriptorSet
93+parseFileDescriptorSet :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FileDescriptorSet
9394parseFileDescriptorSet length = Runtime.label "FileDescriptorSet / " $
9495 Runtime.parseMessage FileDescriptorSet defaultFileDescriptorSet parseField length
9596 where
@@ -150,7 +151,7 @@ putFileDescriptorProto (FileDescriptorProto r) = do
150151 Runtime.putOptional 12 r.syntax Encode.string
151152 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
152153
153−parseFileDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FileDescriptorProto
154+parseFileDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FileDescriptorProto
154155parseFileDescriptorProto length = Runtime.label "FileDescriptorProto / " $
155156 Runtime.parseMessage FileDescriptorProto defaultFileDescriptorProto parseField length
156157 where
@@ -257,7 +258,7 @@ putDescriptorProto (DescriptorProto r) = do
257258 Runtime.putRepeated 10 r.reserved_name Encode.string
258259 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
259260
260−parseDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m DescriptorProto
261+parseDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m DescriptorProto
261262parseDescriptorProto length = Runtime.label "DescriptorProto / " $
262263 Runtime.parseMessage DescriptorProto defaultDescriptorProto parseField length
263264 where
@@ -336,7 +337,7 @@ putDescriptorProto_ExtensionRange (DescriptorProto_ExtensionRange r) = do
336337 Runtime.putOptional 3 r.options $ Runtime.putLenDel putExtensionRangeOptions
337338 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
338339
339−parseDescriptorProto_ExtensionRange :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m DescriptorProto_ExtensionRange
340+parseDescriptorProto_ExtensionRange :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m DescriptorProto_ExtensionRange
340341parseDescriptorProto_ExtensionRange length = Runtime.label "ExtensionRange / " $
341342 Runtime.parseMessage DescriptorProto_ExtensionRange defaultDescriptorProto_ExtensionRange parseField length
342343 where
@@ -385,7 +386,7 @@ putDescriptorProto_ReservedRange (DescriptorProto_ReservedRange r) = do
385386 Runtime.putOptional 2 r.end Encode.int32
386387 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
387388
388−parseDescriptorProto_ReservedRange :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m DescriptorProto_ReservedRange
389+parseDescriptorProto_ReservedRange :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m DescriptorProto_ReservedRange
389390parseDescriptorProto_ReservedRange length = Runtime.label "ReservedRange / " $
390391 Runtime.parseMessage DescriptorProto_ReservedRange defaultDescriptorProto_ReservedRange parseField length
391392 where
@@ -428,7 +429,7 @@ putExtensionRangeOptions (ExtensionRangeOptions r) = do
428429 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
429430 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
430431
431−parseExtensionRangeOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m ExtensionRangeOptions
432+parseExtensionRangeOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m ExtensionRangeOptions
432433parseExtensionRangeOptions length = Runtime.label "ExtensionRangeOptions / " $
433434 Runtime.parseMessage ExtensionRangeOptions defaultExtensionRangeOptions parseField length
434435 where
@@ -485,7 +486,7 @@ putFieldDescriptorProto (FieldDescriptorProto r) = do
485486 Runtime.putOptional 8 r.options $ Runtime.putLenDel putFieldOptions
486487 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
487488
488−parseFieldDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FieldDescriptorProto
489+parseFieldDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FieldDescriptorProto
489490parseFieldDescriptorProto length = Runtime.label "FieldDescriptorProto / " $
490491 Runtime.parseMessage FieldDescriptorProto defaultFieldDescriptorProto parseField length
491492 where
@@ -562,7 +563,7 @@ putOneofDescriptorProto (OneofDescriptorProto r) = do
562563 Runtime.putOptional 2 r.options $ Runtime.putLenDel putOneofOptions
563564 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
564565
565−parseOneofDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m OneofDescriptorProto
566+parseOneofDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m OneofDescriptorProto
566567parseOneofDescriptorProto length = Runtime.label "OneofDescriptorProto / " $
567568 Runtime.parseMessage OneofDescriptorProto defaultOneofDescriptorProto parseField length
568569 where
@@ -613,7 +614,7 @@ putEnumDescriptorProto (EnumDescriptorProto r) = do
613614 Runtime.putRepeated 5 r.reserved_name Encode.string
614615 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
615616
616−parseEnumDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumDescriptorProto
617+parseEnumDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumDescriptorProto
617618parseEnumDescriptorProto length = Runtime.label "EnumDescriptorProto / " $
618619 Runtime.parseMessage EnumDescriptorProto defaultEnumDescriptorProto parseField length
619620 where
@@ -670,7 +671,7 @@ putEnumDescriptorProto_EnumReservedRange (EnumDescriptorProto_EnumReservedRange
670671 Runtime.putOptional 2 r.end Encode.int32
671672 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
672673
673−parseEnumDescriptorProto_EnumReservedRange :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumDescriptorProto_EnumReservedRange
674+parseEnumDescriptorProto_EnumReservedRange :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumDescriptorProto_EnumReservedRange
674675parseEnumDescriptorProto_EnumReservedRange length = Runtime.label "EnumReservedRange / " $
675676 Runtime.parseMessage EnumDescriptorProto_EnumReservedRange defaultEnumDescriptorProto_EnumReservedRange parseField length
676677 where
@@ -717,7 +718,7 @@ putEnumValueDescriptorProto (EnumValueDescriptorProto r) = do
717718 Runtime.putOptional 3 r.options $ Runtime.putLenDel putEnumValueOptions
718719 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
719720
720−parseEnumValueDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumValueDescriptorProto
721+parseEnumValueDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumValueDescriptorProto
721722parseEnumValueDescriptorProto length = Runtime.label "EnumValueDescriptorProto / " $
722723 Runtime.parseMessage EnumValueDescriptorProto defaultEnumValueDescriptorProto parseField length
723724 where
@@ -768,7 +769,7 @@ putServiceDescriptorProto (ServiceDescriptorProto r) = do
768769 Runtime.putOptional 3 r.options $ Runtime.putLenDel putServiceOptions
769770 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
770771
771−parseServiceDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m ServiceDescriptorProto
772+parseServiceDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m ServiceDescriptorProto
772773parseServiceDescriptorProto length = Runtime.label "ServiceDescriptorProto / " $
773774 Runtime.parseMessage ServiceDescriptorProto defaultServiceDescriptorProto parseField length
774775 where
@@ -825,7 +826,7 @@ putMethodDescriptorProto (MethodDescriptorProto r) = do
825826 Runtime.putOptional 6 r.server_streaming Encode.bool
826827 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
827828
828−parseMethodDescriptorProto :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m MethodDescriptorProto
829+parseMethodDescriptorProto :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m MethodDescriptorProto
829830parseMethodDescriptorProto length = Runtime.label "MethodDescriptorProto / " $
830831 Runtime.parseMessage MethodDescriptorProto defaultMethodDescriptorProto parseField length
831832 where
@@ -924,7 +925,7 @@ putFileOptions (FileOptions r) = do
924925 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
925926 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
926927
927−parseFileOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FileOptions
928+parseFileOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FileOptions
928929parseFileOptions length = Runtime.label "FileOptions / " $
929930 Runtime.parseMessage FileOptions defaultFileOptions parseField length
930931 where
@@ -1051,7 +1052,7 @@ putMessageOptions (MessageOptions r) = do
10511052 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
10521053 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
10531054
1054−parseMessageOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m MessageOptions
1055+parseMessageOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m MessageOptions
10551056parseMessageOptions length = Runtime.label "MessageOptions / " $
10561057 Runtime.parseMessage MessageOptions defaultMessageOptions parseField length
10571058 where
@@ -1118,7 +1119,7 @@ putFieldOptions (FieldOptions r) = do
11181119 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
11191120 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
11201121
1121−parseFieldOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FieldOptions
1122+parseFieldOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m FieldOptions
11221123parseFieldOptions length = Runtime.label "FieldOptions / " $
11231124 Runtime.parseMessage FieldOptions defaultFieldOptions parseField length
11241125 where
@@ -1181,7 +1182,7 @@ putOneofOptions (OneofOptions r) = do
11811182 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
11821183 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
11831184
1184−parseOneofOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m OneofOptions
1185+parseOneofOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m OneofOptions
11851186parseOneofOptions length = Runtime.label "OneofOptions / " $
11861187 Runtime.parseMessage OneofOptions defaultOneofOptions parseField length
11871188 where
@@ -1224,7 +1225,7 @@ putEnumOptions (EnumOptions r) = do
12241225 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
12251226 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
12261227
1227−parseEnumOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumOptions
1228+parseEnumOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumOptions
12281229parseEnumOptions length = Runtime.label "EnumOptions / " $
12291230 Runtime.parseMessage EnumOptions defaultEnumOptions parseField length
12301231 where
@@ -1273,7 +1274,7 @@ putEnumValueOptions (EnumValueOptions r) = do
12731274 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
12741275 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
12751276
1276−parseEnumValueOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumValueOptions
1277+parseEnumValueOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m EnumValueOptions
12771278parseEnumValueOptions length = Runtime.label "EnumValueOptions / " $
12781279 Runtime.parseMessage EnumValueOptions defaultEnumValueOptions parseField length
12791280 where
@@ -1318,7 +1319,7 @@ putServiceOptions (ServiceOptions r) = do
13181319 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
13191320 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
13201321
1321−parseServiceOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m ServiceOptions
1322+parseServiceOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m ServiceOptions
13221323parseServiceOptions length = Runtime.label "ServiceOptions / " $
13231324 Runtime.parseMessage ServiceOptions defaultServiceOptions parseField length
13241325 where
@@ -1365,7 +1366,7 @@ putMethodOptions (MethodOptions r) = do
13651366 Runtime.putRepeated 999 r.uninterpreted_option $ Runtime.putLenDel putUninterpretedOption
13661367 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
13671368
1368−parseMethodOptions :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m MethodOptions
1369+parseMethodOptions :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m MethodOptions
13691370parseMethodOptions length = Runtime.label "MethodOptions / " $
13701371 Runtime.parseMessage MethodOptions defaultMethodOptions parseField length
13711372 where
@@ -1424,7 +1425,7 @@ putUninterpretedOption (UninterpretedOption r) = do
14241425 Runtime.putOptional 8 r.aggregate_value Encode.string
14251426 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
14261427
1427−parseUninterpretedOption :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m UninterpretedOption
1428+parseUninterpretedOption :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m UninterpretedOption
14281429parseUninterpretedOption length = Runtime.label "UninterpretedOption / " $
14291430 Runtime.parseMessage UninterpretedOption defaultUninterpretedOption parseField length
14301431 where
@@ -1489,7 +1490,7 @@ putUninterpretedOption_NamePart (UninterpretedOption_NamePart r) = do
14891490 Runtime.putOptional 2 r.is_extension Encode.bool
14901491 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
14911492
1492−parseUninterpretedOption_NamePart :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m UninterpretedOption_NamePart
1493+parseUninterpretedOption_NamePart :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m UninterpretedOption_NamePart
14931494parseUninterpretedOption_NamePart length = Runtime.label "NamePart / " $
14941495 Runtime.parseMessage UninterpretedOption_NamePart defaultUninterpretedOption_NamePart parseField length
14951496 where
@@ -1532,7 +1533,7 @@ putSourceCodeInfo (SourceCodeInfo r) = do
15321533 Runtime.putRepeated 1 r.location $ Runtime.putLenDel putSourceCodeInfo_Location
15331534 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
15341535
1535−parseSourceCodeInfo :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m SourceCodeInfo
1536+parseSourceCodeInfo :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m SourceCodeInfo
15361537parseSourceCodeInfo length = Runtime.label "SourceCodeInfo / " $
15371538 Runtime.parseMessage SourceCodeInfo defaultSourceCodeInfo parseField length
15381539 where
@@ -1579,7 +1580,7 @@ putSourceCodeInfo_Location (SourceCodeInfo_Location r) = do
15791580 Runtime.putRepeated 6 r.leading_detached_comments Encode.string
15801581 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
15811582
1582−parseSourceCodeInfo_Location :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m SourceCodeInfo_Location
1583+parseSourceCodeInfo_Location :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m SourceCodeInfo_Location
15831584parseSourceCodeInfo_Location length = Runtime.label "Location / " $
15841585 Runtime.parseMessage SourceCodeInfo_Location defaultSourceCodeInfo_Location parseField length
15851586 where
@@ -1640,7 +1641,7 @@ putGeneratedCodeInfo (GeneratedCodeInfo r) = do
16401641 Runtime.putRepeated 1 r.annotation $ Runtime.putLenDel putGeneratedCodeInfo_Annotation
16411642 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
16421643
1643−parseGeneratedCodeInfo :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m GeneratedCodeInfo
1644+parseGeneratedCodeInfo :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m GeneratedCodeInfo
16441645parseGeneratedCodeInfo length = Runtime.label "GeneratedCodeInfo / " $
16451646 Runtime.parseMessage GeneratedCodeInfo defaultGeneratedCodeInfo parseField length
16461647 where
@@ -1685,7 +1686,7 @@ putGeneratedCodeInfo_Annotation (GeneratedCodeInfo_Annotation r) = do
16851686 Runtime.putOptional 4 r.end Encode.int32
16861687 Traversable.traverse_ Runtime.putFieldUnknown r.__unknown_fields
16871688
1688−parseGeneratedCodeInfo_Annotation :: forall m. Effect.MonadEffect m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m GeneratedCodeInfo_Annotation
1689+parseGeneratedCodeInfo_Annotation :: forall m. Effect.MonadEffect m => MonadRec m => Int -> Parser.ParserT ArrayBuffer.Types.DataView m GeneratedCodeInfo_Annotation
16891690parseGeneratedCodeInfo_Annotation length = Runtime.label "Annotation / " $
16901691 Runtime.parseMessage GeneratedCodeInfo_Annotation defaultGeneratedCodeInfo_Annotation parseField length
16911692 where