package jsonaf

  1. Overview
  2. Docs

Utility Module for Jsonaf_kernel Conversions

Conversion of OCaml-values to Jsonaf_kernels

val jsonaf_of_unit : unit -> Jsonaf_kernel__.Type.t

jsonaf_of_unit () converts a value of type unit to an Jsonaf_kernel.

val jsonaf_of_bool : bool -> Jsonaf_kernel__.Type.t

jsonaf_of_bool b converts the value b of type bool to an Jsonaf_kernel.

val jsonaf_of_string : string -> Jsonaf_kernel__.Type.t

jsonaf_of_string str converts the value str of type string to an Jsonaf_kernel.

val jsonaf_of_bytes : bytes -> Jsonaf_kernel__.Type.t

jsonaf_of_bytes str converts the value str of type bytes to an Jsonaf_kernel.

val jsonaf_of_char : char -> Jsonaf_kernel__.Type.t

jsonaf_of_char c converts the value c of type char to an Jsonaf_kernel.

val jsonaf_of_int : int -> Jsonaf_kernel__.Type.t

jsonaf_of_int n converts the value n of type int to an Jsonaf_kernel.

val jsonaf_of_float : float -> Jsonaf_kernel__.Type.t

jsonaf_of_float n converts the value n of type float to an Jsonaf_kernel.

val jsonaf_of_int32 : int32 -> Jsonaf_kernel__.Type.t

jsonaf_of_int32 n converts the value n of type int32 to an Jsonaf_kernel.

val jsonaf_of_int64 : int64 -> Jsonaf_kernel__.Type.t

jsonaf_of_int64 n converts the value n of type int64 to an Jsonaf_kernel.

val jsonaf_of_nativeint : nativeint -> Jsonaf_kernel__.Type.t

jsonaf_of_nativeint n converts the value n of type nativeint to an Jsonaf_kernel.

val jsonaf_of_ref : ('a -> Jsonaf_kernel__.Type.t) -> 'a ref -> Jsonaf_kernel__.Type.t

jsonaf_of_ref conv r converts the value r of type 'a ref to an Jsonaf_kernel. Uses conv to convert values of type 'a to an Jsonaf_kernel.

val jsonaf_of_lazy_t : ('a -> Jsonaf_kernel__.Type.t) -> 'a lazy_t -> Jsonaf_kernel__.Type.t

jsonaf_of_lazy_t conv l converts the value l of type 'a lazy_t to an Jsonaf_kernel. Uses conv to convert values of type 'a to an Jsonaf_kernel.

val jsonaf_of_option : ('a -> Jsonaf_kernel__.Type.t) -> 'a option -> Jsonaf_kernel__.Type.t

jsonaf_of_option conv opt converts the value opt of type 'a option to an Jsonaf_kernel. Uses conv to convert values of type 'a to an Jsonaf_kernel.

val jsonaf_of_pair : ('a -> Jsonaf_kernel__.Type.t) -> ('b -> Jsonaf_kernel__.Type.t) -> ('a * 'b) -> Jsonaf_kernel__.Type.t

jsonaf_of_pair conv1 conv2 pair converts a pair to an Jsonaf_kernel. It uses its first argument to convert the first element of the pair, and its second argument to convert the second element of the pair.

val jsonaf_of_triple : ('a -> Jsonaf_kernel__.Type.t) -> ('b -> Jsonaf_kernel__.Type.t) -> ('c -> Jsonaf_kernel__.Type.t) -> ('a * 'b * 'c) -> Jsonaf_kernel__.Type.t

jsonaf_of_triple conv1 conv2 conv3 triple converts a triple to an Jsonaf_kernel using conv1, conv2, and conv3 to convert its elements.

val jsonaf_of_list : ('a -> Jsonaf_kernel__.Type.t) -> 'a list -> Jsonaf_kernel__.Type.t

jsonaf_of_list conv lst converts the value lst of type 'a list to an Jsonaf_kernel. Uses conv to convert values of type 'a to an Jsonaf_kernel.

val jsonaf_of_array : ('a -> Jsonaf_kernel__.Type.t) -> 'a array -> Jsonaf_kernel__.Type.t

jsonaf_of_array conv ar converts the value ar of type 'a array to an Jsonaf_kernel. Uses conv to convert values of type 'a to an Jsonaf_kernel.

val jsonaf_of_hashtbl : ('a -> Jsonaf_kernel__.Type.t) -> ('b -> Jsonaf_kernel__.Type.t) -> ('a, 'b) Hashtbl.t -> Jsonaf_kernel__.Type.t

jsonaf_of_hashtbl conv_key conv_value htbl converts the value htbl of type ('a, 'b) Hashtbl.t to an Jsonaf_kernel. Uses conv_key to convert the hashtable keys of type 'a, and conv_value to convert hashtable values of type 'b to Jsonaf_kernels.

val jsonaf_of_opaque : 'a -> Jsonaf_kernel__.Type.t

jsonaf_of_opaque x converts the value x of opaque type to an Jsonaf_kernel. This means the user need not provide converters, but the result cannot be interpreted.

val jsonaf_of_fun : ('a -> 'b) -> Jsonaf_kernel__.Type.t

jsonaf_of_fun f converts the value f of function type to a dummy Jsonaf_kernel. Functions cannot be serialized as Jsonaf_kernels, but at least a placeholder can be generated for pretty-printing.

Conversion of Jsonaf_kernels to OCaml-values

exception Of_jsonaf_error of exn * Jsonaf_kernel__.Type.t

Of_jsonaf_error (exn, jsonaf) the exception raised when an Jsonaf_kernel could not be successfully converted to an OCaml-value.

val record_check_extra_fields : bool ref

record_check_extra_fields checks for extra (= unknown) fields in record Jsonaf_kernels.

val of_jsonaf_error : string -> Jsonaf_kernel__.Type.t -> 'a

of_jsonaf_error reason jsonaf

val of_jsonaf_error_exn : exn -> Jsonaf_kernel__.Type.t -> 'a

of_jsonaf_error_exn exc jsonaf

val unit_of_jsonaf : Jsonaf_kernel__.Type.t -> unit

unit_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type unit.

val bool_of_jsonaf : Jsonaf_kernel__.Type.t -> bool

bool_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type bool.

val string_of_jsonaf : Jsonaf_kernel__.Type.t -> string

string_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type string.

val bytes_of_jsonaf : Jsonaf_kernel__.Type.t -> bytes

bytes_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type bytes.

val char_of_jsonaf : Jsonaf_kernel__.Type.t -> char

char_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type char.

val int_of_jsonaf : Jsonaf_kernel__.Type.t -> int

int_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type int.

val float_of_jsonaf : Jsonaf_kernel__.Type.t -> float

float_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type float.

val int32_of_jsonaf : Jsonaf_kernel__.Type.t -> int32

int32_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type int32.

val int64_of_jsonaf : Jsonaf_kernel__.Type.t -> int64

int64_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type int64.

val nativeint_of_jsonaf : Jsonaf_kernel__.Type.t -> nativeint

nativeint_of_jsonaf jsonaf converts Jsonaf_kernel jsonaf to a value of type nativeint.

val ref_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> Jsonaf_kernel__.Type.t -> 'a ref

ref_of_jsonaf conv jsonaf converts Jsonaf_kernel jsonaf to a value of type 'a ref using conversion function conv, which converts an Jsonaf_kernel to a value of type 'a.

val lazy_t_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> Jsonaf_kernel__.Type.t -> 'a lazy_t

lazy_t_of_jsonaf conv jsonaf converts Jsonaf_kernel jsonaf to a value of type 'a lazy_t using conversion function conv, which converts an Jsonaf_kernel to a value of type 'a.

val option_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> Jsonaf_kernel__.Type.t -> 'a option

option_of_jsonaf conv jsonaf converts Jsonaf_kernel jsonaf to a value of type 'a option using conversion function conv, which converts an Jsonaf_kernel to a value of type 'a.

val pair_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> (Jsonaf_kernel__.Type.t -> 'b) -> Jsonaf_kernel__.Type.t -> 'a * 'b

pair_of_jsonaf conv1 conv2 jsonaf converts Jsonaf_kernel jsonaf to a pair of type 'a * 'b using conversion functions conv1 and conv2, which convert Jsonaf_kernels to values of type 'a and 'b respectively.

val triple_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> (Jsonaf_kernel__.Type.t -> 'b) -> (Jsonaf_kernel__.Type.t -> 'c) -> Jsonaf_kernel__.Type.t -> 'a * 'b * 'c

triple_of_jsonaf conv1 conv2 conv3 jsonaf converts Jsonaf_kernel jsonaf to a triple of type 'a * 'b * 'c using conversion functions conv1, conv2, and conv3, which convert Jsonaf_kernels to values of type 'a, 'b, and 'c respectively.

val list_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> Jsonaf_kernel__.Type.t -> 'a list

list_of_jsonaf conv jsonaf converts Jsonaf_kernel jsonaf to a value of type 'a list using conversion function conv, which converts an Jsonaf_kernel to a value of type 'a.

val array_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> Jsonaf_kernel__.Type.t -> 'a array

array_of_jsonaf conv jsonaf converts Jsonaf_kernel jsonaf to a value of type 'a array using conversion function conv, which converts an Jsonaf_kernel to a value of type 'a.

val hashtbl_of_jsonaf : (Jsonaf_kernel__.Type.t -> 'a) -> (Jsonaf_kernel__.Type.t -> 'b) -> Jsonaf_kernel__.Type.t -> ('a, 'b) Hashtbl.t

hashtbl_of_jsonaf conv_key conv_value jsonaf converts Jsonaf_kernel jsonaf to a value of type ('a, 'b) Hashtbl.t using conversion function conv_key, which converts an Jsonaf_kernel to hashtable key of type 'a, and function conv_value, which converts an Jsonaf_kernel to hashtable value of type 'b.

val opaque_of_jsonaf : Jsonaf_kernel__.Type.t -> 'a

opaque_of_jsonaf jsonaf

  • raises Of_jsonaf_error

    when attempting to convert an Jsonaf_kernel to an opaque value.

val fun_of_jsonaf : Jsonaf_kernel__.Type.t -> 'a

fun_of_jsonaf jsonaf

  • raises Of_jsonaf_error

    when attempting to convert an Jsonaf_kernel to a function.

module Primitives : sig ... end