-
Notifications
You must be signed in to change notification settings - Fork 216
/
AlgoliaSearchOptions.ts
29 lines (24 loc) · 1.11 KB
/
AlgoliaSearchOptions.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { AnalyticsClientOptions } from '@algolia/client-analytics';
import { ClientTransporterOptions } from '@algolia/client-common';
import { PersonalizationClientOptions } from '@algolia/client-personalization';
import { SearchClientOptions } from '@algolia/client-search';
type Credentials = { readonly appId: string; readonly apiKey: string };
export type WithoutCredentials<TClientOptions extends Credentials> = Omit<
TClientOptions,
keyof Credentials
>;
export type OptionalCredentials<TClientOptions extends Credentials> = Omit<
TClientOptions,
keyof Credentials
> &
Pick<Partial<TClientOptions>, keyof Credentials>;
export type AlgoliaSearchOptions = Partial<ClientTransporterOptions> &
WithoutCredentials<SearchClientOptions>;
export type InitAnalyticsOptions = Partial<ClientTransporterOptions> &
OptionalCredentials<AnalyticsClientOptions>;
export type InitPersonalizationOptions = Partial<ClientTransporterOptions> &
OptionalCredentials<PersonalizationClientOptions>;
/**
* @deprecated Use `InitPersonalizationOptions` instead.
*/
export type InitRecommendationOptions = InitPersonalizationOptions;