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 46 47 48 49 50 51 52 53 54 55 | 3x 3x 3x 3x | import { createContext } from 'react' import { VisitorData, GetOptions } from '@fingerprintjs/fingerprintjs-pro-spa' export interface QueryResult<TData, TError = Error> { /** * Stores current query data * */ data?: TData /** * Is true while query is loading * */ isLoading?: boolean /** * Stores current query error * */ error?: TError } export interface VisitorQueryResult<TExtended extends boolean> extends QueryResult<VisitorData<TExtended>> { data?: VisitorData<TExtended> } export interface GetDataOptions<TExtended extends boolean> extends GetOptions<TExtended> { /** * When set to true, the visitor data will always be fetched from our API. * */ ignoreCache?: boolean } export interface VisitorQueryContext<TExtended extends boolean> extends VisitorQueryResult<TExtended> { /** * Performs identification request to server and returns visitors data. * */ getData: (getDataOptions?: GetDataOptions<TExtended>) => Promise<VisitorData<TExtended>> } const stub = (): never => { throw new Error('You forgot to wrap your component in <FpjsProvider>.') } const initialContext = { getVisitorData: stub, clearCache: stub, } /** * The FingerprintJS Context */ export interface FpjsContextInterface<TExtended extends boolean> { getVisitorData: (config?: GetOptions<TExtended>, ignoreCache?: boolean) => Promise<VisitorData<TExtended>> clearCache: () => void } export const FpjsContext = createContext<FpjsContextInterface<any>>(initialContext) |