@@ -221,20 +221,11 @@ extension <%= schema_name %> {
221
221
222
222
open var <%= escape_reserved_word ( field . camelize_name ) %> : <%= swift_input_type ( field . type ) %> {
223
223
didSet {
224
- <%= escape_reserved_word ( field . camelize_name ) %> Seen = true
224
+ serialize <%= escape_reserved_word ( field . classify_name ) %> = true
225
225
}
226
226
}
227
-
228
- // Observes if the <%= escape_reserved_word ( field . camelize_name ) %> property was set.
229
- private var <%= escape_reserved_word ( field . camelize_name ) %> Seen: Bool = false
230
-
231
- // Unsets the <%= escape_reserved_word ( field . camelize_name ) %> property so that it is not serialized.
232
- @discardableresult
233
- open func unset<%= escape_reserved_word ( field . classify_name ) %> () -> <%= type . name %> {
234
- <%= escape_reserved_word ( field . camelize_name ) %> = nil
235
- <%= escape_reserved_word ( field . camelize_name ) %> Seen = false
236
- return self
237
- }
227
+ // Observes if the <%= escape_reserved_word ( field . camelize_name ) %> property was set, and indicates whether it should be serialized.
228
+ open var serialize<%= escape_reserved_word ( field . classify_name ) %> : Bool
238
229
<% end %>
239
230
240
231
public init(
@@ -244,18 +235,20 @@ extension <%= schema_name %> {
244
235
<% if field.type.non_null? %>
245
236
<%= escape_reserved_word(field.camelize_name) %> : <%= swift_input_type(field.type, non_null: true) %> <%= seperator %>
246
237
<% else %>
247
- <%= escape_reserved_word(field.camelize_name) %> : <%= swift_input_type(field.type) %> = nil<%= seperator %>
238
+ <%= escape_reserved_word(field.camelize_name) %> : <%= swift_input_type(field.type) %> = nil,
239
+ serialize<%= escape_reserved_word(field.classify_name) %> : Bool = false<%= seperator %>
248
240
<% end %>
249
241
<% end %>
250
242
) {
251
243
<% type.required_input_fields.each do |field| %>
252
244
self.<%= escape_reserved_word(field.camelize_name) %> = <%= escape_reserved_word(field.camelize_name) %>
253
245
<% end %>
254
246
<% type.optional_input_fields.each do |field| %>
247
+ self.serialize<%= escape_reserved_word(field.classify_name) %> = serialize<%= escape_reserved_word(field.classify_name) %>
255
248
<% field_name = escape_reserved_word(field.camelize_name) %>
256
249
if let <%= field_name %> = <%= field_name %> {
257
- self.<%= field_name %> Seen = true
258
250
self.<%= field_name %> = <%= field_name %>
251
+ self.serialize<%= escape_reserved_word(field.classify_name) %> = true
259
252
}
260
253
<% end %>
261
254
}
@@ -266,7 +259,7 @@ extension <%= schema_name %> {
266
259
fields.append("<%= field.name %> :<%= generate_build_input_code(field.camelize_name, field.type.unwrap_non_null) %> ")
267
260
<% end %>
268
261
<% type.optional_input_fields.each do |field| %>
269
- if <%= escape_reserved_word(field.camelize_name ) %> Seen {
262
+ if serialize <%= escape_reserved_word(field.classify_name ) %> {
270
263
if let <%= escape_reserved_word(field.camelize_name) %> = <%= escape_reserved_word(field.camelize_name) %> {
271
264
fields.append("<%= field.name %> :<%= generate_build_input_code(field.camelize_name, field.type.unwrap_non_null) %> ")
272
265
} else {
0 commit comments