Skip to content

Commit 4fa4992

Browse files
author
Holly Schilling
committed
Converted RowDecoder to a struct for compatability with versions of Swift Prior to 6.2
1 parent 6b45414 commit 4fa4992

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

Sources/SqlCipherKit/RowDecoder.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import Foundation
4343
/// as: User.self
4444
/// )
4545
/// ```
46-
public final class RowDecoder {
46+
public struct RowDecoder: Sendable {
4747

4848
// MARK: - Date decoding strategy
4949

Tests/SqlCipherKitTests/RowDecoderTests.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ struct RowDecoderDateTests {
186186

187187
@Test("secondsSince1970 from real column")
188188
func secondsSince1970() throws {
189-
let decoder = RowDecoder()
189+
var decoder = RowDecoder()
190190
decoder.dateDecodingStrategy = .secondsSince1970
191191
let r = row(("ts", .real(Self.refDate.timeIntervalSince1970)))
192192
let result = try decoder.decode(W.self, from: r)
@@ -195,7 +195,7 @@ struct RowDecoderDateTests {
195195

196196
@Test("secondsSince1970 from integer column")
197197
func secondsSince1970FromInt() throws {
198-
let decoder = RowDecoder()
198+
var decoder = RowDecoder()
199199
decoder.dateDecodingStrategy = .secondsSince1970
200200
let r = row(("ts", .integer(Int64(Self.refDate.timeIntervalSince1970))))
201201
let result = try decoder.decode(W.self, from: r)
@@ -204,7 +204,7 @@ struct RowDecoderDateTests {
204204

205205
@Test("millisecondsSince1970 from real column")
206206
func milliseconds() throws {
207-
let decoder = RowDecoder()
207+
var decoder = RowDecoder()
208208
decoder.dateDecodingStrategy = .millisecondsSince1970
209209
let ms = Self.refDate.timeIntervalSince1970 * 1000
210210
let r = row(("ts", .real(ms)))
@@ -215,7 +215,7 @@ struct RowDecoderDateTests {
215215
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
216216
@Test("iso8601 text column")
217217
func iso8601() throws {
218-
let decoder = RowDecoder()
218+
var decoder = RowDecoder()
219219
decoder.dateDecodingStrategy = .iso8601
220220
let str = ISO8601DateFormatter().string(from: Self.refDate)
221221
let r = row(("ts", .text(str)))
@@ -228,7 +228,7 @@ struct RowDecoderDateTests {
228228
let fmt = DateFormatter()
229229
fmt.dateFormat = "yyyy-MM-dd"
230230
fmt.timeZone = TimeZone(identifier: "UTC")
231-
let decoder = RowDecoder()
231+
var decoder = RowDecoder()
232232
decoder.dateDecodingStrategy = .formatted(fmt)
233233
let r = row(("ts", .text("2024-03-15")))
234234
let result = try decoder.decode(W.self, from: r)
@@ -242,7 +242,7 @@ struct RowDecoderDateTests {
242242

243243
@Test("custom strategy returns correct Date")
244244
func custom() throws {
245-
let decoder = RowDecoder()
245+
var decoder = RowDecoder()
246246
decoder.dateDecodingStrategy = .custom { value in
247247
guard case .integer(let i) = value else {
248248
throw DecodingError.dataCorrupted(.init(codingPath: [], debugDescription: "bad"))
@@ -296,7 +296,7 @@ struct DateEpochTimezoneTests {
296296
@Test("stored 0 decodes as Unix epoch, not local midnight")
297297
func storedZeroIsUnixEpoch() throws {
298298
struct W: Decodable { let ts: Date }
299-
let decoder = RowDecoder()
299+
var decoder = RowDecoder()
300300
decoder.dateDecodingStrategy = .secondsSince1970
301301
let r = row(("ts", .real(0)))
302302
let result = try decoder.decode(W.self, from: r)

0 commit comments

Comments
 (0)