Showing
3 changed files
with
27 additions
and
40 deletions
| @@ -10,6 +10,7 @@ import 'package:mobile_scanner/src/web/zxing/result_point.dart'; | @@ -10,6 +10,7 @@ import 'package:mobile_scanner/src/web/zxing/result_point.dart'; | ||
| 10 | /// The JS static interop class for the Result class in the ZXing library. | 10 | /// The JS static interop class for the Result class in the ZXing library. |
| 11 | /// | 11 | /// |
| 12 | /// See also: https://github.com/zxing-js/library/blob/master/src/core/Result.ts | 12 | /// See also: https://github.com/zxing-js/library/blob/master/src/core/Result.ts |
| 13 | +@JS() | ||
| 13 | extension type Result(JSObject _) implements JSObject { | 14 | extension type Result(JSObject _) implements JSObject { |
| 14 | @JS('barcodeFormat') | 15 | @JS('barcodeFormat') |
| 15 | external int? get _barcodeFormat; | 16 | external int? get _barcodeFormat; |
| @@ -30,48 +31,30 @@ extension type Result(JSObject _) implements JSObject { | @@ -30,48 +31,30 @@ extension type Result(JSObject _) implements JSObject { | ||
| 30 | /// | 31 | /// |
| 31 | /// See also https://github.com/zxing-js/library/blob/master/src/core/BarcodeFormat.ts | 32 | /// See also https://github.com/zxing-js/library/blob/master/src/core/BarcodeFormat.ts |
| 32 | BarcodeFormat get barcodeFormat { | 33 | BarcodeFormat get barcodeFormat { |
| 33 | - switch (_barcodeFormat) { | ||
| 34 | - case 0: | ||
| 35 | - return BarcodeFormat.aztec; | ||
| 36 | - case 1: | ||
| 37 | - return BarcodeFormat.codabar; | ||
| 38 | - case 2: | ||
| 39 | - return BarcodeFormat.code39; | ||
| 40 | - case 3: | ||
| 41 | - return BarcodeFormat.code93; | ||
| 42 | - case 4: | ||
| 43 | - return BarcodeFormat.code128; | ||
| 44 | - case 5: | ||
| 45 | - return BarcodeFormat.dataMatrix; | ||
| 46 | - case 6: | ||
| 47 | - return BarcodeFormat.ean8; | ||
| 48 | - case 7: | ||
| 49 | - return BarcodeFormat.ean13; | ||
| 50 | - case 8: | ||
| 51 | - return BarcodeFormat.itf; | ||
| 52 | - case 9: | 34 | + return switch (_barcodeFormat) { |
| 35 | + 0 => BarcodeFormat.aztec, | ||
| 36 | + 1 => BarcodeFormat.codabar, | ||
| 37 | + 2 => BarcodeFormat.code39, | ||
| 38 | + 3 => BarcodeFormat.code93, | ||
| 39 | + 4 => BarcodeFormat.code128, | ||
| 40 | + 5 => BarcodeFormat.dataMatrix, | ||
| 41 | + 6 => BarcodeFormat.ean8, | ||
| 42 | + 7 => BarcodeFormat.ean13, | ||
| 43 | + 8 => BarcodeFormat.itf, | ||
| 53 | // Maxicode | 44 | // Maxicode |
| 54 | - return BarcodeFormat.unknown; | ||
| 55 | - case 10: | ||
| 56 | - return BarcodeFormat.pdf417; | ||
| 57 | - case 11: | ||
| 58 | - return BarcodeFormat.qrCode; | ||
| 59 | - case 12: | 45 | + 9 => BarcodeFormat.unknown, |
| 46 | + 10 => BarcodeFormat.pdf417, | ||
| 47 | + 11 => BarcodeFormat.qrCode, | ||
| 60 | // RSS 14 | 48 | // RSS 14 |
| 61 | - return BarcodeFormat.unknown; | ||
| 62 | - case 13: | 49 | + 12 => BarcodeFormat.unknown, |
| 63 | // RSS EXPANDED | 50 | // RSS EXPANDED |
| 64 | - return BarcodeFormat.unknown; | ||
| 65 | - case 14: | ||
| 66 | - return BarcodeFormat.upcA; | ||
| 67 | - case 15: | ||
| 68 | - return BarcodeFormat.upcE; | ||
| 69 | - case 16: | 51 | + 13 => BarcodeFormat.unknown, |
| 52 | + 14 => BarcodeFormat.upcA, | ||
| 53 | + 15 => BarcodeFormat.upcE, | ||
| 70 | // UPC/EAN extension | 54 | // UPC/EAN extension |
| 71 | - return BarcodeFormat.unknown; | ||
| 72 | - default: | ||
| 73 | - return BarcodeFormat.unknown; | ||
| 74 | - } | 55 | + 16 => BarcodeFormat.unknown, |
| 56 | + _ => BarcodeFormat.unknown | ||
| 57 | + }; | ||
| 75 | } | 58 | } |
| 76 | 59 | ||
| 77 | /// Get the raw bytes of the result. | 60 | /// Get the raw bytes of the result. |
| @@ -3,6 +3,7 @@ import 'dart:js_interop'; | @@ -3,6 +3,7 @@ import 'dart:js_interop'; | ||
| 3 | /// The JS static interop class for the Result class in the ZXing library. | 3 | /// The JS static interop class for the Result class in the ZXing library. |
| 4 | /// | 4 | /// |
| 5 | /// See also: https://github.com/zxing-js/library/blob/master/src/core/ResultPoint.ts | 5 | /// See also: https://github.com/zxing-js/library/blob/master/src/core/ResultPoint.ts |
| 6 | +@JS() | ||
| 6 | extension type ResultPoint(JSObject _) implements JSObject { | 7 | extension type ResultPoint(JSObject _) implements JSObject { |
| 7 | /// The x coordinate of the point. | 8 | /// The x coordinate of the point. |
| 8 | external double get x; | 9 | external double get x; |
| @@ -165,7 +165,8 @@ final class ZXingBarcodeReader extends BarcodeReader { | @@ -165,7 +165,8 @@ final class ZXingBarcodeReader extends BarcodeReader { | ||
| 165 | 165 | ||
| 166 | extension on BarcodeFormat { | 166 | extension on BarcodeFormat { |
| 167 | /// Get the barcode format from the ZXing library. | 167 | /// Get the barcode format from the ZXing library. |
| 168 | - JSNumber get toJS => switch (this) { | 168 | + JSNumber get toJS { |
| 169 | + final int zxingFormat = switch (this) { | ||
| 169 | BarcodeFormat.aztec => 0, | 170 | BarcodeFormat.aztec => 0, |
| 170 | BarcodeFormat.codabar => 1, | 171 | BarcodeFormat.codabar => 1, |
| 171 | BarcodeFormat.code39 => 2, | 172 | BarcodeFormat.code39 => 2, |
| @@ -180,6 +181,8 @@ extension on BarcodeFormat { | @@ -180,6 +181,8 @@ extension on BarcodeFormat { | ||
| 180 | BarcodeFormat.upcA => 14, | 181 | BarcodeFormat.upcA => 14, |
| 181 | BarcodeFormat.upcE => 15, | 182 | BarcodeFormat.upcE => 15, |
| 182 | BarcodeFormat.unknown || BarcodeFormat.all || _ => -1, | 183 | BarcodeFormat.unknown || BarcodeFormat.all || _ => -1, |
| 184 | + }; | ||
| 185 | + | ||
| 186 | + return zxingFormat.toJS; | ||
| 183 | } | 187 | } |
| 184 | - .toJS; | ||
| 185 | } | 188 | } |
-
Please register or login to post a comment