@searchkit/sdk
Version:
Elasticsearch Universal SDK for Searchkit
36 lines (30 loc) • 930 B
text/typescript
import { useEffect, useState } from 'react'
import Searchkit, { SearchkitConfig } from '../'
import { SearchkitResponse } from '../transformers'
export const useSearchkitSDK = (
config: SearchkitConfig,
variables
): { results: SearchkitResponse; loading: boolean } => {
const [results, setResponse] = useState(null)
const [loading, setLoading] = useState(true)
useEffect(() => {
async function fetchData(variables) {
setLoading(true)
const request = Searchkit(config)
.query(variables.query)
.setFilters(variables.filters)
.setSortBy(variables.sortBy)
const response = await request.execute({
facets: true,
hits: {
size: variables.page.size,
from: variables.page.from
}
})
setLoading(false)
setResponse(response)
}
variables && fetchData(variables)
}, [variables])
return { results, loading }
}