1
1
// { {{generationBanner} }}
2
2
3
3
import type { ClientOptions } from '@algolia/client-common';
4
- import type { AbtestingClient, Region as AbtestingRegion } from "@algolia/client-abtesting"
5
- import type { AnalyticsClient, Region as AnalyticsRegion } from "@algolia/client-analytics"
6
- import type { PersonalizationClient, Region as PersonalizationRegion } from "@algolia/client-personalization"
7
- import type { RecommendClient } from "@algolia/recommend"
8
- import type { SearchClient } from "@algolia/client-search"
9
-
10
- import { abtestingClient } from '@algolia/client-abtesting';
11
- import { analyticsClient } from '@algolia/client-analytics';
12
- import { personalizationClient } from '@algolia/client-personalization';
4
+ import type { SearchClient } from '@algolia/client-search';
13
5
import { searchClient } from '@algolia/client-search';
14
- import { recommendClient } from '@algolia/recommend';
6
+
7
+ { {#dependencies} }
8
+ import { {{{dependencyName} }}Client } from '{ {{dependencyPackage} }}';
9
+ import type { {{#lambda.titlecase} }{ {{dependencyName} }}{ {/lambda.titlecase} }Client } from '{ {{dependencyPackage} }}';
10
+ { {/dependencies} }
15
11
16
12
import type {
17
13
InitClientOptions,
18
- InitClientRegion,
14
+ {{#dependencies} }
15
+ { {#dependencyHasRegionalHosts} }
16
+ { {#lambda.titlecase} }{ {{dependencyName} }}Region{ {/lambda.titlecase} },
17
+ { {#lambda.titlecase} }{ {{dependencyName} }}RegionOptions{ {/lambda.titlecase} },
18
+ { {/dependencyHasRegionalHosts} }
19
+ { {/dependencies} }
19
20
} from './models';
20
21
21
22
export * from './models';
22
23
23
24
export type Algoliasearch = SearchClient & {
24
- initRecommend: (initOptions?: InitClientOptions)=> RecommendClient;
25
- initAnalytics: (initOptions?: InitClientOptions & InitClientRegion< AnalyticsRegion> )=> AnalyticsClient;
26
- initAbtesting: (initOptions?: InitClientOptions & InitClientRegion< AbtestingRegion> )=> AbtestingClient;
27
- initPersonalization: (initOptions: InitClientOptions & Required< InitClientRegion< PersonalizationRegion>> )=> PersonalizationClient;
25
+ {{#dependencies} }
26
+ init{ {#lambda.titlecase} }{ {{dependencyName} }}{ {/lambda.titlecase} }: (initOptions: InitClientOptions { {#dependencyHasRegionalHosts} }& { {#lambda.titlecase} }{ {{dependencyName} }}RegionOptions{ {/lambda.titlecase} }{ {/dependencyHasRegionalHosts} }) => { {#lambda.titlecase} }{ {{dependencyName} }}{ {/lambda.titlecase} }Client;
27
+ { {/dependencies} }
28
28
};
29
29
30
30
export function algoliasearch(appId: string, apiKey: string, options?: ClientOptions): Algoliasearch {
@@ -40,43 +40,19 @@ export function algoliasearch(appId: string, apiKey: string, options?: ClientOpt
40
40
41
41
return {
42
42
...client,
43
+
43
44
/**
44
45
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
45
46
*/
46
47
get _ua(): string {
47
48
return client.transporter.algoliaAgent.value;
48
49
} ,
49
- initRecommend: (initOptions: InitClientOptions = { } ): RecommendClient => {
50
- return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
51
- } ,
52
50
53
- initAnalytics: (initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion > = { } ): AnalyticsClient => {
54
- return analyticsClient(
55
- initOptions.appId || appId,
56
- initOptions.apiKey || apiKey,
57
- initOptions.region,
58
- initOptions.options,
59
- );
51
+ { {#dependencies} }
52
+ init{ {#lambda.titlecase} }{ {{dependencyName} }}{ {/lambda.titlecase} }: (initOptions: InitClientOptions { {#dependencyHasRegionalHosts} }& { {#lambda.titlecase} }{ {{dependencyName} }}RegionOptions{ {/lambda.titlecase} }{ {/dependencyHasRegionalHosts} }): { {#lambda.titlecase} }{ {{dependencyName} }}{ {/lambda.titlecase} }Client => {
53
+ return {{{dependencyName} }}Client(initOptions.appId || appId, initOptions.apiKey || apiKey, { {#dependencyHasRegionalHosts} }initOptions.region,{ {/dependencyHasRegionalHosts} }initOptions.options);
60
54
},
61
55
62
- initAbtesting: (initOptions: InitClientOptions & InitClientRegion<AbtestingRegion > = { } ): AbtestingClient => {
63
- return abtestingClient(
64
- initOptions.appId || appId,
65
- initOptions.apiKey || apiKey,
66
- initOptions.region,
67
- initOptions.options,
68
- );
69
- } ,
70
-
71
- initPersonalization: (
72
- initOptions: InitClientOptions & Required<InitClientRegion <PersonalizationRegion >>,
73
- ): PersonalizationClient => {
74
- return personalizationClient(
75
- initOptions.appId || appId,
76
- initOptions.apiKey || apiKey,
77
- initOptions.region,
78
- initOptions.options,
79
- );
80
- } ,
56
+ { {/dependencies} }
81
57
}
82
58
}
0 commit comments