DeltaCrdt.mutate

You're seeing just the function mutate, go back to DeltaCrdt module for more information.
Link to this function

mutate(crdt, f, a, timeout \\ 5000)

View Source
This function is deprecated. Use put/4 instead.

Specs

mutate(
  crdt :: t(),
  function :: atom(),
  arguments :: list(),
  timeout :: timeout()
) :: :ok

Mutate the CRDT synchronously.

For the asynchronous version of this function, see mutate_async/3.

To see which operations are available, see the documentation for the crdt module that was provided in start_link/3.

For example, DeltaCrdt.AWLWWMap has a function add that takes 4 arguments. The last 2 arguments are supplied by DeltaCrdt internally, so you have to provide only the first two arguments: key and val. That would look like this: DeltaCrdt.mutate(crdt, :add, ["CRDT", "is magic!"]). This pattern is repeated for all mutation functions. Another example: to call DeltaCrdt.AWLWWMap.clear, use DeltaCrdt.mutate(crdt, :clear, []).