@@ -135,9 +135,11 @@ genFile (FileDescriptorProto
135135 , """)
136136where
137137
138+import Prelude
138139import Effect.Class as Effect
139140import Record.Builder as Record.Builder
140141import Data.Array as Array
142+import Data.Bounded as Bounded
141143import Data.Enum as Enum
142144import Data.Eq as Eq
143145import Data.Function as Function
@@ -151,6 +153,7 @@ import Data.Generic.Rep.Enum as Generic.Rep.Enum
151153import Data.Generic.Rep.Ord as Generic.Rep.Ord
152154import Data.Symbol as Symbol
153155import Data.UInt as UInt
156+import Data.Unit as Unit
154157import Data.Long.Internal as Long
155158import Text.Parsing.Parser as Parser
156159import Data.ArrayBuffer.Builder as ArrayBuffer.Builder
@@ -197,7 +200,7 @@ import Protobuf.Runtime as Runtime
197200 , "derive instance eq" <> tname <> " :: Eq.Eq " <> tname
198201 , "instance show" <> tname <> " :: Show.Show " <> tname <> " where show = Generic.Rep.Show.genericShow"
199202 , "instance ord" <> tname <> " :: Ord.Ord " <> tname <> " where compare = Generic.Rep.Ord.genericCompare"
200− , "instance bounded" <> tname <> " :: Enum.Bounded " <> tname
203+ , "instance bounded" <> tname <> " :: Bounded.Bounded " <> tname
201204 , " where"
202205 , " bottom = Generic.Rep.Bounded.genericBottom"
203206 , " top = Generic.Rep.Bounded.genericTop"
@@ -205,7 +208,7 @@ import Protobuf.Runtime as Runtime
205208 , " where"
206209 , " succ = Generic.Rep.Enum.genericSucc"
207210 , " pred = Generic.Rep.Enum.genericPred"
208− , "instance bounded" <> tname <> " :: Enum.BoundedEnum " <> tname
211+ , "instance boundedenum" <> tname <> " :: Enum.BoundedEnum " <> tname
209212 , " where"
210213 , " cardinality = Generic.Rep.Enum.genericCardinality"
211214 ]
@@ -265,9 +268,9 @@ import Protobuf.Runtime as Runtime
265268 , " { " <> String.joinWith "\n , " (map genFieldRecord field)
266269 , " }"
267270 , "newtype " <> tname <> " = " <> tname <> " " <> tname <> "R"
268− , "derive instance generic" <> tname <> " :: Generic.Generic " <> tname <> " _"
271+ , "derive instance generic" <> tname <> " :: Generic.Rep.Generic " <> tname <> " _"
269272 , ""
270− , "put" <> tname <> " :: forall m. Effect.MonadEffect m => " <> tname <> " -> ArrayBuffer.Builder.PutM m Unit"
273+ , "put" <> tname <> " :: forall m. Effect.MonadEffect m => " <> tname <> " -> ArrayBuffer.Builder.PutM m Unit.Unit"
271274 , "put" <> tname <> " (" <> tname <> " r) = do"
272275 , String.joinWith "\n" (map genFieldPut field)
273276 , ""
@@ -282,6 +285,7 @@ import Protobuf.Runtime as Runtime
282285 -> Common.WireType"""
283286 , " -> Parser.ParserT ArrayBuffer.Types.DataView m (Record.Builder.Builder " <> tname <> "R " <> tname <> "R)"
284287 , String.joinWith "\n" (map genFieldParser field)
288+ , " parseField _ wireType = Runtime.parseFieldUnknown wireType"
285289 , " default ="
286290 , " { " <> String.joinWith "\n , " (map genFieldDefault field)
287291 , " }"
@@ -389,209 +393,209 @@ import Protobuf.Runtime as Runtime
389393 -- encoding.
390394 -- https://developers.google.com/protocol-buffers/docs/encoding?hl=en#packed
391395 f LABEL_REPEATED TYPE_DOUBLE _ = String.joinWith "\n"
392− [ " parseField " <> show fnumber <> " Bits64 = do"
396+ [ " parseField " <> show fnumber <> " Common.Bits64 = do"
393397 , " x <- Decode.double"
394398 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
395− , " parseField " <> show fnumber <> " LenDel = do"
399+ , " parseField " <> show fnumber <> " Common.LenDel = do"
396400 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.double"
397401 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
398402 ]
399403 f LABEL_REPEATED TYPE_FLOAT _ = String.joinWith "\n"
400− [ " parseField " <> show fnumber <> " Bits32 = do"
404+ [ " parseField " <> show fnumber <> " Common.Bits32 = do"
401405 , " x <- Decode.float"
402406 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
403− , " parseField " <> show fnumber <> " LenDel = do"
407+ , " parseField " <> show fnumber <> " Common.LenDel = do"
404408 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.float"
405409 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
406410 ]
407411 f LABEL_REPEATED TYPE_INT64 _ = String.joinWith "\n"
408− [ " parseField " <> show fnumber <> " VarInt = do"
412+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
409413 , " x <- Decode.int64"
410414 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
411− , " parseField " <> show fnumber <> " LenDel = do"
415+ , " parseField " <> show fnumber <> " Common.LenDel = do"
412416 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.int64"
413417 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
414418 ]
415419 f LABEL_REPEATED TYPE_UINT64 _ = String.joinWith "\n"
416− [ " parseField " <> show fnumber <> " VarInt = do"
420+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
417421 , " x <- Decode.uint64"
418422 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
419− , " parseField " <> show fnumber <> " LenDel = do"
423+ , " parseField " <> show fnumber <> " Common.LenDel = do"
420424 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.uint64"
421425 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
422426 ]
423427 f LABEL_REPEATED TYPE_INT32 _ = String.joinWith "\n"
424− [ " parseField " <> show fnumber <> " VarInt = do"
428+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
425429 , " x <- Decode.int32"
426430 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
427− , " parseField " <> show fnumber <> " LenDel = do"
431+ , " parseField " <> show fnumber <> " Common.LenDel = do"
428432 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.int32"
429433 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
430434 ]
431435 f LABEL_REPEATED TYPE_FIXED64 _ = String.joinWith "\n"
432− [ " parseField " <> show fnumber <> " Bits64 = do"
436+ [ " parseField " <> show fnumber <> " Common.Bits64 = do"
433437 , " x <- Decode.fixed64"
434438 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
435− , " parseField " <> show fnumber <> " LenDel = do"
439+ , " parseField " <> show fnumber <> " Common.LenDel = do"
436440 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.fixed64"
437441 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
438442 ]
439443 f LABEL_REPEATED TYPE_FIXED32 _ = String.joinWith "\n"
440− [ " parseField " <> show fnumber <> " Bits32 = do"
444+ [ " parseField " <> show fnumber <> " Common.Bits32 = do"
441445 , " x <- Decode.fixed32"
442446 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
443− , " parseField " <> show fnumber <> " LenDel = do"
447+ , " parseField " <> show fnumber <> " Common.LenDel = do"
444448 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.fixed32"
445449 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
446450 ]
447451 f LABEL_REPEATED TYPE_BOOL _ = String.joinWith "\n"
448− [ " parseField " <> show fnumber <> " VarInt = do"
452+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
449453 , " x <- Decode.bool"
450454 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
451− , " parseField " <> show fnumber <> " LenDel = do"
455+ , " parseField " <> show fnumber <> " Common.LenDel = do"
452456 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.bool"
453457 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
454458 ]
455459 f LABEL_REPEATED TYPE_STRING _ = String.joinWith "\n"
456− [ " parseField " <> show fnumber <> " LenDel = do"
460+ [ " parseField " <> show fnumber <> " Common.LenDel = do"
457461 , " x <- Decode.string"
458462 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
459463 ]
460464 f LABEL_REPEATED TYPE_MESSAGE (Just tname) = String.joinWith "\n"
461− [ " parseField " <> show fnumber <> " LenDel = do"
465+ [ " parseField " <> show fnumber <> " Common.LenDel = do"
462466 , " x <- Runtime.parseLenDel parse" <> mkFieldName tname
463467 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
464468 ]
465469 f LABEL_REPEATED TYPE_BYTES _ = String.joinWith "\n"
466− [ " parseField " <> show fnumber <> " LenDel = do"
470+ [ " parseField " <> show fnumber <> " Common.LenDel = do"
467471 , " x <- Decode.bytes"
468472 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
469473 ]
470474 f LABEL_REPEATED TYPE_UINT32 _ = String.joinWith "\n"
471− [ " parseField " <> show fnumber <> " VarInt = do"
475+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
472476 , " x <- Decode.uint32"
473477 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
474− , " parseField " <> show fnumber <> " LenDel = do"
478+ , " parseField " <> show fnumber <> " Common.LenDel = do"
475479 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.uint32"
476480 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
477481 ]
478482 f LABEL_REPEATED TYPE_ENUM _ = String.joinWith "\n"
479− [ " parseField " <> show fnumber <> " VarInt = do"
483+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
480484 , " x <- Runtime.parseEnum"
481485 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
482− , " parseField " <> show fnumber <> " LenDel = do"
483− , " x <- Runtime.parseLenDel $ Runtime.manyLength parseEnum"
486+ , " parseField " <> show fnumber <> " Common.LenDel = do"
487+ , " x <- Runtime.parseLenDel $ Runtime.manyLength Runtime.parseEnum"
484488 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
485489 ]
486490 f LABEL_REPEATED TYPE_SFIXED32 _ = String.joinWith "\n"
487− [ " parseField " <> show fnumber <> " Bits32 = do"
491+ [ " parseField " <> show fnumber <> " Common.Bits32 = do"
488492 , " x <- Decode.sfixed32"
489493 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
490− , " parseField " <> show fnumber <> " LenDel = do"
494+ , " parseField " <> show fnumber <> " Common.LenDel = do"
491495 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.sfixed32"
492496 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
493497 ]
494498 f LABEL_REPEATED TYPE_SFIXED64 _ = String.joinWith "\n"
495− [ " parseField " <> show fnumber <> " Bits64 = do"
499+ [ " parseField " <> show fnumber <> " Common.Bits64 = do"
496500 , " x <- Decode.sfixed64"
497501 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
498− , " parseField " <> show fnumber <> " LenDel = do"
502+ , " parseField " <> show fnumber <> " Common.LenDel = do"
499503 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.sfixed64"
500504 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
501505 ]
502506 f LABEL_REPEATED TYPE_SINT32 _ = String.joinWith "\n"
503− [ " parseField " <> show fnumber <> " VarInt = do"
507+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
504508 , " x <- Decode.sint32"
505509 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
506− , " parseField " <> show fnumber <> " LenDel = do"
510+ , " parseField " <> show fnumber <> " Common.LenDel = do"
507511 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.sint32"
508512 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
509513 ]
510514 f LABEL_REPEATED TYPE_SINT64 _ = String.joinWith "\n"
511− [ " parseField " <> show fnumber <> " VarInt = do"
515+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
512516 , " x <- Decode.sint64"
513517 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.snoc x"
514− , " parseField " <> show fnumber <> " LenDel = do"
518+ , " parseField " <> show fnumber <> " Common.LenDel = do"
515519 , " x <- Runtime.parseLenDel $ Runtime.manyLength Decode.sint64"
516520 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.flip Array.append x"
517521 ]
518522 f _ TYPE_DOUBLE _ = String.joinWith "\n"
519− [ " parseField " <> show fnumber <> " Bits64 = do"
523+ [ " parseField " <> show fnumber <> " Common.Bits64 = do"
520524 , " x <- Decode.double"
521525 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
522526 ]
523527 f _ TYPE_FLOAT _ = String.joinWith "\n"
524− [ " parseField " <> show fnumber <> " Bits32 = do"
528+ [ " parseField " <> show fnumber <> " Common.Bits32 = do"
525529 , " x <- Decode.float"
526530 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
527531 ]
528532 f _ TYPE_INT64 _ = String.joinWith "\n"
529− [ " parseField " <> show fnumber <> " VarInt = do"
533+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
530534 , " x <- Decode.int64"
531535 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x "
532536 ]
533537 f _ TYPE_INT32 _ = String.joinWith "\n" -- "Array.Array Int"
534− [ " parseField " <> show fnumber <> " VarInt = do"
538+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
535539 , " x <- Decode.int32"
536540 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
537541 ]
538542 f _ TYPE_FIXED64 _ = String.joinWith "\n" -- "Array.Array (Long.Long Long.Unsigned)"
539− [ " parseField " <> show fnumber <> " Bits64 = do"
543+ [ " parseField " <> show fnumber <> " Common.Bits64 = do"
540544 , " x <- Decode.fixed64"
541545 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
542546 ]
543547 f _ TYPE_FIXED32 _ = String.joinWith "\n" -- "Array.Array UInt"
544− [ " parseField " <> show fnumber <> " Bits32 = do"
548+ [ " parseField " <> show fnumber <> " Common.Bits32 = do"
545549 , " x <- Decode.fixed32"
546550 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Justx"
547551 ]
548552 f _ TYPE_BOOL _ = String.joinWith "\n"
549− [ " parseField " <> show fnumber <> " VarInt = do"
553+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
550554 , " x <- Decode.bool"
551555 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
552556 ]
553557 f _ TYPE_STRING _ = String.joinWith "\n"
554− [ " parseField " <> show fnumber <> " LenDel = do"
558+ [ " parseField " <> show fnumber <> " Common.LenDel = do"
555559 , " x <- Decode.string"
556560 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
557561 ]
558562 f _ TYPE_MESSAGE (Just tname) = String.joinWith "\n"
559− [ " parseField " <> show fnumber <> " LenDel = do"
563+ [ " parseField " <> show fnumber <> " Common.LenDel = do"
560564 , " x <- Runtime.parseLenDel parse" <> mkFieldName tname
561565 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
562566 ]
563567 f _ TYPE_BYTES _ = String.joinWith "\n"
564− [ " parseField " <> show fnumber <> " LenDel = do"
568+ [ " parseField " <> show fnumber <> " Common.LenDel = do"
565569 , " x <- Decode.bytes"
566570 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
567571 ]
568572 f _ TYPE_UINT32 _ = String.joinWith "\n"
569− [ " parseField " <> show fnumber <> " VarInt = do"
573+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
570574 , " x <- Decode.uint32"
571575 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
572576 ]
573577 f _ TYPE_ENUM _ = String.joinWith "\n"
574− [ " parseField " <> show fnumber <> " VarInt = do"
575− , " x <- parseEnum"
578+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
579+ , " x <- Runtime.parseEnum"
576580 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
577581 ]
578582 f _ TYPE_SFIXED32 _ = String.joinWith "\n"
579− [ " parseField " <> show fnumber <> " Bits32 = do"
583+ [ " parseField " <> show fnumber <> " Common.Bits32 = do"
580584 , " x <- Decode.sfixed32"
581585 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
582586 ]
583587 f _ TYPE_SFIXED64 _ = String.joinWith "\n"
584− [ " parseField " <> show fnumber <> " Bits64 = do"
588+ [ " parseField " <> show fnumber <> " Common.Bits64 = do"
585589 , " x <- Decode.sfixed64"
586590 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
587591 ]
588592 f _ TYPE_SINT32 _ = String.joinWith "\n"
589− [ " parseField " <> show fnumber <> " VarInt = do"
593+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
590594 , " x <- Decode.sint32"
591595 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
592596 ]
593597 f _ TYPE_SINT64 _ = String.joinWith "\n"
594− [ " parseField " <> show fnumber <> " VarInt = do"
598+ [ " parseField " <> show fnumber <> " Common.VarInt = do"
595599 , " x <- Decode.sint64"
596600 , " pure $ Record.Builder.modify (Symbol.SProxy :: Symbol.SProxy \"" <> fname <> "\") $ Function.const $ Maybe.Just x"
597601 ]
@@ -605,7 +609,7 @@ import Protobuf.Runtime as Runtime
605609 , label: Just flabel
606610 , type_: Just ftype
607611 , type_name
608− }) = fname <> ": " <> ptype flabel ftype type_name
612+ }) = fname <> " :: " <> ptype flabel ftype type_name
609613 where
610614 fname = decapitalize name'
611615 ptype LABEL_REPEATED TYPE_DOUBLE _ = "Array.Array Number"
@@ -647,10 +651,11 @@ import Protobuf.Runtime as Runtime
647651
648652 genFieldDefault :: FieldDescriptorProto -> String
649653 genFieldDefault (FieldDescriptorProto
650− { name: Just fname
654+ { name: Just name'
651655 , label: Just flabel
652656 }) = fname <> ": " <> dtype flabel
653657 where
658+ fname = decapitalize name'
654659 dtype LABEL_REPEATED = "[]"
655660 dtype _ = "Maybe.Nothing"
656661 genFieldDefault _ = "" -- error, not enough information