Skip to content
This repository was archived by the owner on Jun 15, 2026. It is now read-only.

Commit 3efd99e

Browse files
committed
small adjustments for swift
1 parent 2c56538 commit 3efd99e

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

modules/openapi-generator/src/main/resources/swift5/modelObject.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}: {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}}{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}}{{#vendorExtensions.x-stream-event-call-type}}, WSCallEvent{{/vendorExtensions.x-stream-event-call-type}}{{#vendorExtensions.x-stream-event-client-type}}, WSClientEvent{{/vendorExtensions.x-stream-event-client-type}} {
1+
{{^objcCompatible}}{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} {{#useClasses}}final class{{/useClasses}}{{^useClasses}}struct{{/useClasses}} {{{classname}}}:{{#vendorExtensions.x-stream-event-client-type}} @unchecked Sendable, Event,{{/vendorExtensions.x-stream-event-client-type}}{{#vendorExtensions.x-stream-event-call-type}} @unchecked Sendable, Event,{{/vendorExtensions.x-stream-event-call-type}} {{#useVapor}}Content{{/useVapor}}{{^useVapor}}Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}}{{/useVapor}}{{#vendorExtensions.x-swift-hashable}}, Hashable{{/vendorExtensions.x-swift-hashable}}{{#vendorExtensions.x-stream-event-call-type}}, WSCallEvent{{/vendorExtensions.x-stream-event-call-type}}{{#vendorExtensions.x-stream-event-client-type}}, WSClientEvent{{/vendorExtensions.x-stream-event-client-type}} {
22
{{/objcCompatible}}{{#objcCompatible}}@objc {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} class {{classname}}: NSObject, Codable{{#useJsonEncodable}}, JSONEncodable{{/useJsonEncodable}} {
33
{{/objcCompatible}}
44
{{#allVars}}

modules/openapi-generator/src/main/resources/swift5/modelOneOf.mustache

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,25 @@ internal class {{classname}}Mapping: Decodable {
88
{{#oneOf}}
99
case type{{.}}({{.}})
1010
{{/oneOf}}
11-
11+
{{#discriminator}}
12+
public var type: String {
13+
switch self {
14+
{{#oneOf}}
15+
case .type{{.}}(let value):
16+
return value.type
17+
{{/oneOf}}
18+
}
19+
}
20+
{{! HACK: to make event handling simpler in Swift, the rawValue has Event hardcoded }}
21+
public var rawValue: Event {
22+
switch self {
23+
{{#oneOf}}
24+
case .type{{.}}(let value):
25+
return value
26+
{{/oneOf}}
27+
}
28+
}
29+
{{/discriminator}}
1230
public func encode(to encoder: Encoder) throws {
1331
var container = encoder.singleValueContainer()
1432
switch self {

0 commit comments

Comments
 (0)