jan/web/hooks/useGetHFRepoData.ts
NamH 31397de2d1
Refactor/deprecate hugging face ext (#2620)
* refactor: deprecate huggingface extension

Signed-off-by: James <james@jan.ai>
2024-04-16 17:23:45 +07:00

42 lines
999 B
TypeScript

import { useCallback, useState } from 'react'
import {
ExtensionTypeEnum,
HuggingFaceRepoData,
ModelExtension,
} from '@janhq/core'
import { extensionManager } from '@/extension'
export const useGetHFRepoData = () => {
const [error, setError] = useState<string | undefined>(undefined)
const [loading, setLoading] = useState(false)
const getHfRepoData = useCallback(async (repoId: string) => {
try {
setError(undefined)
setLoading(true)
const data = await extensionGetHfRepoData(repoId)
return data
} catch (err) {
console.error(err)
if (err instanceof Error) {
setError(err.message)
}
throw err
} finally {
setLoading(false)
}
}, [])
return { loading, error, getHfRepoData }
}
const extensionGetHfRepoData = async (
repoId: string
): Promise<HuggingFaceRepoData | undefined> => {
return extensionManager
.get<ModelExtension>(ExtensionTypeEnum.Model)
?.fetchHuggingFaceRepoData(repoId)
}