All files / src/specs NativeRNFingerprint.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                                                                                         
import type { CodegenTypes, TurboModule } from 'react-native'
import { TurboModuleRegistry } from 'react-native'
 
/**
 * Raw visitor data returned by the native module.
 *
 * Codegen requires every field to be non-nullable and numbers to be typed as {@link Double}, so the
 * optional API v4 fields use sentinels the JS layer normalizes away:
 * - `suspectScore` is `-1` when the field is absent (Smart Signals disabled).
 * - `sealedResult` is an empty string when unavailable.
 */
export interface NativeVisitorData {
  visitorId: string
  eventId: string
  suspectScore: CodegenTypes.Double
  sealedResult: string
}
 
/**
 * Codegen TurboModule spec for the `RNFingerprint` native module.
 *
 * Optional string/object/number arguments are modelled as nullable (`| null`); Codegen relies on
 * positional arguments and native treats `null` as "not provided". Genuinely optional parameters
 * (those without an SDK-side default: `region`, `endpointUrl`, `timeout`) come last in each signature.
 */
export interface Spec extends TurboModule {
  configure(
    apiToken: string,
    pluginVersion: string,
    fallbackEndpointUrls: string[],
    allowUseOfLocationData: boolean,
    locationTimeoutMillis: CodegenTypes.Double,
    region: string | null,
    endpointUrl: string | null
  ): void
 
  getVisitorData(
    tag: CodegenTypes.UnsafeObject | null,
    linkedId: string | null,
    timeout: CodegenTypes.Double | null
  ): Promise<NativeVisitorData>
}
 
export default TurboModuleRegistry.getEnforcing<Spec>('RNFingerprint')