react-native-camera-kit
Version:
A high performance, fully featured, rock solid camera library for React Native applications
29 lines • 1.44 kB
JavaScript
import React from 'react';
import { findNodeHandle } from 'react-native';
import { supportedCodeFormats } from './types';
import NativeCamera from './specs/CameraNativeComponent';
import NativeCameraKitModule from './specs/NativeCameraKitModule';
const Camera = React.forwardRef((props, ref) => {
const nativeRef = React.useRef(null);
props.zoom = props.zoom ?? -1;
props.maxZoom = props.maxZoom ?? -1;
props.scanThrottleDelay = props.scanThrottleDelay ?? -1;
props.iOsDeferredStart = props.iOsDeferredStart ?? true;
props.allowedBarcodeTypes = props.allowedBarcodeTypes ?? supportedCodeFormats;
props.resetFocusTimeout = props.resetFocusTimeout ?? 0;
props.resetFocusWhenMotionDetected = props.resetFocusWhenMotionDetected ?? true;
React.useImperativeHandle(ref, () => ({
capture: async () => {
return await NativeCameraKitModule.capture({}, findNodeHandle(nativeRef.current) ?? undefined);
},
requestDeviceCameraAuthorization: async () => {
return await NativeCameraKitModule.checkDeviceCameraAuthorizationStatus();
},
checkDeviceCameraAuthorizationStatus: async () => {
return await NativeCameraKitModule.checkDeviceCameraAuthorizationStatus();
},
}));
return <NativeCamera style={{ minWidth: 100, minHeight: 100 }} ref={nativeRef} {...props}/>;
});
export default Camera;
//# sourceMappingURL=Camera.ios.js.map