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

IQSS / dataverse-frontend / 10267025895

06 Aug 2024 12:59PM UTC coverage: 97.89% (+0.2%) from 97.727%
10267025895

push

github

GermanSaracca
chore: use ghcr dataverse image tag

1216 of 1257 branches covered (96.74%)

Branch coverage included in aggregate %.

3284 of 3340 relevant lines covered (98.32%)

9101.53 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, useCallback, useEffect, useState } from 'react'
2
import { DatasetContext } from './DatasetContext'
3
import { DatasetRepository } from '../../dataset/domain/repositories/DatasetRepository'
4
import { Dataset } from '../../dataset/domain/models/Dataset'
5
import { getDatasetByPersistentId } from '../../dataset/domain/useCases/getDatasetByPersistentId'
6
import { getDatasetByPrivateUrlToken } from '../../dataset/domain/useCases/getDatasetByPrivateUrlToken'
7

8
interface DatasetProviderProps {
9
  repository: DatasetRepository
10
  searchParams: {
11
    persistentId?: string
12
    privateUrlToken?: string
13
    version?: string
14
  }
15
  isPublishing?: boolean
16
}
17
export function DatasetProvider({
113✔
18
  repository,
19
  searchParams,
20
  isPublishing,
21
  children
22
}: PropsWithChildren<DatasetProviderProps>) {
1,181✔
23
  const [dataset, setDataset] = useState<Dataset>()
1,181✔
24
  const [isLoading, setIsLoading] = useState(true)
1,181✔
25

26
  const getDataset = useCallback(() => {
1,181✔
27
    if (searchParams.persistentId) {
525✔
28
      return getDatasetByPersistentId(repository, searchParams.persistentId, searchParams.version)
516✔
29
    }
30
    if (searchParams.privateUrlToken) {
9✔
31
      return getDatasetByPrivateUrlToken(repository, searchParams.privateUrlToken)
6✔
32
    }
33
    return Promise.resolve(undefined)
3✔
34
  }, [repository, searchParams])
35

36
  useEffect(() => {
1,181✔
37
    if (isPublishing) return
525!
38
    setIsLoading(true)
525✔
39

40
    getDataset()
525✔
41
      .then((dataset: Dataset | undefined) => {
42
        setDataset(dataset)
525✔
43
        setIsLoading(false)
525✔
44
      })
45
      .catch((error) => {
46
        console.error('There was an error getting the dataset', error)
×
47
        setIsLoading(false)
×
48
      })
49
  }, [repository, searchParams, getDataset, isPublishing])
50

51
  return (
1,181✔
52
    <DatasetContext.Provider value={{ dataset, isLoading }}>{children}</DatasetContext.Provider>
53
  )
54
}
113✔
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