Skip to content

Commit

Permalink
fix: support passing all UseVisitorDataOptions to getData function
Browse files Browse the repository at this point in the history
  • Loading branch information
TheUnderScorer committed Jul 19, 2024
1 parent 4d4af09 commit 0506079
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
10 changes: 6 additions & 4 deletions src/lib/useVisitorData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import type { UseGetVisitorDataResult, UseVisitorDataOptions } from './useVisito
* ```
* */
export function useVisitorData<TExtended extends boolean>(
{ ignoreCache: defaultIgnoreCache, ...options }: UseVisitorDataOptions<TExtended>,
topLevelOptions: UseVisitorDataOptions<TExtended>,
{ immediate = true }: FpjsSvelteQueryOptions = {}
): UseGetVisitorDataResult<TExtended> {
const dataValue = writable<VisitorData<TExtended> | undefined>(undefined)
Expand All @@ -34,11 +34,13 @@ export function useVisitorData<TExtended extends boolean>(
const getData: UseGetVisitorDataResult<TExtended>['getData'] = async (getDataOptions) => {
loadingValue.set(true)

const ignoreCache =
typeof getDataOptions?.ignoreCache === 'boolean' ? getDataOptions.ignoreCache : defaultIgnoreCache
const options: UseVisitorDataOptions<TExtended> = {
...(topLevelOptions ?? {}),
...(getDataOptions ?? {}),
}

try {
const result = await context.getVisitorData(options, ignoreCache)
const result = await context.getVisitorData(options, options.ignoreCache)

dataValue.set(result)
errorValue.set(undefined)
Expand Down
7 changes: 4 additions & 3 deletions src/lib/useVisitorData.types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { GetOptions, VisitorData } from '@fingerprintjs/fingerprintjs-pro-spa'
import type { FingerprintJSPro, VisitorData } from '@fingerprintjs/fingerprintjs-pro-spa'
import type { FpjsVisitorQueryData, GetDataOptions } from './types'
import type { Writable } from 'svelte/store'

Expand All @@ -8,7 +8,8 @@ export type UseGetVisitorDataResult<TExtended extends boolean> = {
/**
* Fetches visitor data.
* */
getData: (options?: GetDataOptions) => Promise<VisitorData<TExtended> | undefined>
getData: (options?: UseVisitorDataOptions<TExtended>) => Promise<VisitorData<TExtended> | undefined>
}

export type UseVisitorDataOptions<TExtended extends boolean> = GetOptions<TExtended> & Partial<GetDataOptions>
export type UseVisitorDataOptions<TExtended extends boolean> = FingerprintJSPro.GetOptions<TExtended> &
Partial<GetDataOptions>

0 comments on commit 0506079

Please sign in to comment.