forked from loafle/openapi-generator-original
[elixir] Typespec - allow null on optional struct-attributes (#1514)
* Typespec - allow null on optional parameters * Run Petstore for elixir * considers 'nullable' in model template, fixes 'isRequired'
This commit is contained in:
parent
c537557a91
commit
6930433def
@ -11,7 +11,7 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
{{#vars}}:"{{baseName}}" => {{{dataType}}}{{#hasMore}},
|
{{#vars}}:"{{baseName}}" => {{{datatype}}}{{#isNullable}} | nil{{/isNullable}}{{^isNullable}}{{^required}} | nil{{/required}}{{/isNullable}}{{#hasMore}},
|
||||||
{{/hasMore}}{{/vars}}
|
{{/hasMore}}{{/vars}}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.AdditionalPropertiesClass do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"map_property" => %{optional(String.t) => String.t},
|
:"map_property" => %{optional(String.t) => String.t} | nil,
|
||||||
:"map_of_map_property" => %{optional(String.t) => %{optional(String.t) => String.t}}
|
:"map_of_map_property" => %{optional(String.t) => %{optional(String.t) => String.t}} | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ defmodule OpenapiPetstore.Model.Animal do
|
|||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"className" => String.t,
|
:"className" => String.t,
|
||||||
:"color" => String.t
|
:"color" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -15,9 +15,9 @@ defmodule OpenapiPetstore.Model.ApiResponse do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"code" => integer(),
|
:"code" => integer() | nil,
|
||||||
:"type" => String.t,
|
:"type" => String.t | nil,
|
||||||
:"message" => String.t
|
:"message" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.ArrayOfArrayOfNumberOnly do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"ArrayArrayNumber" => [[float()]]
|
:"ArrayArrayNumber" => [[float()]] | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.ArrayOfNumberOnly do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"ArrayNumber" => [float()]
|
:"ArrayNumber" => [float()] | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -15,9 +15,9 @@ defmodule OpenapiPetstore.Model.ArrayTest do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"array_of_string" => [String.t],
|
:"array_of_string" => [String.t] | nil,
|
||||||
:"array_array_of_integer" => [[integer()]],
|
:"array_array_of_integer" => [[integer()]] | nil,
|
||||||
:"array_array_of_model" => [[ReadOnlyFirst]]
|
:"array_array_of_model" => [[ReadOnlyFirst]] | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -18,12 +18,12 @@ defmodule OpenapiPetstore.Model.Capitalization do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"smallCamel" => String.t,
|
:"smallCamel" => String.t | nil,
|
||||||
:"CapitalCamel" => String.t,
|
:"CapitalCamel" => String.t | nil,
|
||||||
:"small_Snake" => String.t,
|
:"small_Snake" => String.t | nil,
|
||||||
:"Capital_Snake" => String.t,
|
:"Capital_Snake" => String.t | nil,
|
||||||
:"SCA_ETH_Flow_Points" => String.t,
|
:"SCA_ETH_Flow_Points" => String.t | nil,
|
||||||
:"ATT_NAME" => String.t
|
:"ATT_NAME" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@ defmodule OpenapiPetstore.Model.Cat do
|
|||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"className" => String.t,
|
:"className" => String.t,
|
||||||
:"color" => String.t,
|
:"color" => String.t | nil,
|
||||||
:"declawed" => boolean()
|
:"declawed" => boolean() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ defmodule OpenapiPetstore.Model.Category do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"id" => integer(),
|
:"id" => integer() | nil,
|
||||||
:"name" => String.t
|
:"name" => String.t
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.ClassModel do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"_class" => String.t
|
:"_class" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.Client do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"client" => String.t
|
:"client" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@ defmodule OpenapiPetstore.Model.Dog do
|
|||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"className" => String.t,
|
:"className" => String.t,
|
||||||
:"color" => String.t,
|
:"color" => String.t | nil,
|
||||||
:"breed" => String.t
|
:"breed" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.EnumArrays do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"just_symbol" => String.t,
|
:"just_symbol" => String.t | nil,
|
||||||
:"array_enum" => [String.t]
|
:"array_enum" => [String.t] | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -17,11 +17,11 @@ defmodule OpenapiPetstore.Model.EnumTest do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"enum_string" => String.t,
|
:"enum_string" => String.t | nil,
|
||||||
:"enum_string_required" => String.t,
|
:"enum_string_required" => String.t,
|
||||||
:"enum_integer" => integer(),
|
:"enum_integer" => integer() | nil,
|
||||||
:"enum_number" => float(),
|
:"enum_number" => float() | nil,
|
||||||
:"outerEnum" => OuterEnum
|
:"outerEnum" => OuterEnum | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.FileSchemaTestClass do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"file" => File,
|
:"file" => File | nil,
|
||||||
:"files" => [File]
|
:"files" => [File] | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -25,18 +25,18 @@ defmodule OpenapiPetstore.Model.FormatTest do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"integer" => integer(),
|
:"integer" => integer() | nil,
|
||||||
:"int32" => integer(),
|
:"int32" => integer() | nil,
|
||||||
:"int64" => integer(),
|
:"int64" => integer() | nil,
|
||||||
:"number" => float(),
|
:"number" => float(),
|
||||||
:"float" => float(),
|
:"float" => float() | nil,
|
||||||
:"double" => float(),
|
:"double" => float() | nil,
|
||||||
:"string" => String.t,
|
:"string" => String.t | nil,
|
||||||
:"byte" => binary(),
|
:"byte" => binary(),
|
||||||
:"binary" => String.t,
|
:"binary" => String.t | nil,
|
||||||
:"date" => Date.t,
|
:"date" => Date.t,
|
||||||
:"dateTime" => DateTime.t,
|
:"dateTime" => DateTime.t | nil,
|
||||||
:"uuid" => String.t,
|
:"uuid" => String.t | nil,
|
||||||
:"password" => String.t
|
:"password" => String.t
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.HasOnlyReadOnly do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"bar" => String.t,
|
:"bar" => String.t | nil,
|
||||||
:"foo" => String.t
|
:"foo" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -16,10 +16,10 @@ defmodule OpenapiPetstore.Model.MapTest do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"map_map_of_string" => %{optional(String.t) => %{optional(String.t) => String.t}},
|
:"map_map_of_string" => %{optional(String.t) => %{optional(String.t) => String.t}} | nil,
|
||||||
:"map_of_enum_string" => %{optional(String.t) => String.t},
|
:"map_of_enum_string" => %{optional(String.t) => String.t} | nil,
|
||||||
:"direct_map" => %{optional(String.t) => boolean()},
|
:"direct_map" => %{optional(String.t) => boolean()} | nil,
|
||||||
:"indirect_map" => %{optional(String.t) => boolean()}
|
:"indirect_map" => %{optional(String.t) => boolean()} | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -15,9 +15,9 @@ defmodule OpenapiPetstore.Model.MixedPropertiesAndAdditionalPropertiesClass do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"uuid" => String.t,
|
:"uuid" => String.t | nil,
|
||||||
:"dateTime" => DateTime.t,
|
:"dateTime" => DateTime.t | nil,
|
||||||
:"map" => %{optional(String.t) => Animal}
|
:"map" => %{optional(String.t) => Animal} | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.Model200Response do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"name" => integer(),
|
:"name" => integer() | nil,
|
||||||
:"class" => String.t
|
:"class" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@ defmodule OpenapiPetstore.Model.Name do
|
|||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"name" => integer(),
|
:"name" => integer(),
|
||||||
:"snake_case" => integer(),
|
:"snake_case" => integer() | nil,
|
||||||
:"property" => String.t,
|
:"property" => String.t | nil,
|
||||||
:"123Number" => integer()
|
:"123Number" => integer() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.NumberOnly do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"JustNumber" => float()
|
:"JustNumber" => float() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -18,12 +18,12 @@ defmodule OpenapiPetstore.Model.Order do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"id" => integer(),
|
:"id" => integer() | nil,
|
||||||
:"petId" => integer(),
|
:"petId" => integer() | nil,
|
||||||
:"quantity" => integer(),
|
:"quantity" => integer() | nil,
|
||||||
:"shipDate" => DateTime.t,
|
:"shipDate" => DateTime.t | nil,
|
||||||
:"status" => String.t,
|
:"status" => String.t | nil,
|
||||||
:"complete" => boolean()
|
:"complete" => boolean() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -15,9 +15,9 @@ defmodule OpenapiPetstore.Model.OuterComposite do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"my_number" => float(),
|
:"my_number" => float() | nil,
|
||||||
:"my_string" => String.t,
|
:"my_string" => String.t | nil,
|
||||||
:"my_boolean" => boolean()
|
:"my_boolean" => boolean() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -18,12 +18,12 @@ defmodule OpenapiPetstore.Model.Pet do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"id" => integer(),
|
:"id" => integer() | nil,
|
||||||
:"category" => Category,
|
:"category" => Category | nil,
|
||||||
:"name" => String.t,
|
:"name" => String.t,
|
||||||
:"photoUrls" => [String.t],
|
:"photoUrls" => [String.t],
|
||||||
:"tags" => [Tag],
|
:"tags" => [Tag] | nil,
|
||||||
:"status" => String.t
|
:"status" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.ReadOnlyFirst do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"bar" => String.t,
|
:"bar" => String.t | nil,
|
||||||
:"baz" => String.t
|
:"baz" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.Return do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"return" => integer()
|
:"return" => integer() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ defmodule OpenapiPetstore.Model.SpecialModelName do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"$special[property.name]" => integer()
|
:"$special[property.name]" => integer() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ defmodule OpenapiPetstore.Model.Tag do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"id" => integer(),
|
:"id" => integer() | nil,
|
||||||
:"name" => String.t
|
:"name" => String.t | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -20,14 +20,14 @@ defmodule OpenapiPetstore.Model.User do
|
|||||||
]
|
]
|
||||||
|
|
||||||
@type t :: %__MODULE__{
|
@type t :: %__MODULE__{
|
||||||
:"id" => integer(),
|
:"id" => integer() | nil,
|
||||||
:"username" => String.t,
|
:"username" => String.t | nil,
|
||||||
:"firstName" => String.t,
|
:"firstName" => String.t | nil,
|
||||||
:"lastName" => String.t,
|
:"lastName" => String.t | nil,
|
||||||
:"email" => String.t,
|
:"email" => String.t | nil,
|
||||||
:"password" => String.t,
|
:"password" => String.t | nil,
|
||||||
:"phone" => String.t,
|
:"phone" => String.t | nil,
|
||||||
:"userStatus" => integer()
|
:"userStatus" => integer() | nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user