package ocaml-protoc-plugin

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file any.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
(********************************************************)
(*           AUTOGENERATED FILE - DO NOT EDIT!          *)
(********************************************************)
(* Generated by: ocaml-protoc-plugin                    *)
(* https://github.com/andersfugmann/ocaml-protoc-plugin *)
(********************************************************)
(*
  Source: google/protobuf/any.proto
  Syntax: proto3
  Parameters:
    debug=false
    annot=''
    opens=[]
    int64_as_int=true
    int32_as_int=true
    fixed_as_int=false
    singleton_record=false
*)

open Ocaml_protoc_plugin.Runtime [@@warning "-33"]
module rec Google : sig
  module rec Protobuf : sig
    module rec Any : sig
      val name': unit -> string
      type t = { type_url: string; value: bytes }
      val make: ?type_url:string -> ?value:bytes -> unit -> t
      val merge: t -> t -> t
      val to_proto': Runtime'.Writer.t -> t -> Runtime'.Writer.t
      val to_proto: t -> Runtime'.Writer.t
      val from_proto: Runtime'.Reader.t -> (t, [> Runtime'.Result.error]) result
      val from_proto_exn: Runtime'.Reader.t -> t
    end
  end
end = struct
  module rec Protobuf : sig
    module rec Any : sig
      val name': unit -> string
      type t = { type_url: string; value: bytes }
      val make: ?type_url:string -> ?value:bytes -> unit -> t
      val merge: t -> t -> t
      val to_proto': Runtime'.Writer.t -> t -> Runtime'.Writer.t
      val to_proto: t -> Runtime'.Writer.t
      val from_proto: Runtime'.Reader.t -> (t, [> Runtime'.Result.error]) result
      val from_proto_exn: Runtime'.Reader.t -> t
    end
  end = struct
    module rec Any : sig
      val name': unit -> string
      type t = { type_url: string; value: bytes }
      val make: ?type_url:string -> ?value:bytes -> unit -> t
      val merge: t -> t -> t
      val to_proto': Runtime'.Writer.t -> t -> Runtime'.Writer.t
      val to_proto: t -> Runtime'.Writer.t
      val from_proto: Runtime'.Reader.t -> (t, [> Runtime'.Result.error]) result
      val from_proto_exn: Runtime'.Reader.t -> t
    end = struct
      let name' () = "any.google.protobuf.Any"
      type t = { type_url: string; value: bytes }
      let make ?(type_url = {||}) ?(value = (Bytes.of_string {||})) () = { type_url; value }
      let merge = (fun t1 t2 -> {
        type_url = (Runtime'.Merge.merge Runtime'.Deserialize.C.( basic (1, string, ({||})) ) t1.type_url t2.type_url);
        value = (Runtime'.Merge.merge Runtime'.Deserialize.C.( basic (2, bytes, ((Bytes.of_string {||}))) ) t1.value t2.value);
         })
      let to_proto' =
        let spec = Runtime'.Serialize.C.( basic (1, string, ({||})) ^:: basic (2, bytes, ((Bytes.of_string {||}))) ^:: nil ) in
        let serialize = Runtime'.Serialize.serialize spec in
        fun writer { type_url; value } -> serialize writer type_url value

      let to_proto t = to_proto' (Runtime'.Writer.init ()) t
      let from_proto_exn =
        let constructor = fun type_url value -> { type_url; value } in
        let spec = Runtime'.Deserialize.C.( basic (1, string, ({||})) ^:: basic (2, bytes, ((Bytes.of_string {||}))) ^:: nil ) in
        Runtime'.Deserialize.deserialize spec constructor
      let from_proto writer = Runtime'.Result.catch (fun () -> from_proto_exn writer)
    end
  end
end
OCaml

Innovation. Community. Security.