From 753aa080f0a65fe3c806541e0c21d261baa4190f Mon Sep 17 00:00:00 2001 From: Michael Crosby Date: Tue, 9 Sep 2025 16:29:05 -0400 Subject: [PATCH] make Import and Export public types (#284) Signed-off-by: crosbymichael --- .../Image/ImageStore/ImageStore+Export.swift | 6 +++--- .../Image/ImageStore/ImageStore+Import.swift | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Sources/Containerization/Image/ImageStore/ImageStore+Export.swift b/Sources/Containerization/Image/ImageStore/ImageStore+Export.swift index 43eff952..92e520c9 100644 --- a/Sources/Containerization/Image/ImageStore/ImageStore+Export.swift +++ b/Sources/Containerization/Image/ImageStore/ImageStore+Export.swift @@ -24,14 +24,14 @@ import Crypto import Foundation extension ImageStore { - internal struct ExportOperation { + public struct ExportOperation: Sendable { let name: String let tag: String let contentStore: ContentStore let client: ContentClient let progress: ProgressHandler? - init(name: String, tag: String, contentStore: ContentStore, client: ContentClient, progress: ProgressHandler? = nil) { + public init(name: String, tag: String, contentStore: ContentStore, client: ContentClient, progress: ProgressHandler? = nil) { self.contentStore = contentStore self.client = client self.progress = progress @@ -40,7 +40,7 @@ extension ImageStore { } @discardableResult - internal func export(index: Descriptor, platforms: (Platform) -> Bool) async throws -> Descriptor { + public func export(index: Descriptor, platforms: (Platform) -> Bool) async throws -> Descriptor { var pushQueue: [[Descriptor]] = [] var current: [Descriptor] = [index] while !current.isEmpty { diff --git a/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift b/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift index 7dc4eb4a..1adfedf5 100644 --- a/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift +++ b/Sources/Containerization/Image/ImageStore/ImageStore+Import.swift @@ -22,7 +22,7 @@ import ContainerizationOCI import Foundation extension ImageStore { - internal struct ImportOperation { + public struct ImportOperation: Sendable { static let decoder = JSONDecoder() let client: ContentClient @@ -31,7 +31,7 @@ extension ImageStore { let progress: ProgressHandler? let name: String - init(name: String, contentStore: ContentStore, client: ContentClient, ingestDir: URL, progress: ProgressHandler? = nil) { + public init(name: String, contentStore: ContentStore, client: ContentClient, ingestDir: URL, progress: ProgressHandler? = nil) { self.client = client self.ingestDir = ingestDir self.contentStore = contentStore @@ -40,7 +40,7 @@ extension ImageStore { } /// Pull the required image layers for the provided descriptor and platform(s) into the given directory using the provided client. Returns a descriptor to the Index manifest. - internal func `import`(root: Descriptor, matcher: (ContainerizationOCI.Platform) -> Bool) async throws -> Descriptor { + public func `import`(root: Descriptor, matcher: (ContainerizationOCI.Platform) -> Bool) async throws -> Descriptor { var toProcess = [root] while !toProcess.isEmpty { // Count the total number of blobs and their size @@ -123,14 +123,14 @@ extension ImageStore { for _ in 0..<8 { if let desc = iterator.next() { group.addTask { - try await fetch(desc) + try await self.fetch(desc) } } } for try await _ in group { if let desc = iterator.next() { group.addTask { - try await fetch(desc) + try await self.fetch(desc) } } }