Skip to content

Commit abff512

Browse files
committed
feedback
1 parent c4bdad8 commit abff512

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

Sources/SQLite/Typed/Coding.swift

+6-17
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)