package irmin
Contents
specifies how user-defined contents need to be serializable and mergeable.
The user need to provide:
- a pair of
to_json
andof_json
functions, to be used by the REST interface. - a triple of
size_of
,write
andread
functions, to serialize data on disk or to send it over the network. - a 3-way
merge
function, to handle conflicts between multiple versions of the same contents.
Default contents for string, JSON and C-buffers like values are provided.
module type S = sig ... end
module String : S with type t = string and module Path = Path.String_list
String values where only the last modified value is kept on merge. If the value has been modified concurrently, the merge
function raises Conflict
.
JSON values where only the last modified value is kept on merge. If the value has been modified concurrently, the merge
function raises Conflict
.
Cstruct values where only the last modified value is kept on merge. If the value has been modified concurrently, the merge
function raises Conflict
.
module type STORE = sig ... end
Contents store.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>