UNPKG

react-native-capture

Version:
361 lines (357 loc) 10.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BluetoothLEDeviceTypes = void 0; Object.defineProperty(exports, "CaptureDataSourceFlags", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureDataSourceFlags; } }); Object.defineProperty(exports, "CaptureDataSourceID", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureDataSourceID; } }); Object.defineProperty(exports, "CaptureDataSourceStatus", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureDataSourceStatus; } }); Object.defineProperty(exports, "CaptureDeviceType", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureDeviceType; } }); Object.defineProperty(exports, "CaptureEvent", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureEvent; } }); Object.defineProperty(exports, "CaptureEventIds", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureEventIds; } }); Object.defineProperty(exports, "CaptureEventTypes", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureEventTypes; } }); Object.defineProperty(exports, "CaptureHelper", { enumerable: true, get: function () { return _CaptureHelper.default; } }); Object.defineProperty(exports, "CaptureProperty", { enumerable: true, get: function () { return _socketmobileCapturejs.CaptureProperty; } }); Object.defineProperty(exports, "CapturePropertyIds", { enumerable: true, get: function () { return _socketmobileCapturejs.CapturePropertyIds; } }); Object.defineProperty(exports, "CapturePropertyTypes", { enumerable: true, get: function () { return _socketmobileCapturejs.CapturePropertyTypes; } }); exports.CaptureSdk = exports.CaptureRn = void 0; Object.defineProperty(exports, "ConnectBeepConfig", { enumerable: true, get: function () { return _socketmobileCapturejs.ConnectBeepConfig; } }); Object.defineProperty(exports, "ConnectReason", { enumerable: true, get: function () { return _socketmobileCapturejs.ConnectReason; } }); Object.defineProperty(exports, "Counter", { enumerable: true, get: function () { return _socketmobileCapturejs.Counter; } }); Object.defineProperty(exports, "DataConfirmationBeep", { enumerable: true, get: function () { return _socketmobileCapturejs.DataConfirmationBeep; } }); Object.defineProperty(exports, "DataConfirmationLed", { enumerable: true, get: function () { return _socketmobileCapturejs.DataConfirmationLed; } }); Object.defineProperty(exports, "DataConfirmationMode", { enumerable: true, get: function () { return _socketmobileCapturejs.DataConfirmationMode; } }); Object.defineProperty(exports, "DataConfirmationRumble", { enumerable: true, get: function () { return _socketmobileCapturejs.DataConfirmationRumble; } }); Object.defineProperty(exports, "DataFormat", { enumerable: true, get: function () { return _socketmobileCapturejs.DataFormat; } }); Object.defineProperty(exports, "DeletePairing", { enumerable: true, get: function () { return _socketmobileCapturejs.DeletePairing; } }); Object.defineProperty(exports, "DeviceDataAcknowledgment", { enumerable: true, get: function () { return _socketmobileCapturejs.DeviceDataAcknowledgment; } }); Object.defineProperty(exports, "Disconnect", { enumerable: true, get: function () { return _socketmobileCapturejs.Disconnect; } }); Object.defineProperty(exports, "Flash", { enumerable: true, get: function () { return _socketmobileCapturejs.Flash; } }); Object.defineProperty(exports, "JRpcError", { enumerable: true, get: function () { return _socketmobileCapturejs.JRpcError; } }); Object.defineProperty(exports, "LocalDecodeAction", { enumerable: true, get: function () { return _socketmobileCapturejs.LocalDecodeAction; } }); Object.defineProperty(exports, "MonitorDbg", { enumerable: true, get: function () { return _socketmobileCapturejs.MonitorDbg; } }); Object.defineProperty(exports, "PowerState", { enumerable: true, get: function () { return _socketmobileCapturejs.PowerState; } }); Object.defineProperty(exports, "ProfileConfig", { enumerable: true, get: function () { return _socketmobileCapturejs.ProfileConfig; } }); Object.defineProperty(exports, "ProfileSelect", { enumerable: true, get: function () { return _socketmobileCapturejs.ProfileSelect; } }); Object.defineProperty(exports, "RumbleActionType", { enumerable: true, get: function () { return _socketmobileCapturejs.RumbleActionType; } }); Object.defineProperty(exports, "SecurityMode", { enumerable: true, get: function () { return _socketmobileCapturejs.SecurityMode; } }); Object.defineProperty(exports, "SktErrors", { enumerable: true, get: function () { return _socketmobileCapturejs.SktErrors; } }); Object.defineProperty(exports, "SocketCam", { enumerable: true, get: function () { return _socketmobileCapturejs.SocketCam; } }); exports.SocketCamTypes = void 0; Object.defineProperty(exports, "SocketCamViewContainer", { enumerable: true, get: function () { return _SocketCamViewContainer.default; } }); Object.defineProperty(exports, "SoundActionType", { enumerable: true, get: function () { return _socketmobileCapturejs.SoundActionType; } }); Object.defineProperty(exports, "SoundFrequency", { enumerable: true, get: function () { return _socketmobileCapturejs.SoundFrequency; } }); Object.defineProperty(exports, "StandConfig", { enumerable: true, get: function () { return _socketmobileCapturejs.StandConfig; } }); Object.defineProperty(exports, "StartUpRoleSpp", { enumerable: true, get: function () { return _socketmobileCapturejs.StartUpRoleSpp; } }); Object.defineProperty(exports, "Timer", { enumerable: true, get: function () { return _socketmobileCapturejs.Timer; } }); Object.defineProperty(exports, "Trigger", { enumerable: true, get: function () { return _socketmobileCapturejs.Trigger; } }); Object.defineProperty(exports, "TriggerMode", { enumerable: true, get: function () { return _socketmobileCapturejs.TriggerMode; } }); var _reactNative = require("react-native"); var _SocketCamViewContainer = _interopRequireDefault(require("./components/SocketCamViewContainer")); var _socketmobileCapturejs = require("socketmobile-capturejs"); var _CaptureHelper = _interopRequireDefault(require("./CaptureHelper")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const LINKING_ERROR = `The package 'react-native-capture' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n'; const CaptureSdk = exports.CaptureSdk = _reactNative.NativeModules.CaptureSdk ? _reactNative.NativeModules.CaptureSdk : new Proxy({}, { get() { throw new Error(LINKING_ERROR); } }); // exporting React Native Specific AppInfo interface in order to use the new properties in a typestrict way const noLogger = { log: () => {}, error: () => {} }; const SocketCamTypes = exports.SocketCamTypes = [_socketmobileCapturejs.CaptureDeviceType.SocketCamC820, _socketmobileCapturejs.CaptureDeviceType.SocketCamC860]; const BluetoothLEDeviceTypes = exports.BluetoothLEDeviceTypes = [_socketmobileCapturejs.CaptureDeviceType.ScannerS320, _socketmobileCapturejs.CaptureDeviceType.ScannerS370, _socketmobileCapturejs.CaptureDeviceType.ScannerS550]; const onCaptureEvent = e => { // maybe need to access handle here but this one doesn't get called in Android. console.log('index onCaptureEvent: ', e); console.log('<= ', e); const event = JSON.parse(e.toString()); if (CaptureSdk.onNotification) { CaptureSdk.onNotification(event); } }; let captureEventEmitter = new _reactNative.NativeEventEmitter(CaptureSdk); const subscription = captureEventEmitter.addListener('onCaptureEvent', onCaptureEvent); CaptureSdk.open = (host, notification) => { CaptureSdk.onNotification = notification; return CaptureSdk.openTransport(host).then(result => result.transport); }; CaptureSdk.send = (handle, jsonRpc) => { console.log('=> ', jsonRpc); return CaptureSdk.sendTransport(handle, JSON.stringify(jsonRpc)).then(response => { console.log('<= ', response); return JSON.parse(response.toString()); }); }; CaptureSdk.close = handle => { subscription.remove(); return CaptureSdk.closeTransport(handle); }; const getOptions = (platform, options, logger) => { const final = options || {}; if (platform.OS === 'ios') { CaptureSdk.logger = logger || noLogger; final.transport = CaptureSdk; } else { CaptureSdk.startCaptureService(); } return final; }; class CaptureRn extends _socketmobileCapturejs.Capture { constructor(logger) { super(logger); this.logger = logger; } openForAndroid(tries, appInfo, callback, options) { return new Promise((resolve, reject) => { let interval; const openRetry = () => { clearInterval(interval); super.open(appInfo, callback, options).then(result => resolve(result)).catch(err => { console.log('android retry error: ', err); if (tries > 0) { tries -= 1; interval = setInterval(openRetry, 250); } else { reject(err); } }); }; interval = setInterval(openRetry, 250); }); } open(appInfo, callback, options) { const finalOptions = getOptions(_reactNative.Platform, options, this.logger); if (_reactNative.Platform.OS === 'android') { let newAppInfo = genAppInfo(appInfo, true); return this.openForAndroid(10, newAppInfo, callback, options); } let newAppInfo = genAppInfo(appInfo, false); return super.open(newAppInfo, callback, finalOptions); } } exports.CaptureRn = CaptureRn; const genAppInfo = (appInfo, isAndroid) => { const appId = isAndroid ? appInfo.appIdAndroid : appInfo.appIdIos; const appKey = isAndroid ? appInfo.appKeyAndroid : appInfo.appKeyIos; return { ...appInfo, appId: appId || appInfo.appId, appKey: appKey || appInfo.appKey }; }; // interface to more easily identify device captures from root captures // and allow device captures to contain device info useful in UI, such as // identifying different devices in a list, rendering device names, etc. //# sourceMappingURL=index.js.map