defmodule Noizu.OpenAI.Edit do
@derive Jason.Encoder
defstruct [
:object,
:created,
:choices,
:usage
]
def from_json(%{
:object => object,
:created => created,
:choices => choices,
:usage => usage
}) do
choices = Enum.map(choices, &Noizu.OpenAI.Edit.Choice.from_json/1)
%__MODULE__{
object: object,
created: created |> DateTime.from_unix!(),
choices: choices,
usage: usage
}
end
defmodule Choice do
defstruct [
:text,
:index
]
def from_json(%{
:text => text,
:index => index
}) do
%__MODULE__{
text: text,
index: index
}
end
end
end