From bc25070e270dccf666a901f68f19128d268f1949 Mon Sep 17 00:00:00 2001 From: Roman Mazeev Date: Fri, 28 Feb 2025 22:40:04 +0100 Subject: [PATCH] Fix async stream type erasure warning --- Sources/MRZScanner/Public/Scanner.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Sources/MRZScanner/Public/Scanner.swift b/Sources/MRZScanner/Public/Scanner.swift index fbda70a..adbee0b 100644 --- a/Sources/MRZScanner/Public/Scanner.swift +++ b/Sources/MRZScanner/Public/Scanner.swift @@ -27,7 +27,8 @@ public struct ScanningConfiguration: Sendable { // MARK: - Image stream scanning public extension AsyncStream { - func scanForMRZCode(configuration: ScanningConfiguration) -> AsyncThrowingStream, Error> { + // TODO: Replace return type with `any AsyncSequence` once macOS 15.0 & iOS 18.0 become the minimum deployment target. + func scanForMRZCode(configuration: ScanningConfiguration) -> AsyncThrowingMapSequence, ScanningResult> { @Dependency(\.tracker.create) var createTracker let tracker = createTracker() @@ -43,12 +44,12 @@ public extension AsyncStream { @Dependency(\.parser) var parser guard let parsedResult = parser.parse(mrzLines: validatedResults.map(\.result)) else { - return await .init(results: tracker.seenResults, boundingRects: boundingRects) + return await ScanningResult(results: tracker.seenResults, boundingRects: boundingRects) } tracker.track(result: parsedResult) return await .init(results: tracker.seenResults, boundingRects: boundingRects) - }.eraseToThrowingStream() + } } }