@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.0'
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 nativeOptions = call.getObject("native")
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.reject("Capacitor bridge or viewController is not initialized.")
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.reject("Error decoding scan arguments")
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.reject("Camera access denied")
40
+ call.sendError(with: OSBarcodeError.cameraAccessDenied)
41
41
  } catch OSBARCManagerError.scanningCancelled {
42
- call.reject("Scanning cancelled")
42
+ call.sendError(with: OSBarcodeError.scanningCancelled)
43
43
  } catch {
44
- call.reject("An unexpected error occurred: \(error.localizedDescription)")
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 errorDictionary: [String: String] {
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capacitor/barcode-scanner",
3
- "version": "2.0.1",
3
+ "version": "2.0.2-dev-1",
4
4
  "description": "Capacitor plugin using Outsystems Barcode libs",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",