# NOTE: This file is auto generated by OpenAPI Generator # https://openapi-generator.tech # Do not edit this file manually. defmodule DocuSign.Model.CustomTabs do @moduledoc """ Custom tabs """ alias DocuSign.Deserializer alias DocuSign.Model.LocalePolicyTab alias DocuSign.Model.MergeField alias DocuSign.Model.PropertyMetadata defstruct [ :anchor, :anchorCaseSensitive, :anchorHorizontalAlignment, :anchorIgnoreIfNotPresent, :anchorMatchWholeWord, :anchorUnits, :anchorXOffset, :anchorYOffset, :bold, :collaborative, :concealValueOnDocument, :createdByDisplayName, :createdByUserId, :customTabId, :disableAutoSize, :editable, :font, :fontColor, :fontSize, :height, :includedInEmail, :initialValue, :italic, :items, :lastModified, :lastModifiedByDisplayName, :lastModifiedByUserId, :localePolicy, :locked, :maximumLength, :maxNumericalValue, :mergeField, :minNumericalValue, :name, :numericalValue, :paymentItemCode, :paymentItemDescription, :paymentItemName, :requireAll, :required, :requireInitialOnSharedChange, :scaleValue, :selected, :shared, :signatureProviderId, :stampType, :stampTypeMetadata, :tabLabel, :type, :underline, :validationMessage, :validationPattern, :validationType, :width ] @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__{ :anchor => String.t() | nil, :anchorCaseSensitive => String.t() | nil, :anchorHorizontalAlignment => String.t() | nil, :anchorIgnoreIfNotPresent => String.t() | nil, :anchorMatchWholeWord => String.t() | nil, :anchorUnits => String.t() | nil, :anchorXOffset => String.t() | nil, :anchorYOffset => String.t() | nil, :bold => String.t() | nil, :collaborative => String.t() | nil, :concealValueOnDocument => String.t() | nil, :createdByDisplayName => String.t() | nil, :createdByUserId => String.t() | nil, :customTabId => String.t() | nil, :disableAutoSize => String.t() | nil, :editable => String.t() | nil, :font => String.t() | nil, :fontColor => String.t() | nil, :fontSize => String.t() | nil, :height => String.t() | nil, :includedInEmail => String.t() | nil, :initialValue => String.t() | nil, :italic => String.t() | nil, :items => [String.t()] | nil, :lastModified => String.t() | nil, :lastModifiedByDisplayName => String.t() | nil, :lastModifiedByUserId => String.t() | nil, :localePolicy => LocalePolicyTab.t() | nil, :locked => String.t() | nil, :maximumLength => String.t() | nil, :maxNumericalValue => String.t() | nil, :mergeField => MergeField.t() | nil, :minNumericalValue => String.t() | nil, :name => String.t() | nil, :numericalValue => String.t() | nil, :paymentItemCode => String.t() | nil, :paymentItemDescription => String.t() | nil, :paymentItemName => String.t() | nil, :requireAll => String.t() | nil, :required => String.t() | nil, :requireInitialOnSharedChange => String.t() | nil, :scaleValue => String.t() | nil, :selected => String.t() | nil, :shared => String.t() | nil, :signatureProviderId => String.t() | nil, :stampType => String.t() | nil, :stampTypeMetadata => PropertyMetadata.t() | nil, :tabLabel => String.t() | nil, :type => String.t() | nil, :underline => String.t() | nil, :validationMessage => String.t() | nil, :validationPattern => String.t() | nil, :validationType => String.t() | nil, :width => String.t() | nil } def decode(value) do value |> Deserializer.deserialize( :localePolicy, :struct, LocalePolicyTab ) |> Deserializer.deserialize( :mergeField, :struct, MergeField ) |> Deserializer.deserialize( :stampTypeMetadata, :struct, PropertyMetadata ) |> then(&struct(__MODULE__, &1)) end end