react-native-vision-camera
Version:
VisionCamera is the fastest and most powerful Camera for react-native.
40 lines (39 loc) • 1.41 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
import type { NativeThread } from './NativeThread.nitro';
/**
* A factory for creating {@linkcode NativeThread}s.
*
* Typically you would never need this as Camera Outputs
* create {@linkcode NativeThread}s.
*
* You can create {@linkcode NativeThread}s for advanced
* asynchronous processing on a Worklet Queue, in which
* case VisionCamera prepares the necessary setup
* such as installing a Dispatcher to your Worklet
* Runtime.
*/
export interface NativeThreadFactory extends HybridObject<{
ios: 'swift';
android: 'kotlin';
}> {
/**
* Create a new {@linkcode NativeThread}.
*
* A {@linkcode NativeThread} can be used for Camera operations
* such as Frame Processing. It uses platform native dispatching
* mechanisms like `DispatchQueue` or `CoroutineContext`.
*
* You can use the `WorkletQueueFactory` from
* react-native-vision-camera-worklets to wrap the
* {@linkcode NativeThread} in a `WorkletQueue`,
* which allows you to run JS code on the thread.
*
* @example
* Creating a Worklet Runtime using this `NativeThread`:
* ```ts
* const thread = NativeThreadFactory.createNativeThread('async-processor')
* const runtime = createWorkletRuntimeForThread(thread)
* ```
*/
createNativeThread(name: string): NativeThread;
}