Hegel_jane.DeriveAuxiliary submodule for @@deriving hegel_generator for Core generators.
This module enables the generator deriver to use generators for Core types such as Date.t, Time_ns.t, Time_ns.Span.t and Time_ns.Ofday.t. open Hegel_jane.Derive is required for @@deriving hegel_generator to use generators for Core types.
open! Core
open Hegel_jane.Derive
type event =
{ id : int
; day : Date.t
; elapsed : Time_ns.Span.t
}
[@@deriving hegel_generator]Use Core-typed fields with their short paths (for example, Date.t instead of Core.Date.t).
type good = { day : Date.t } [@@deriving hegel_generator]
(* Does not compile: [Core.Date] has no [hegel_generator]. *)
type bad = { day : Core.Date.t } [@@deriving hegel_generator]To keep a Core-qualified type, set its generator directly:
type pinned = { day : (Core.Date.t[@hegel.generator Hegel_jane.dates ()]) }
[@@deriving hegel_generator]