diff --git a/Package.swift b/Package.swift index 5ba08ee..ef3b069 100644 --- a/Package.swift +++ b/Package.swift @@ -1,11 +1,11 @@ -// swift-tools-version:5.5 +// swift-tools-version:5.6 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "SwiftFileStore", - platforms: [.iOS(.v14), .macOS(.v12)], + platforms: [.iOS(.v14), .macOS(.v12), .tvOS(.v14), .watchOS(.v8)], products: [ .library( name: "SwiftFileStore", diff --git a/Sources/SwiftFileStore/PersistenceLog.swift b/Sources/SwiftFileStore/PersistenceLog.swift index 3c36cb6..9b73763 100644 --- a/Sources/SwiftFileStore/PersistenceLog.swift +++ b/Sources/SwiftFileStore/PersistenceLog.swift @@ -23,12 +23,21 @@ public actor PersistenceLogImpl: PersistenceLog where ElementType: private let dirURL: URL private let fileHandle: FileHandle + #if swift(>=5.7) public init(name: String) throws { let applicationSupportDir = try FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true) let rootDir = applicationSupportDir.appendingPathComponent("persistence-log", isDirectory: true) try FileManager.default.createDirIfNotExist(url: rootDir) try self.init(name: name, rootDir: rootDir) } + #else + public convenience init(name: String) throws { + let applicationSupportDir = try FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true) + let rootDir = applicationSupportDir.appendingPathComponent("persistence-log", isDirectory: true) + try FileManager.default.createDirIfNotExist(url: rootDir) + try self.init(name: name, rootDir: rootDir) + } + #endif init(name: String, rootDir: URL) throws { self.name = name diff --git a/Tests/SwiftFileStoreTests/PersistenceLogTests.swift b/Tests/SwiftFileStoreTests/PersistenceLogTests.swift index d045f82..b2c7321 100644 --- a/Tests/SwiftFileStoreTests/PersistenceLogTests.swift +++ b/Tests/SwiftFileStoreTests/PersistenceLogTests.swift @@ -6,7 +6,7 @@ import XCTest final class PersistenceLogTests: XCTestCase { - var log: (any TestObjectLog)! + var log: PersistenceLogImpl! func test_append_flush() async throws { log = try! PersistenceLogImpl(name: "test-queue") @@ -18,7 +18,3 @@ final class PersistenceLogTests: XCTestCase { XCTAssertEqual(result, [object1, object2]) } } - -protocol TestObjectLog: PersistenceLog where Element == TestObject {} - -extension PersistenceLogImpl: TestObjectLog {}