All files / src FingerprintContext.ts

66.66% Statements 2/3
100% Branches 0/0
0% Functions 0/1
66.66% Lines 2/3

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        3x                                       3x        
import { createContext } from 'react'
import type { FingerprintClient, FingerprintResponse, GetOptions } from './types'
import { FingerprintContextNotAvailableError } from './errors'
 
const stub = (): never => {
  throw new FingerprintContextNotAvailableError()
}
 
/**
 * The Fingerprint context.
 *
 * @group Hooks approach
 */
export interface FingerprintContextInterface {
  /**
   * The imperative client. `undefined` until a {@link FingerprintProvider} is mounted.
   */
  client: FingerprintClient | undefined
  /**
   * Performs an identification request using the provider's client.
   */
  getVisitorData: (options?: GetOptions) => Promise<FingerprintResponse>
}
 
export const FingerprintContext = createContext<FingerprintContextInterface>({
  client: undefined,
  getVisitorData: stub,
})