Skip to main content

lib/dust/protocol/op.ex

defmodule Dust.Protocol.Op do
  @enforce_keys [:op, :path, :device_id, :client_op_id]
  defstruct [:op, :path, :value, :device_id, :client_op_id]

  @core_ops [:set, :delete, :merge, :increment, :add, :remove]

  def valid_op?(op), do: op in @core_ops

  def core_ops, do: @core_ops

  def new(attrs) when is_list(attrs) do
    struct!(__MODULE__, attrs)
  end
end