diff --git a/barcode-scanning/android/src/main/java/com/rnmlkit/barcodescanning/BarcodeScanningModule.java b/barcode-scanning/android/src/main/java/com/rnmlkit/barcodescanning/BarcodeScanningModule.java index 30323b4..9d55945 100644 --- a/barcode-scanning/android/src/main/java/com/rnmlkit/barcodescanning/BarcodeScanningModule.java +++ b/barcode-scanning/android/src/main/java/com/rnmlkit/barcodescanning/BarcodeScanningModule.java @@ -73,6 +73,8 @@ public void onSuccess(List barcodes) { WritableMap map = Arguments.createMap(); map.putString("value", barcode.getRawValue()); map.putDouble("format", barcode.getFormat()); + map.putString("displayValue", barcode.getDisplayValue()); + map.putString("rawValue", barcode.getRawValue()); result.pushMap(map); } promise.resolve(result); diff --git a/barcode-scanning/index.ts b/barcode-scanning/index.ts index d0bd38d..7ee00fc 100644 --- a/barcode-scanning/index.ts +++ b/barcode-scanning/index.ts @@ -20,7 +20,12 @@ export enum BarcodeFormat { export interface Barcode { format: BarcodeFormat; + /** + * @deprecated `value` is deprecated and will be removed in a future release please use `displayValue` or `rawValue` instead + */ value: string; + rawValue: string; + displayValue: string; } interface IBarcodeScanning { @@ -44,4 +49,4 @@ const BarcodeScanning: IBarcodeScanning = NativeModules.BarcodeScanning } ); -export default BarcodeScanning; +export default BarcodeScanning; \ No newline at end of file diff --git a/barcode-scanning/ios/BarcodeScanning.m b/barcode-scanning/ios/BarcodeScanning.m index 6ce5445..b12cb4f 100644 --- a/barcode-scanning/ios/BarcodeScanning.m +++ b/barcode-scanning/ios/BarcodeScanning.m @@ -9,10 +9,9 @@ @implementation BarcodeScanning RCT_EXPORT_MODULE() -RCT_EXPORT_METHOD(scan - : (nonnull NSString *)url resolver - : (RCTPromiseResolveBlock)resolve rejecter - : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(scan:(nonnull NSString *)url + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject) { NSURL *_url = [NSURL URLWithString:url]; NSData *imageData = [NSData dataWithContentsOfURL:_url]; UIImage *image = [UIImage imageWithData:imageData]; @@ -40,10 +39,12 @@ @implementation BarcodeScanning default: format = @(barcode.format); } - + [result addObject:@{ - @"value": barcode.displayValue, - @"format": format + @"value" : barcode.displayValue, + @"format" : format, + @"rawValue" : barcode.rawValue, + @"displayValue" : barcode.displayValue }]; } diff --git a/example/src/barcode-scanning/BarcodeScanningScreen.tsx b/example/src/barcode-scanning/BarcodeScanningScreen.tsx index a3d00cd..6ee7ee9 100644 --- a/example/src/barcode-scanning/BarcodeScanningScreen.tsx +++ b/example/src/barcode-scanning/BarcodeScanningScreen.tsx @@ -30,10 +30,12 @@ const BarcodeScanningScreen = () => { `${barcode.format}-${barcode.value}`} - renderItem={({item}) => ( + keyExtractor={barcode => + `${barcode.format}-${barcode.displayValue}-${barcode.rawValue}` + } + renderItem={({ item }) => ( - {item.value} - {item.format} + {JSON.stringify(item, undefined, 2)} )} />