https://gitlab.com/tezos/tezos
Raw File
Tip revision: 793dc6cda96ca9f6286502a417e7847e95494353 authored by Marek Kubica on 07 July 2022, 14:14:34 UTC
Fix issue with opam-repository missing available packages
Tip revision: 793dc6c
JSON_AST.ml
type t =
  [ `Null
  | `Bool of bool
  | `Float of float
  | `String of string
  | `O of (string * t) list
  | `A of t list ]

let f = Format.fprintf

let rec pp fmt = function
  | `Null -> f fmt "null"
  | `Bool x -> f fmt "%b" x
  | `Float x -> f fmt "%g" x
  | `String x -> f fmt "%S" x
  | `O l ->
      f fmt "@[<hv 2>{@ " ;
      List.iteri
        (fun i (k, v) ->
          if i <> 0 then f fmt ",@ " ;
          f fmt "%S: %a" k pp v)
        l ;
      f fmt "@ }@]"
  | `A l ->
      f fmt "@[<hv 2>[@ " ;
      List.iteri
        (fun i x ->
          if i <> 0 then f fmt ",@ " ;
          f fmt "%a" pp x)
        l ;
      f fmt "@ ]@]"
back to top