Current section
Files
Jump to
Current section
Files
lib/docusign/model/list_item.ex
# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.ListItem do
@moduledoc """
One of the selectable items in the `listItems` property of a [`list`](/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/) tab.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.PropertyMetadata
defstruct [
:selected,
:selectedMetadata,
:text,
:textMetadata,
:value,
:valueMetadata
]
@doc false
defimpl Jason.Encoder, for: __MODULE__ do
def encode(struct, opts) do
struct
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> is_nil(v) end)
|> Map.new()
|> Jason.Encode.map(opts)
end
end
@type t :: %__MODULE__{
:selected => String.t() | nil,
:selectedMetadata => PropertyMetadata.t() | nil,
:text => String.t() | nil,
:textMetadata => PropertyMetadata.t() | nil,
:value => String.t() | nil,
:valueMetadata => PropertyMetadata.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:selectedMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:textMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:valueMetadata,
:struct,
PropertyMetadata
)
|> then(&struct(__MODULE__, &1))
end
end