Neodriver_core.HydrationConversion between PackStream values and rich values.
Hydration — conversion between the transport-level PackStream values and the rich Neo4j values. See hydration.ml for the implementation.
A fresh hydration scope. minor (default 0) is the negotiated protocol minor version, which gates Bolt 6.1-only types such as UUID.
val hydrate : t -> Neodriver_packstream.Packstream.value -> Values.tConvert a transport-level PackStream value into a rich value. Undecodable structures become a Broken value which propagates through lists and maps.
val dehydrate : t -> Values.t -> Neodriver_packstream.Packstream.valueConvert a rich value back into a transport-level PackStream value. Raises Invalid_argument for Broken values.
val dehydrate_assoc_list :
t ->
(string * Values.t) list ->
((string * Neodriver_packstream.Packstream.value) list, Errors.t)
Stdlib.resultDehydrate an association list of (name, value) pairs (query parameters or tx_metadata), failing with a Configuration_error on a value the negotiated protocol version cannot encode (e.g. a UUID before Bolt 6.1).
val nodes : t -> Values.node listAll nodes hydrated so far in this scope, deduplicated by element_id.
val relationships : t -> Values.relationship listAll relationships hydrated so far in this scope.