@@ -216,39 +216,39 @@ private class SQLiteEncoder: Encoder {
216
216
217
217
func encodeIfPresent( _ value: Int ? , forKey key: SQLiteEncoder . SQLiteKeyedEncodingContainer < Key > . Key ) throws {
218
218
if let value = value {
219
- encoder . setters . append ( Expression ( key . stringValue ) <- value )
219
+ try encode ( value , forKey : key )
220
220
} else if forcingNilValueSetters {
221
221
encoder. setters. append ( Expression < Int ? > ( key. stringValue) <- nil )
222
222
}
223
223
}
224
224
225
225
func encodeIfPresent( _ value: Bool ? , forKey key: Key ) throws {
226
226
if let value = value {
227
- encoder . setters . append ( Expression ( key . stringValue ) <- value )
227
+ try encode ( value , forKey : key )
228
228
} else if forcingNilValueSetters {
229
229
encoder. setters. append ( Expression < Bool ? > ( key. stringValue) <- nil )
230
230
}
231
231
}
232
232
233
233
func encodeIfPresent( _ value: Float ? , forKey key: Key ) throws {
234
234
if let value = value {
235
- encoder . setters . append ( Expression ( key . stringValue ) <- Double ( value) )
235
+ try encode ( value, forKey : key )
236
236
} else if forcingNilValueSetters {
237
237
encoder. setters. append ( Expression < Double ? > ( key. stringValue) <- nil )
238
238
}
239
239
}
240
240
241
241
func encodeIfPresent( _ value: Double ? , forKey key: Key ) throws {
242
242
if let value = value {
243
- encoder . setters . append ( Expression ( key . stringValue ) <- value )
243
+ try encode ( value , forKey : key )
244
244
} else if forcingNilValueSetters {
245
245
encoder. setters. append ( Expression < Double ? > ( key. stringValue) <- nil )
246
246
}
247
247
}
248
248
249
249
func encodeIfPresent( _ value: String ? , forKey key: MyKey ) throws {
250
250
if let value = value {
251
- encoder . setters . append ( Expression ( key . stringValue ) <- value )
251
+ try encode ( value , forKey : key )
252
252
} else if forcingNilValueSetters {
253
253
encoder. setters. append ( Expression < String ? > ( key. stringValue) <- nil )
254
254
}
@@ -277,18 +277,7 @@ private class SQLiteEncoder: Encoder {
277
277
encoder. setters. append ( Expression < String ? > ( key. stringValue) <- nil )
278
278
return
279
279
}
280
- switch value {
281
- case let data as Data :
282
- encoder. setters. append ( Expression ( key. stringValue) <- data)
283
- case let date as Date :
284
- encoder. setters. append ( Expression ( key. stringValue) <- date. datatypeValue)
285
- case let uuid as UUID :
286
- encoder. setters. append ( Expression ( key. stringValue) <- uuid. datatypeValue)
287
- default :
288
- let encoded = try JSONEncoder ( ) . encode ( value)
289
- let string = String ( data: encoded, encoding: . utf8)
290
- encoder. setters. append ( Expression ( key. stringValue) <- string)
291
- }
280
+ try encode ( value, forKey: key)
292
281
}
293
282
294
283
func encode( _ value: Int8 , forKey key: Key ) throws {
0 commit comments