@capacitor/barcode-scanner 2.0.1 → 2.0.2-dev-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
14
|
s.ios.deployment_target = '14.0'
|
|
15
15
|
s.dependency 'Capacitor'
|
|
16
|
-
s.dependency 'OSBarcodeLib', '~> 1.1.
|
|
16
|
+
s.dependency 'OSBarcodeLib', '~> 1.1.3'
|
|
17
17
|
s.swift_version = '5.1'
|
|
18
18
|
end
|
|
@@ -30,21 +30,18 @@ class CapacitorBarcodeScannerPlugin : Plugin() {
|
|
|
30
30
|
fun scanBarcode(call: PluginCall) {
|
|
31
31
|
val hint = call.getInt("hint")
|
|
32
32
|
val scanInstructions = call.getString("scanInstructions")
|
|
33
|
-
val scanButton = call.getBoolean("scanButton", false)
|
|
34
|
-
val scanText = call.getString("scanText", "")
|
|
33
|
+
val scanButton = call.getBoolean("scanButton", false) ?: false
|
|
34
|
+
val scanText = call.getString("scanText", "") ?: ""
|
|
35
35
|
val cameraDirection = call.getInt("cameraDirection")
|
|
36
|
-
|
|
37
|
-
val
|
|
38
|
-
|
|
39
|
-
val scanOrientation = nativeOptions?.getInteger("scanOrientation")
|
|
40
|
-
val androidScanningLibrary = nativeOptions?.getJSObject("android")?.getString("scanningLibrary")
|
|
36
|
+
val scanOrientation = call.getInt("scanOrientation")
|
|
37
|
+
val androidScanningLibrary = call.getObject("android")?.getString("scanningLibrary")
|
|
41
38
|
|
|
42
39
|
val parameters = OSBARCScanParameters(
|
|
43
40
|
scanInstructions = scanInstructions,
|
|
44
41
|
cameraDirection = cameraDirection,
|
|
45
42
|
scanOrientation = scanOrientation,
|
|
46
|
-
scanButton = scanButton
|
|
47
|
-
scanText = scanText
|
|
43
|
+
scanButton = scanButton,
|
|
44
|
+
scanText = scanText,
|
|
48
45
|
hint = hint,
|
|
49
46
|
androidScanningLibrary = androidScanningLibrary
|
|
50
47
|
)
|
|
@@ -22,13 +22,13 @@ public class CapacitorBarcodeScannerPlugin: CAPPlugin {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
guard let manager = self.manager else {
|
|
25
|
-
call.
|
|
25
|
+
call.sendError(with: OSBarcodeError.bridgeNotInitialized)
|
|
26
26
|
return
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
guard let argumentsData = try? JSONSerialization.data(withJSONObject: call.jsObjectRepresentation),
|
|
30
30
|
let scanArguments = try? JSONDecoder().decode(OSBarcodeScanArgumentsModel.self, from: argumentsData) else {
|
|
31
|
-
call.
|
|
31
|
+
call.sendError(with: OSBarcodeError.scanInputArgumentsIssue)
|
|
32
32
|
return
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -37,12 +37,20 @@ public class CapacitorBarcodeScannerPlugin: CAPPlugin {
|
|
|
37
37
|
let scannedBarcode = try await manager.scanBarcode(with: scanArguments.scanInstructions, scanArguments.scanButtonText, scanArguments.cameraDirection, and: scanArguments.scanOrientation)
|
|
38
38
|
call.resolve(["ScanResult": scannedBarcode])
|
|
39
39
|
} catch OSBARCManagerError.cameraAccessDenied {
|
|
40
|
-
call.
|
|
40
|
+
call.sendError(with: OSBarcodeError.cameraAccessDenied)
|
|
41
41
|
} catch OSBARCManagerError.scanningCancelled {
|
|
42
|
-
call.
|
|
42
|
+
call.sendError(with: OSBarcodeError.scanningCancelled)
|
|
43
43
|
} catch {
|
|
44
|
-
call.
|
|
44
|
+
call.sendError(with: OSBarcodeError.scanningError)
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
|
|
50
|
+
extension CAPPluginCall {
|
|
51
|
+
|
|
52
|
+
func sendError(with error: OSBarcodeError) {
|
|
53
|
+
self.reject(error.errorDescription, error.errorCode)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
|
@@ -11,20 +11,20 @@ enum OSBarcodeError: Int, CustomNSError, LocalizedError {
|
|
|
11
11
|
case scanningCancelled = 6
|
|
12
12
|
case cameraAccessDenied = 7
|
|
13
13
|
case scanInputArgumentsIssue = 8
|
|
14
|
+
case bridgeNotInitialized = 13
|
|
14
15
|
|
|
15
|
-
var errorDescription: String
|
|
16
|
+
var errorDescription: String {
|
|
16
17
|
switch self {
|
|
17
18
|
case .scanningError: return "Error while trying to scan code."
|
|
18
19
|
case .scanningCancelled: return "Couldn’t scan because the process was cancelled."
|
|
19
20
|
case .cameraAccessDenied: return "Couldn’t scan because camera access wasn’t provided. Check your camera permissions and try again."
|
|
20
21
|
case .scanInputArgumentsIssue: return "Scanning parameters are invalid."
|
|
22
|
+
case .bridgeNotInitialized: return "Capacitor bridge or viewController is not initialized."
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
OSBarcodeErrorLabels.code: "\(OSBarcodeErrorLabels.codeFormat)\(String(format: "%04d", self.rawValue))",
|
|
27
|
-
OSBarcodeErrorLabels.message: self.errorDescription ?? ""
|
|
28
|
-
]
|
|
25
|
+
|
|
26
|
+
var errorCode: String {
|
|
27
|
+
return "\(OSBarcodeErrorLabels.codeFormat)\(String(format: "%04d", self.rawValue))"
|
|
29
28
|
}
|
|
29
|
+
|
|
30
30
|
}
|