@@ -216,39 +216,39 @@ private class SQLiteEncoder: Encoder {
216216
217217 func encodeIfPresent( _ value: Int ? , forKey key: SQLiteEncoder . SQLiteKeyedEncodingContainer < Key > . Key ) throws {
218218 if let value = value {
219- encoder . setters . append ( Expression ( key . stringValue ) <- value )
219+ try encode ( value , forKey : key )
220220 } else if forcingNilValueSetters {
221221 encoder. setters. append ( Expression < Int ? > ( key. stringValue) <- nil )
222222 }
223223 }
224224
225225 func encodeIfPresent( _ value: Bool ? , forKey key: Key ) throws {
226226 if let value = value {
227- encoder . setters . append ( Expression ( key . stringValue ) <- value )
227+ try encode ( value , forKey : key )
228228 } else if forcingNilValueSetters {
229229 encoder. setters. append ( Expression < Bool ? > ( key. stringValue) <- nil )
230230 }
231231 }
232232
233233 func encodeIfPresent( _ value: Float ? , forKey key: Key ) throws {
234234 if let value = value {
235- encoder . setters . append ( Expression ( key . stringValue ) <- Double ( value) )
235+ try encode ( value, forKey : key )
236236 } else if forcingNilValueSetters {
237237 encoder. setters. append ( Expression < Double ? > ( key. stringValue) <- nil )
238238 }
239239 }
240240
241241 func encodeIfPresent( _ value: Double ? , forKey key: Key ) throws {
242242 if let value = value {
243- encoder . setters . append ( Expression ( key . stringValue ) <- value )
243+ try encode ( value , forKey : key )
244244 } else if forcingNilValueSetters {
245245 encoder. setters. append ( Expression < Double ? > ( key. stringValue) <- nil )
246246 }
247247 }
248248
249249 func encodeIfPresent( _ value: String ? , forKey key: MyKey ) throws {
250250 if let value = value {
251- encoder . setters . append ( Expression ( key . stringValue ) <- value )
251+ try encode ( value , forKey : key )
252252 } else if forcingNilValueSetters {
253253 encoder. setters. append ( Expression < String ? > ( key. stringValue) <- nil )
254254 }
@@ -277,18 +277,7 @@ private class SQLiteEncoder: Encoder {
277277 encoder. setters. append ( Expression < String ? > ( key. stringValue) <- nil )
278278 return
279279 }
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)
292281 }
293282
294283 func encode( _ value: Int8 , forKey key: Key ) throws {
0 commit comments