Skip to content

fix(javascript): provide more options to algoliasearch #877

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ export type CreateClientOptions = Omit<
algoliaAgents: AlgoliaAgentOptions[];
};

export type InitClientOptions = Partial<
export type ClientOptions = Partial<
Omit<CreateClientOptions, 'apiKey' | 'appId'>
>;
Original file line number Diff line number Diff line change
Expand Up @@ -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}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
function initAnalytics(initOptions: CommonInitOptions & InitRegion<AnalyticsRegion> = {}): AnalyticsClient {
function initAnalytics(initOptions: InitClientOptions & InitClientRegion<AnalyticsRegion> = {}): AnalyticsClient {
if (
initOptions.region &&
(typeof initOptions.region !== 'string' ||
Expand All @@ -16,7 +16,7 @@ function initAnalytics(initOptions: CommonInitOptions & InitRegion<AnalyticsRegi
});
}

function initAbtesting(initOptions: CommonInitOptions & InitRegion<AbtestingRegion> = {}): AbtestingClient {
function initAbtesting(initOptions: InitClientOptions & InitClientRegion<AbtestingRegion> = {}): AbtestingClient {
if (
initOptions.region &&
(typeof initOptions.region !== 'string' ||
Expand All @@ -34,7 +34,7 @@ function initAbtesting(initOptions: CommonInitOptions & InitRegion<AbtestingRegi
});
}

function initPersonalization(initOptions: CommonInitOptions & Required<InitRegion<PersonalizationRegion>>): PersonalizationClient {
function initPersonalization(initOptions: InitClientOptions & Required<InitClientRegion<PersonalizationRegion>>): PersonalizationClient {
if (!initOptions.region) {
throw new Error('`region` is missing.');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import type {
Host,
Requester,
ClientOptions,
} from '{{{npmNamespace}}}/client-common';
import {
ErrorBase,
Expand All @@ -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.
*/
Expand All @@ -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<TRegion> = Partial<{
export type InitClientRegion<TRegion> = Partial<{
/**
* Available regions of the initialized client.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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}}

Expand Down
Original file line number Diff line number Diff line change
@@ -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}}';
Expand Down
2 changes: 1 addition & 1 deletion templates/javascript/clients/client/builds/node.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -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}}

Expand Down