@@ -9,7 +9,7 @@ using TimeZones
9
9
using LibCURL
10
10
11
11
import Base: convert, show, summary, getproperty, setproperty!, iterate
12
- import .. OpenAPI: APIModel, UnionAPIModel, APIClientImpl, OpenAPIException, InvocationException, to_json, from_json, validate_property, property_type
12
+ import .. OpenAPI: APIModel, UnionAPIModel, OneOfAPIModel, AnyOfAPIModel, APIClientImpl, OpenAPIException, InvocationException, to_json, from_json, validate_property, property_type
13
13
import .. OpenAPI: str2zoneddatetime, str2datetime, str2date
14
14
15
15
# collection formats (OpenAPI v2)
@@ -523,6 +523,12 @@ Base.hasproperty(o::T, name::Symbol) where {T<:APIModel} = ((name in propertynam
523
523
524
524
convert (:: Type{T} , json:: Dict{String,Any} ) where {T<: APIModel } = from_json (T, json)
525
525
convert (:: Type{T} , v:: Nothing ) where {T<: APIModel } = T ()
526
+ convert (:: Type{T} , v:: T ) where {T<: OneOfAPIModel } = v
527
+ convert (:: Type{T} , json:: Dict{String,Any} ) where {T<: OneOfAPIModel } = from_json (T, json)
528
+ convert (:: Type{T} , v) where {T<: OneOfAPIModel } = T (v)
529
+ convert (:: Type{T} , v:: T ) where {T<: AnyOfAPIModel } = v
530
+ convert (:: Type{T} , json:: Dict{String,Any} ) where {T<: AnyOfAPIModel } = from_json (T, json)
531
+ convert (:: Type{T} , v) where {T<: AnyOfAPIModel } = T (v)
526
532
527
533
show (io:: IO , model:: T ) where {T<: UnionAPIModel } = print (io, JSON. json (model. value, 2 ))
528
534
show (io:: IO , model:: T ) where {T<: APIModel } = print (io, JSON. json (model, 2 ))
0 commit comments