1
open Core.Std let _ = _squelch_unused_module_warning_
2
open Typerep_experimental.Std
4
module Transaction_type = struct
10
module Typename_of_t = Make_typename.Make0(struct
13
let name = "Combination.Transaction_type.V1.t"
17
let name_of_t = Typename_of_t.named in
18
Typerep.Named (name_of_t, Some (lazy (
19
let tag0 = Typerep.Tag.internal_use_only {
22
rep = typerep_of_tuple0;
26
tyid = Typename.create ();
27
create = Typerep.Tag_internal.Const Trade;
29
let tag1 = Typerep.Tag.internal_use_only {
32
rep = typerep_of_tuple0;
36
tyid = Typename.create ();
37
create = Typerep.Tag_internal.Const Order;
39
let typename = Typerep.Named.typename_of_t name_of_t in
40
let polymorphic = false in
42
Typerep.Variant_internal.Tag tag0;
43
Typerep.Variant_internal.Tag tag1;
46
| Trade -> Typerep.Variant_internal.Value (tag0, value_tuple0)
47
| Order -> Typerep.Variant_internal.Value (tag1, value_tuple0)
49
Typerep.Variant (Typerep.Variant.internal_use_only {
50
Typerep.Variant_internal.
63
| Journal of string * string
65
module Typename_of_t = Make_typename.Make0(struct
68
let name = "Combination.Transaction_type.V2.t"
72
let name_of_t = Typename_of_t.named in
73
Typerep.Named (name_of_t, Some (lazy (
74
let tag0 = Typerep.Tag.internal_use_only {
77
rep = typerep_of_tuple0;
81
tyid = Typename.create ();
82
create = Typerep.Tag_internal.Const Trade;
84
let tag1 = Typerep.Tag.internal_use_only {
87
rep = typerep_of_tuple0;
91
tyid = Typename.create ();
92
create = Typerep.Tag_internal.Const Order;
94
let tag2 = Typerep.Tag.internal_use_only {
97
rep = typerep_of_tuple2 typerep_of_string typerep_of_string;
101
tyid = Typename.create ();
102
create = Typerep.Tag_internal.Args (fun (v1, v2) -> Journal (v1, v2));
104
let typename = Typerep.Named.typename_of_t name_of_t in
105
let polymorphic = false in
107
Typerep.Variant_internal.Tag tag0;
108
Typerep.Variant_internal.Tag tag1;
109
Typerep.Variant_internal.Tag tag2;
112
| Trade -> Typerep.Variant_internal.Value (tag0, value_tuple0)
113
| Order -> Typerep.Variant_internal.Value (tag1, value_tuple0)
114
| Journal (v1, v2) -> Typerep.Variant_internal.Value (tag2, (v1, v2))
116
Typerep.Variant (Typerep.Variant.internal_use_only {
117
Typerep.Variant_internal.
129
transaction_type : Transaction_type.V1.t;
133
module Typename_of_t = Make_typename.Make0(struct
136
let name = "Combination.V1.t"
140
let name_of_t = Typename_of_t.named in
141
Typerep.Named (name_of_t, Some(lazy(
142
let field0 = Typerep.Field.internal_use_only {
143
Typerep.Field_internal.
144
label = "transaction_type";
146
rep = Transaction_type.V1.typerep_of_t;
147
tyid = Typename.create ();
148
get = (fun t -> t.transaction_type);
150
let field1 = Typerep.Field.internal_use_only {
151
Typerep.Field_internal.
154
rep = typerep_of_string;
155
tyid = Typename.create ();
156
get = (fun t -> t.username);
158
let typename = Typerep.Named.typename_of_t name_of_t in
159
let has_double_array_tag =
160
Typerep_obj.has_double_array_tag {
161
transaction_type = Typerep_obj.double_array_value;
162
username = Typerep_obj.double_array_value;
166
Typerep.Record_internal.Field field0;
167
Typerep.Record_internal.Field field1;
169
let create { Typerep.Record_internal.get } =
170
let transaction_type = get field0 in
171
let username = get field1 in
172
{ transaction_type ; username }
174
Typerep.Record (Typerep.Record.internal_use_only {
175
Typerep.Record_internal.
177
has_double_array_tag;
186
transaction_type : Transaction_type.V2.t;
188
tags : (string * string) list;
191
module Typename_of_t = Make_typename.Make0(struct
194
let name = "Combination.V2.t"
198
let name_of_t = Typename_of_t.named in
199
Typerep.Named (name_of_t, Some(lazy(
200
let field0 = Typerep.Field.internal_use_only {
201
Typerep.Field_internal.
202
label = "transaction_type";
204
rep = Transaction_type.V2.typerep_of_t;
205
tyid = Typename.create ();
206
get = (fun t -> t.transaction_type);
208
let field1 = Typerep.Field.internal_use_only {
209
Typerep.Field_internal.
212
rep = typerep_of_string;
213
tyid = Typename.create ();
214
get = (fun t -> t.username);
216
let field2 = Typerep.Field.internal_use_only {
217
Typerep.Field_internal.
220
rep = typerep_of_list (typerep_of_tuple2 typerep_of_string typerep_of_string);
221
tyid = Typename.create ();
222
get = (fun t -> t.tags);
224
let typename = Typerep.Named.typename_of_t name_of_t in
225
let has_double_array_tag =
226
Typerep_obj.has_double_array_tag {
227
transaction_type = Typerep_obj.double_array_value;
228
username = Typerep_obj.double_array_value;
229
tags = Typerep_obj.double_array_value;
233
Typerep.Record_internal.Field field0;
234
Typerep.Record_internal.Field field1;
235
Typerep.Record_internal.Field field2;
237
let create { Typerep.Record_internal.get } =
238
let transaction_type = get field0 in
239
let username = get field1 in
240
let tags = get field2 in
241
{ transaction_type ; username ; tags }
243
Typerep.Record (Typerep.Record.internal_use_only {
244
Typerep.Record_internal.
246
has_double_array_tag;
257
module Typename_of_t = Make_typename.Make0(struct
260
let name = "Combination.t"
263
let typerep_of_t : t Typerep.t =
264
let name_of_t = Typename_of_t.named in
265
Typerep.Named (name_of_t, Some (lazy (
266
let tag0 = Typerep.Tag.internal_use_only {
267
Typerep.Tag_internal.
269
rep = V1.typerep_of_t;
273
tyid = Typename.create ();
274
create = Typerep.Tag_internal.Args (fun x -> V1 x);
276
let tag1 = Typerep.Tag.internal_use_only {
277
Typerep.Tag_internal.
279
rep = V2.typerep_of_t;
283
tyid = Typename.create ();
284
create = Typerep.Tag_internal.Args (fun x -> V2 x)
286
let typename = Typerep.Named.typename_of_t name_of_t in
287
let polymorphic = false in
289
Typerep.Variant_internal.Tag tag0;
290
Typerep.Variant_internal.Tag tag1;
293
| V1 x -> Typerep.Variant_internal.Value (tag0, x)
294
| V2 x -> Typerep.Variant_internal.Value (tag1, x)
296
Typerep.Variant (Typerep.Variant.internal_use_only {
297
Typerep.Variant_internal.