
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@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
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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.