UNPKG

expo-zebra-scanner

Version:

Module to use Zebra Scanner with React Native Expo

61 lines 2.17 kB
import ExpoZebraScannerModule from './ExpoZebraScannerModule'; import { DEFAULT_BARCODES_CONFIG, DEFAULT_INTENT_CONFIG, DEFAULT_KEYSTROKE_CONFIG, } from './ProfileConstants'; // Idea for a PR: Add documentation comments export function startScan() { return ExpoZebraScannerModule.startScan(); } export function stopScan() { return ExpoZebraScannerModule.stopScan(); } export function addListener(listener) { return ExpoZebraScannerModule.addListener('onBarcodeScanned', listener); } export function removeListener(listener) { listener?.remove(); } export function sendBroadcast(bundle) { ExpoZebraScannerModule.sendBroadcast(bundle); } export function sendActionCommand(extraName, extraData) { ExpoZebraScannerModule.sendBroadcast({ action: 'com.symbol.datawedge.api.ACTION', extras: { [extraName]: extraData, }, }); } /** * Creates a new Datawedge profile with intent output enabled * @param param.PROFILE_NAME - Name of the profile to create * @param param.PACKAGE_NAME - The package of your app * @param param.PARAM_LIST - Optional scanner params: https://techdocs.zebra.com/datawedge/6-3/guide/api/setconfig/#scannerinputparameters */ export function createIntentDatawedgeProfile({ PROFILE_NAME, PACKAGE_NAME, PARAM_LIST = {}, }) { sendActionCommand('com.symbol.datawedge.api.CREATE_PROFILE', PROFILE_NAME); sendActionCommand('com.symbol.datawedge.api.SET_CONFIG', { ...DEFAULT_BARCODES_CONFIG, PROFILE_NAME, PLUGIN_CONFIG: { ...DEFAULT_BARCODES_CONFIG.PLUGIN_CONFIG, PARAM_LIST: { ...DEFAULT_BARCODES_CONFIG.PLUGIN_CONFIG.PARAM_LIST, ...PARAM_LIST, }, }, APP_LIST: [ { PACKAGE_NAME, ACTIVITY_LIST: ['*'], }, ], }); sendActionCommand('com.symbol.datawedge.api.SET_CONFIG', { ...DEFAULT_INTENT_CONFIG, PROFILE_NAME, }); sendActionCommand('com.symbol.datawedge.api.SET_CONFIG', { ...DEFAULT_KEYSTROKE_CONFIG, PROFILE_NAME, }); } //# sourceMappingURL=index.js.map