• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IQSS / dataverse-frontend / 18140405254

30 Sep 2025 06:55PM UTC coverage: 98.052% (+0.7%) from 97.333%
18140405254

push

github

web-flow
Merge pull request #844 from IQSS/jggautier-patch-1

Adding "Featured Items" to changes section of README

1582 of 1638 branches covered (96.58%)

Branch coverage included in aggregate %.

3804 of 3855 relevant lines covered (98.68%)

10860.15 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

86.96
/src/sections/dataset/DatasetProvider.tsx
1
import { PropsWithChildren, useEffect, useState, useCallback } from 'react'
2
import { useDeepCompareCallback } from 'use-deep-compare'
3
import { DatasetContext } from './DatasetContext'
4
import { DatasetRepository } from '../../dataset/domain/repositories/DatasetRepository'
5
import { Dataset } from '../../dataset/domain/models/Dataset'
6
import { getDatasetByPersistentId } from '../../dataset/domain/useCases/getDatasetByPersistentId'
7
import { getDatasetByPrivateUrlToken } from '../../dataset/domain/useCases/getDatasetByPrivateUrlToken'
8

9
interface DatasetProviderProps {
10
  repository: DatasetRepository
11
  searchParams: {
12
    persistentId?: string
13
    privateUrlToken?: string
14
    version?: string
15
  }
16
  isPublishing?: boolean
17
}
113✔
18

19
export function DatasetProvider({
20
  repository,
21
  searchParams,
22
  isPublishing,
1,106✔
23
  children
1,106✔
24
}: PropsWithChildren<DatasetProviderProps>) {
1,106✔
25
  const [dataset, setDataset] = useState<Dataset>()
26
  const [isLoading, setIsLoading] = useState(true)
1,106✔
27

510✔
28
  const getDataset = useDeepCompareCallback(() => {
501✔
29
    if (searchParams.persistentId) {
30
      return getDatasetByPersistentId(
9✔
31
        repository,
6✔
32
        searchParams.persistentId,
33
        searchParams.version,
3✔
34
        undefined,
35
        true
36
      )
1,106✔
37
    }
510!
38
    if (searchParams.privateUrlToken) {
510✔
39
      return getDatasetByPrivateUrlToken(repository, searchParams.privateUrlToken)
40
    }
510✔
41
    return Promise.resolve(undefined)
42
  }, [repository, searchParams])
510✔
43

510✔
44
  const fetchDataset = useCallback(() => {
45
    if (isPublishing) return
46
    setIsLoading(true)
×
47

×
48
    getDataset()
49
      .then((dataset: Dataset | undefined) => {
50
        setDataset(dataset)
51
        setIsLoading(false)
1,106✔
52
      })
53
      .catch((error) => {
54
        console.error('There was an error getting the dataset', error)
113✔
55
        setIsLoading(false)
56
      })
57
  }, [getDataset, isPublishing])
58

59
  useEffect(() => {
60
    fetchDataset()
61
  }, [fetchDataset])
62

63
  return (
64
    <DatasetContext.Provider value={{ dataset, isLoading, refreshDataset: fetchDataset }}>
65
      {children}
66
    </DatasetContext.Provider>
67
  )
68
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc