package ppx_yojson_conv

  1. Overview
  2. Docs
[@@deriving] plugin to generate Yojson conversion functions

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.17.1.tar.gz
md5=ae68824365ee93ba5761c73a9ac26749
sha512=9fd8673d68791de18ed9fbb705ed441fa4cc7e5085000d99c4dd3d0b5ff488c833ca7fdf9952ab02dde2b3272df41440ad373dd89e2ff3f6e226eccd8fad81d2

doc/src/ppx_yojson_conv.expander/label_with_name.ml.html

Source file label_with_name.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
open! Base

type t =
  { label : string
  ; name_override : string option
  }

let create ~label ~name_override = { label; name_override }

let of_constructor_declaration (cd : Ppxlib.constructor_declaration) =
  let label = cd.pcd_name.txt in
  let name_override = Ppxlib.Attribute.get Attrs.yojson_variant_name cd in
  create ~label ~name_override
;;

let label t = t.label
let name t = Option.value t.name_override ~default:t.label