package aws-config

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

Source file json.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
exception Invalid_json of Yojson.Safe.t

let get key j =
  match j with
  | `Assoc l ->
    List.assoc_opt key l
    |> Option.map (function
           | `String v -> v
           | _ -> raise @@ Invalid_json j)
  | _ -> raise @@ Invalid_json j
;;

let ( #. ) l k = get k l

let get_exn key j =
  match j with
  | `Assoc l ->
    List.assoc key l
    |> (function
    | `String v -> v
    | _ -> raise @@ Invalid_json j)
  | _ -> raise @@ Invalid_json j
;;

let ( #.! ) l k = get_exn k l
let s3 = "s3"

let get_s3 key = function
  | `Assoc l -> List.assoc_opt s3 l |> Fun.flip Option.bind (get key)
;;

let get_s3_exn key = function
  | `Assoc l -> List.assoc s3 l |> get_exn key
;;