this repo has no description
1(*--------------------------------------------------------------------------- 2 Copyright (c) 2025 Anil Madhavapeddy. All rights reserved. 3 SPDX-License-Identifier: ISC 4 ---------------------------------------------------------------------------*) 5 6type t = { 7 using : string list; 8 method_calls : Invocation.t list; 9 created_ids : (Id.t * Id.t) list option; 10} 11 12let create ~using ~method_calls ?created_ids () = 13 { using; method_calls; created_ids } 14 15let using t = t.using 16let method_calls t = t.method_calls 17let created_ids t = t.created_ids 18 19let make using method_calls created_ids = 20 { using; method_calls; created_ids } 21 22let jsont = 23 let kind = "Request" in 24 Jsont.Object.map ~kind make 25 |> Jsont.Object.mem "using" (Jsont.list Jsont.string) ~enc:using 26 |> Jsont.Object.mem "methodCalls" (Jsont.list Invocation.jsont) ~enc:method_calls 27 |> Jsont.Object.opt_mem "createdIds" (Json_map.of_id Id.jsont) ~enc:created_ids 28 |> Jsont.Object.finish 29 30let single ~using invocation = 31 { using; method_calls = [invocation]; created_ids = None } 32 33let batch ~using invocations = 34 { using; method_calls = invocations; created_ids = None }