Files
legado-ios/Sources/LegadoCore/Import/QRCodeDecoder.swift
T

14 lines
451 B
Swift

import Foundation
import Vision
public struct QRCodeDecoder: Sendable {
public init() {}
public func detect(in data: Data) throws -> [String] {
let request = VNDetectBarcodesRequest()
request.symbologies = [.qr]
try VNImageRequestHandler(data: data).perform([request])
var seen = Set<String>()
return (request.results ?? []).compactMap(\.payloadStringValue).filter { seen.insert($0).inserted }
}
}