Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit f05c7d9

Browse files
algolia-botshortcuts
andcommittedSep 6, 2024·
fix(javascript): type definition and template cleanup (generated)
algolia/api-clients-automation#3656 Co-authored-by: algolia-bot <[email protected]> Co-authored-by: Clément Vannicatte <[email protected]>
1 parent d742815 commit f05c7d9

File tree

37 files changed

+729
-839
lines changed

37 files changed

+729
-839
lines changed
 

‎packages/algoliasearch/builds/browser.ts

Lines changed: 43 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,100 +4,75 @@ import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client
44
import { abtestingClient } from '@algolia/client-abtesting';
55
import type { AnalyticsClient, Region as AnalyticsRegion } from '@algolia/client-analytics';
66
import { analyticsClient } from '@algolia/client-analytics';
7-
import {
8-
DEFAULT_CONNECT_TIMEOUT_BROWSER,
9-
DEFAULT_READ_TIMEOUT_BROWSER,
10-
DEFAULT_WRITE_TIMEOUT_BROWSER,
11-
createBrowserLocalStorageCache,
12-
createFallbackableCache,
13-
createMemoryCache,
14-
} from '@algolia/client-common';
157
import type { ClientOptions } from '@algolia/client-common';
168
import type { PersonalizationClient, Region as PersonalizationRegion } from '@algolia/client-personalization';
179
import { personalizationClient } from '@algolia/client-personalization';
10+
import type { SearchClient } from '@algolia/client-search';
1811
import { searchClient } from '@algolia/client-search';
1912
import type { RecommendClient } from '@algolia/recommend';
2013
import { recommendClient } from '@algolia/recommend';
21-
import { createXhrRequester } from '@algolia/requester-browser-xhr';
2214

2315
import type { InitClientOptions, InitClientRegion } from './models';
24-
import { apiClientVersion } from './models';
2516

2617
export * from './models';
2718

28-
/**
29-
* The client type.
30-
*/
31-
export type Algoliasearch = ReturnType<typeof algoliasearch>;
19+
export type Algoliasearch = SearchClient & {
20+
initRecommend: (initOptions: InitClientOptions) => RecommendClient;
21+
initAnalytics: (initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion>) => AnalyticsClient;
22+
initAbtesting: (initOptions: InitClientOptions & InitClientRegion<AbtestingRegion>) => AbtestingClient;
23+
initPersonalization: (
24+
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
25+
) => PersonalizationClient;
26+
};
3227

