poex/lib/poex_web/utils/delta_utils.ex

20 lines
431 B
Elixir

defmodule Poex.Utils.DeltaUtils do
alias Delta.Op
def convert_ops(map) do
ops = Map.get(map, "ops") || []
Enum.map(ops, fn op ->
type = Map.keys(op) |> List.first()
value = Map.get(op, type)
attrs = Map.get(op, "attributes")
case type do
"insert" -> Op.insert(value, attrs)
"delete" -> Op.delete(value)
"retain" -> Op.retain(value, attrs)
end
end)
end
end