Skip to content

Commit

Permalink
fix(javascript): dependency imports and low-level init (#3596) (gener…
Browse files Browse the repository at this point in the history
…ated) [skip ci]

Co-authored-by: Clément Vannicatte <vannicattec@gmail.com>
  • Loading branch information
algolia-bot and shortcuts committed Aug 28, 2024
1 parent 7189cbe commit 39145a0
Show file tree
Hide file tree
Showing 13 changed files with 97 additions and 163 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
// 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.

import type { AbtestingClient } from '@algolia/client-abtesting';
import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient';
import { createAbtestingClient, REGIONS as abtestingRegions } from '@algolia/client-abtesting/src/abtestingClient';
import type { AnalyticsClient } from '@algolia/client-analytics';
import { createAnalyticsClient, REGIONS as analyticsRegions } from '@algolia/client-analytics/src/analyticsClient';
import type { Region as AnalyticsRegion } from '@algolia/client-analytics/src/analyticsClient';
import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting';
import { abtestingClient } from '@algolia/client-abtesting';
import type { AnalyticsClient, Region as AnalyticsRegion } from '@algolia/client-analytics';
import { analyticsClient } from '@algolia/client-analytics';
import type { ClientOptions } from '@algolia/client-common';
import {
DEFAULT_CONNECT_TIMEOUT_BROWSER,
DEFAULT_READ_TIMEOUT_BROWSER,
Expand All @@ -14,16 +13,11 @@ import {
createFallbackableCache,
createMemoryCache,
} from '@algolia/client-common';
import type { ClientOptions, CreateClientOptions } from '@algolia/client-common';
import type { PersonalizationClient } from '@algolia/client-personalization';
import type { Region as PersonalizationRegion } from '@algolia/client-personalization/src/personalizationClient';
import {
createPersonalizationClient,
REGIONS as personalizationRegions,
} from '@algolia/client-personalization/src/personalizationClient';
import { createSearchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search/src/searchClient';
import type { PersonalizationClient, Region as PersonalizationRegion } from '@algolia/client-personalization';
import { personalizationClient } from '@algolia/client-personalization';
import { searchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search';
import type { RecommendClient } from '@algolia/recommend';
import { createRecommendClient } from '@algolia/recommend/src/recommendClient';
import { recommendClient } from '@algolia/recommend';
import { createXhrRequester } from '@algolia/requester-browser-xhr';

import type { InitClientOptions, InitClientRegion } from './models';
Expand All @@ -46,83 +40,57 @@ export function algoliasearch(appId: string, apiKey: string, options?: ClientOpt
if (!apiKey || typeof apiKey !== 'string') {
throw new Error('`apiKey` is missing.');
}
const commonOptions: CreateClientOptions = {
apiKey,
appId,
timeouts: {
connect: DEFAULT_CONNECT_TIMEOUT_BROWSER,
read: DEFAULT_READ_TIMEOUT_BROWSER,
write: DEFAULT_WRITE_TIMEOUT_BROWSER,
},
requester: createXhrRequester(),
algoliaAgents: [{ segment: 'Browser' }],
authMode: 'WithinQueryParameters',
responsesCache: createMemoryCache(),
requestsCache: createMemoryCache({ serializable: false }),
hostsCache: createFallbackableCache({
caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()],
}),
...options,
};

function initRecommend(initOptions: InitClientOptions = {}): RecommendClient {
return createRecommendClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
}

function initAnalytics(initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient {
if (
initOptions.region &&
(typeof initOptions.region !== 'string' || !analyticsRegions.includes(initOptions.region))
) {
throw new Error(`\`region\` must be one of the following: ${analyticsRegions.join(', ')}`);
}

return createAnalyticsClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return analyticsClient(
initOptions.appId || appId,
initOptions.apiKey || apiKey,
initOptions.region,
initOptions.options,
);
}

function initAbtesting(initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient {
if (
initOptions.region &&
(typeof initOptions.region !== 'string' || !abtestingRegions.includes(initOptions.region))
) {
throw new Error(`\`region\` must be one of the following: ${abtestingRegions.join(', ')}`);
}

return createAbtestingClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return abtestingClient(
initOptions.appId || appId,
initOptions.apiKey || apiKey,
initOptions.region,
initOptions.options,
);
}

function initPersonalization(
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
): PersonalizationClient {
if (
!initOptions.region ||
(initOptions.region &&
(typeof initOptions.region !== 'string' || !personalizationRegions.includes(initOptions.region)))
) {
throw new Error(`\`region\` is required and must be one of the following: ${personalizationRegions.join(', ')}`);
}

return createPersonalizationClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return personalizationClient(
initOptions.appId || appId,
initOptions.apiKey || apiKey,
initOptions.region,
initOptions.options,
);
}

return {
...createSearchClient(commonOptions),
...searchClient(appId, apiKey, {
timeouts: {
connect: DEFAULT_CONNECT_TIMEOUT_BROWSER,
read: DEFAULT_READ_TIMEOUT_BROWSER,
write: DEFAULT_WRITE_TIMEOUT_BROWSER,
},
requester: createXhrRequester(),
algoliaAgents: [{ segment: 'Browser' }],
authMode: 'WithinQueryParameters',
responsesCache: createMemoryCache(),
requestsCache: createMemoryCache({ serializable: false }),
hostsCache: createFallbackableCache({
caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()],
}),
...options,
}),
/**
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@

import { createHmac } from 'node:crypto';

import type { AbtestingClient } from '@algolia/client-abtesting';
import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient';
import { createAbtestingClient, REGIONS as abtestingRegions } from '@algolia/client-abtesting/src/abtestingClient';
import type { AnalyticsClient } from '@algolia/client-analytics';
import { createAnalyticsClient, REGIONS as analyticsRegions } from '@algolia/client-analytics/src/analyticsClient';
import type { Region as AnalyticsRegion } from '@algolia/client-analytics/src/analyticsClient';
import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting';
import { abtestingClient } from '@algolia/client-abtesting';
import type { AnalyticsClient, Region as AnalyticsRegion } from '@algolia/client-analytics';
import { analyticsClient } from '@algolia/client-analytics';
import type { ClientOptions } from '@algolia/client-common';
import {
DEFAULT_CONNECT_TIMEOUT_NODE,
DEFAULT_READ_TIMEOUT_NODE,
Expand All @@ -16,16 +15,11 @@ import {
createNullCache,
serializeQueryParameters,
} from '@algolia/client-common';
import type { ClientOptions, CreateClientOptions } from '@algolia/client-common';
import type { PersonalizationClient } from '@algolia/client-personalization';
import type { Region as PersonalizationRegion } from '@algolia/client-personalization/src/personalizationClient';
import {
createPersonalizationClient,
REGIONS as personalizationRegions,
} from '@algolia/client-personalization/src/personalizationClient';
import { createSearchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search/src/searchClient';
import type { PersonalizationClient, Region as PersonalizationRegion } from '@algolia/client-personalization';
import { personalizationClient } from '@algolia/client-personalization';
import { searchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search';
import type { RecommendClient } from '@algolia/recommend';
import { createRecommendClient } from '@algolia/recommend/src/recommendClient';
import { recommendClient } from '@algolia/recommend';
import { createHttpRequester } from '@algolia/requester-node-http';

import type {
Expand Down Expand Up @@ -53,80 +47,54 @@ export function algoliasearch(appId: string, apiKey: string, options?: ClientOpt
if (!apiKey || typeof apiKey !== 'string') {
throw new Error('`apiKey` is missing.');
}
const commonOptions: CreateClientOptions = {
apiKey,
appId,
timeouts: {
connect: DEFAULT_CONNECT_TIMEOUT_NODE,
read: DEFAULT_READ_TIMEOUT_NODE,
write: DEFAULT_WRITE_TIMEOUT_NODE,
},
requester: createHttpRequester(),
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
responsesCache: createNullCache(),
requestsCache: createNullCache(),
hostsCache: createMemoryCache(),
...options,
};

function initRecommend(initOptions: InitClientOptions = {}): RecommendClient {
return createRecommendClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options);
}

function initAnalytics(initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient {
if (
initOptions.region &&
(typeof initOptions.region !== 'string' || !analyticsRegions.includes(initOptions.region))
) {
throw new Error(`\`region\` must be one of the following: ${analyticsRegions.join(', ')}`);
}

return createAnalyticsClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return analyticsClient(
initOptions.appId || appId,
initOptions.apiKey || apiKey,
initOptions.region,
initOptions.options,
);
}

function initAbtesting(initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient {
if (
initOptions.region &&
(typeof initOptions.region !== 'string' || !abtestingRegions.includes(initOptions.region))
) {
throw new Error(`\`region\` must be one of the following: ${abtestingRegions.join(', ')}`);
}

return createAbtestingClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return abtestingClient(
initOptions.appId || appId,
initOptions.apiKey || apiKey,
initOptions.region,
initOptions.options,
);
}

function initPersonalization(
initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>,
): PersonalizationClient {
if (
!initOptions.region ||
(initOptions.region &&
(typeof initOptions.region !== 'string' || !personalizationRegions.includes(initOptions.region)))
) {
throw new Error(`\`region\` is required and must be one of the following: ${personalizationRegions.join(', ')}`);
}

return createPersonalizationClient({
...commonOptions,
...initOptions.options,
...initOptions,
});
return personalizationClient(
initOptions.appId || appId,
initOptions.apiKey || apiKey,
initOptions.region,
initOptions.options,
);
}

return {
...createSearchClient(commonOptions),
...searchClient(appId, apiKey, {
timeouts: {
connect: DEFAULT_CONNECT_TIMEOUT_NODE,
read: DEFAULT_READ_TIMEOUT_NODE,
write: DEFAULT_WRITE_TIMEOUT_NODE,
},
requester: createHttpRequester(),
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
responsesCache: createNullCache(),
requestsCache: createNullCache(),
hostsCache: createMemoryCache(),
...options,
}),
/**
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@
"type": "module",
"exports": {
".": {
"types": "./index.d.ts",
"node": {
"import": "./dist/algoliasearch.esm.node.js",
"module": "./dist/algoliasearch.esm.node.js",
"require": "./dist/algoliasearch.cjs",
"default": "./dist/algoliasearch.cjs",
"types": "./dist/algoliasearch/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/algoliasearch.umd.js",
"module": "./dist/algoliasearch.esm.browser.js",
"import": "./dist/algoliasearch.esm.browser.js",
Expand All @@ -28,15 +27,14 @@
}
},
"./lite": {
"types": "./lite.d.ts",
"node": {
"import": "./dist/lite/lite.esm.node.js",
"module": "./dist/lite/lite.esm.node.js",
"require": "./dist/lite/lite.cjs",
"default": "./dist/lite/lite.cjs",
"types": "./dist/lite/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/lite/lite.umd.js",
"module": "./dist/lite/lite.esm.browser.js",
"import": "./dist/lite/lite.esm.browser.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"default": "./dist/client-abtesting.cjs",
"types": "./dist/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/client-abtesting.umd.js",
"module": "./dist/client-abtesting.esm.browser.js",
"import": "./dist/client-abtesting.esm.browser.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"default": "./dist/client-analytics.cjs",
"types": "./dist/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/client-analytics.umd.js",
"module": "./dist/client-analytics.esm.browser.js",
"import": "./dist/client-analytics.esm.browser.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"default": "./dist/client-insights.cjs",
"types": "./dist/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/client-insights.umd.js",
"module": "./dist/client-insights.esm.browser.js",
"import": "./dist/client-insights.esm.browser.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"default": "./dist/client-personalization.cjs",
"types": "./dist/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/client-personalization.umd.js",
"module": "./dist/client-personalization.esm.browser.js",
"import": "./dist/client-personalization.esm.browser.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"default": "./dist/client-query-suggestions.cjs",
"types": "./dist/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/client-query-suggestions.umd.js",
"module": "./dist/client-query-suggestions.esm.browser.js",
"import": "./dist/client-query-suggestions.esm.browser.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"default": "./dist/client-search.cjs",
"types": "./dist/builds/node.d.ts"
},
"default": {
"browser": {
"umd": "./dist/client-search.umd.js",
"module": "./dist/client-search.esm.browser.js",
"import": "./dist/client-search.esm.browser.js",
Expand Down
Loading

0 comments on commit 39145a0

Please sign in to comment.