diff --git a/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/browser.ts index ac5c80e4aef..ba25fb6fc67 100644 --- a/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createAbtestingApi } from '../src/abtestingApi'; +import { createAbtestingApi, apiClientVersion } from '../src/abtestingApi'; import type { AbtestingApi, Region } from '../src/abtestingApi'; export * from '../src/abtestingApi'; @@ -35,6 +40,14 @@ export function abtestingApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/node.ts index a2fe75a45f4..408f7ae690a 100644 --- a/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-abtesting/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createAbtestingApi } from '../src/abtestingApi'; @@ -34,6 +38,9 @@ export function abtestingApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-abtesting/src/abtestingApi.ts b/clients/algoliasearch-client-javascript/packages/client-abtesting/src/abtestingApi.ts index 1f92c826f2f..31ee1ec37ed 100644 --- a/clients/algoliasearch-client-javascript/packages/client-abtesting/src/abtestingApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-abtesting/src/abtestingApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -40,7 +39,9 @@ export function createAbtestingApi( const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.region), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-analytics/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-analytics/builds/browser.ts index 377df2df3b6..2f5fbcae079 100644 --- a/clients/algoliasearch-client-javascript/packages/client-analytics/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-analytics/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createAnalyticsApi } from '../src/analyticsApi'; +import { createAnalyticsApi, apiClientVersion } from '../src/analyticsApi'; import type { AnalyticsApi, Region } from '../src/analyticsApi'; export * from '../src/analyticsApi'; @@ -35,6 +40,14 @@ export function analyticsApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-analytics/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-analytics/builds/node.ts index 2bd522e5545..11fd640888c 100644 --- a/clients/algoliasearch-client-javascript/packages/client-analytics/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-analytics/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createAnalyticsApi } from '../src/analyticsApi'; @@ -34,6 +38,9 @@ export function analyticsApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-analytics/src/analyticsApi.ts b/clients/algoliasearch-client-javascript/packages/client-analytics/src/analyticsApi.ts index 456d997805d..146b1ff8b43 100644 --- a/clients/algoliasearch-client-javascript/packages/client-analytics/src/analyticsApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-analytics/src/analyticsApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -53,7 +52,9 @@ export function createAnalyticsApi( const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.region), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-insights/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-insights/builds/browser.ts index b193428911f..8c150ecc46b 100644 --- a/clients/algoliasearch-client-javascript/packages/client-insights/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-insights/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createInsightsApi } from '../src/insightsApi'; +import { createInsightsApi, apiClientVersion } from '../src/insightsApi'; import type { InsightsApi, Region } from '../src/insightsApi'; export * from '../src/insightsApi'; @@ -35,6 +40,14 @@ export function insightsApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-insights/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-insights/builds/node.ts index 3e7300a7e2c..b8ae29edd13 100644 --- a/clients/algoliasearch-client-javascript/packages/client-insights/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-insights/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createInsightsApi } from '../src/insightsApi'; @@ -34,6 +38,9 @@ export function insightsApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-insights/src/insightsApi.ts b/clients/algoliasearch-client-javascript/packages/client-insights/src/insightsApi.ts index 52a46d60476..034e3749efa 100644 --- a/clients/algoliasearch-client-javascript/packages/client-insights/src/insightsApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-insights/src/insightsApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -38,7 +37,9 @@ export function createInsightsApi( const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.region), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-personalization/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-personalization/builds/browser.ts index 382637d3cf2..a0ed171bcb2 100644 --- a/clients/algoliasearch-client-javascript/packages/client-personalization/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-personalization/builds/browser.ts @@ -2,9 +2,17 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createPersonalizationApi } from '../src/personalizationApi'; +import { + createPersonalizationApi, + apiClientVersion, +} from '../src/personalizationApi'; import type { PersonalizationApi, Region } from '../src/personalizationApi'; export * from '../src/personalizationApi'; @@ -39,6 +47,14 @@ export function personalizationApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-personalization/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-personalization/builds/node.ts index 268fe2a345f..a9d0a7876f6 100644 --- a/clients/algoliasearch-client-javascript/packages/client-personalization/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-personalization/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createPersonalizationApi } from '../src/personalizationApi'; @@ -38,6 +42,9 @@ export function personalizationApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-personalization/src/personalizationApi.ts b/clients/algoliasearch-client-javascript/packages/client-personalization/src/personalizationApi.ts index d4d725a9694..e8d2121d199 100644 --- a/clients/algoliasearch-client-javascript/packages/client-personalization/src/personalizationApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-personalization/src/personalizationApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -38,7 +37,9 @@ export function createPersonalizationApi( const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.region), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-predict/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-predict/builds/browser.ts index e761faac88f..554df3ed918 100644 --- a/clients/algoliasearch-client-javascript/packages/client-predict/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-predict/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createPredictApi } from '../src/predictApi'; +import { createPredictApi, apiClientVersion } from '../src/predictApi'; import type { PredictApi } from '../src/predictApi'; export * from '../src/predictApi'; @@ -33,6 +38,14 @@ export function predictApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-predict/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-predict/builds/node.ts index 8ef3f094761..449c5b3c742 100644 --- a/clients/algoliasearch-client-javascript/packages/client-predict/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-predict/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createPredictApi } from '../src/predictApi'; @@ -32,6 +36,9 @@ export function predictApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-predict/src/predictApi.ts b/clients/algoliasearch-client-javascript/packages/client-predict/src/predictApi.ts index 690593dc2e9..589dd1fb9d4 100644 --- a/clients/algoliasearch-client-javascript/packages/client-predict/src/predictApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-predict/src/predictApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -32,7 +31,9 @@ export function createPredictApi(options: CreateClientOptions) { const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/browser.ts index 307cd3c8d72..2c1170df3cb 100644 --- a/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/browser.ts @@ -2,9 +2,17 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createQuerySuggestionsApi } from '../src/querySuggestionsApi'; +import { + createQuerySuggestionsApi, + apiClientVersion, +} from '../src/querySuggestionsApi'; import type { QuerySuggestionsApi, Region } from '../src/querySuggestionsApi'; export * from '../src/querySuggestionsApi'; @@ -39,6 +47,14 @@ export function querySuggestionsApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/node.ts index e6b00486e86..dd6e81d1aea 100644 --- a/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createQuerySuggestionsApi } from '../src/querySuggestionsApi'; @@ -38,6 +42,9 @@ export function querySuggestionsApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-query-suggestions/src/querySuggestionsApi.ts b/clients/algoliasearch-client-javascript/packages/client-query-suggestions/src/querySuggestionsApi.ts index 297cfc46794..40136361bb3 100644 --- a/clients/algoliasearch-client-javascript/packages/client-query-suggestions/src/querySuggestionsApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-query-suggestions/src/querySuggestionsApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -40,7 +39,9 @@ export function createQuerySuggestionsApi( const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.region), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-search/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-search/builds/browser.ts index 23080c66dc9..434f060f263 100644 --- a/clients/algoliasearch-client-javascript/packages/client-search/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-search/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createSearchApi } from '../src/searchApi'; +import { createSearchApi, apiClientVersion } from '../src/searchApi'; import type { SearchApi } from '../src/searchApi'; export * from '../src/searchApi'; @@ -33,6 +38,14 @@ export function searchApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-search/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-search/builds/node.ts index aff7880d95c..d8ea7010b66 100644 --- a/clients/algoliasearch-client-javascript/packages/client-search/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-search/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createSearchApi } from '../src/searchApi'; @@ -32,6 +36,9 @@ export function searchApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-search/src/searchApi.ts b/clients/algoliasearch-client-javascript/packages/client-search/src/searchApi.ts index 57dbc8c8711..4d1cbcea83e 100644 --- a/clients/algoliasearch-client-javascript/packages/client-search/src/searchApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-search/src/searchApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, shuffle, @@ -114,7 +113,9 @@ export function createSearchApi(options: CreateClientOptions) { const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.appId), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/client-sources/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-sources/builds/browser.ts index 1758d21184f..bcc946cd85a 100644 --- a/clients/algoliasearch-client-javascript/packages/client-sources/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/client-sources/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createSourcesApi } from '../src/sourcesApi'; +import { createSourcesApi, apiClientVersion } from '../src/sourcesApi'; import type { SourcesApi, Region } from '../src/sourcesApi'; export * from '../src/sourcesApi'; @@ -39,6 +44,14 @@ export function sourcesApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-sources/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-sources/builds/node.ts index 435ee9515b2..6e09ab081b7 100644 --- a/clients/algoliasearch-client-javascript/packages/client-sources/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/client-sources/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createSourcesApi } from '../src/sourcesApi'; @@ -38,6 +42,9 @@ export function sourcesApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/client-sources/src/sourcesApi.ts b/clients/algoliasearch-client-javascript/packages/client-sources/src/sourcesApi.ts index d25784ee13d..eb249efe4c7 100644 --- a/clients/algoliasearch-client-javascript/packages/client-sources/src/sourcesApi.ts +++ b/clients/algoliasearch-client-javascript/packages/client-sources/src/sourcesApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, } from '@experimental-api-clients-automation/client-common'; @@ -36,7 +35,9 @@ export function createSourcesApi( const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.region), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(), diff --git a/clients/algoliasearch-client-javascript/packages/recommend/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/recommend/builds/browser.ts index 150266c159c..b4adfe3a3ac 100644 --- a/clients/algoliasearch-client-javascript/packages/recommend/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/recommend/builds/browser.ts @@ -2,9 +2,14 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createFallbackableCache, + createBrowserLocalStorageCache, +} from '@experimental-api-clients-automation/client-common'; import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr'; -import { createRecommendApi } from '../src/recommendApi'; +import { createRecommendApi, apiClientVersion } from '../src/recommendApi'; import type { RecommendApi } from '../src/recommendApi'; export * from '../src/recommendApi'; @@ -33,6 +38,14 @@ export function recommendApi( requester: options?.requester ?? createXhrRequester(), userAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [ + createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), + createMemoryCache(), + ], + }), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/recommend/builds/node.ts b/clients/algoliasearch-client-javascript/packages/recommend/builds/node.ts index ad9c02d64c2..ad49f4c8bb9 100644 --- a/clients/algoliasearch-client-javascript/packages/recommend/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/recommend/builds/node.ts @@ -2,6 +2,10 @@ import type { Host, Requester, } from '@experimental-api-clients-automation/client-common'; +import { + createMemoryCache, + createNullCache, +} from '@experimental-api-clients-automation/client-common'; import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http'; import { createRecommendApi } from '../src/recommendApi'; @@ -32,6 +36,9 @@ export function recommendApi( }, requester: options?.requester ?? createHttpRequester(), userAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), ...options, }); } diff --git a/clients/algoliasearch-client-javascript/packages/recommend/src/recommendApi.ts b/clients/algoliasearch-client-javascript/packages/recommend/src/recommendApi.ts index dbfe00d5bea..9f852c119ae 100644 --- a/clients/algoliasearch-client-javascript/packages/recommend/src/recommendApi.ts +++ b/clients/algoliasearch-client-javascript/packages/recommend/src/recommendApi.ts @@ -1,6 +1,5 @@ import { createAuth, - createMemoryCache, createTransporter, getUserAgent, shuffle, @@ -58,7 +57,9 @@ export function createRecommendApi(options: CreateClientOptions) { const auth = createAuth(options.appId, options.apiKey, options.authMode); const transporter = createTransporter({ hosts: options?.hosts ?? getDefaultHosts(options.appId), - hostsCache: createMemoryCache(), + hostsCache: options.hostsCache, + requestsCache: options.requestsCache, + responsesCache: options.responsesCache, baseHeaders: { 'content-type': 'application/x-www-form-urlencoded', ...auth.headers(),