Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
@sourcetoad/vision-camera-plugin-barcode-scanner
Advanced tools
A VisionCamera v2 plugin that utilizes Google ML Kit for parsing.
vision-camera
v2.react-native-reanimated
v3.make sure to install both the @sourcetoad/vision-camera-plugin-barcode-scanner
and react-native-reanimated
plugins
npm
npm install @sourcetoad/vision-camera-plugin-barcode-scanner react-native-reanimated
yarn
yarn add @sourcetoad/vision-camera-plugin-barcode-scanner react-native-reanimated
Edit your babel.config.js
file to include the following
plugins: [
[
'react-native-reanimated/plugin',
{
globals: ['__scanQRCodes'],
},
],
]
call the useBarcodeScanner()
hook and pass the BarcodeScannerFormat
type as a parameter. If no parameter is passed. the camera will scan for all barcodes
Note: Specifying the type of barcode you wish to scan allows for faster detection
Ex.
const [barcodeData, frameProcessor] = useBarcodeScanner(BarcodeScannerFormats.QR_CODE)
only checks for QR barcodes, resulting in faster detection
export enum BarcodeScannerFormats {
All = 1, // -> scans for all barcodes
QR_CODE = 2,
PDF_417 = 3,
}
the useBarcodeScanner()
hooks returns a state array with the barcodeData
and the frameProcesssor
which you pass to the <Camera/>
component.
Ex.
import {useBarcodeScanner, BarcodeScannerFormats} from 'vision-camera-plugin-barcode-scanner'
const [barcodeData, frameProcessor] = useBarcodeScanner(BarcodeScannerFormats.All)
useEffect(() => {
if (barcodeData !== undefined) {
// handle barcode detection
}
}, [barcodeData])
if (device == null) return <LoadingView />
return (
<Camera
device={device}
isActive={true}
style={StyleSheet.absoluteFill}
frameProcessor={frameProcessor}
/>
)
import React, { useEffect, useState } from 'react';
import { StyleSheet, View, Text, Button } from 'react-native';
import { Camera, useCameraDevices } from 'react-native-vision-camera';
import {useBarcodeScanner, BarcodeScannerFormats} from 'vision-camera-plugin-barcode-scanner'
export default function App() {
const [permsGranted, setPermsGranted] = useState(false)
const [displayCamera, setDisplayCamera] = useState(false)
const [barcodeData, frameProcessor] = useBarcodeScanner(BarcodeScannerFormats.All)
const devices = useCameraDevices()
const device = devices.back
useEffect(() => {
/**
* add code set camera permissions
* https://mrousavy.com/react-native-vision-camera/docs/guides#getting-permissions
*/
setPermsGranted(true)
})
useEffect(() => {
if (barcodeData !== undefined) {
setDisplayCamera(false)
}
}, [barcodeData])
if (device == null) {
return (<></>)
} else if (!permsGranted) {
return (<></>)
} else if (!displayCamera) {
return (
<View style={styles.container}>
<Button title='Open Camera' onPress={() => setDisplayCamera(true)}></Button>
<Text style={styles.resultsText}>Result: {barcodeData?.rawValue}</Text>
</View>
)
} else {
return (
<Camera
device={device}
isActive={true}
style={StyleSheet.absoluteFill}
frameProcessor={frameProcessor}
/>
)
}
}
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
Made with create-react-native-library
FAQs
test
The npm package @sourcetoad/vision-camera-plugin-barcode-scanner receives a total of 0 weekly downloads. As such, @sourcetoad/vision-camera-plugin-barcode-scanner popularity was classified as not popular.
We found that @sourcetoad/vision-camera-plugin-barcode-scanner demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.