forked from loafle/openapi-generator-original
Make moduleObject.mustache confirms to JSONEncodable. (#11202)
* Make moduleObject.mustache confirms to JSONEncodable. * Regenerate samples * Don't confirm JSONEncodable when using Vapor. * Use CodableHelper.jsonEncoder * Encode `Data` using `encodeToJSON()` * Update sample * Don't extend JSONEncodable when using Vapor. * Add JSONEncodable in moduleEnum, moduleInlineEnumDeclaration, and modelOneOf * Update sample * Remove line break. * Update sample * Revert "Update sample" This reverts commit 6ec206b506a5402a225184bd8e80f5e654f426f8. * Don't confirm JSONEncodable when enum confirms RawRepresentable. * Update sample * Add space before { * Update sample * Don't confirm JSONEncodable when enum confirms RawRepresentable.
This commit is contained in:
parent
1343024786
commit
febf49662a
@ -65,6 +65,16 @@ extension Date: JSONEncodable {
|
||||
func encodeToJSON() -> Any {
|
||||
return CodableHelper.dateFormatter.string(from: self)
|
||||
}
|
||||
}
|
||||
|
||||
extension JSONEncodable where Self: Encodable {
|
||||
func encodeToJSON() -> Any {
|
||||
let encoder = CodableHelper.jsonEncoder
|
||||
guard let data = try? encoder.encode(self) else {
|
||||
fatalError("Could not encode to json: \(self)")
|
||||
}
|
||||
return data.encodeToJSON()
|
||||
}
|
||||
}{{/useVapor}}{{#generateModelAdditionalProperties}}
|
||||
|
||||
extension String: CodingKey {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{classname}}: {{dataType}}, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{/enumUnknownDefaultCase}} {
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{classname}}: {{dataType}}, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{^isString}}{{^isInteger}}{{^isFloat}}{{^isDouble}}, JSONEncodable{{/isDouble}}{{/isFloat}}{{/isInteger}}{{/isString}}{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{/enumUnknownDefaultCase}} {
|
||||
{{#allowableValues}}
|
||||
{{#enumVars}}
|
||||
case {{{name}}} = {{{value}}}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{enumName}}: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}String{{/isContainer}}, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{#isContainer}}, CaseIterableDefaultsLast{{/isContainer}}{{/enumUnknownDefaultCase}} {
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} enum {{enumName}}: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}String{{/isContainer}}, {{#useVapor}}Content, Hashable{{/useVapor}}{{^useVapor}}Codable{{^isContainer}}{{^isString}}{{^isInteger}}{{^isFloat}}{{^isDouble}}, JSONEncodable{{/isDouble}}{{/isFloat}}{{/isInteger}}{{/isString}}{{/isContainer}}{{/useVapor}}, CaseIterable{{#enumUnknownDefaultCase}}{{#isInteger}}, CaseIterableDefaultsLast{{/isInteger}}{{#isFloat}}, CaseIterableDefaultsLast{{/isFloat}}{{#isDouble}}, CaseIterableDefaultsLast{{/isDouble}}{{#isString}}, CaseIterableDefaultsLast{{/isString}}{{#isContainer}}, CaseIterableDefaultsLast{{/isContainer}}{{/enumUnknownDefaultCase}} {
|
||||
{{#allowableValues}}
|
||||
{{#enumVars}}
|
||||
case {{{name}}} = {{{value}}}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} {
|
||||
{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable {
|
||||
{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable, JSONEncodable{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}} {
|
||||
{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable, JSONEncodable {
|
||||
{{/objcCompatible}}
|
||||
|
||||
{{#allVars}}
|
||||
|
@ -1,4 +1,4 @@
|
||||
public enum {{classname}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}}{{/useVapor}} {
|
||||
public enum {{classname}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable, JSONEncodable{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}}{{/useVapor}} {
|
||||
{{#oneOf}}
|
||||
case type{{.}}({{.}})
|
||||
{{/oneOf}}
|
||||
|
@ -0,0 +1,44 @@
|
||||
openapi: 3.0.0
|
||||
info:
|
||||
title: test
|
||||
version: '1.0'
|
||||
servers:
|
||||
- url: 'http://localhost:3000'
|
||||
paths:
|
||||
/postModel:
|
||||
post:
|
||||
summary: Create New User
|
||||
operationId: post-user
|
||||
responses:
|
||||
'200':
|
||||
description: User Created
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
examples: {}
|
||||
'400':
|
||||
description: Missing Required Information
|
||||
description: Create a new user.
|
||||
requestBody:
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Request'
|
||||
parameters: []
|
||||
components:
|
||||
schemas:
|
||||
User:
|
||||
title: User
|
||||
type: object
|
||||
description: ''
|
||||
x-examples: {}
|
||||
properties:
|
||||
integerValue:
|
||||
type: integer
|
||||
Request:
|
||||
title: Request
|
||||
type: object
|
||||
properties:
|
||||
user1:
|
||||
$ref: '#/components/schemas/User'
|
@ -65,6 +65,16 @@ extension Date: JSONEncodable {
|
||||
}
|
||||
}
|
||||
|
||||
extension JSONEncodable where Self: Encodable {
|
||||
func encodeToJSON() -> Any {
|
||||
let encoder = CodableHelper.jsonEncoder
|
||||
guard let data = try? encoder.encode(self) else {
|
||||
fatalError("Could not encode to json: \(self)")
|
||||
}
|
||||
return data.encodeToJSON()
|
||||
}
|
||||
}
|
||||
|
||||
extension String: CodingKey {
|
||||
|
||||
public var stringValue: String {
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct AdditionalPropertiesClass: Codable, Hashable {
|
||||
public struct AdditionalPropertiesClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var mapString: [String: String]?
|
||||
public var mapMapString: [String: [String: String]]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Animal: Codable, Hashable {
|
||||
public struct Animal: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ApiResponse: Codable, Hashable {
|
||||
public struct ApiResponse: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var code: Int?
|
||||
public var type: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayOfArrayOfNumberOnly: Codable, Hashable {
|
||||
public struct ArrayOfArrayOfNumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayArrayNumber: [[Double]]?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayOfNumberOnly: Codable, Hashable {
|
||||
public struct ArrayOfNumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayNumber: [Double]?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayTest: Codable, Hashable {
|
||||
public struct ArrayTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayOfString: [String]?
|
||||
public var arrayArrayOfInteger: [[Int64]]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Capitalization: Codable, Hashable {
|
||||
public struct Capitalization: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var smallCamel: String?
|
||||
public var capitalCamel: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Cat: Codable, Hashable {
|
||||
public struct Cat: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct CatAllOf: Codable, Hashable {
|
||||
public struct CatAllOf: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var declawed: Bool?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Category: Codable, Hashable {
|
||||
public struct Category: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var name: String? = "default-name"
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model with \"_class\" property */
|
||||
public struct ClassModel: Codable, Hashable {
|
||||
public struct ClassModel: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _class: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Client: Codable, Hashable {
|
||||
public struct Client: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var client: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Dog: Codable, Hashable {
|
||||
public struct Dog: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct DogAllOf: Codable, Hashable {
|
||||
public struct DogAllOf: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var breed: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct EnumArrays: Codable, Hashable {
|
||||
public struct EnumArrays: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum JustSymbol: String, Codable, CaseIterable {
|
||||
case greaterThanOrEqualTo = ">="
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct EnumTest: Codable, Hashable {
|
||||
public struct EnumTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum EnumString: String, Codable, CaseIterable {
|
||||
case upper = "UPPER"
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Must be named `File` for test. */
|
||||
public struct File: Codable, Hashable {
|
||||
public struct File: Codable, JSONEncodable, Hashable {
|
||||
|
||||
/** Test capitalization */
|
||||
public var sourceURI: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct FileSchemaTestClass: Codable, Hashable {
|
||||
public struct FileSchemaTestClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var file: File?
|
||||
public var files: [File]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct FormatTest: Codable, Hashable {
|
||||
public struct FormatTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var integer: Int?
|
||||
public var int32: Int?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct HasOnlyReadOnly: Codable, Hashable {
|
||||
public struct HasOnlyReadOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var bar: String?
|
||||
public var foo: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct List: Codable, Hashable {
|
||||
public struct List: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _123list: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct MapTest: Codable, Hashable {
|
||||
public struct MapTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum MapOfEnumString: String, Codable, CaseIterable {
|
||||
case upper = "UPPER"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct MixedPropertiesAndAdditionalPropertiesClass: Codable, Hashable {
|
||||
public struct MixedPropertiesAndAdditionalPropertiesClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var uuid: UUID?
|
||||
public var dateTime: Date?
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model name starting with number */
|
||||
public struct Model200Response: Codable, Hashable {
|
||||
public struct Model200Response: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var name: Int?
|
||||
public var _class: String?
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model name same as property name */
|
||||
public struct Name: Codable, Hashable {
|
||||
public struct Name: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var name: Int
|
||||
public var snakeCase: NullEncodable<Int> = .encodeValue(11033)
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct NumberOnly: Codable, Hashable {
|
||||
public struct NumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var justNumber: Double?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Order: Codable, Hashable {
|
||||
public struct Order: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum Status: String, Codable, CaseIterable {
|
||||
case placed = "placed"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct OuterComposite: Codable, Hashable {
|
||||
public struct OuterComposite: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var myNumber: Double?
|
||||
public var myString: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Pet: Codable, Hashable {
|
||||
public struct Pet: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum Status: String, Codable, CaseIterable {
|
||||
case available = "available"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ReadOnlyFirst: Codable, Hashable {
|
||||
public struct ReadOnlyFirst: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var bar: String?
|
||||
public var baz: String?
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing reserved words */
|
||||
public struct Return: Codable, Hashable {
|
||||
public struct Return: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _return: Int?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct SpecialModelName: Codable, Hashable {
|
||||
public struct SpecialModelName: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var specialPropertyName: Int64?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct StringBooleanMap: Codable, Hashable {
|
||||
public struct StringBooleanMap: Codable, JSONEncodable, Hashable {
|
||||
|
||||
|
||||
public enum CodingKeys: CodingKey, CaseIterable {
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Tag: Codable, Hashable {
|
||||
public struct Tag: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var name: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct TypeHolderDefault: Codable, Hashable {
|
||||
public struct TypeHolderDefault: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var stringItem: String = "what"
|
||||
public var numberItem: Double
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct TypeHolderExample: Codable, Hashable {
|
||||
public struct TypeHolderExample: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var stringItem: String
|
||||
public var numberItem: Double
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct User: Codable, Hashable {
|
||||
public struct User: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var username: String?
|
||||
|
@ -65,6 +65,16 @@ extension Date: JSONEncodable {
|
||||
}
|
||||
}
|
||||
|
||||
extension JSONEncodable where Self: Encodable {
|
||||
func encodeToJSON() -> Any {
|
||||
let encoder = CodableHelper.jsonEncoder
|
||||
guard let data = try? encoder.encode(self) else {
|
||||
fatalError("Could not encode to json: \(self)")
|
||||
}
|
||||
return data.encodeToJSON()
|
||||
}
|
||||
}
|
||||
|
||||
extension String: CodingKey {
|
||||
|
||||
public var stringValue: String {
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct AdditionalPropertiesClass: Codable, Hashable {
|
||||
public struct AdditionalPropertiesClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var mapString: [String: String]?
|
||||
public var mapMapString: [String: [String: String]]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Animal: Codable, Hashable {
|
||||
public struct Animal: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ApiResponse: Codable, Hashable {
|
||||
public struct ApiResponse: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var code: Int?
|
||||
public var type: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayOfArrayOfNumberOnly: Codable, Hashable {
|
||||
public struct ArrayOfArrayOfNumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayArrayNumber: [[Double]]?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayOfNumberOnly: Codable, Hashable {
|
||||
public struct ArrayOfNumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayNumber: [Double]?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayTest: Codable, Hashable {
|
||||
public struct ArrayTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayOfString: [String]?
|
||||
public var arrayArrayOfInteger: [[Int64]]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Capitalization: Codable, Hashable {
|
||||
public struct Capitalization: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var smallCamel: String?
|
||||
public var capitalCamel: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Cat: Codable, Hashable {
|
||||
public struct Cat: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct CatAllOf: Codable, Hashable {
|
||||
public struct CatAllOf: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var declawed: Bool?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Category: Codable, Hashable {
|
||||
public struct Category: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var name: String? = "default-name"
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model with \"_class\" property */
|
||||
public struct ClassModel: Codable, Hashable {
|
||||
public struct ClassModel: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _class: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Client: Codable, Hashable {
|
||||
public struct Client: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var client: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Dog: Codable, Hashable {
|
||||
public struct Dog: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct DogAllOf: Codable, Hashable {
|
||||
public struct DogAllOf: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var breed: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct EnumArrays: Codable, Hashable {
|
||||
public struct EnumArrays: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum JustSymbol: String, Codable, CaseIterable {
|
||||
case greaterThanOrEqualTo = ">="
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct EnumTest: Codable, Hashable {
|
||||
public struct EnumTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum EnumString: String, Codable, CaseIterable {
|
||||
case upper = "UPPER"
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Must be named `File` for test. */
|
||||
public struct File: Codable, Hashable {
|
||||
public struct File: Codable, JSONEncodable, Hashable {
|
||||
|
||||
/** Test capitalization */
|
||||
public var sourceURI: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct FileSchemaTestClass: Codable, Hashable {
|
||||
public struct FileSchemaTestClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var file: File?
|
||||
public var files: [File]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct FormatTest: Codable, Hashable {
|
||||
public struct FormatTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var integer: Int?
|
||||
public var int32: Int?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct HasOnlyReadOnly: Codable, Hashable {
|
||||
public struct HasOnlyReadOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var bar: String?
|
||||
public var foo: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct List: Codable, Hashable {
|
||||
public struct List: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _123list: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct MapTest: Codable, Hashable {
|
||||
public struct MapTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum MapOfEnumString: String, Codable, CaseIterable {
|
||||
case upper = "UPPER"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct MixedPropertiesAndAdditionalPropertiesClass: Codable, Hashable {
|
||||
public struct MixedPropertiesAndAdditionalPropertiesClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var uuid: UUID?
|
||||
public var dateTime: Date?
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model name starting with number */
|
||||
public struct Model200Response: Codable, Hashable {
|
||||
public struct Model200Response: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var name: Int?
|
||||
public var _class: String?
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model name same as property name */
|
||||
public struct Name: Codable, Hashable {
|
||||
public struct Name: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var name: Int
|
||||
public var snakeCase: NullEncodable<Int> = .encodeValue(11033)
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct NumberOnly: Codable, Hashable {
|
||||
public struct NumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var justNumber: Double?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Order: Codable, Hashable {
|
||||
public struct Order: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum Status: String, Codable, CaseIterable {
|
||||
case placed = "placed"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct OuterComposite: Codable, Hashable {
|
||||
public struct OuterComposite: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var myNumber: Double?
|
||||
public var myString: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Pet: Codable, Hashable {
|
||||
public struct Pet: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum Status: String, Codable, CaseIterable {
|
||||
case available = "available"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ReadOnlyFirst: Codable, Hashable {
|
||||
public struct ReadOnlyFirst: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var bar: String?
|
||||
public var baz: String?
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing reserved words */
|
||||
public struct Return: Codable, Hashable {
|
||||
public struct Return: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _return: Int?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct SpecialModelName: Codable, Hashable {
|
||||
public struct SpecialModelName: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var specialPropertyName: Int64?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct StringBooleanMap: Codable, Hashable {
|
||||
public struct StringBooleanMap: Codable, JSONEncodable, Hashable {
|
||||
|
||||
|
||||
public enum CodingKeys: CodingKey, CaseIterable {
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Tag: Codable, Hashable {
|
||||
public struct Tag: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var name: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct TypeHolderDefault: Codable, Hashable {
|
||||
public struct TypeHolderDefault: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var stringItem: String = "what"
|
||||
public var numberItem: Double
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct TypeHolderExample: Codable, Hashable {
|
||||
public struct TypeHolderExample: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var stringItem: String
|
||||
public var numberItem: Double
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct User: Codable, Hashable {
|
||||
public struct User: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var username: String?
|
||||
|
@ -65,6 +65,16 @@ extension Date: JSONEncodable {
|
||||
}
|
||||
}
|
||||
|
||||
extension JSONEncodable where Self: Encodable {
|
||||
func encodeToJSON() -> Any {
|
||||
let encoder = CodableHelper.jsonEncoder
|
||||
guard let data = try? encoder.encode(self) else {
|
||||
fatalError("Could not encode to json: \(self)")
|
||||
}
|
||||
return data.encodeToJSON()
|
||||
}
|
||||
}
|
||||
|
||||
extension String: CodingKey {
|
||||
|
||||
public var stringValue: String {
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct AdditionalPropertiesClass: Codable, Hashable {
|
||||
public struct AdditionalPropertiesClass: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var mapString: [String: String]?
|
||||
public var mapMapString: [String: [String: String]]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Animal: Codable, Hashable {
|
||||
public struct Animal: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ApiResponse: Codable, Hashable {
|
||||
public struct ApiResponse: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var code: Int?
|
||||
public var type: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayOfArrayOfNumberOnly: Codable, Hashable {
|
||||
public struct ArrayOfArrayOfNumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayArrayNumber: [[Double]]?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayOfNumberOnly: Codable, Hashable {
|
||||
public struct ArrayOfNumberOnly: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayNumber: [Double]?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct ArrayTest: Codable, Hashable {
|
||||
public struct ArrayTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var arrayOfString: [String]?
|
||||
public var arrayArrayOfInteger: [[Int64]]?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Capitalization: Codable, Hashable {
|
||||
public struct Capitalization: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var smallCamel: String?
|
||||
public var capitalCamel: String?
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Cat: Codable, Hashable {
|
||||
public struct Cat: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct CatAllOf: Codable, Hashable {
|
||||
public struct CatAllOf: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var declawed: Bool?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Category: Codable, Hashable {
|
||||
public struct Category: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var id: Int64?
|
||||
public var name: String? = "default-name"
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Model for testing model with \"_class\" property */
|
||||
public struct ClassModel: Codable, Hashable {
|
||||
public struct ClassModel: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var _class: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Client: Codable, Hashable {
|
||||
public struct Client: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var client: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct Dog: Codable, Hashable {
|
||||
public struct Dog: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var className: String
|
||||
public var color: String? = "red"
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct DogAllOf: Codable, Hashable {
|
||||
public struct DogAllOf: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public var breed: String?
|
||||
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct EnumArrays: Codable, Hashable {
|
||||
public struct EnumArrays: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum JustSymbol: String, Codable, CaseIterable {
|
||||
case greaterThanOrEqualTo = ">="
|
||||
|
@ -10,7 +10,7 @@ import Foundation
|
||||
import AnyCodable
|
||||
#endif
|
||||
|
||||
public struct EnumTest: Codable, Hashable {
|
||||
public struct EnumTest: Codable, JSONEncodable, Hashable {
|
||||
|
||||
public enum EnumString: String, Codable, CaseIterable {
|
||||
case upper = "UPPER"
|
||||
|
@ -11,7 +11,7 @@ import AnyCodable
|
||||
#endif
|
||||
|
||||
/** Must be named `File` for test. */
|
||||
public struct File: Codable, Hashable {
|
||||
public struct File: Codable, JSONEncodable, Hashable {
|
||||
|
||||
/** Test capitalization */
|
||||
public var sourceURI: String?
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user