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