react-native-vision-camera
Version:
VisionCamera is the fastest and most powerful Camera for react-native.
39 lines (37 loc) • 1.36 kB
text/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
}