MCPcopy Create free account
hub / github.com/algolia/docsearch / useSearchClient

Function useSearchClient

packages/docsearch-react/src/useSearchClient.ts:7–29  ·  view source on GitHub ↗
(
  appId: string,
  apiKey: string,
  transformSearchClient: (searchClient: DocSearchTransformClient) => DocSearchTransformClient,
)

Source from the content-addressed store, hash-verified

5import { version } from './version';
6
7export function useSearchClient(
8 appId: string,
9 apiKey: string,
10 transformSearchClient: (searchClient: DocSearchTransformClient) => DocSearchTransformClient,
11): DocSearchTransformClient {
12 const searchClient = React.useMemo(() => {
13 const client = liteClient(appId, apiKey);
14 client.addAlgoliaAgent('docsearch', version);
15
16 // Since DocSearch.js relies on DocSearch React with an alias to Preact,
17 // we cannot add the `docsearch-react` user agent by default, otherwise
18 // it would also be sent on a DocSearch.js integration.
19 // We therefore only add the `docsearch-react` user agent if `docsearch.js`
20 // is not present.
21 if (/docsearch.js \(.*\)/.test(client.transporter.algoliaAgent.value) === false) {
22 client.addAlgoliaAgent('docsearch-react', version);
23 }
24
25 return transformSearchClient(client);
26 }, [appId, apiKey, transformSearchClient]);
27
28 return searchClient;
29}

Callers 2

DocSearchModalFunction · 0.90
SidepanelInnerFunction · 0.90

Calls 1

transformSearchClientFunction · 0.85

Tested by

no test coverage detected