From eb108de795fc6824dfd9a3634de7d0c2311ddd02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Thu, 28 Jul 2022 15:34:34 +0200 Subject: [PATCH] fix(javascript): provide more options to `algoliasearch` (#877) --- .../packages/client-common/src/types/CreateClient.ts | 2 +- .../clients/algoliasearch/builds/browser.mustache | 2 +- .../clients/algoliasearch/builds/imports.mustache | 4 ++-- .../algoliasearch/builds/initClients.mustache | 6 +++--- .../clients/algoliasearch/builds/models.mustache | 12 +++++++----- .../clients/algoliasearch/builds/node.mustache | 2 +- .../clients/client/builds/browser.mustache | 2 +- .../clients/client/builds/imports.mustache | 2 +- .../javascript/clients/client/builds/node.mustache | 2 +- 9 files changed, 18 insertions(+), 16 deletions(-) diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts index eb48c6044f..25963db440 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts @@ -18,6 +18,6 @@ export type CreateClientOptions = Omit< algoliaAgents: AlgoliaAgentOptions[]; }; -export type InitClientOptions = Partial< +export type ClientOptions = Partial< Omit >; diff --git a/templates/javascript/clients/algoliasearch/builds/browser.mustache b/templates/javascript/clients/algoliasearch/builds/browser.mustache index 507e7dd15a..097433a253 100644 --- a/templates/javascript/clients/algoliasearch/builds/browser.mustache +++ b/templates/javascript/clients/algoliasearch/builds/browser.mustache @@ -17,7 +17,7 @@ import { createXhrRequester } from '{{{npmNamespace}}}/requester-browser-xhr'; export function algoliasearch( appId: string, apiKey: string, - options?: CommonClientOptions + options?: ClientOptions ) { {{> algoliasearch/builds/checkParameters}} diff --git a/templates/javascript/clients/algoliasearch/builds/imports.mustache b/templates/javascript/clients/algoliasearch/builds/imports.mustache index ac69f05ff8..0edeca0198 100644 --- a/templates/javascript/clients/algoliasearch/builds/imports.mustache +++ b/templates/javascript/clients/algoliasearch/builds/imports.mustache @@ -9,8 +9,8 @@ import { createPersonalizationClient, REGIONS as personalizationRegions } from ' import { createSearchClient, apiClientVersion as searchClientVersion } from '{{{npmNamespace}}}/client-search/src/searchClient'; -import type { CreateClientOptions } from '{{{npmNamespace}}}/client-common'; -import { CommonInitOptions, InitRegion, CommonClientOptions } from "./models" +import type { CreateClientOptions, ClientOptions } from '{{{npmNamespace}}}/client-common'; +import { InitClientOptions, InitClientRegion } from "./models" export * from './models'; diff --git a/templates/javascript/clients/algoliasearch/builds/initClients.mustache b/templates/javascript/clients/algoliasearch/builds/initClients.mustache index 195730f2a2..a796a84cdb 100644 --- a/templates/javascript/clients/algoliasearch/builds/initClients.mustache +++ b/templates/javascript/clients/algoliasearch/builds/initClients.mustache @@ -1,4 +1,4 @@ -function initAnalytics(initOptions: CommonInitOptions & InitRegion = {}): AnalyticsClient { +function initAnalytics(initOptions: InitClientOptions & InitClientRegion = {}): AnalyticsClient { if ( initOptions.region && (typeof initOptions.region !== 'string' || @@ -16,7 +16,7 @@ function initAnalytics(initOptions: CommonInitOptions & InitRegion = {}): AbtestingClient { +function initAbtesting(initOptions: InitClientOptions & InitClientRegion = {}): AbtestingClient { if ( initOptions.region && (typeof initOptions.region !== 'string' || @@ -34,7 +34,7 @@ function initAbtesting(initOptions: CommonInitOptions & InitRegion>): PersonalizationClient { +function initPersonalization(initOptions: InitClientOptions & Required>): PersonalizationClient { if (!initOptions.region) { throw new Error('`region` is missing.'); } diff --git a/templates/javascript/clients/algoliasearch/builds/models.mustache b/templates/javascript/clients/algoliasearch/builds/models.mustache index 4d28a4f554..06a34cc74c 100644 --- a/templates/javascript/clients/algoliasearch/builds/models.mustache +++ b/templates/javascript/clients/algoliasearch/builds/models.mustache @@ -3,6 +3,7 @@ import type { Host, Requester, + ClientOptions, } from '{{{npmNamespace}}}/client-common'; import { ErrorBase, @@ -24,9 +25,10 @@ export { AbtestingClient } from '{{{npmNamespace}}}/client-abtesting'; export { ErrorBase, PutProps, PostProps, DelProps, GetProps }; -export type CommonClientOptions = { requester?: Requester; hosts?: Host[] }; - -export type CommonInitOptions = Partial<{ +/** + * Options forwarded to the client initialized via the `init` method. + */ +export type InitClientOptions = Partial<{ /** * App to target with the initialized client, defaults to the `algoliasearch` appId. */ @@ -35,10 +37,10 @@ export type CommonInitOptions = Partial<{ * API key of the targeted app ID, defaults to the `algoliasearch` apiKey. */ apiKey: string; - options: CommonClientOptions; + options: ClientOptions; }>; -export type InitRegion = Partial<{ +export type InitClientRegion = Partial<{ /** * Available regions of the initialized client. */ diff --git a/templates/javascript/clients/algoliasearch/builds/node.mustache b/templates/javascript/clients/algoliasearch/builds/node.mustache index 7eb8a838ce..de1e3f8e09 100644 --- a/templates/javascript/clients/algoliasearch/builds/node.mustache +++ b/templates/javascript/clients/algoliasearch/builds/node.mustache @@ -16,7 +16,7 @@ import { createHttpRequester } from '{{{npmNamespace}}}/requester-node-http'; export function algoliasearch( appId: string, apiKey: string, - options?: CommonClientOptions + options?: ClientOptions ) { {{> algoliasearch/builds/checkParameters}} diff --git a/templates/javascript/clients/client/builds/browser.mustache b/templates/javascript/clients/client/builds/browser.mustache index da1df3e44f..a14b8a020a 100644 --- a/templates/javascript/clients/client/builds/browser.mustache +++ b/templates/javascript/clients/client/builds/browser.mustache @@ -7,7 +7,7 @@ import { DEFAULT_CONNECT_TIMEOUT_BROWSER, DEFAULT_READ_TIMEOUT_BROWSER, DEFAULT_ export function {{apiName}}( appId: string, apiKey: string,{{#hasRegionalHost}}region{{#fallbackToAliasHost}}?{{/fallbackToAliasHost}}: Region,{{/hasRegionalHost}} - options?: InitClientOptions + options?: ClientOptions ): {{capitalizedApiName}} { {{> client/builds/checkParameters}} diff --git a/templates/javascript/clients/client/builds/imports.mustache b/templates/javascript/clients/client/builds/imports.mustache index dc858669f9..e5385a3837 100644 --- a/templates/javascript/clients/client/builds/imports.mustache +++ b/templates/javascript/clients/client/builds/imports.mustache @@ -1,4 +1,4 @@ -import type { InitClientOptions } from '{{{npmNamespace}}}/client-common'; +import type { ClientOptions } from '{{{npmNamespace}}}/client-common'; import { createMemoryCache, createFallbackableCache, createBrowserLocalStorageCache, createNullCache } from '{{{npmNamespace}}}/client-common'; import { create{{capitalizedApiName}}, apiClientVersion } from '../src/{{apiName}}'; diff --git a/templates/javascript/clients/client/builds/node.mustache b/templates/javascript/clients/client/builds/node.mustache index ecf7cca401..cfbfa859c7 100644 --- a/templates/javascript/clients/client/builds/node.mustache +++ b/templates/javascript/clients/client/builds/node.mustache @@ -7,7 +7,7 @@ import { DEFAULT_CONNECT_TIMEOUT_NODE, DEFAULT_READ_TIMEOUT_NODE, DEFAULT_WRITE_ export function {{apiName}}( appId: string, apiKey: string,{{#hasRegionalHost}}region{{#fallbackToAliasHost}}?{{/fallbackToAliasHost}}: Region,{{/hasRegionalHost}} - options?: InitClientOptions + options?: ClientOptions ): {{capitalizedApiName}} { {{> client/builds/checkParameters}}