fix: Throw 'frame-processor/unavailable'
error instead of normal JS Error (#461)
* Throw `'frame-processor/unavailable'` error instead of normal JS Error * Update CameraDevice.ts
This commit is contained in:
parent
3d098697e9
commit
98f1961fa7
@ -348,7 +348,8 @@ export class Camera extends React.PureComponent<CameraProps> {
|
||||
private assertFrameProcessorsEnabled(): void {
|
||||
// @ts-expect-error JSI functions aren't typed
|
||||
if (global.setFrameProcessor == null || global.unsetFrameProcessor == null) {
|
||||
throw new Error(
|
||||
throw new CameraRuntimeError(
|
||||
'frame-processor/unavailable',
|
||||
'Frame Processors are not enabled. See https://mrousavy.github.io/react-native-vision-camera/docs/guides/troubleshooting',
|
||||
);
|
||||
}
|
||||
|
@ -33,10 +33,9 @@ export const parsePhysicalDeviceTypes = (
|
||||
const hasWide = physicalDeviceTypes.includes('wide-angle-camera');
|
||||
const hasUltra = physicalDeviceTypes.includes('ultra-wide-angle-camera');
|
||||
const hasTele = physicalDeviceTypes.includes('telephoto-camera');
|
||||
|
||||
if (hasTele && hasWide && hasUltra) return 'triple-camera';
|
||||
|
||||
if (hasWide && hasUltra) return 'dual-wide-camera';
|
||||
|
||||
if (hasWide && hasTele) return 'dual-camera';
|
||||
|
||||
throw new Error(`Invalid physical device type combination! ${physicalDeviceTypes.join(' + ')}`);
|
||||
|
@ -15,6 +15,7 @@ export type DeviceError =
|
||||
| 'device/low-light-boost-not-supported'
|
||||
| 'device/focus-not-supported'
|
||||
| 'device/camera-not-available-on-simulator';
|
||||
export type FrameProcessorError = 'frame-processor/unavailable';
|
||||
export type FormatError =
|
||||
| 'format/invalid-fps'
|
||||
| 'format/invalid-hdr'
|
||||
@ -98,6 +99,7 @@ type CameraErrorCode =
|
||||
| PermissionError
|
||||
| ParameterError
|
||||
| DeviceError
|
||||
| FrameProcessorError
|
||||
| FormatError
|
||||
| SessionError
|
||||
| CaptureError
|
||||
@ -152,7 +154,7 @@ export class CameraCaptureError extends CameraError<CaptureError> {}
|
||||
* See the ["Camera Errors" documentation](https://mrousavy.github.io/react-native-vision-camera/docs/guides/errors) for more information about Camera Errors.
|
||||
*/
|
||||
export class CameraRuntimeError extends CameraError<
|
||||
PermissionError | ParameterError | DeviceError | FormatError | SessionError | SystemError | UnknownError
|
||||
PermissionError | ParameterError | DeviceError | FormatError | FrameProcessorError | SessionError | SystemError | UnknownError
|
||||
> {}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user