33-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
34-
export function algoliasearch(appId: string, apiKey: string, options?: ClientOptions) {
28+
export function algoliasearch(appId: string, apiKey: string, options?: ClientOptions): Algoliasearch {
3529
if (!appId || typeof appId !== 'string') {
3630
throw new Error('`appId` is missing.');
3731
}
3832

3933
if (!apiKey || typeof apiKey !== 'string') {
4034
throw new Error('`apiKey` is missing.');
4135
}
42-
function initRecommend(initOptions: InitClientOptions = {}): RecommendClient {
43-
return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
44-
}
45-
46-
function initAnalytics(initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient {
47-
return analyticsClient(
48-
initOptions.appId || appId,
49-
initOptions.apiKey || apiKey,
50-
initOptions.region,
51-
initOptions.options,
52-
);
53-
}
54-
55-
function initAbtesting(initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient {
56-
return abtestingClient(
57-
initOptions.appId || appId,
58-
initOptions.apiKey || apiKey,
59-
initOptions.region,
60-
initOptions.options,
61-
);
62-
}
63-
64-
function initPersonalization(
65-
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
66-
): PersonalizationClient {
67-
return personalizationClient(
68-
initOptions.appId || appId,
69-
initOptions.apiKey || apiKey,
70-
initOptions.region,
71-
initOptions.options,
72-
);
73-
}
7436

7537
return {
76-
...searchClient(appId, apiKey, {
77-
timeouts: {
78-
connect: DEFAULT_CONNECT_TIMEOUT_BROWSER,
79-
read: DEFAULT_READ_TIMEOUT_BROWSER,
80-
write: DEFAULT_WRITE_TIMEOUT_BROWSER,
81-
},
82-
requester: createXhrRequester(),
83-
algoliaAgents: [{ segment: 'Browser' }],
84-
authMode: 'WithinQueryParameters',
85-
responsesCache: createMemoryCache(),
86-
requestsCache: createMemoryCache({ serializable: false }),
87-
hostsCache: createFallbackableCache({
88-
caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()],
89-
}),
90-
...options,
91-
}),
38+
...searchClient(appId, apiKey, options),
9239
/**
9340
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
9441
*/
9542
get _ua(): string {
9643
return this.transporter.algoliaAgent.value;
9744
},
98-
initAbtesting,
99-
initAnalytics,
100-
initPersonalization,
101-
initRecommend,
45+
initRecommend: (initOptions: InitClientOptions = {}): RecommendClient => {
46+
return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
47+
},
48+
49+
initAnalytics: (initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient => {
50+
return analyticsClient(
51+
initOptions.appId || appId,
52+
initOptions.apiKey || apiKey,
53+
initOptions.region,
54+
initOptions.options,
55+
);
56+
},
57+
58+
initAbtesting: (initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient => {
59+
return abtestingClient(
60+
initOptions.appId || appId,
61+
initOptions.apiKey || apiKey,
62+
initOptions.region,
63+
initOptions.options,
64+
);
65+
},
66+
67+
initPersonalization: (
68+
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
69+
): PersonalizationClient => {
70+
return personalizationClient(
71+
initOptions.appId || appId,
72+
initOptions.apiKey || apiKey,
73+
initOptions.region,
74+
initOptions.options,
75+
);
76+
},
10277
};
10378
}

‎packages/algoliasearch/builds/models.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
22

3-
import type { Region as ABTestingRegion } from '@algolia/client-abtesting';
3+
import type { Region as AbTestingRegion } from '@algolia/client-abtesting';
44
import type { Region as AnalyticsRegion } from '@algolia/client-analytics';
55
import type { ClientOptions } from '@algolia/client-common';
66
import type {
@@ -79,7 +79,7 @@ import type {
7979
} from '@algolia/client-search';
8080
import { apiClientVersion } from '@algolia/client-search';
8181

82-
type Region = ABTestingRegion | AnalyticsRegion;
82+
type Region = AbTestingRegion | AnalyticsRegion;
8383

8484
export * from '@algolia/client-search';
8585
export * from '@algolia/recommend';
@@ -161,7 +161,7 @@ export {
161161
TypoToleranceEnum,
162162
Value,
163163
AnalyticsRegion,
164-
ABTestingRegion,
164+
AbTestingRegion,
165165
Region,
166166
apiClientVersion,
167167
};

‎packages/algoliasearch/builds/node.ts

Lines changed: 39 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,161 +1,78 @@
11
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
22

3-
import { createHmac } from 'node:crypto';
4-
53
import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting';
64
import { abtestingClient } from '@algolia/client-abtesting';
75
import type { AnalyticsClient, Region as AnalyticsRegion } from '@algolia/client-analytics';
86
import { analyticsClient } from '@algolia/client-analytics';
9-
import {
10-
DEFAULT_CONNECT_TIMEOUT_NODE,
11-
DEFAULT_READ_TIMEOUT_NODE,
12-
DEFAULT_WRITE_TIMEOUT_NODE,
13-
createMemoryCache,
14-
createNullCache,
15-
serializeQueryParameters,
16-
} from '@algolia/client-common';
177
import type { ClientOptions } from '@algolia/client-common';
188
import type { PersonalizationClient, Region as PersonalizationRegion } from '@algolia/client-personalization';
199
import { personalizationClient } from '@algolia/client-personalization';
10+
import type { SearchClient } from '@algolia/client-search';
2011
import { searchClient } from '@algolia/client-search';
2112
import type { RecommendClient } from '@algolia/recommend';
2213
import { recommendClient } from '@algolia/recommend';
23-
import { createHttpRequester } from '@algolia/requester-node-http';
2414

25-
import type {
26-
InitClientOptions,
27-
InitClientRegion,
28-
GenerateSecuredApiKeyOptions,
29-
GetSecuredApiKeyRemainingValidityOptions,
30-
} from './models';
15+
import type { InitClientOptions, InitClientRegion } from './models';
3116

3217
export * from './models';
3318

34-
/**
35-
* The client type.
36-
*/
37-
export type Algoliasearch = ReturnType<typeof algoliasearch>;
19+
export type Algoliasearch = SearchClient & {
20+
initRecommend: (initOptions: InitClientOptions) => RecommendClient;
21+
initAnalytics: (initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion>) => AnalyticsClient;
22+
initAbtesting: (initOptions: InitClientOptions & InitClientRegion<AbtestingRegion>) => AbtestingClient;
23+
initPersonalization: (
24+
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
25+
) => PersonalizationClient;
26+
};
3827

39-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
40-
export function algoliasearch(appId: string, apiKey: string, options?: ClientOptions) {
28+
export function algoliasearch(appId: string, apiKey: string, options?: ClientOptions): Algoliasearch {
4129
if (!appId || typeof appId !== 'string') {
4230
throw new Error('`appId` is missing.');
4331
}
4432

4533
if (!apiKey || typeof apiKey !== 'string') {
4634
throw new Error('`apiKey` is missing.');
4735
}
48-
function initRecommend(initOptions: InitClientOptions = {}): RecommendClient {
49-
return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
50-
}
51-
52-
function initAnalytics(initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient {
53-
return analyticsClient(
54-
initOptions.appId || appId,
55-
initOptions.apiKey || apiKey,
56-
initOptions.region,
57-
initOptions.options,
58-
);
59-
}
60-
61-
function initAbtesting(initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient {
62-
return abtestingClient(
63-
initOptions.appId || appId,
64-
initOptions.apiKey || apiKey,
65-
initOptions.region,
66-
initOptions.options,
67-
);
68-
}
69-
70-
function initPersonalization(
71-
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
72-
): PersonalizationClient {
73-
return personalizationClient(
74-
initOptions.appId || appId,
75-
initOptions.apiKey || apiKey,
76-
initOptions.region,
77-
initOptions.options,
78-
);
79-
}
8036

8137
return {
82-
...searchClient(appId, apiKey, {
83-
timeouts: {
84-
connect: DEFAULT_CONNECT_TIMEOUT_NODE,
85-
read: DEFAULT_READ_TIMEOUT_NODE,
86-
write: DEFAULT_WRITE_TIMEOUT_NODE,
87-
},
88-
requester: createHttpRequester(),
89-
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
90-
responsesCache: createNullCache(),
91-
requestsCache: createNullCache(),
92-
hostsCache: createMemoryCache(),
93-
...options,
94-
}),
38+
...searchClient(appId, apiKey, options),
9539
/**
9640
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
9741
*/
9842
get _ua(): string {
9943
return this.transporter.algoliaAgent.value;
10044
},
101-
initAbtesting,
102-
initAnalytics,
103-
initPersonalization,
104-
initRecommend,
105-
/**
106-
* Helper: Generates a secured API key based on the given `parentApiKey` and given `restrictions`.
107-
*
108-
* @summary Helper: Generates a secured API key based on the given `parentApiKey` and given `restrictions`.
109-
* @param generateSecuredApiKey - The `generateSecuredApiKey` object.
110-
* @param generateSecuredApiKey.parentApiKey - The base API key from which to generate the new secured one.
111-
* @param generateSecuredApiKey.restrictions - A set of properties defining the restrictions of the secured API key.
112-
*/
113-
generateSecuredApiKey({ parentApiKey, restrictions = {} }: GenerateSecuredApiKeyOptions): string {
114-
let mergedRestrictions = restrictions;
115-
if (restrictions.searchParams) {
116-
// merge searchParams with the root restrictions
117-
mergedRestrictions = {
118-
...restrictions,
119-
...restrictions.searchParams,
120-
};
121-
122-
delete mergedRestrictions.searchParams;
123-
}
124-
125-
mergedRestrictions = Object.keys(mergedRestrictions)
126-
.sort()
127-
.reduce(
128-
(acc, key) => {
129-
// eslint-disable-next-line no-param-reassign
130-
acc[key] = (mergedRestrictions as any)[key];
131-
return acc;
132-
},
133-
{} as Record<string, unknown>,
134-
);
135-
136-
const queryParameters = serializeQueryParameters(mergedRestrictions);
137-
return Buffer.from(
138-
createHmac('sha256', parentApiKey).update(queryParameters).digest('hex') + queryParameters,
139-
).toString('base64');
45+
initRecommend: (initOptions: InitClientOptions = {}): RecommendClient => {
46+
return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
14047
},
14148

142-
/**
143-
* Helper: Retrieves the remaining validity of the previous generated `securedApiKey`, the `ValidUntil` parameter must have been provided.
144-
*
145-
* @summary Helper: Retrieves the remaining validity of the previous generated `secured_api_key`, the `ValidUntil` parameter must have been provided.
146-
* @param getSecuredApiKeyRemainingValidity - The `getSecuredApiKeyRemainingValidity` object.
147-
* @param getSecuredApiKeyRemainingValidity.securedApiKey - The secured API key generated with the `generateSecuredApiKey` method.
148-
*/
149-
getSecuredApiKeyRemainingValidity({ securedApiKey }: GetSecuredApiKeyRemainingValidityOptions): number {
150-
const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');
151-
const regex = /validUntil=(\d+)/;
152-
const match = decodedString.match(regex);
49+
initAnalytics: (initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient => {
50+
return analyticsClient(
51+
initOptions.appId || appId,
52+
initOptions.apiKey || apiKey,
53+
initOptions.region,
54+
initOptions.options,
55+
);
56+
},
15357

154-
if (match === null) {
155-
throw new Error('validUntil not found in given secured api key.');
156-
}
58+
initAbtesting: (initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient => {
59+
return abtestingClient(
60+
initOptions.appId || appId,
61+
initOptions.apiKey || apiKey,
62+
initOptions.region,
63+
initOptions.options,
64+
);
65+
},
15766

158-
return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);
67+
initPersonalization: (
68+
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
69+
): PersonalizationClient => {
70+
return personalizationClient(
71+
initOptions.appId || appId,
72+
initOptions.apiKey || apiKey,
73+
initOptions.region,
74+
initOptions.options,
75+
);
15976
},
16077
};
16178
}

‎packages/algoliasearch/lite/builds/browser.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1313

1414
import { createLiteClient, apiClientVersion } from '../src/liteClient';
1515

16+
export type LiteClient = ReturnType<typeof createLiteClient>;
17+
1618
export { apiClientVersion } from '../src/liteClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type LiteClient = ReturnType<typeof liteClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function liteClient(appId: string, apiKey: string, options?: ClientOptions) {
21+
export function liteClient(appId: string, apiKey: string, options?: ClientOptions): LiteClient {
2622
if (!appId || typeof appId !== 'string') {
2723
throw new Error('`appId` is missing.');
2824
}

‎packages/algoliasearch/lite/builds/node.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,12 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1212

1313
import { createLiteClient } from '../src/liteClient';
1414

15+
export type LiteClient = ReturnType<typeof createLiteClient>;
16+
1517
export { apiClientVersion } from '../src/liteClient';
1618
export * from '../model';
1719

18-
/**
19-
* The client type.
20-
*/
21-
export type LiteClient = ReturnType<typeof liteClient>;
22-
23-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24-
export function liteClient(appId: string, apiKey: string, options?: ClientOptions) {
20+
export function liteClient(appId: string, apiKey: string, options?: ClientOptions): LiteClient {
2521
if (!appId || typeof appId !== 'string') {
2622
throw new Error('`appId` is missing.');
2723
}

‎packages/algoliasearch/lite/src/liteClient.ts

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -68,27 +68,26 @@ export function createLiteClient({
6868
...options
6969
}: CreateClientOptions) {
7070
const auth = createAuth(appIdOption, apiKeyOption, authMode);
71-
const transporter = createTransporter({
72-
hosts: getDefaultHosts(appIdOption),
73-
...options,
74-
algoliaAgent: getAlgoliaAgent({
75-
algoliaAgents,
76-
client: 'Lite',
77-
version: apiClientVersion,
78-
}),
79-
baseHeaders: {
80-
'content-type': 'text/plain',
81-
...auth.headers(),
82-
...options.baseHeaders,
83-
},
84-
baseQueryParameters: {
85-
...auth.queryParameters(),
86-
...options.baseQueryParameters,
87-
},
88-
});
8971

9072
return {
91-
transporter,
73+
transporter: createTransporter({
74+
hosts: getDefaultHosts(appIdOption),
75+
...options,
76+
algoliaAgent: getAlgoliaAgent({
77+
algoliaAgents,
78+
client: 'Lite',
79+
version: apiClientVersion,
80+
}),
81+
baseHeaders: {
82+
'content-type': 'text/plain',
83+
...auth.headers(),
84+
...options.baseHeaders,
85+
},
86+
baseQueryParameters: {
87+
...auth.queryParameters(),
88+
...options.baseQueryParameters,
89+
},
90+
}),
9291

9392
/**
9493
* The `appId` currently in use.
@@ -99,14 +98,16 @@ export function createLiteClient({
9998
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
10099
*/
101100
clearCache(): Promise<void> {
102-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
101+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
102+
() => undefined,
103+
);
103104
},
104105

105106
/**
106107
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
107108
*/
108109
get _ua(): string {
109-
return transporter.algoliaAgent.value;
110+
return this.transporter.algoliaAgent.value;
110111
},
111112

112113
/**
@@ -116,7 +117,7 @@ export function createLiteClient({
116117
* @param version - The version of the agent.
117118
*/
118119
addAlgoliaAgent(segment: string, version?: string): void {
119-
transporter.algoliaAgent.add({ segment, version });
120+
this.transporter.algoliaAgent.add({ segment, version });
120121
},
121122

122123
/**
@@ -126,7 +127,7 @@ export function createLiteClient({
126127
* @param params.apiKey - The new API Key to use.
127128
*/
128129
setClientApiKey({ apiKey }: { apiKey: string }): void {
129-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
130+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
130131
},
131132
/**
132133
* Helper: calls the `search` method but with certainty that we will only request Algolia records (hits) and not facets.
@@ -188,7 +189,7 @@ export function createLiteClient({
188189
data: body ? body : {},
189190
};
190191

191-
return transporter.request(request, requestOptions);
192+
return this.transporter.request(request, requestOptions);
192193
},
193194

194195
/**
@@ -235,7 +236,7 @@ export function createLiteClient({
235236
cacheable: true,
236237
};
237238

238-
return transporter.request(request, requestOptions);
239+
return this.transporter.request(request, requestOptions);
239240
},
240241

241242
/**
@@ -298,7 +299,7 @@ export function createLiteClient({
298299
cacheable: true,
299300
};
300301

301-
return transporter.request(request, requestOptions);
302+
return this.transporter.request(request, requestOptions);
302303
},
303304
};
304305
}

‎packages/client-abtesting/builds/browser.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1414
import type { Region } from '../src/abtestingClient';
1515
import { createAbtestingClient, apiClientVersion, REGIONS } from '../src/abtestingClient';
1616

17+
export type AbtestingClient = ReturnType<typeof createAbtestingClient>;
18+
1719
export { apiClientVersion, Region } from '../src/abtestingClient';
1820
export * from '../model';
1921

20-
/**
21-
* The client type.
22-
*/
23-
export type AbtestingClient = ReturnType<typeof abtestingClient>;
24-
25-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26-
export function abtestingClient(appId: string, apiKey: string, region?: Region, options?: ClientOptions) {
22+
export function abtestingClient(
23+
appId: string,
24+
apiKey: string,
25+
region?: Region,
26+
options?: ClientOptions,
27+
): AbtestingClient {
2728
if (!appId || typeof appId !== 'string') {
2829
throw new Error('`appId` is missing.');
2930
}

‎packages/client-abtesting/builds/node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1313
import type { Region } from '../src/abtestingClient';
1414
import { createAbtestingClient, REGIONS } from '../src/abtestingClient';
1515

16+
export type AbtestingClient = ReturnType<typeof createAbtestingClient>;
17+
1618
export { apiClientVersion, Region } from '../src/abtestingClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type AbtestingClient = ReturnType<typeof abtestingClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function abtestingClient(appId: string, apiKey: string, region?: Region, options?: ClientOptions) {
21+
export function abtestingClient(
22+
appId: string,
23+
apiKey: string,
24+
region?: Region,
25+
options?: ClientOptions,
26+
): AbtestingClient {
2627
if (!appId || typeof appId !== 'string') {
2728
throw new Error('`appId` is missing.');
2829
}

‎packages/client-abtesting/src/abtestingClient.ts

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,26 @@ export function createAbtestingClient({
4848
...options
4949
}: CreateClientOptions & { region?: Region }) {
5050
const auth = createAuth(appIdOption, apiKeyOption, authMode);
51-
const transporter = createTransporter({
52-
hosts: getDefaultHosts(regionOption),
53-
...options,
54-
algoliaAgent: getAlgoliaAgent({
55-
algoliaAgents,
56-
client: 'Abtesting',
57-
version: apiClientVersion,
58-
}),
59-
baseHeaders: {
60-
'content-type': 'text/plain',
61-
...auth.headers(),
62-
...options.baseHeaders,
63-
},
64-
baseQueryParameters: {
65-
...auth.queryParameters(),
66-
...options.baseQueryParameters,
67-
},
68-
});
6951

7052
return {
71-
transporter,
53+
transporter: createTransporter({
54+
hosts: getDefaultHosts(regionOption),
55+
...options,
56+
algoliaAgent: getAlgoliaAgent({
57+
algoliaAgents,
58+
client: 'Abtesting',
59+
version: apiClientVersion,
60+
}),
61+
baseHeaders: {
62+
'content-type': 'text/plain',
63+
...auth.headers(),
64+
...options.baseHeaders,
65+
},
66+
baseQueryParameters: {
67+
...auth.queryParameters(),
68+
...options.baseQueryParameters,
69+
},
70+
}),
7271

7372
/**
7473
* The `appId` currently in use.
@@ -79,14 +78,16 @@ export function createAbtestingClient({
7978
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
8079
*/
8180
clearCache(): Promise<void> {
82-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
81+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
82+
() => undefined,
83+
);
8384
},
8485

8586
/**
8687
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
8788
*/
8889
get _ua(): string {
89-
return transporter.algoliaAgent.value;
90+
return this.transporter.algoliaAgent.value;
9091
},
9192

9293
/**
@@ -96,7 +97,7 @@ export function createAbtestingClient({
9697
* @param version - The version of the agent.
9798
*/
9899
addAlgoliaAgent(segment: string, version?: string): void {
99-
transporter.algoliaAgent.add({ segment, version });
100+
this.transporter.algoliaAgent.add({ segment, version });
100101
},
101102

102103
/**
@@ -106,7 +107,7 @@ export function createAbtestingClient({
106107
* @param params.apiKey - The new API Key to use.
107108
*/
108109
setClientApiKey({ apiKey }: { apiKey: string }): void {
109-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
110+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
110111
},
111112

112113
/**
@@ -145,7 +146,7 @@ export function createAbtestingClient({
145146
data: addABTestsRequest,
146147
};
147148

148-
return transporter.request(request, requestOptions);
149+
return this.transporter.request(request, requestOptions);
149150
},
150151

151152
/**
@@ -175,7 +176,7 @@ export function createAbtestingClient({
175176
headers,
176177
};
177178

178-
return transporter.request(request, requestOptions);
179+
return this.transporter.request(request, requestOptions);
179180
},
180181

181182
/**
@@ -202,7 +203,7 @@ export function createAbtestingClient({
202203
headers,
203204
};
204205

205-
return transporter.request(request, requestOptions);
206+
return this.transporter.request(request, requestOptions);
206207
},
207208

208209
/**
@@ -234,7 +235,7 @@ export function createAbtestingClient({
234235
data: body ? body : {},
235236
};
236237

237-
return transporter.request(request, requestOptions);
238+
return this.transporter.request(request, requestOptions);
238239
},
239240

240241
/**
@@ -266,7 +267,7 @@ export function createAbtestingClient({
266267
data: body ? body : {},
267268
};
268269

269-
return transporter.request(request, requestOptions);
270+
return this.transporter.request(request, requestOptions);
270271
},
271272

272273
/**
@@ -295,7 +296,7 @@ export function createAbtestingClient({
295296
headers,
296297
};
297298

298-
return transporter.request(request, requestOptions);
299+
return this.transporter.request(request, requestOptions);
299300
},
300301

301302
/**
@@ -324,7 +325,7 @@ export function createAbtestingClient({
324325
headers,
325326
};
326327

327-
return transporter.request(request, requestOptions);
328+
return this.transporter.request(request, requestOptions);
328329
},
329330

330331
/**
@@ -350,10 +351,10 @@ export function createAbtestingClient({
350351
if (offset !== undefined) {
351352
queryParameters.offset = offset.toString();
352353
}
353-
354354
if (limit !== undefined) {
355355
queryParameters.limit = limit.toString();
356356
}
357+
357358
if (indexPrefix !== undefined) {
358359
queryParameters.indexPrefix = indexPrefix.toString();
359360
}
@@ -368,7 +369,7 @@ export function createAbtestingClient({
368369
headers,
369370
};
370371

371-
return transporter.request(request, requestOptions);
372+
return this.transporter.request(request, requestOptions);
372373
},
373374

374375
/**
@@ -413,7 +414,7 @@ export function createAbtestingClient({
413414
data: scheduleABTestsRequest,
414415
};
415416

416-
return transporter.request(request, requestOptions);
417+
return this.transporter.request(request, requestOptions);
417418
},
418419

419420
/**
@@ -442,7 +443,7 @@ export function createAbtestingClient({
442443
headers,
443444
};
444445

445-
return transporter.request(request, requestOptions);
446+
return this.transporter.request(request, requestOptions);
446447
},
447448
};
448449
}

‎packages/client-analytics/builds/browser.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1414
import type { Region } from '../src/analyticsClient';
1515
import { createAnalyticsClient, apiClientVersion, REGIONS } from '../src/analyticsClient';
1616

17+
export type AnalyticsClient = ReturnType<typeof createAnalyticsClient>;
18+
1719
export { apiClientVersion, Region } from '../src/analyticsClient';
1820
export * from '../model';
1921

20-
/**
21-
* The client type.
22-
*/
23-
export type AnalyticsClient = ReturnType<typeof analyticsClient>;
24-
25-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26-
export function analyticsClient(appId: string, apiKey: string, region?: Region, options?: ClientOptions) {
22+
export function analyticsClient(
23+
appId: string,
24+
apiKey: string,
25+
region?: Region,
26+
options?: ClientOptions,
27+
): AnalyticsClient {
2728
if (!appId || typeof appId !== 'string') {
2829
throw new Error('`appId` is missing.');
2930
}

‎packages/client-analytics/builds/node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1313
import type { Region } from '../src/analyticsClient';
1414
import { createAnalyticsClient, REGIONS } from '../src/analyticsClient';
1515

16+
export type AnalyticsClient = ReturnType<typeof createAnalyticsClient>;
17+
1618
export { apiClientVersion, Region } from '../src/analyticsClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type AnalyticsClient = ReturnType<typeof analyticsClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function analyticsClient(appId: string, apiKey: string, region?: Region, options?: ClientOptions) {
21+
export function analyticsClient(
22+
appId: string,
23+
apiKey: string,
24+
region?: Region,
25+
options?: ClientOptions,
26+
): AnalyticsClient {
2627
if (!appId || typeof appId !== 'string') {
2728
throw new Error('`appId` is missing.');
2829
}

‎packages/client-analytics/src/analyticsClient.ts

Lines changed: 59 additions & 61 deletions
Large diffs are not rendered by default.

‎packages/client-insights/builds/browser.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1414
import type { Region } from '../src/insightsClient';
1515
import { createInsightsClient, apiClientVersion, REGIONS } from '../src/insightsClient';
1616

17+
export type InsightsClient = ReturnType<typeof createInsightsClient>;
18+
1719
export { apiClientVersion, Region } from '../src/insightsClient';
1820
export * from '../model';
1921

20-
/**
21-
* The client type.
22-
*/
23-
export type InsightsClient = ReturnType<typeof insightsClient>;
24-
25-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26-
export function insightsClient(appId: string, apiKey: string, region?: Region, options?: ClientOptions) {
22+
export function insightsClient(
23+
appId: string,
24+
apiKey: string,
25+
region?: Region,
26+
options?: ClientOptions,
27+
): InsightsClient {
2728
if (!appId || typeof appId !== 'string') {
2829
throw new Error('`appId` is missing.');
2930
}

‎packages/client-insights/builds/node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1313
import type { Region } from '../src/insightsClient';
1414
import { createInsightsClient, REGIONS } from '../src/insightsClient';
1515

16+
export type InsightsClient = ReturnType<typeof createInsightsClient>;
17+
1618
export { apiClientVersion, Region } from '../src/insightsClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type InsightsClient = ReturnType<typeof insightsClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function insightsClient(appId: string, apiKey: string, region?: Region, options?: ClientOptions) {
21+
export function insightsClient(
22+
appId: string,
23+
apiKey: string,
24+
region?: Region,
25+
options?: ClientOptions,
26+
): InsightsClient {
2627
if (!appId || typeof appId !== 'string') {
2728
throw new Error('`appId` is missing.');
2829
}

‎packages/client-insights/src/insightsClient.ts

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,26 @@ export function createInsightsClient({
4141
...options
4242
}: CreateClientOptions & { region?: Region }) {
4343
const auth = createAuth(appIdOption, apiKeyOption, authMode);
44-
const transporter = createTransporter({
45-
hosts: getDefaultHosts(regionOption),
46-
...options,
47-
algoliaAgent: getAlgoliaAgent({
48-
algoliaAgents,
49-
client: 'Insights',
50-
version: apiClientVersion,
51-
}),
52-
baseHeaders: {
53-
'content-type': 'text/plain',
54-
...auth.headers(),
55-
...options.baseHeaders,
56-
},
57-
baseQueryParameters: {
58-
...auth.queryParameters(),
59-
...options.baseQueryParameters,
60-
},
61-
});
6244

6345
return {
64-
transporter,
46+
transporter: createTransporter({
47+
hosts: getDefaultHosts(regionOption),
48+
...options,
49+
algoliaAgent: getAlgoliaAgent({
50+
algoliaAgents,
51+
client: 'Insights',
52+
version: apiClientVersion,
53+
}),
54+
baseHeaders: {
55+
'content-type': 'text/plain',
56+
...auth.headers(),
57+
...options.baseHeaders,
58+
},
59+
baseQueryParameters: {
60+
...auth.queryParameters(),
61+
...options.baseQueryParameters,
62+
},
63+
}),
6564

6665
/**
6766
* The `appId` currently in use.
@@ -72,14 +71,16 @@ export function createInsightsClient({
7271
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
7372
*/
7473
clearCache(): Promise<void> {
75-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
74+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
75+
() => undefined,
76+
);
7677
},
7778

7879
/**
7980
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
8081
*/
8182
get _ua(): string {
82-
return transporter.algoliaAgent.value;
83+
return this.transporter.algoliaAgent.value;
8384
},
8485

8586
/**
@@ -89,7 +90,7 @@ export function createInsightsClient({
8990
* @param version - The version of the agent.
9091
*/
9192
addAlgoliaAgent(segment: string, version?: string): void {
92-
transporter.algoliaAgent.add({ segment, version });
93+
this.transporter.algoliaAgent.add({ segment, version });
9394
},
9495

9596
/**
@@ -99,7 +100,7 @@ export function createInsightsClient({
99100
* @param params.apiKey - The new API Key to use.
100101
*/
101102
setClientApiKey({ apiKey }: { apiKey: string }): void {
102-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
103+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
103104
},
104105

105106
/**
@@ -129,7 +130,7 @@ export function createInsightsClient({
129130
headers,
130131
};
131132

132-
return transporter.request(request, requestOptions);
133+
return this.transporter.request(request, requestOptions);
133134
},
134135

135136
/**
@@ -156,7 +157,7 @@ export function createInsightsClient({
156157
headers,
157158
};
158159

159-
return transporter.request(request, requestOptions);
160+
return this.transporter.request(request, requestOptions);
160161
},
161162

162163
/**
@@ -188,7 +189,7 @@ export function createInsightsClient({
188189
data: body ? body : {},
189190
};
190191

191-
return transporter.request(request, requestOptions);
192+
return this.transporter.request(request, requestOptions);
192193
},
193194

194195
/**
@@ -220,7 +221,7 @@ export function createInsightsClient({
220221
data: body ? body : {},
221222
};
222223

223-
return transporter.request(request, requestOptions);
224+
return this.transporter.request(request, requestOptions);
224225
},
225226

226227
/**
@@ -246,7 +247,7 @@ export function createInsightsClient({
246247
headers,
247248
};
248249

249-
return transporter.request(request, requestOptions);
250+
return this.transporter.request(request, requestOptions);
250251
},
251252

252253
/**
@@ -276,7 +277,7 @@ export function createInsightsClient({
276277
data: insightsEvents,
277278
};
278279

279-
return transporter.request(request, requestOptions);
280+
return this.transporter.request(request, requestOptions);
280281
},
281282
};
282283
}

‎packages/client-personalization/builds/browser.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1414
import type { Region } from '../src/personalizationClient';
1515
import { createPersonalizationClient, apiClientVersion, REGIONS } from '../src/personalizationClient';
1616

17+
export type PersonalizationClient = ReturnType<typeof createPersonalizationClient>;
18+
1719
export { apiClientVersion, Region } from '../src/personalizationClient';
1820
export * from '../model';
1921

20-
/**
21-
* The client type.
22-
*/
23-
export type PersonalizationClient = ReturnType<typeof personalizationClient>;
24-
25-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26-
export function personalizationClient(appId: string, apiKey: string, region: Region, options?: ClientOptions) {
22+
export function personalizationClient(
23+
appId: string,
24+
apiKey: string,
25+
region: Region,
26+
options?: ClientOptions,
27+
): PersonalizationClient {
2728
if (!appId || typeof appId !== 'string') {
2829
throw new Error('`appId` is missing.');
2930
}

‎packages/client-personalization/builds/node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1313
import type { Region } from '../src/personalizationClient';
1414
import { createPersonalizationClient, REGIONS } from '../src/personalizationClient';
1515

16+
export type PersonalizationClient = ReturnType<typeof createPersonalizationClient>;
17+
1618
export { apiClientVersion, Region } from '../src/personalizationClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type PersonalizationClient = ReturnType<typeof personalizationClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function personalizationClient(appId: string, apiKey: string, region: Region, options?: ClientOptions) {
21+
export function personalizationClient(
22+
appId: string,
23+
apiKey: string,
24+
region: Region,
25+
options?: ClientOptions,
26+
): PersonalizationClient {
2627
if (!appId || typeof appId !== 'string') {
2728
throw new Error('`appId` is missing.');
2829
}

‎packages/client-personalization/src/personalizationClient.ts

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,26 @@ export function createPersonalizationClient({
4444
...options
4545
}: CreateClientOptions & { region: Region }) {
4646
const auth = createAuth(appIdOption, apiKeyOption, authMode);
47-
const transporter = createTransporter({
48-
hosts: getDefaultHosts(regionOption),
49-
...options,
50-
algoliaAgent: getAlgoliaAgent({
51-
algoliaAgents,
52-
client: 'Personalization',
53-
version: apiClientVersion,
54-
}),
55-
baseHeaders: {
56-
'content-type': 'text/plain',
57-
...auth.headers(),
58-
...options.baseHeaders,
59-
},
60-
baseQueryParameters: {
61-
...auth.queryParameters(),
62-
...options.baseQueryParameters,
63-
},
64-
});
6547

6648
return {
67-
transporter,
49+
transporter: createTransporter({
50+
hosts: getDefaultHosts(regionOption),
51+
...options,
52+
algoliaAgent: getAlgoliaAgent({
53+
algoliaAgents,
54+
client: 'Personalization',
55+
version: apiClientVersion,
56+
}),
57+
baseHeaders: {
58+
'content-type': 'text/plain',
59+
...auth.headers(),
60+
...options.baseHeaders,
61+
},
62+
baseQueryParameters: {
63+
...auth.queryParameters(),
64+
...options.baseQueryParameters,
65+
},
66+
}),
6867

6968
/**
7069
* The `appId` currently in use.
@@ -75,14 +74,16 @@ export function createPersonalizationClient({
7574
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
7675
*/
7776
clearCache(): Promise<void> {
78-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
77+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
78+
() => undefined,
79+
);
7980
},
8081

8182
/**
8283
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
8384
*/
8485
get _ua(): string {
85-
return transporter.algoliaAgent.value;
86+
return this.transporter.algoliaAgent.value;
8687
},
8788

8889
/**
@@ -92,7 +93,7 @@ export function createPersonalizationClient({
9293
* @param version - The version of the agent.
9394
*/
9495
addAlgoliaAgent(segment: string, version?: string): void {
95-
transporter.algoliaAgent.add({ segment, version });
96+
this.transporter.algoliaAgent.add({ segment, version });
9697
},
9798

9899
/**
@@ -102,7 +103,7 @@ export function createPersonalizationClient({
102103
* @param params.apiKey - The new API Key to use.
103104
*/
104105
setClientApiKey({ apiKey }: { apiKey: string }): void {
105-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
106+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
106107
},
107108

108109
/**
@@ -132,7 +133,7 @@ export function createPersonalizationClient({
132133
headers,
133134
};
134135

135-
return transporter.request(request, requestOptions);
136+
return this.transporter.request(request, requestOptions);
136137
},
137138

138139
/**
@@ -159,7 +160,7 @@ export function createPersonalizationClient({
159160
headers,
160161
};
161162

162-
return transporter.request(request, requestOptions);
163+
return this.transporter.request(request, requestOptions);
163164
},
164165

165166
/**
@@ -191,7 +192,7 @@ export function createPersonalizationClient({
191192
data: body ? body : {},
192193
};
193194

194-
return transporter.request(request, requestOptions);
195+
return this.transporter.request(request, requestOptions);
195196
},
196197

197198
/**
@@ -223,7 +224,7 @@ export function createPersonalizationClient({
223224
data: body ? body : {},
224225
};
225226

226-
return transporter.request(request, requestOptions);
227+
return this.transporter.request(request, requestOptions);
227228
},
228229

229230
/**
@@ -255,7 +256,7 @@ export function createPersonalizationClient({
255256
headers,
256257
};
257258

258-
return transporter.request(request, requestOptions);
259+
return this.transporter.request(request, requestOptions);
259260
},
260261

261262
/**
@@ -278,7 +279,7 @@ export function createPersonalizationClient({
278279
headers,
279280
};
280281

281-
return transporter.request(request, requestOptions);
282+
return this.transporter.request(request, requestOptions);
282283
},
283284

284285
/**
@@ -313,7 +314,7 @@ export function createPersonalizationClient({
313314
headers,
314315
};
315316

316-
return transporter.request(request, requestOptions);
317+
return this.transporter.request(request, requestOptions);
317318
},
318319

319320
/**
@@ -363,7 +364,7 @@ export function createPersonalizationClient({
363364
data: personalizationStrategyParams,
364365
};
365366

366-
return transporter.request(request, requestOptions);
367+
return this.transporter.request(request, requestOptions);
367368
},
368369
};
369370
}

‎packages/client-query-suggestions/builds/browser.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1414
import type { Region } from '../src/querySuggestionsClient';
1515
import { createQuerySuggestionsClient, apiClientVersion, REGIONS } from '../src/querySuggestionsClient';
1616

17+
export type QuerySuggestionsClient = ReturnType<typeof createQuerySuggestionsClient>;
18+
1719
export { apiClientVersion, Region } from '../src/querySuggestionsClient';
1820
export * from '../model';
1921

20-
/**
21-
* The client type.
22-
*/
23-
export type QuerySuggestionsClient = ReturnType<typeof querySuggestionsClient>;
24-
25-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26-
export function querySuggestionsClient(appId: string, apiKey: string, region: Region, options?: ClientOptions) {
22+
export function querySuggestionsClient(
23+
appId: string,
24+
apiKey: string,
25+
region: Region,
26+
options?: ClientOptions,
27+
): QuerySuggestionsClient {
2728
if (!appId || typeof appId !== 'string') {
2829
throw new Error('`appId` is missing.');
2930
}

‎packages/client-query-suggestions/builds/node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1313
import type { Region } from '../src/querySuggestionsClient';
1414
import { createQuerySuggestionsClient, REGIONS } from '../src/querySuggestionsClient';
1515

16+
export type QuerySuggestionsClient = ReturnType<typeof createQuerySuggestionsClient>;
17+
1618
export { apiClientVersion, Region } from '../src/querySuggestionsClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type QuerySuggestionsClient = ReturnType<typeof querySuggestionsClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function querySuggestionsClient(appId: string, apiKey: string, region: Region, options?: ClientOptions) {
21+
export function querySuggestionsClient(
22+
appId: string,
23+
apiKey: string,
24+
region: Region,
25+
options?: ClientOptions,
26+
): QuerySuggestionsClient {
2627
if (!appId || typeof appId !== 'string') {
2728
throw new Error('`appId` is missing.');
2829
}

‎packages/client-query-suggestions/src/querySuggestionsClient.ts

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,26 @@ export function createQuerySuggestionsClient({
4848
...options
4949
}: CreateClientOptions & { region: Region }) {
5050
const auth = createAuth(appIdOption, apiKeyOption, authMode);
51-
const transporter = createTransporter({
52-
hosts: getDefaultHosts(regionOption),
53-
...options,
54-
algoliaAgent: getAlgoliaAgent({
55-
algoliaAgents,
56-
client: 'QuerySuggestions',
57-
version: apiClientVersion,
58-
}),
59-
baseHeaders: {
60-
'content-type': 'text/plain',
61-
...auth.headers(),
62-
...options.baseHeaders,
63-
},
64-
baseQueryParameters: {
65-
...auth.queryParameters(),
66-
...options.baseQueryParameters,
67-
},
68-
});
6951

7052
return {
71-
transporter,
53+
transporter: createTransporter({
54+
hosts: getDefaultHosts(regionOption),
55+
...options,
56+
algoliaAgent: getAlgoliaAgent({
57+
algoliaAgents,
58+
client: 'QuerySuggestions',
59+
version: apiClientVersion,
60+
}),
61+
baseHeaders: {
62+
'content-type': 'text/plain',
63+
...auth.headers(),
64+
...options.baseHeaders,
65+
},
66+
baseQueryParameters: {
67+
...auth.queryParameters(),
68+
...options.baseQueryParameters,
69+
},
70+
}),
7271

7372
/**
7473
* The `appId` currently in use.
@@ -79,14 +78,16 @@ export function createQuerySuggestionsClient({
7978
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
8079
*/
8180
clearCache(): Promise<void> {
82-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
81+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
82+
() => undefined,
83+
);
8384
},
8485

8586
/**
8687
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
8788
*/
8889
get _ua(): string {
89-
return transporter.algoliaAgent.value;
90+
return this.transporter.algoliaAgent.value;
9091
},
9192

9293
/**
@@ -96,7 +97,7 @@ export function createQuerySuggestionsClient({
9697
* @param version - The version of the agent.
9798
*/
9899
addAlgoliaAgent(segment: string, version?: string): void {
99-
transporter.algoliaAgent.add({ segment, version });
100+
this.transporter.algoliaAgent.add({ segment, version });
100101
},
101102

102103
/**
@@ -106,7 +107,7 @@ export function createQuerySuggestionsClient({
106107
* @param params.apiKey - The new API Key to use.
107108
*/
108109
setClientApiKey({ apiKey }: { apiKey: string }): void {
109-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
110+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
110111
},
111112

112113
/**
@@ -138,7 +139,7 @@ export function createQuerySuggestionsClient({
138139
data: configurationWithIndex,
139140
};
140141

141-
return transporter.request(request, requestOptions);
142+
return this.transporter.request(request, requestOptions);
142143
},
143144

144145
/**
@@ -168,7 +169,7 @@ export function createQuerySuggestionsClient({
168169
headers,
169170
};
170171

171-
return transporter.request(request, requestOptions);
172+
return this.transporter.request(request, requestOptions);
172173
},
173174

174175
/**
@@ -195,7 +196,7 @@ export function createQuerySuggestionsClient({
195196
headers,
196197
};
197198

198-
return transporter.request(request, requestOptions);
199+
return this.transporter.request(request, requestOptions);
199200
},
200201

201202
/**
@@ -227,7 +228,7 @@ export function createQuerySuggestionsClient({
227228
data: body ? body : {},
228229
};
229230

230-
return transporter.request(request, requestOptions);
231+
return this.transporter.request(request, requestOptions);
231232
},
232233

233234
/**
@@ -259,7 +260,7 @@ export function createQuerySuggestionsClient({
259260
data: body ? body : {},
260261
};
261262

262-
return transporter.request(request, requestOptions);
263+
return this.transporter.request(request, requestOptions);
263264
},
264265

265266
/**
@@ -288,7 +289,7 @@ export function createQuerySuggestionsClient({
288289
headers,
289290
};
290291

291-
return transporter.request(request, requestOptions);
292+
return this.transporter.request(request, requestOptions);
292293
},
293294

294295
/**
@@ -311,7 +312,7 @@ export function createQuerySuggestionsClient({
311312
headers,
312313
};
313314

314-
return transporter.request(request, requestOptions);
315+
return this.transporter.request(request, requestOptions);
315316
},
316317

317318
/**
@@ -340,7 +341,7 @@ export function createQuerySuggestionsClient({
340341
headers,
341342
};
342343

343-
return transporter.request(request, requestOptions);
344+
return this.transporter.request(request, requestOptions);
344345
},
345346

346347
/**
@@ -369,7 +370,7 @@ export function createQuerySuggestionsClient({
369370
headers,
370371
};
371372

372-
return transporter.request(request, requestOptions);
373+
return this.transporter.request(request, requestOptions);
373374
},
374375

375376
/**
@@ -398,7 +399,7 @@ export function createQuerySuggestionsClient({
398399
headers,
399400
};
400401

401-
return transporter.request(request, requestOptions);
402+
return this.transporter.request(request, requestOptions);
402403
},
403404

404405
/**
@@ -440,7 +441,7 @@ export function createQuerySuggestionsClient({
440441
data: configuration,
441442
};
442443

443-
return transporter.request(request, requestOptions);
444+
return this.transporter.request(request, requestOptions);
444445
},
445446
};
446447
}

‎packages/client-search/builds/browser.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1313

1414
import { createSearchClient, apiClientVersion } from '../src/searchClient';
1515

16+
export type SearchClient = ReturnType<typeof createSearchClient>;
17+
1618
export { apiClientVersion } from '../src/searchClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type SearchClient = ReturnType<typeof searchClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function searchClient(appId: string, apiKey: string, options?: ClientOptions) {
21+
export function searchClient(appId: string, apiKey: string, options?: ClientOptions): SearchClient {
2622
if (!appId || typeof appId !== 'string') {
2723
throw new Error('`appId` is missing.');
2824
}

‎packages/client-search/builds/node.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ import {
1313
} from '@algolia/client-common';
1414
import { createHttpRequester } from '@algolia/requester-node-http';
1515

16-
import type { GenerateSecuredApiKeyOptions, GetSecuredApiKeyRemainingValidityOptions } from '../model';
16+
import type {
17+
GenerateSecuredApiKeyOptions,
18+
GetSecuredApiKeyRemainingValidityOptions,
19+
SearchClientNodeHelpers,
20+
} from '../model';
1721
import { createSearchClient } from '../src/searchClient';
1822

23+
export type SearchClient = ReturnType<typeof createSearchClient> & SearchClientNodeHelpers;
24+
1925
export { apiClientVersion } from '../src/searchClient';
2026
export * from '../model';
2127

22-
/**
23-
* The client type.
24-
*/
25-
export type SearchClient = ReturnType<typeof searchClient>;
26-
27-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
28-
export function searchClient(appId: string, apiKey: string, options?: ClientOptions) {
28+
export function searchClient(appId: string, apiKey: string, options?: ClientOptions): SearchClient {
2929
if (!appId || typeof appId !== 'string') {
3030
throw new Error('`appId` is missing.');
3131
}
@@ -50,7 +50,6 @@ export function searchClient(appId: string, apiKey: string, options?: ClientOpti
5050
hostsCache: createMemoryCache(),
5151
...options,
5252
}),
53-
5453
/**
5554
* Helper: Generates a secured API key based on the given `parentApiKey` and given `restrictions`.
5655
*
@@ -59,7 +58,7 @@ export function searchClient(appId: string, apiKey: string, options?: ClientOpti
5958
* @param generateSecuredApiKey.parentApiKey - The base API key from which to generate the new secured one.
6059
* @param generateSecuredApiKey.restrictions - A set of properties defining the restrictions of the secured API key.
6160
*/
62-
generateSecuredApiKey({ parentApiKey, restrictions = {} }: GenerateSecuredApiKeyOptions): string {
61+
generateSecuredApiKey: ({ parentApiKey, restrictions = {} }: GenerateSecuredApiKeyOptions): string => {
6362
let mergedRestrictions = restrictions;
6463
if (restrictions.searchParams) {
6564
// merge searchParams with the root restrictions
@@ -95,7 +94,7 @@ export function searchClient(appId: string, apiKey: string, options?: ClientOpti
9594
* @param getSecuredApiKeyRemainingValidity - The `getSecuredApiKeyRemainingValidity` object.
9695
* @param getSecuredApiKeyRemainingValidity.securedApiKey - The secured API key generated with the `generateSecuredApiKey` method.
9796
*/
98-
getSecuredApiKeyRemainingValidity({ securedApiKey }: GetSecuredApiKeyRemainingValidityOptions): number {
97+
getSecuredApiKeyRemainingValidity: ({ securedApiKey }: GetSecuredApiKeyRemainingValidityOptions): number => {
9998
const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');
10099
const regex = /validUntil=(\d+)/;
101100
const match = decodedString.match(regex);

‎packages/client-search/model/clientMethodProps.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,11 @@ export type GetSecuredApiKeyRemainingValidityOptions = {
803803
securedApiKey: string;
804804
};
805805

806+
export type SearchClientNodeHelpers = {
807+
generateSecuredApiKey: (opts: GenerateSecuredApiKeyOptions) => string;
808+
getSecuredApiKeyRemainingValidity: (opts: GetSecuredApiKeyRemainingValidityOptions) => number;
809+
};
810+
806811
export type DeleteObjectsOptions = Pick<ChunkedBatchOptions, 'indexName'> & {
807812
/**
808813
* The objectIDs to delete.

‎packages/client-search/src/searchClient.ts

Lines changed: 91 additions & 88 deletions
Large diffs are not rendered by default.

‎packages/client-usage/builds/browser.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1313

1414
import { createUsageClient, apiClientVersion } from '../src/usageClient';
1515

16+
export type UsageClient = ReturnType<typeof createUsageClient>;
17+
1618
export { apiClientVersion } from '../src/usageClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type UsageClient = ReturnType<typeof usageClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function usageClient(appId: string, apiKey: string, options?: ClientOptions) {
21+
export function usageClient(appId: string, apiKey: string, options?: ClientOptions): UsageClient {
2622
if (!appId || typeof appId !== 'string') {
2723
throw new Error('`appId` is missing.');
2824
}

‎packages/client-usage/builds/node.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,12 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1212

1313
import { createUsageClient } from '../src/usageClient';
1414

15+
export type UsageClient = ReturnType<typeof createUsageClient>;
16+
1517
export { apiClientVersion } from '../src/usageClient';
1618
export * from '../model';
1719

18-
/**
19-
* The client type.
20-
*/
21-
export type UsageClient = ReturnType<typeof usageClient>;
22-
23-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24-
export function usageClient(appId: string, apiKey: string, options?: ClientOptions) {
20+
export function usageClient(appId: string, apiKey: string, options?: ClientOptions): UsageClient {
2521
if (!appId || typeof appId !== 'string') {
2622
throw new Error('`appId` is missing.');
2723
}

‎packages/client-usage/src/usageClient.ts

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,26 @@ export function createUsageClient({
3535
...options
3636
}: CreateClientOptions) {
3737
const auth = createAuth(appIdOption, apiKeyOption, authMode);
38-
const transporter = createTransporter({
39-
hosts: getDefaultHosts(),
40-
...options,
41-
algoliaAgent: getAlgoliaAgent({
42-
algoliaAgents,
43-
client: 'Usage',
44-
version: apiClientVersion,
45-
}),
46-
baseHeaders: {
47-
'content-type': 'text/plain',
48-
...auth.headers(),
49-
...options.baseHeaders,
50-
},
51-
baseQueryParameters: {
52-
...auth.queryParameters(),
53-
...options.baseQueryParameters,
54-
},
55-
});
5638

5739
return {
58-
transporter,
40+
transporter: createTransporter({
41+
hosts: getDefaultHosts(),
42+
...options,
43+
algoliaAgent: getAlgoliaAgent({
44+
algoliaAgents,
45+
client: 'Usage',
46+
version: apiClientVersion,
47+
}),
48+
baseHeaders: {
49+
'content-type': 'text/plain',
50+
...auth.headers(),
51+
...options.baseHeaders,
52+
},
53+
baseQueryParameters: {
54+
...auth.queryParameters(),
55+
...options.baseQueryParameters,
56+
},
57+
}),
5958

6059
/**
6160
* The `appId` currently in use.
@@ -66,14 +65,16 @@ export function createUsageClient({
6665
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
6766
*/
6867
clearCache(): Promise<void> {
69-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
68+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
69+
() => undefined,
70+
);
7071
},
7172

7273
/**
7374
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
7475
*/
7576
get _ua(): string {
76-
return transporter.algoliaAgent.value;
77+
return this.transporter.algoliaAgent.value;
7778
},
7879

7980
/**
@@ -83,7 +84,7 @@ export function createUsageClient({
8384
* @param version - The version of the agent.
8485
*/
8586
addAlgoliaAgent(segment: string, version?: string): void {
86-
transporter.algoliaAgent.add({ segment, version });
87+
this.transporter.algoliaAgent.add({ segment, version });
8788
},
8889

8990
/**
@@ -93,7 +94,7 @@ export function createUsageClient({
9394
* @param params.apiKey - The new API Key to use.
9495
*/
9596
setClientApiKey({ apiKey }: { apiKey: string }): void {
96-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
97+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
9798
},
9899

99100
/**
@@ -123,7 +124,7 @@ export function createUsageClient({
123124
headers,
124125
};
125126

126-
return transporter.request(request, requestOptions);
127+
return this.transporter.request(request, requestOptions);
127128
},
128129

129130
/**
@@ -150,7 +151,7 @@ export function createUsageClient({
150151
headers,
151152
};
152153

153-
return transporter.request(request, requestOptions);
154+
return this.transporter.request(request, requestOptions);
154155
},
155156

156157
/**
@@ -182,7 +183,7 @@ export function createUsageClient({
182183
data: body ? body : {},
183184
};
184185

185-
return transporter.request(request, requestOptions);
186+
return this.transporter.request(request, requestOptions);
186187
},
187188

188189
/**
@@ -214,7 +215,7 @@ export function createUsageClient({
214215
data: body ? body : {},
215216
};
216217

217-
return transporter.request(request, requestOptions);
218+
return this.transporter.request(request, requestOptions);
218219
},
219220

220221
/**
@@ -259,6 +260,7 @@ export function createUsageClient({
259260
if (endDate !== undefined) {
260261
queryParameters.endDate = endDate.toString();
261262
}
263+
262264
if (granularity !== undefined) {
263265
queryParameters.granularity = granularity.toString();
264266
}
@@ -270,7 +272,7 @@ export function createUsageClient({
270272
headers,
271273
};
272274

273-
return transporter.request(request, requestOptions);
275+
return this.transporter.request(request, requestOptions);
274276
},
275277

276278
/**
@@ -320,7 +322,7 @@ export function createUsageClient({
320322
headers,
321323
};
322324

323-
return transporter.request(request, requestOptions);
325+
return this.transporter.request(request, requestOptions);
324326
},
325327
};
326328
}

‎packages/ingestion/builds/browser.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1414
import type { Region } from '../src/ingestionClient';
1515
import { createIngestionClient, apiClientVersion, REGIONS } from '../src/ingestionClient';
1616

17+
export type IngestionClient = ReturnType<typeof createIngestionClient>;
18+
1719
export {
1820
apiClientVersion,
1921
Region,
@@ -23,13 +25,12 @@ export {
2325
} from '../src/ingestionClient';
2426
export * from '../model';
2527

26-
/**
27-
* The client type.
28-
*/
29-
export type IngestionClient = ReturnType<typeof ingestionClient>;
30-
31-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
32-
export function ingestionClient(appId: string, apiKey: string, region: Region, options?: ClientOptions) {
28+
export function ingestionClient(
29+
appId: string,
30+
apiKey: string,
31+
region: Region,
32+
options?: ClientOptions,
33+
): IngestionClient {
3334
if (!appId || typeof appId !== 'string') {
3435
throw new Error('`appId` is missing.');
3536
}

‎packages/ingestion/builds/node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1313
import type { Region } from '../src/ingestionClient';
1414
import { createIngestionClient, REGIONS } from '../src/ingestionClient';
1515

16+
export type IngestionClient = ReturnType<typeof createIngestionClient>;
17+
1618
export {
1719
apiClientVersion,
1820
Region,
@@ -22,13 +24,12 @@ export {
2224
} from '../src/ingestionClient';
2325
export * from '../model';
2426

25-
/**
26-
* The client type.
27-
*/
28-
export type IngestionClient = ReturnType<typeof ingestionClient>;
29-
30-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
31-
export function ingestionClient(appId: string, apiKey: string, region: Region, options?: ClientOptions) {
27+
export function ingestionClient(
28+
appId: string,
29+
apiKey: string,
30+
region: Region,
31+
options?: ClientOptions,
32+
): IngestionClient {
3233
if (!appId || typeof appId !== 'string') {
3334
throw new Error('`appId` is missing.');
3435
}

‎packages/ingestion/src/ingestionClient.ts

Lines changed: 96 additions & 88 deletions
Large diffs are not rendered by default.

‎packages/monitoring/builds/browser.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1313

1414
import { createMonitoringClient, apiClientVersion } from '../src/monitoringClient';
1515

16+
export type MonitoringClient = ReturnType<typeof createMonitoringClient>;
17+
1618
export { apiClientVersion } from '../src/monitoringClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type MonitoringClient = ReturnType<typeof monitoringClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function monitoringClient(appId: string, apiKey: string, options?: ClientOptions) {
21+
export function monitoringClient(appId: string, apiKey: string, options?: ClientOptions): MonitoringClient {
2622
if (!appId || typeof appId !== 'string') {
2723
throw new Error('`appId` is missing.');
2824
}

‎packages/monitoring/builds/node.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,12 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1212

1313
import { createMonitoringClient } from '../src/monitoringClient';
1414

15+
export type MonitoringClient = ReturnType<typeof createMonitoringClient>;
16+
1517
export { apiClientVersion } from '../src/monitoringClient';
1618
export * from '../model';
1719

18-
/**
19-
* The client type.
20-
*/
21-
export type MonitoringClient = ReturnType<typeof monitoringClient>;
22-
23-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24-
export function monitoringClient(appId: string, apiKey: string, options?: ClientOptions) {
20+
export function monitoringClient(appId: string, apiKey: string, options?: ClientOptions): MonitoringClient {
2521
if (!appId || typeof appId !== 'string') {
2622
throw new Error('`appId` is missing.');
2723
}

‎packages/monitoring/src/monitoringClient.ts

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,26 @@ export function createMonitoringClient({
4444
...options
4545
}: CreateClientOptions) {
4646
const auth = createAuth(appIdOption, apiKeyOption, authMode);
47-
const transporter = createTransporter({
48-
hosts: getDefaultHosts(),
49-
...options,
50-
algoliaAgent: getAlgoliaAgent({
51-
algoliaAgents,
52-
client: 'Monitoring',
53-
version: apiClientVersion,
54-
}),
55-
baseHeaders: {
56-
'content-type': 'text/plain',
57-
...auth.headers(),
58-
...options.baseHeaders,
59-
},
60-
baseQueryParameters: {
61-
...auth.queryParameters(),
62-
...options.baseQueryParameters,
63-
},
64-
});
6547

6648
return {
67-
transporter,
49+
transporter: createTransporter({
50+
hosts: getDefaultHosts(),
51+
...options,
52+
algoliaAgent: getAlgoliaAgent({
53+
algoliaAgents,
54+
client: 'Monitoring',
55+
version: apiClientVersion,
56+
}),
57+
baseHeaders: {
58+
'content-type': 'text/plain',
59+
...auth.headers(),
60+
...options.baseHeaders,
61+
},
62+
baseQueryParameters: {
63+
...auth.queryParameters(),
64+
...options.baseQueryParameters,
65+
},
66+
}),
6867

6968
/**
7069
* The `appId` currently in use.
@@ -75,14 +74,16 @@ export function createMonitoringClient({
7574
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
7675
*/
7776
clearCache(): Promise<void> {
78-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
77+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
78+
() => undefined,
79+
);
7980
},
8081

8182
/**
8283
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
8384
*/
8485
get _ua(): string {
85-
return transporter.algoliaAgent.value;
86+
return this.transporter.algoliaAgent.value;
8687
},
8788

8889
/**
@@ -92,7 +93,7 @@ export function createMonitoringClient({
9293
* @param version - The version of the agent.
9394
*/
9495
addAlgoliaAgent(segment: string, version?: string): void {
95-
transporter.algoliaAgent.add({ segment, version });
96+
this.transporter.algoliaAgent.add({ segment, version });
9697
},
9798

9899
/**
@@ -102,7 +103,7 @@ export function createMonitoringClient({
102103
* @param params.apiKey - The new API Key to use.
103104
*/
104105
setClientApiKey({ apiKey }: { apiKey: string }): void {
105-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
106+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
106107
},
107108

108109
/**
@@ -132,7 +133,7 @@ export function createMonitoringClient({
132133
headers,
133134
};
134135

135-
return transporter.request(request, requestOptions);
136+
return this.transporter.request(request, requestOptions);
136137
},
137138

138139
/**
@@ -159,7 +160,7 @@ export function createMonitoringClient({
159160
headers,
160161
};
161162

162-
return transporter.request(request, requestOptions);
163+
return this.transporter.request(request, requestOptions);
163164
},
164165

165166
/**
@@ -191,7 +192,7 @@ export function createMonitoringClient({
191192
data: body ? body : {},
192193
};
193194

194-
return transporter.request(request, requestOptions);
195+
return this.transporter.request(request, requestOptions);
195196
},
196197

197198
/**
@@ -223,7 +224,7 @@ export function createMonitoringClient({
223224
data: body ? body : {},
224225
};
225226

226-
return transporter.request(request, requestOptions);
227+
return this.transporter.request(request, requestOptions);
227228
},
228229

229230
/**
@@ -252,7 +253,7 @@ export function createMonitoringClient({
252253
headers,
253254
};
254255

255-
return transporter.request(request, requestOptions);
256+
return this.transporter.request(request, requestOptions);
256257
},
257258

258259
/**
@@ -278,7 +279,7 @@ export function createMonitoringClient({
278279
headers,
279280
};
280281

281-
return transporter.request(request, requestOptions);
282+
return this.transporter.request(request, requestOptions);
282283
},
283284

284285
/**
@@ -298,7 +299,7 @@ export function createMonitoringClient({
298299
headers,
299300
};
300301

301-
return transporter.request(request, requestOptions);
302+
return this.transporter.request(request, requestOptions);
302303
},
303304

304305
/**
@@ -327,7 +328,7 @@ export function createMonitoringClient({
327328
headers,
328329
};
329330

330-
return transporter.request(request, requestOptions);
331+
return this.transporter.request(request, requestOptions);
331332
},
332333

333334
/**
@@ -353,7 +354,7 @@ export function createMonitoringClient({
353354
headers,
354355
};
355356

356-
return transporter.request(request, requestOptions);
357+
return this.transporter.request(request, requestOptions);
357358
},
358359

359360
/**
@@ -386,7 +387,7 @@ export function createMonitoringClient({
386387
headers,
387388
};
388389

389-
return transporter.request(request, requestOptions);
390+
return this.transporter.request(request, requestOptions);
390391
},
391392

392393
/**
@@ -415,7 +416,7 @@ export function createMonitoringClient({
415416
headers,
416417
};
417418

418-
return transporter.request(request, requestOptions);
419+
return this.transporter.request(request, requestOptions);
419420
},
420421

421422
/**
@@ -435,7 +436,7 @@ export function createMonitoringClient({
435436
headers,
436437
};
437438

438-
return transporter.request(request, requestOptions);
439+
return this.transporter.request(request, requestOptions);
439440
},
440441

441442
/**
@@ -455,7 +456,7 @@ export function createMonitoringClient({
455456
headers,
456457
};
457458

458-
return transporter.request(request, requestOptions);
459+
return this.transporter.request(request, requestOptions);
459460
},
460461
};
461462
}

‎packages/recommend/builds/browser.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr';
1313

1414
import { createRecommendClient, apiClientVersion } from '../src/recommendClient';
1515

16+
export type RecommendClient = ReturnType<typeof createRecommendClient>;
17+
1618
export { apiClientVersion } from '../src/recommendClient';
1719
export * from '../model';
1820

19-
/**
20-
* The client type.
21-
*/
22-
export type RecommendClient = ReturnType<typeof recommendClient>;
23-
24-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25-
export function recommendClient(appId: string, apiKey: string, options?: ClientOptions) {
21+
export function recommendClient(appId: string, apiKey: string, options?: ClientOptions): RecommendClient {
2622
if (!appId || typeof appId !== 'string') {
2723
throw new Error('`appId` is missing.');
2824
}

‎packages/recommend/builds/node.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,12 @@ import { createHttpRequester } from '@algolia/requester-node-http';
1212

1313
import { createRecommendClient } from '../src/recommendClient';
1414

15+
export type RecommendClient = ReturnType<typeof createRecommendClient>;
16+
1517
export { apiClientVersion } from '../src/recommendClient';
1618
export * from '../model';
1719

18-
/**
19-
* The client type.
20-
*/
21-
export type RecommendClient = ReturnType<typeof recommendClient>;
22-
23-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24-
export function recommendClient(appId: string, apiKey: string, options?: ClientOptions) {
20+
export function recommendClient(appId: string, apiKey: string, options?: ClientOptions): RecommendClient {
2521
if (!appId || typeof appId !== 'string') {
2622
throw new Error('`appId` is missing.');
2723
}

‎packages/recommend/src/recommendClient.ts

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -74,27 +74,26 @@ export function createRecommendClient({
7474
...options
7575
}: CreateClientOptions) {
7676
const auth = createAuth(appIdOption, apiKeyOption, authMode);
77-
const transporter = createTransporter({
78-
hosts: getDefaultHosts(appIdOption),
79-
...options,
80-
algoliaAgent: getAlgoliaAgent({
81-
algoliaAgents,
82-
client: 'Recommend',
83-
version: apiClientVersion,
84-
}),
85-
baseHeaders: {
86-
'content-type': 'text/plain',
87-
...auth.headers(),
88-
...options.baseHeaders,
89-
},
90-
baseQueryParameters: {
91-
...auth.queryParameters(),
92-
...options.baseQueryParameters,
93-
},
94-
});
9577

9678
return {
97-
transporter,
79+
transporter: createTransporter({
80+
hosts: getDefaultHosts(appIdOption),
81+
...options,
82+
algoliaAgent: getAlgoliaAgent({
83+
algoliaAgents,
84+
client: 'Recommend',
85+
version: apiClientVersion,
86+
}),
87+
baseHeaders: {
88+
'content-type': 'text/plain',
89+
...auth.headers(),
90+
...options.baseHeaders,
91+
},
92+
baseQueryParameters: {
93+
...auth.queryParameters(),
94+
...options.baseQueryParameters,
95+
},
96+
}),
9897

9998
/**
10099
* The `appId` currently in use.
@@ -105,14 +104,16 @@ export function createRecommendClient({
105104
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
106105
*/
107106
clearCache(): Promise<void> {
108-
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
107+
return Promise.all([this.transporter.requestsCache.clear(), this.transporter.responsesCache.clear()]).then(
108+
() => undefined,
109+
);
109110
},
110111

111112
/**
112113
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
113114
*/
114115
get _ua(): string {
115-
return transporter.algoliaAgent.value;
116+
return this.transporter.algoliaAgent.value;
116117
},
117118

118119
/**
@@ -122,7 +123,7 @@ export function createRecommendClient({
122123
* @param version - The version of the agent.
123124
*/
124125
addAlgoliaAgent(segment: string, version?: string): void {
125-
transporter.algoliaAgent.add({ segment, version });
126+
this.transporter.algoliaAgent.add({ segment, version });
126127
},
127128

128129
/**
@@ -132,7 +133,7 @@ export function createRecommendClient({
132133
* @param params.apiKey - The new API Key to use.
133134
*/
134135
setClientApiKey({ apiKey }: { apiKey: string }): void {
135-
transporter.baseHeaders['x-algolia-api-key'] = apiKey;
136+
this.transporter.baseHeaders['x-algolia-api-key'] = apiKey;
136137
},
137138

138139
/**
@@ -162,7 +163,7 @@ export function createRecommendClient({
162163
headers,
163164
};
164165

165-
return transporter.request(request, requestOptions);
166+
return this.transporter.request(request, requestOptions);
166167
},
167168

168169
/**
@@ -189,7 +190,7 @@ export function createRecommendClient({
189190
headers,
190191
};
191192

192-
return transporter.request(request, requestOptions);
193+
return this.transporter.request(request, requestOptions);
193194
},
194195

195196
/**
@@ -221,7 +222,7 @@ export function createRecommendClient({
221222
data: body ? body : {},
222223
};
223224

224-
return transporter.request(request, requestOptions);
225+
return this.transporter.request(request, requestOptions);
225226
},
226227

227228
/**
@@ -253,7 +254,7 @@ export function createRecommendClient({
253254
data: body ? body : {},
254255
};
255256

256-
return transporter.request(request, requestOptions);
257+
return this.transporter.request(request, requestOptions);
257258
},
258259

259260
/**
@@ -298,7 +299,7 @@ export function createRecommendClient({
298299
headers,
299300
};
300301

301-
return transporter.request(request, requestOptions);
302+
return this.transporter.request(request, requestOptions);
302303
},
303304

304305
/**
@@ -343,7 +344,7 @@ export function createRecommendClient({
343344
headers,
344345
};
345346

346-
return transporter.request(request, requestOptions);
347+
return this.transporter.request(request, requestOptions);
347348
},
348349

349350
/**
@@ -388,7 +389,7 @@ export function createRecommendClient({
388389
headers,
389390
};
390391

391-
return transporter.request(request, requestOptions);
392+
return this.transporter.request(request, requestOptions);
392393
},
393394

394395
/**
@@ -435,7 +436,7 @@ export function createRecommendClient({
435436
cacheable: true,
436437
};
437438

438-
return transporter.request(request, requestOptions);
439+
return this.transporter.request(request, requestOptions);
439440
},
440441

441442
/**
@@ -478,7 +479,7 @@ export function createRecommendClient({
478479
cacheable: true,
479480
};
480481

481-
return transporter.request(request, requestOptions);
482+
return this.transporter.request(request, requestOptions);
482483
},
483484
};
484485
}

0 commit comments

Comments
 (0)
Please sign in to comment.