Commits

camlspotter committed 430c29c

following changes of metaconv

Comments (0)

Files changed (1)

 open Meta_conv.Open
 open Sexplib.Conv
 
-module Address = struct
-  include Meta_conv.Types.Address
-  let sexp_of_t _ = Sexplib.Sexp.Atom ""
-  let t_of_sexp _ = top
-end
-
-type 'target fields = (string * ('target * Address.t)) list with sexp
-type 'target mc_leftovers = 'target fields with sexp
+type 'target mc_fields = (string * 'target) list with sexp
+type 'target mc_leftovers = 'target mc_fields with sexp
 
 module Json = struct
   include Json
   let t_of_sexp = function
     | Sexplib.Sexp.Atom s -> Json.parse s
     | _ -> assert false
-
-  type 'a named_list = (string * 'a) list with sexp
-  let json_of_named_list : ('a -> t) -> 'a named_list -> t = fun f xs -> 
-    Object (List.map (fun (name, a) -> (name, f a)) xs)
-  let named_list_of_json (d : 'a decoder) : (string * 'a) list decoder = fun ?(adrs=[]) ->
-    function
-      | Object fields -> 
-          let adrs = 0::adrs in (* CR jfuruse: wrong! *)
-          `Ok (List.map (fun (name, v) -> (name, d ~adrs v)) fields)
-      | v -> `Error (Meta_conv.Types.Error.Primitive_decoding_failure "Object expected for named list", 
-                     v,
-                     adrs)
-
-  let named_list_of_json_exn d ?adrs v = 
-    match named_list_of_json d ?adrs v with
-    | `Ok v -> v
-    | `Error err -> raise (Json_conv.Error err)
-    
 end
 
 module Scheme = struct
       unknown : Json.t mc_leftovers;
     } with conv(json), sexp
 
-    type t = branch Json.named_list with conv(json), sexp
+    type t = branch mc_fields with conv(json), sexp
 
     let get ~accountname ~repo_slug = 
       let s = Curl.get_string (fun h ->
   type t = {
     user : user;
     repositories : Repositories.Repository.t list;
-    rest (: Leftovers :) : Json.t fields;
+    rest (: Leftovers :) : Json.t mc_fields;
   } with conv(json), sexp
 
   let get ~user ~password = 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.