@algolia/composition 1.24.2 → 1.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/browser.d.ts +1 -13
- package/dist/builds/browser.js +3 -2
- package/dist/builds/browser.js.map +1 -1
- package/dist/builds/browser.min.js +1 -1
- package/dist/builds/browser.min.js.map +1 -1
- package/dist/builds/browser.umd.js +3 -3
- package/dist/builds/fetch.js +3 -1
- package/dist/builds/fetch.js.map +1 -1
- package/dist/builds/node.cjs +3 -1
- package/dist/builds/node.cjs.map +1 -1
- package/dist/builds/node.js +3 -1
- package/dist/builds/node.js.map +1 -1
- package/dist/builds/worker.js +3 -2
- package/dist/builds/worker.js.map +1 -1
- package/dist/fetch.d.ts +1 -13
- package/dist/node.d.cts +1 -13
- package/dist/node.d.ts +1 -13
- package/dist/src/compositionClient.cjs +1 -1
- package/dist/src/compositionClient.cjs.map +1 -1
- package/dist/src/compositionClient.js +1 -1
- package/dist/src/compositionClient.js.map +1 -1
- package/dist/worker.d.ts +1 -13
- package/package.json +13 -8
package/README.md
CHANGED
|
@@ -40,11 +40,11 @@ All of our clients comes with type definition, and are available for both browse
|
|
|
40
40
|
### With a package manager
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
yarn add @algolia/composition@1.
|
|
43
|
+
yarn add @algolia/composition@1.25.1
|
|
44
44
|
# or
|
|
45
|
-
npm install @algolia/composition@1.
|
|
45
|
+
npm install @algolia/composition@1.25.1
|
|
46
46
|
# or
|
|
47
|
-
pnpm add @algolia/composition@1.
|
|
47
|
+
pnpm add @algolia/composition@1.25.1
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
### Without a package manager
|
|
@@ -52,7 +52,7 @@ pnpm add @algolia/composition@1.24.2
|
|
|
52
52
|
Add the following JavaScript snippet to the <head> of your website:
|
|
53
53
|
|
|
54
54
|
```html
|
|
55
|
-
<script src="https://cdn.jsdelivr.net/npm/@algolia/composition@1.
|
|
55
|
+
<script src="https://cdn.jsdelivr.net/npm/@algolia/composition@1.25.1/dist/builds/browser.umd.js"></script>
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### Usage
|
package/dist/browser.d.ts
CHANGED
|
@@ -129,10 +129,6 @@ type BaseInjectionQueryParameters = {
|
|
|
129
129
|
* Determine which plurals and synonyms should be considered an exact matches By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as [exact](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#exact) matches when searching. For example - \"swimsuit\" and \"swimsuits\" are treated the same - \"swimsuit\" and \"swimwear\" are treated the same (if they are [synonyms](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/#regular-synonyms)) - `ignorePlurals`. Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches - `singleWordSynonym`. Single-word synonyms, such as \"NY\" = \"NYC\", are considered exact matches - `multiWordsSynonym`. Multi-word synonyms, such as \"NY\" = \"New York\", are considered exact matches.
|
|
130
130
|
*/
|
|
131
131
|
alternativesAsExact?: Array<AlternativesAsExact> | undefined;
|
|
132
|
-
/**
|
|
133
|
-
* Whether this search will be included in Analytics.
|
|
134
|
-
*/
|
|
135
|
-
analytics?: boolean | undefined;
|
|
136
132
|
/**
|
|
137
133
|
* Whether the best matching attribute should be determined by minimum proximity This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting. If true, the best matching attribute is selected based on the minimum proximity of multiple matches. Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting.
|
|
138
134
|
*/
|
|
@@ -153,10 +149,6 @@ type BaseInjectionQueryParameters = {
|
|
|
153
149
|
* Whether to include a `queryID` attribute in the response The query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started).
|
|
154
150
|
*/
|
|
155
151
|
clickAnalytics?: boolean | undefined;
|
|
156
|
-
/**
|
|
157
|
-
* Whether to split compound words in the query into their building blocks For more information, see [Word segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/#splitting-compound-words). Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian. Decompounding doesn\'t work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark). For example, `Gartenstühle` won\'t be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).
|
|
158
|
-
*/
|
|
159
|
-
decompoundQuery?: boolean | undefined;
|
|
160
152
|
/**
|
|
161
153
|
* Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
|
|
162
154
|
*/
|
|
@@ -201,10 +193,6 @@ type BaseInjectionQueryParameters = {
|
|
|
201
193
|
*/
|
|
202
194
|
highlightPreTag?: string | undefined;
|
|
203
195
|
ignorePlurals?: IgnorePlurals | undefined;
|
|
204
|
-
/**
|
|
205
|
-
* Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
|
|
206
|
-
*/
|
|
207
|
-
maxFacetHits?: number | undefined;
|
|
208
196
|
/**
|
|
209
197
|
* Minimum proximity score for two matching words This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity) by equally scoring matches that are farther apart For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score.
|
|
210
198
|
*/
|
|
@@ -1620,7 +1608,7 @@ type WaitForCompositionTaskOptions = {
|
|
|
1620
1608
|
compositionID: string;
|
|
1621
1609
|
};
|
|
1622
1610
|
|
|
1623
|
-
declare const apiClientVersion = "1.
|
|
1611
|
+
declare const apiClientVersion = "1.25.1";
|
|
1624
1612
|
declare function createCompositionClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, ...options }: CreateClientOptions): {
|
|
1625
1613
|
transporter: _algolia_client_common.Transporter;
|
|
1626
1614
|
/**
|
package/dist/builds/browser.js
CHANGED
|
@@ -9,7 +9,7 @@ import { createXhrRequester } from "@algolia/requester-browser-xhr";
|
|
|
9
9
|
|
|
10
10
|
// src/compositionClient.ts
|
|
11
11
|
import { createAuth, createIterablePromise, createTransporter, getAlgoliaAgent, shuffle } from "@algolia/client-common";
|
|
12
|
-
var apiClientVersion = "1.
|
|
12
|
+
var apiClientVersion = "1.25.1";
|
|
13
13
|
function getDefaultHosts(appId) {
|
|
14
14
|
return [
|
|
15
15
|
{
|
|
@@ -683,6 +683,7 @@ function compositionClient(appId, apiKey, options) {
|
|
|
683
683
|
if (!apiKey || typeof apiKey !== "string") {
|
|
684
684
|
throw new Error("`apiKey` is missing.");
|
|
685
685
|
}
|
|
686
|
+
const { compression: _compression, ...browserOptions } = options || {};
|
|
686
687
|
return createCompositionClient({
|
|
687
688
|
appId,
|
|
688
689
|
apiKey,
|
|
@@ -700,7 +701,7 @@ function compositionClient(appId, apiKey, options) {
|
|
|
700
701
|
hostsCache: createFallbackableCache({
|
|
701
702
|
caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()]
|
|
702
703
|
}),
|
|
703
|
-
...
|
|
704
|
+
...browserOptions
|
|
704
705
|
});
|
|
705
706
|
}
|
|
706
707
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../builds/browser.ts","../../src/compositionClient.ts"],"sourcesContent":["// 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.\n\nimport {\n createBrowserLocalStorageCache,\n createFallbackableCache,\n createMemoryCache,\n createNullLogger,\n} from '@algolia/client-common';\nimport { createXhrRequester } from '@algolia/requester-browser-xhr';\n\nimport type { ClientOptions } from '@algolia/client-common';\n\nimport { apiClientVersion, createCompositionClient } from '../src/compositionClient';\n\nexport { apiClientVersion } from '../src/compositionClient';\n\nexport * from '../model';\n\nexport function compositionClient(\n appId: string,\n apiKey: string,\n options?: ClientOptions | undefined,\n): CompositionClient {\n if (!appId || typeof appId !== 'string') {\n throw new Error('`appId` is missing.');\n }\n\n if (!apiKey || typeof apiKey !== 'string') {\n throw new Error('`apiKey` is missing.');\n }\n\n return createCompositionClient({\n appId,\n apiKey,\n timeouts: {\n connect: 1000,\n read: 2000,\n write: 30000,\n },\n logger: createNullLogger(),\n requester: createXhrRequester(),\n algoliaAgents: [{ segment: 'Browser' }],\n authMode: 'WithinHeaders',\n responsesCache: createMemoryCache(),\n requestsCache: createMemoryCache({ serializable: false }),\n hostsCache: createFallbackableCache({\n caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()],\n }),\n ...options,\n });\n}\n\nexport type CompositionClient = ReturnType<typeof createCompositionClient>;\n","// 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.\n\nimport type {\n CreateClientOptions,\n Headers,\n Host,\n QueryParameters,\n Request,\n RequestOptions,\n} from '@algolia/client-common';\nimport { createAuth, createIterablePromise, createTransporter, getAlgoliaAgent, shuffle } from '@algolia/client-common';\n\nimport type { BatchParams } from '../model/batchParams';\nimport type { Composition } from '../model/composition';\nimport type { CompositionRule } from '../model/compositionRule';\nimport type { GetTaskResponse } from '../model/getTaskResponse';\nimport type { ListCompositionsResponse } from '../model/listCompositionsResponse';\nimport type { MultipleBatchResponse } from '../model/multipleBatchResponse';\nimport type { RulesMultipleBatchResponse } from '../model/rulesMultipleBatchResponse';\nimport type { SearchCompositionRulesResponse } from '../model/searchCompositionRulesResponse';\nimport type { SearchForFacetValuesResponse } from '../model/searchForFacetValuesResponse';\nimport type { SearchResponse } from '../model/searchResponse';\nimport type { TaskIDResponse } from '../model/taskIDResponse';\n\nimport type {\n CustomDeleteProps,\n CustomGetProps,\n CustomPostProps,\n CustomPutProps,\n DeleteCompositionProps,\n DeleteCompositionRuleProps,\n GetCompositionProps,\n GetRuleProps,\n GetTaskProps,\n ListCompositionsProps,\n PutCompositionProps,\n PutCompositionRuleProps,\n SaveRulesProps,\n SearchCompositionRulesProps,\n SearchForFacetValuesProps,\n SearchProps,\n UpdateSortingStrategyCompositionProps,\n WaitForCompositionTaskOptions,\n} from '../model/clientMethodProps';\n\nexport const apiClientVersion = '1.24.2';\n\nfunction getDefaultHosts(appId: string): Host[] {\n return (\n [\n {\n url: `${appId}-dsn.algolia.net`,\n accept: 'read',\n protocol: 'https',\n },\n {\n url: `${appId}.algolia.net`,\n accept: 'write',\n protocol: 'https',\n },\n ] as Host[]\n ).concat(\n shuffle([\n {\n url: `${appId}-1.algolianet.com`,\n accept: 'readWrite',\n protocol: 'https',\n },\n {\n url: `${appId}-2.algolianet.com`,\n accept: 'readWrite',\n protocol: 'https',\n },\n {\n url: `${appId}-3.algolianet.com`,\n accept: 'readWrite',\n protocol: 'https',\n },\n ]),\n );\n}\n\nexport function createCompositionClient({\n appId: appIdOption,\n apiKey: apiKeyOption,\n authMode,\n algoliaAgents,\n ...options\n}: CreateClientOptions) {\n const auth = createAuth(appIdOption, apiKeyOption, authMode);\n const transporter = createTransporter({\n hosts: getDefaultHosts(appIdOption),\n ...options,\n algoliaAgent: getAlgoliaAgent({\n algoliaAgents,\n client: 'Composition',\n version: apiClientVersion,\n }),\n baseHeaders: {\n 'content-type': 'text/plain',\n ...auth.headers(),\n ...options.baseHeaders,\n },\n baseQueryParameters: {\n ...auth.queryParameters(),\n ...options.baseQueryParameters,\n },\n });\n\n return {\n transporter,\n\n /**\n * The `appId` currently in use.\n */\n appId: appIdOption,\n\n /**\n * The `apiKey` currently in use.\n */\n apiKey: apiKeyOption,\n\n /**\n * Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.\n */\n clearCache(): Promise<void> {\n return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);\n },\n\n /**\n * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.\n */\n get _ua(): string {\n return transporter.algoliaAgent.value;\n },\n\n /**\n * Adds a `segment` to the `x-algolia-agent` sent with every requests.\n *\n * @param segment - The algolia agent (user-agent) segment to add.\n * @param version - The version of the agent.\n */\n addAlgoliaAgent(segment: string, version?: string | undefined): void {\n transporter.algoliaAgent.add({ segment, version });\n },\n\n /**\n * Helper method to switch the API key used to authenticate the requests.\n *\n * @param params - Method params.\n * @param params.apiKey - The new API Key to use.\n */\n setClientApiKey({ apiKey }: { apiKey: string }): void {\n if (!authMode || authMode === 'WithinHeaders') {\n transporter.baseHeaders['x-algolia-api-key'] = apiKey;\n } else {\n transporter.baseQueryParameters['x-algolia-api-key'] = apiKey;\n }\n },\n\n /**\n * Helper: Wait for a composition-level task to be published (completed) for a given `compositionID` and `taskID`.\n *\n * @summary Helper method that waits for a task to be published (completed).\n * @param WaitForCompositionTaskOptions - The `WaitForCompositionTaskOptions` object.\n * @param WaitForCompositionTaskOptions.compositionID - The `compositionID` where the operation was performed.\n * @param WaitForCompositionTaskOptions.taskID - The `taskID` returned in the method response.\n * @param WaitForCompositionTaskOptions.maxRetries - The maximum number of retries. 50 by default.\n * @param WaitForCompositionTaskOptions.timeout - The function to decide how long to wait between retries.\n * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.\n */\n waitForCompositionTask(\n {\n compositionID,\n taskID,\n maxRetries = 50,\n timeout = (retryCount: number): number => Math.min(retryCount * 200, 5000),\n }: WaitForCompositionTaskOptions,\n requestOptions?: RequestOptions,\n ): Promise<GetTaskResponse> {\n let retryCount = 0;\n\n return createIterablePromise({\n func: () => this.getTask({ compositionID, taskID }, requestOptions),\n validate: (response) => response.status === 'published',\n aggregator: () => (retryCount += 1),\n error: {\n validate: () => retryCount >= maxRetries,\n message: () => `The maximum number of retries exceeded. (${retryCount}/${maxRetries})`,\n },\n timeout: () => timeout(retryCount),\n });\n },\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customDelete - The customDelete object.\n * @param customDelete.path - Path of the endpoint, for example `1/newFeature`.\n * @param customDelete.parameters - Query parameters to apply to the current query.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customDelete(\n { path, parameters }: CustomDeleteProps,\n requestOptions?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customDelete`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'DELETE',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customGet - The customGet object.\n * @param customGet.path - Path of the endpoint, for example `1/newFeature`.\n * @param customGet.parameters - Query parameters to apply to the current query.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customGet({ path, parameters }: CustomGetProps, requestOptions?: RequestOptions): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customGet`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customPost - The customPost object.\n * @param customPost.path - Path of the endpoint, for example `1/newFeature`.\n * @param customPost.parameters - Query parameters to apply to the current query.\n * @param customPost.body - Parameters to send with the custom request.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customPost(\n { path, parameters, body }: CustomPostProps,\n requestOptions?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customPost`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: body ? body : {},\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customPut - The customPut object.\n * @param customPut.path - Path of the endpoint, for example `1/newFeature`.\n * @param customPut.parameters - Query parameters to apply to the current query.\n * @param customPut.body - Parameters to send with the custom request.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customPut(\n { path, parameters, body }: CustomPutProps,\n requestOptions?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customPut`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'PUT',\n path: requestPath,\n queryParameters,\n headers,\n data: body ? body : {},\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Delete a composition from the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param deleteComposition - The deleteComposition object.\n * @param deleteComposition.compositionID - Unique Composition ObjectID.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n deleteComposition(\n { compositionID }: DeleteCompositionProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `deleteComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'DELETE',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Delete a Composition Rule from the specified Composition ID.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param deleteCompositionRule - The deleteCompositionRule object.\n * @param deleteCompositionRule.compositionID - Unique Composition ObjectID.\n * @param deleteCompositionRule.objectID - Unique identifier of a rule object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n deleteCompositionRule(\n { compositionID, objectID }: DeleteCompositionRuleProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `deleteCompositionRule`.');\n }\n\n if (!objectID) {\n throw new Error('Parameter `objectID` is required when calling `deleteCompositionRule`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{objectID}', encodeURIComponent(objectID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'DELETE',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Retrieve a single composition in the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * @param getComposition - The getComposition object.\n * @param getComposition.compositionID - Unique Composition ObjectID.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n getComposition({ compositionID }: GetCompositionProps, requestOptions?: RequestOptions): Promise<Composition> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `getComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Retrieves a rule by its ID. To find the object ID of a rule, use the [`search` operation](https://www.algolia.com/doc/rest-api/composition/search-composition-rules).\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * @param getRule - The getRule object.\n * @param getRule.compositionID - Unique Composition ObjectID.\n * @param getRule.objectID - Unique identifier of a rule object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n getRule({ compositionID, objectID }: GetRuleProps, requestOptions?: RequestOptions): Promise<CompositionRule> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `getRule`.');\n }\n\n if (!objectID) {\n throw new Error('Parameter `objectID` is required when calling `getRule`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{objectID}', encodeURIComponent(objectID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Checks the status of a given task.\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * - addObject\n * - deleteObject\n * - deleteIndex\n * @param getTask - The getTask object.\n * @param getTask.compositionID - Unique Composition ObjectID.\n * @param getTask.taskID - Unique task identifier.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n getTask({ compositionID, taskID }: GetTaskProps, requestOptions?: RequestOptions): Promise<GetTaskResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `getTask`.');\n }\n\n if (!taskID) {\n throw new Error('Parameter `taskID` is required when calling `getTask`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/task/{taskID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{taskID}', encodeURIComponent(taskID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Lists all compositions in the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * @param listCompositions - The listCompositions object.\n * @param listCompositions.page - Requested page of the API response. If `null`, the API response is not paginated.\n * @param listCompositions.hitsPerPage - Number of hits per page.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n listCompositions(\n { page, hitsPerPage }: ListCompositionsProps = {},\n requestOptions: RequestOptions | undefined = undefined,\n ): Promise<ListCompositionsResponse> {\n const requestPath = '/1/compositions';\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n if (page !== undefined) {\n queryParameters['page'] = page.toString();\n }\n\n if (hitsPerPage !== undefined) {\n queryParameters['hitsPerPage'] = hitsPerPage.toString();\n }\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Adds, updates, or deletes compositions with a single API request.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param batchParams - The batchParams object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n multipleBatch(batchParams: BatchParams, requestOptions?: RequestOptions): Promise<MultipleBatchResponse> {\n if (!batchParams) {\n throw new Error('Parameter `batchParams` is required when calling `multipleBatch`.');\n }\n\n if (!batchParams.requests) {\n throw new Error('Parameter `batchParams.requests` is required when calling `multipleBatch`.');\n }\n\n const requestPath = '/1/compositions/*/batch';\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: batchParams,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Update and insert a composition in the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param putComposition - The putComposition object.\n * @param putComposition.compositionID - Unique Composition ObjectID.\n * @param putComposition.composition - The composition object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n putComposition(\n { compositionID, composition }: PutCompositionProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `putComposition`.');\n }\n\n if (!composition) {\n throw new Error('Parameter `composition` is required when calling `putComposition`.');\n }\n\n if (!composition.objectID) {\n throw new Error('Parameter `composition.objectID` is required when calling `putComposition`.');\n }\n if (!composition.name) {\n throw new Error('Parameter `composition.name` is required when calling `putComposition`.');\n }\n if (!composition.behavior) {\n throw new Error('Parameter `composition.behavior` is required when calling `putComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'PUT',\n path: requestPath,\n queryParameters,\n headers,\n data: composition,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * If a composition rule with the provided ID already exists, it\\'s replaced. Otherwise, a new one is added.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param putCompositionRule - The putCompositionRule object.\n * @param putCompositionRule.compositionID - Unique Composition ObjectID.\n * @param putCompositionRule.objectID - Unique identifier of a rule object.\n * @param putCompositionRule.compositionRule - The compositionRule object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n putCompositionRule(\n { compositionID, objectID, compositionRule }: PutCompositionRuleProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `putCompositionRule`.');\n }\n\n if (!objectID) {\n throw new Error('Parameter `objectID` is required when calling `putCompositionRule`.');\n }\n\n if (!compositionRule) {\n throw new Error('Parameter `compositionRule` is required when calling `putCompositionRule`.');\n }\n\n if (!compositionRule.objectID) {\n throw new Error('Parameter `compositionRule.objectID` is required when calling `putCompositionRule`.');\n }\n if (!compositionRule.consequence) {\n throw new Error('Parameter `compositionRule.consequence` is required when calling `putCompositionRule`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{objectID}', encodeURIComponent(objectID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'PUT',\n path: requestPath,\n queryParameters,\n headers,\n data: compositionRule,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Create or update or delete multiple composition rules.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param saveRules - The saveRules object.\n * @param saveRules.compositionID - Unique Composition ObjectID.\n * @param saveRules.rules - The rules object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n saveRules(\n { compositionID, rules }: SaveRulesProps,\n requestOptions?: RequestOptions,\n ): Promise<RulesMultipleBatchResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `saveRules`.');\n }\n\n if (!rules) {\n throw new Error('Parameter `rules` is required when calling `saveRules`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/batch'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: rules,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Runs a query on a single composition and returns matching results.\n *\n * Required API Key ACLs:\n * - search\n * @param search - The search object.\n * @param search.compositionID - Unique Composition ObjectID.\n * @param search.requestBody - The requestBody object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n search<T>(\n { compositionID, requestBody }: SearchProps,\n requestOptions?: RequestOptions,\n ): Promise<SearchResponse<T>> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `search`.');\n }\n\n if (!requestBody) {\n throw new Error('Parameter `requestBody` is required when calling `search`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/run'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: requestBody,\n useReadTransporter: true,\n cacheable: true,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Searches for composition rules in your index.\n *\n * Required API Key ACLs:\n * - settings\n * @param searchCompositionRules - The searchCompositionRules object.\n * @param searchCompositionRules.compositionID - Unique Composition ObjectID.\n * @param searchCompositionRules.searchCompositionRulesParams - The searchCompositionRulesParams object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n searchCompositionRules(\n { compositionID, searchCompositionRulesParams }: SearchCompositionRulesProps,\n requestOptions?: RequestOptions,\n ): Promise<SearchCompositionRulesResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `searchCompositionRules`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/search'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: searchCompositionRulesParams ? searchCompositionRulesParams : {},\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Searches for values of a specified facet attribute on the composition\\'s main source\\'s index. - By default, facet values are sorted by decreasing count. You can adjust this with the `sortFacetValueBy` parameter. - Searching for facet values doesn\\'t work if you have **more than 65 searchable facets and searchable attributes combined**.\n *\n * Required API Key ACLs:\n * - search\n * @param searchForFacetValues - The searchForFacetValues object.\n * @param searchForFacetValues.compositionID - Unique Composition ObjectID.\n * @param searchForFacetValues.facetName - Facet attribute in which to search for values. This attribute must be included in the `attributesForFaceting` index setting with the `searchable()` modifier.\n * @param searchForFacetValues.searchForFacetValuesRequest - The searchForFacetValuesRequest object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n searchForFacetValues(\n { compositionID, facetName, searchForFacetValuesRequest }: SearchForFacetValuesProps,\n requestOptions?: RequestOptions,\n ): Promise<SearchForFacetValuesResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `searchForFacetValues`.');\n }\n\n if (!facetName) {\n throw new Error('Parameter `facetName` is required when calling `searchForFacetValues`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/facets/{facetName}/query'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{facetName}', encodeURIComponent(facetName));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: searchForFacetValuesRequest ? searchForFacetValuesRequest : {},\n useReadTransporter: true,\n cacheable: true,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Updates the \\\"sortingStrategy\\\" field of an existing composition. This endpoint lets you create a new sorting strategy mapping or replace the configured one. The provided sorting indices must be associated indices or replicas of the main targeted index. This endpoint can\\'t validate whether the sort index is related to the composition\\'s main index. Validation fails at runtime if the index you updated isn\\'t related. The update is applied to the specified composition within the current Algolia application and returns a taskID that can be used to track the operation’s completion.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param updateSortingStrategyComposition - The updateSortingStrategyComposition object.\n * @param updateSortingStrategyComposition.compositionID - Unique Composition ObjectID.\n * @param updateSortingStrategyComposition.requestBody - The requestBody object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n updateSortingStrategyComposition(\n { compositionID, requestBody }: UpdateSortingStrategyCompositionProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `updateSortingStrategyComposition`.');\n }\n\n if (!requestBody) {\n throw new Error('Parameter `requestBody` is required when calling `updateSortingStrategyComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/sortingStrategy'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: requestBody,\n };\n\n return transporter.request(request, requestOptions);\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../builds/browser.ts","../../src/compositionClient.ts"],"sourcesContent":["// 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.\n\nimport {\n createBrowserLocalStorageCache,\n createFallbackableCache,\n createMemoryCache,\n createNullLogger,\n} from '@algolia/client-common';\nimport { createXhrRequester } from '@algolia/requester-browser-xhr';\n\nimport type { ClientOptions } from '@algolia/client-common';\n\nimport { apiClientVersion, createCompositionClient } from '../src/compositionClient';\n\nexport { apiClientVersion } from '../src/compositionClient';\n\nexport * from '../model';\n\nexport function compositionClient(\n appId: string,\n apiKey: string,\n options?: ClientOptions | undefined,\n): CompositionClient {\n if (!appId || typeof appId !== 'string') {\n throw new Error('`appId` is missing.');\n }\n\n if (!apiKey || typeof apiKey !== 'string') {\n throw new Error('`apiKey` is missing.');\n }\n\n const { compression: _compression, ...browserOptions } = options || {};\n\n return createCompositionClient({\n appId,\n apiKey,\n timeouts: {\n connect: 1000,\n read: 2000,\n write: 30000,\n },\n logger: createNullLogger(),\n requester: createXhrRequester(),\n algoliaAgents: [{ segment: 'Browser' }],\n authMode: 'WithinHeaders',\n responsesCache: createMemoryCache(),\n requestsCache: createMemoryCache({ serializable: false }),\n hostsCache: createFallbackableCache({\n caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()],\n }),\n ...browserOptions,\n });\n}\n\nexport type CompositionClient = ReturnType<typeof createCompositionClient>;\n","// 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.\n\nimport type {\n CreateClientOptions,\n Headers,\n Host,\n QueryParameters,\n Request,\n RequestOptions,\n} from '@algolia/client-common';\nimport { createAuth, createIterablePromise, createTransporter, getAlgoliaAgent, shuffle } from '@algolia/client-common';\n\nimport type { BatchParams } from '../model/batchParams';\nimport type { Composition } from '../model/composition';\nimport type { CompositionRule } from '../model/compositionRule';\nimport type { GetTaskResponse } from '../model/getTaskResponse';\nimport type { ListCompositionsResponse } from '../model/listCompositionsResponse';\nimport type { MultipleBatchResponse } from '../model/multipleBatchResponse';\nimport type { RulesMultipleBatchResponse } from '../model/rulesMultipleBatchResponse';\nimport type { SearchCompositionRulesResponse } from '../model/searchCompositionRulesResponse';\nimport type { SearchForFacetValuesResponse } from '../model/searchForFacetValuesResponse';\nimport type { SearchResponse } from '../model/searchResponse';\nimport type { TaskIDResponse } from '../model/taskIDResponse';\n\nimport type {\n CustomDeleteProps,\n CustomGetProps,\n CustomPostProps,\n CustomPutProps,\n DeleteCompositionProps,\n DeleteCompositionRuleProps,\n GetCompositionProps,\n GetRuleProps,\n GetTaskProps,\n ListCompositionsProps,\n PutCompositionProps,\n PutCompositionRuleProps,\n SaveRulesProps,\n SearchCompositionRulesProps,\n SearchForFacetValuesProps,\n SearchProps,\n UpdateSortingStrategyCompositionProps,\n WaitForCompositionTaskOptions,\n} from '../model/clientMethodProps';\n\nexport const apiClientVersion = '1.25.1';\n\nfunction getDefaultHosts(appId: string): Host[] {\n return (\n [\n {\n url: `${appId}-dsn.algolia.net`,\n accept: 'read',\n protocol: 'https',\n },\n {\n url: `${appId}.algolia.net`,\n accept: 'write',\n protocol: 'https',\n },\n ] as Host[]\n ).concat(\n shuffle([\n {\n url: `${appId}-1.algolianet.com`,\n accept: 'readWrite',\n protocol: 'https',\n },\n {\n url: `${appId}-2.algolianet.com`,\n accept: 'readWrite',\n protocol: 'https',\n },\n {\n url: `${appId}-3.algolianet.com`,\n accept: 'readWrite',\n protocol: 'https',\n },\n ]),\n );\n}\n\nexport function createCompositionClient({\n appId: appIdOption,\n apiKey: apiKeyOption,\n authMode,\n algoliaAgents,\n ...options\n}: CreateClientOptions) {\n const auth = createAuth(appIdOption, apiKeyOption, authMode);\n const transporter = createTransporter({\n hosts: getDefaultHosts(appIdOption),\n ...options,\n algoliaAgent: getAlgoliaAgent({\n algoliaAgents,\n client: 'Composition',\n version: apiClientVersion,\n }),\n baseHeaders: {\n 'content-type': 'text/plain',\n ...auth.headers(),\n ...options.baseHeaders,\n },\n baseQueryParameters: {\n ...auth.queryParameters(),\n ...options.baseQueryParameters,\n },\n });\n\n return {\n transporter,\n\n /**\n * The `appId` currently in use.\n */\n appId: appIdOption,\n\n /**\n * The `apiKey` currently in use.\n */\n apiKey: apiKeyOption,\n\n /**\n * Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.\n */\n clearCache(): Promise<void> {\n return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);\n },\n\n /**\n * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.\n */\n get _ua(): string {\n return transporter.algoliaAgent.value;\n },\n\n /**\n * Adds a `segment` to the `x-algolia-agent` sent with every requests.\n *\n * @param segment - The algolia agent (user-agent) segment to add.\n * @param version - The version of the agent.\n */\n addAlgoliaAgent(segment: string, version?: string | undefined): void {\n transporter.algoliaAgent.add({ segment, version });\n },\n\n /**\n * Helper method to switch the API key used to authenticate the requests.\n *\n * @param params - Method params.\n * @param params.apiKey - The new API Key to use.\n */\n setClientApiKey({ apiKey }: { apiKey: string }): void {\n if (!authMode || authMode === 'WithinHeaders') {\n transporter.baseHeaders['x-algolia-api-key'] = apiKey;\n } else {\n transporter.baseQueryParameters['x-algolia-api-key'] = apiKey;\n }\n },\n\n /**\n * Helper: Wait for a composition-level task to be published (completed) for a given `compositionID` and `taskID`.\n *\n * @summary Helper method that waits for a task to be published (completed).\n * @param WaitForCompositionTaskOptions - The `WaitForCompositionTaskOptions` object.\n * @param WaitForCompositionTaskOptions.compositionID - The `compositionID` where the operation was performed.\n * @param WaitForCompositionTaskOptions.taskID - The `taskID` returned in the method response.\n * @param WaitForCompositionTaskOptions.maxRetries - The maximum number of retries. 50 by default.\n * @param WaitForCompositionTaskOptions.timeout - The function to decide how long to wait between retries.\n * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.\n */\n waitForCompositionTask(\n {\n compositionID,\n taskID,\n maxRetries = 50,\n timeout = (retryCount: number): number => Math.min(retryCount * 200, 5000),\n }: WaitForCompositionTaskOptions,\n requestOptions?: RequestOptions,\n ): Promise<GetTaskResponse> {\n let retryCount = 0;\n\n return createIterablePromise({\n func: () => this.getTask({ compositionID, taskID }, requestOptions),\n validate: (response) => response.status === 'published',\n aggregator: () => (retryCount += 1),\n error: {\n validate: () => retryCount >= maxRetries,\n message: () => `The maximum number of retries exceeded. (${retryCount}/${maxRetries})`,\n },\n timeout: () => timeout(retryCount),\n });\n },\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customDelete - The customDelete object.\n * @param customDelete.path - Path of the endpoint, for example `1/newFeature`.\n * @param customDelete.parameters - Query parameters to apply to the current query.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customDelete(\n { path, parameters }: CustomDeleteProps,\n requestOptions?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customDelete`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'DELETE',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customGet - The customGet object.\n * @param customGet.path - Path of the endpoint, for example `1/newFeature`.\n * @param customGet.parameters - Query parameters to apply to the current query.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customGet({ path, parameters }: CustomGetProps, requestOptions?: RequestOptions): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customGet`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customPost - The customPost object.\n * @param customPost.path - Path of the endpoint, for example `1/newFeature`.\n * @param customPost.parameters - Query parameters to apply to the current query.\n * @param customPost.body - Parameters to send with the custom request.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customPost(\n { path, parameters, body }: CustomPostProps,\n requestOptions?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customPost`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: body ? body : {},\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * This method lets you send requests to the Algolia REST API.\n * @param customPut - The customPut object.\n * @param customPut.path - Path of the endpoint, for example `1/newFeature`.\n * @param customPut.parameters - Query parameters to apply to the current query.\n * @param customPut.body - Parameters to send with the custom request.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n customPut(\n { path, parameters, body }: CustomPutProps,\n requestOptions?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n if (!path) {\n throw new Error('Parameter `path` is required when calling `customPut`.');\n }\n\n const requestPath = '/{path}'.replace('{path}', path);\n const headers: Headers = {};\n const queryParameters: QueryParameters = parameters ? parameters : {};\n\n const request: Request = {\n method: 'PUT',\n path: requestPath,\n queryParameters,\n headers,\n data: body ? body : {},\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Delete a composition from the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param deleteComposition - The deleteComposition object.\n * @param deleteComposition.compositionID - Unique Composition ObjectID.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n deleteComposition(\n { compositionID }: DeleteCompositionProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `deleteComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'DELETE',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Delete a Composition Rule from the specified Composition ID.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param deleteCompositionRule - The deleteCompositionRule object.\n * @param deleteCompositionRule.compositionID - Unique Composition ObjectID.\n * @param deleteCompositionRule.objectID - Unique identifier of a rule object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n deleteCompositionRule(\n { compositionID, objectID }: DeleteCompositionRuleProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `deleteCompositionRule`.');\n }\n\n if (!objectID) {\n throw new Error('Parameter `objectID` is required when calling `deleteCompositionRule`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{objectID}', encodeURIComponent(objectID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'DELETE',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Retrieve a single composition in the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * @param getComposition - The getComposition object.\n * @param getComposition.compositionID - Unique Composition ObjectID.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n getComposition({ compositionID }: GetCompositionProps, requestOptions?: RequestOptions): Promise<Composition> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `getComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Retrieves a rule by its ID. To find the object ID of a rule, use the [`search` operation](https://www.algolia.com/doc/rest-api/composition/search-composition-rules).\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * @param getRule - The getRule object.\n * @param getRule.compositionID - Unique Composition ObjectID.\n * @param getRule.objectID - Unique identifier of a rule object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n getRule({ compositionID, objectID }: GetRuleProps, requestOptions?: RequestOptions): Promise<CompositionRule> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `getRule`.');\n }\n\n if (!objectID) {\n throw new Error('Parameter `objectID` is required when calling `getRule`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{objectID}', encodeURIComponent(objectID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Checks the status of a given task.\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * - addObject\n * - deleteObject\n * - deleteIndex\n * @param getTask - The getTask object.\n * @param getTask.compositionID - Unique Composition ObjectID.\n * @param getTask.taskID - Unique task identifier.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n getTask({ compositionID, taskID }: GetTaskProps, requestOptions?: RequestOptions): Promise<GetTaskResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `getTask`.');\n }\n\n if (!taskID) {\n throw new Error('Parameter `taskID` is required when calling `getTask`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/task/{taskID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{taskID}', encodeURIComponent(taskID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Lists all compositions in the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * - settings\n * @param listCompositions - The listCompositions object.\n * @param listCompositions.page - Requested page of the API response. If `null`, the API response is not paginated.\n * @param listCompositions.hitsPerPage - Number of hits per page.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n listCompositions(\n { page, hitsPerPage }: ListCompositionsProps = {},\n requestOptions: RequestOptions | undefined = undefined,\n ): Promise<ListCompositionsResponse> {\n const requestPath = '/1/compositions';\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n if (page !== undefined) {\n queryParameters['page'] = page.toString();\n }\n\n if (hitsPerPage !== undefined) {\n queryParameters['hitsPerPage'] = hitsPerPage.toString();\n }\n\n const request: Request = {\n method: 'GET',\n path: requestPath,\n queryParameters,\n headers,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Adds, updates, or deletes compositions with a single API request.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param batchParams - The batchParams object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n multipleBatch(batchParams: BatchParams, requestOptions?: RequestOptions): Promise<MultipleBatchResponse> {\n if (!batchParams) {\n throw new Error('Parameter `batchParams` is required when calling `multipleBatch`.');\n }\n\n if (!batchParams.requests) {\n throw new Error('Parameter `batchParams.requests` is required when calling `multipleBatch`.');\n }\n\n const requestPath = '/1/compositions/*/batch';\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: batchParams,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Update and insert a composition in the current Algolia application.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param putComposition - The putComposition object.\n * @param putComposition.compositionID - Unique Composition ObjectID.\n * @param putComposition.composition - The composition object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n putComposition(\n { compositionID, composition }: PutCompositionProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `putComposition`.');\n }\n\n if (!composition) {\n throw new Error('Parameter `composition` is required when calling `putComposition`.');\n }\n\n if (!composition.objectID) {\n throw new Error('Parameter `composition.objectID` is required when calling `putComposition`.');\n }\n if (!composition.name) {\n throw new Error('Parameter `composition.name` is required when calling `putComposition`.');\n }\n if (!composition.behavior) {\n throw new Error('Parameter `composition.behavior` is required when calling `putComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'PUT',\n path: requestPath,\n queryParameters,\n headers,\n data: composition,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * If a composition rule with the provided ID already exists, it\\'s replaced. Otherwise, a new one is added.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param putCompositionRule - The putCompositionRule object.\n * @param putCompositionRule.compositionID - Unique Composition ObjectID.\n * @param putCompositionRule.objectID - Unique identifier of a rule object.\n * @param putCompositionRule.compositionRule - The compositionRule object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n putCompositionRule(\n { compositionID, objectID, compositionRule }: PutCompositionRuleProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `putCompositionRule`.');\n }\n\n if (!objectID) {\n throw new Error('Parameter `objectID` is required when calling `putCompositionRule`.');\n }\n\n if (!compositionRule) {\n throw new Error('Parameter `compositionRule` is required when calling `putCompositionRule`.');\n }\n\n if (!compositionRule.objectID) {\n throw new Error('Parameter `compositionRule.objectID` is required when calling `putCompositionRule`.');\n }\n if (!compositionRule.consequence) {\n throw new Error('Parameter `compositionRule.consequence` is required when calling `putCompositionRule`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{objectID}', encodeURIComponent(objectID));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'PUT',\n path: requestPath,\n queryParameters,\n headers,\n data: compositionRule,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Create or update or delete multiple composition rules.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param saveRules - The saveRules object.\n * @param saveRules.compositionID - Unique Composition ObjectID.\n * @param saveRules.rules - The rules object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n saveRules(\n { compositionID, rules }: SaveRulesProps,\n requestOptions?: RequestOptions,\n ): Promise<RulesMultipleBatchResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `saveRules`.');\n }\n\n if (!rules) {\n throw new Error('Parameter `rules` is required when calling `saveRules`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/batch'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: rules,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Runs a query on a single composition and returns matching results.\n *\n * Required API Key ACLs:\n * - search\n * @param search - The search object.\n * @param search.compositionID - Unique Composition ObjectID.\n * @param search.requestBody - The requestBody object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n search<T>(\n { compositionID, requestBody }: SearchProps,\n requestOptions?: RequestOptions,\n ): Promise<SearchResponse<T>> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `search`.');\n }\n\n if (!requestBody) {\n throw new Error('Parameter `requestBody` is required when calling `search`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/run'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: requestBody,\n useReadTransporter: true,\n cacheable: true,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Searches for composition rules in your index.\n *\n * Required API Key ACLs:\n * - settings\n * @param searchCompositionRules - The searchCompositionRules object.\n * @param searchCompositionRules.compositionID - Unique Composition ObjectID.\n * @param searchCompositionRules.searchCompositionRulesParams - The searchCompositionRulesParams object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n searchCompositionRules(\n { compositionID, searchCompositionRulesParams }: SearchCompositionRulesProps,\n requestOptions?: RequestOptions,\n ): Promise<SearchCompositionRulesResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `searchCompositionRules`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/rules/search'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: searchCompositionRulesParams ? searchCompositionRulesParams : {},\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Searches for values of a specified facet attribute on the composition\\'s main source\\'s index. - By default, facet values are sorted by decreasing count. You can adjust this with the `sortFacetValueBy` parameter. - Searching for facet values doesn\\'t work if you have **more than 65 searchable facets and searchable attributes combined**.\n *\n * Required API Key ACLs:\n * - search\n * @param searchForFacetValues - The searchForFacetValues object.\n * @param searchForFacetValues.compositionID - Unique Composition ObjectID.\n * @param searchForFacetValues.facetName - Facet attribute in which to search for values. This attribute must be included in the `attributesForFaceting` index setting with the `searchable()` modifier.\n * @param searchForFacetValues.searchForFacetValuesRequest - The searchForFacetValuesRequest object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n searchForFacetValues(\n { compositionID, facetName, searchForFacetValuesRequest }: SearchForFacetValuesProps,\n requestOptions?: RequestOptions,\n ): Promise<SearchForFacetValuesResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `searchForFacetValues`.');\n }\n\n if (!facetName) {\n throw new Error('Parameter `facetName` is required when calling `searchForFacetValues`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/facets/{facetName}/query'\n .replace('{compositionID}', encodeURIComponent(compositionID))\n .replace('{facetName}', encodeURIComponent(facetName));\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: searchForFacetValuesRequest ? searchForFacetValuesRequest : {},\n useReadTransporter: true,\n cacheable: true,\n };\n\n return transporter.request(request, requestOptions);\n },\n\n /**\n * Updates the \\\"sortingStrategy\\\" field of an existing composition. This endpoint lets you create a new sorting strategy mapping or replace the configured one. The provided sorting indices must be associated indices or replicas of the main targeted index. This endpoint can\\'t validate whether the sort index is related to the composition\\'s main index. Validation fails at runtime if the index you updated isn\\'t related. The update is applied to the specified composition within the current Algolia application and returns a taskID that can be used to track the operation’s completion.\n *\n * Required API Key ACLs:\n * - editSettings\n * @param updateSortingStrategyComposition - The updateSortingStrategyComposition object.\n * @param updateSortingStrategyComposition.compositionID - Unique Composition ObjectID.\n * @param updateSortingStrategyComposition.requestBody - The requestBody object.\n * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n */\n updateSortingStrategyComposition(\n { compositionID, requestBody }: UpdateSortingStrategyCompositionProps,\n requestOptions?: RequestOptions,\n ): Promise<TaskIDResponse> {\n if (!compositionID) {\n throw new Error('Parameter `compositionID` is required when calling `updateSortingStrategyComposition`.');\n }\n\n if (!requestBody) {\n throw new Error('Parameter `requestBody` is required when calling `updateSortingStrategyComposition`.');\n }\n\n const requestPath = '/1/compositions/{compositionID}/sortingStrategy'.replace(\n '{compositionID}',\n encodeURIComponent(compositionID),\n );\n const headers: Headers = {};\n const queryParameters: QueryParameters = {};\n\n const request: Request = {\n method: 'POST',\n path: requestPath,\n queryParameters,\n headers,\n data: requestBody,\n };\n\n return transporter.request(request, requestOptions);\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function j(r){let e,a=`algolia-client-js-${r.key}`;function s(){return e===void 0&&(e=r.localStorage||window.localStorage),e}function m(){return JSON.parse(s().getItem(a)||"{}")}function h(t){s().setItem(a,JSON.stringify(t))}function c(){let t=r.timeToLive?r.timeToLive*1e3:null,o=m(),n=Object.fromEntries(Object.entries(o).filter(([,l])=>l.timestamp!==void 0));if(h(n),!t)return;let u=Object.fromEntries(Object.entries(n).filter(([,l])=>{let p=new Date().getTime();return!(l.timestamp+t<p)}));h(u)}return{get(t,o,n={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(c(),m()[JSON.stringify(t)])).then(u=>Promise.all([u?u.value:o(),u!==void 0])).then(([u,l])=>Promise.all([u,l||n.miss(u)])).then(([u])=>u)},set(t,o){return Promise.resolve().then(()=>{let n=m();return n[JSON.stringify(t)]={timestamp:new Date().getTime(),value:o},s().setItem(a,JSON.stringify(n)),o})},delete(t){return Promise.resolve().then(()=>{let o=m();delete o[JSON.stringify(t)],s().setItem(a,JSON.stringify(o))})},clear(){return Promise.resolve().then(()=>{s().removeItem(a)})}}}function Y(){return{get(r,e,a={miss:()=>Promise.resolve()}){return e().then(m=>Promise.all([m,a.miss(m)])).then(([m])=>m)},set(r,e){return Promise.resolve(e)},delete(r){return Promise.resolve()},clear(){return Promise.resolve()}}}function y(r){let e=[...r.caches],a=e.shift();return a===void 0?Y():{get(s,m,h={miss:()=>Promise.resolve()}){return a.get(s,m,h).catch(()=>y({caches:e}).get(s,m,h))},set(s,m){return a.set(s,m).catch(()=>y({caches:e}).set(s,m))},delete(s){return a.delete(s).catch(()=>y({caches:e}).delete(s))},clear(){return a.clear().catch(()=>y({caches:e}).clear())}}}function I(r={serializable:!0}){let e={};return{get(a,s,m={miss:()=>Promise.resolve()}){let h=JSON.stringify(a);if(h in e)return Promise.resolve(r.serializable?JSON.parse(e[h]):e[h]);let c=s();return c.then(t=>m.miss(t)).then(()=>c)},set(a,s){return e[JSON.stringify(a)]=r.serializable?JSON.stringify(s):s,Promise.resolve(s)},delete(a){return delete e[JSON.stringify(a)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function Z(r){let e={value:`Algolia for JavaScript (${r})`,add(a){let s=`; ${a.segment}${a.version!==void 0?` (${a.version})`:""}`;return e.value.indexOf(s)===-1&&(e.value=`${e.value}${s}`),e}};return e}function L(r,e,a="WithinHeaders"){let s={"x-algolia-api-key":e,"x-algolia-application-id":r};return{headers(){return a==="WithinHeaders"?s:{}},queryParameters(){return a==="WithinQueryParameters"?s:{}}}}function $({func:r,validate:e,aggregator:a,error:s,timeout:m=()=>0}){let h=c=>new Promise((t,o)=>{r(c).then(async n=>(a&&await a(n),await e(n)?t(n):s&&await s.validate(n)?o(new Error(await s.message(n))):setTimeout(()=>{h(n).then(t).catch(o)},await m()))).catch(n=>{o(n)})});return h()}function Q({algoliaAgents:r,client:e,version:a}){let s=Z(a).add({segment:e,version:a});return r.forEach(m=>s.add(m)),s}function G(){return{debug(r,e){return Promise.resolve()},info(r,e){return Promise.resolve()},error(r,e){return Promise.resolve()}}}var _=120*1e3;function F(r,e="up"){let a=Date.now();function s(){return e==="up"||Date.now()-a>_}function m(){return e==="timed out"&&Date.now()-a<=_}return{...r,status:e,lastUpdate:a,isUp:s,isTimedOut:m}}var W=class extends Error{name="AlgoliaError";constructor(r,e){super(r),e&&(this.name=e)}};var M=class extends W{stackTrace;constructor(r,e,a){super(r,a),this.stackTrace=e}},ee=class extends M{constructor(r){super("Unreachable hosts - your application id may be incorrect. If the error persists, please visit our help center https://alg.li/support-unreachable-hosts or reach out to the Algolia Support team: https://alg.li/support",r,"RetryError")}},b=class extends M{status;constructor(r,e,a,s="ApiError"){super(r,a,s),this.status=e}},re=class extends W{response;constructor(r,e){super(r,"DeserializationError"),this.response=e}},te=class extends b{error;constructor(r,e,a,s){super(r,e,s,"DetailedApiError"),this.error=a}};function B(r){let e=r;for(let a=r.length-1;a>0;a--){let s=Math.floor(Math.random()*(a+1)),m=r[a];e[a]=r[s],e[s]=m}return e}function oe(r,e,a){let s=se(a),m=`${r.protocol}://${r.url}${r.port?`:${r.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return s.length&&(m+=`?${s}`),m}function se(r){return Object.keys(r).filter(e=>r[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(r[e])==="[object Array]"?r[e].join(","):r[e]).replace(/\+/g,"%20")}`).join("&")}function ae(r,e){if(r.method==="GET"||r.data===void 0&&e.data===void 0)return;let a=Array.isArray(r.data)?r.data:{...r.data,...e.data};return JSON.stringify(a)}function ne(r,e,a){let s={Accept:"application/json",...r,...e,...a},m={};return Object.keys(s).forEach(h=>{let c=s[h];m[h.toLowerCase()]=c}),m}function ie(r){try{return JSON.parse(r.content)}catch(e){throw new re(e.message,r)}}function me({content:r,status:e},a){try{let s=JSON.parse(r);return"error"in s?new te(s.message,e,s.error,a):new b(s.message,e,a)}catch{}return new b(r,e,a)}function ce({isTimedOut:r,status:e}){return!r&&~~e===0}function ue({isTimedOut:r,status:e}){return r||ce({isTimedOut:r,status:e})||~~(e/100)!==2&&~~(e/100)!==4}function pe({status:r}){return~~(r/100)===2}function le(r){return r.map(e=>J(e))}function J(r){let e=r.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...r,request:{...r.request,headers:{...r.request.headers,...e}}}}function z({hosts:r,hostsCache:e,baseHeaders:a,logger:s,baseQueryParameters:m,algoliaAgent:h,timeouts:c,requester:t,requestsCache:o,responsesCache:n}){async function u(i){let d=await Promise.all(i.map(f=>e.get(f,()=>Promise.resolve(F(f))))),w=d.filter(f=>f.isUp()),g=d.filter(f=>f.isTimedOut()),C=[...w,...g];return{hosts:C.length>0?C:i,getTimeout(f,x){return(g.length===0&&f===0?1:g.length+3+f)*x}}}async function l(i,d,w){let g=[],C=ae(i,d),q=ne(a,i.headers,d.headers),f=i.method==="GET"?{...i.data,...d.data}:{},x={...m,...i.queryParameters,...f};if(h.value&&(x["x-algolia-agent"]=h.value),d&&d.queryParameters)for(let P of Object.keys(d.queryParameters))!d.queryParameters[P]||Object.prototype.toString.call(d.queryParameters[P])==="[object Object]"?x[P]=d.queryParameters[P]:x[P]=d.queryParameters[P].toString();let T=0,A=async(P,v)=>{let E=P.pop();if(E===void 0)throw new ee(le(g));let S={...c,...d.timeouts},U={data:C,headers:q,method:i.method,url:oe(E,i.path,x),connectTimeout:v(T,S.connect),responseTimeout:v(T,w?S.read:S.write)},N=O=>{let H={request:U,response:O,host:E,triesLeft:P.length};return g.push(H),H},R=await t.send(U);if(ue(R)){let O=N(R);return R.isTimedOut&&T++,s.info("Retryable failure",J(O)),await e.set(E,F(E,R.isTimedOut?"timed out":"down")),A(P,v)}if(pe(R))return ie(R);throw N(R),me(R,g)},K=r.filter(P=>P.accept==="readWrite"||(w?P.accept==="read":P.accept==="write")),k=await u(K);return A([...k.hosts].reverse(),k.getTimeout)}function p(i,d={}){let w=()=>l(i,d,g),g=i.useReadTransporter||i.method==="GET";if((d.cacheable||i.cacheable)!==!0)return w();let q={request:i,requestOptions:d,transporter:{queryParameters:m,headers:a}};return n.get(q,()=>o.get(q,()=>o.set(q,w()).then(f=>Promise.all([o.delete(q),f]),f=>Promise.all([o.delete(q),Promise.reject(f)])).then(([f,x])=>x)),{miss:f=>n.set(q,f)})}return{hostsCache:e,requester:t,timeouts:c,logger:s,algoliaAgent:h,baseHeaders:a,baseQueryParameters:m,hosts:r,request:p,requestsCache:o,responsesCache:n}}function V(){function r(e){return new Promise(a=>{let s=new XMLHttpRequest;s.open(e.method,e.url,!0),Object.keys(e.headers).forEach(t=>s.setRequestHeader(t,e.headers[t]));let m=(t,o)=>setTimeout(()=>{s.abort(),a({status:0,content:o,isTimedOut:!0})},t),h=m(e.connectTimeout,"Connection timeout"),c;s.onreadystatechange=()=>{s.readyState>s.OPENED&&c===void 0&&(clearTimeout(h),c=m(e.responseTimeout,"Socket timeout"))},s.onerror=()=>{s.status===0&&(clearTimeout(h),clearTimeout(c),a({content:s.responseText||"Network request failed",status:s.status,isTimedOut:!1}))},s.onload=()=>{clearTimeout(h),clearTimeout(c),a({content:s.responseText,status:s.status,isTimedOut:!1})},s.send(e.data)})}return{send:r}}var D="1.24.2";function he(r){return[{url:`${r}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${r}.algolia.net`,accept:"write",protocol:"https"}].concat(B([{url:`${r}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${r}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${r}-3.algolianet.com`,accept:"readWrite",protocol:"https"}]))}function X({appId:r,apiKey:e,authMode:a,algoliaAgents:s,...m}){let h=L(r,e,a),c=z({hosts:he(r),...m,algoliaAgent:Q({algoliaAgents:s,client:"Composition",version:D}),baseHeaders:{"content-type":"text/plain",...h.headers(),...m.baseHeaders},baseQueryParameters:{...h.queryParameters(),...m.baseQueryParameters}});return{transporter:c,appId:r,apiKey:e,clearCache(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then(()=>{})},get _ua(){return c.algoliaAgent.value},addAlgoliaAgent(t,o){c.algoliaAgent.add({segment:t,version:o})},setClientApiKey({apiKey:t}){!a||a==="WithinHeaders"?c.baseHeaders["x-algolia-api-key"]=t:c.baseQueryParameters["x-algolia-api-key"]=t},waitForCompositionTask({compositionID:t,taskID:o,maxRetries:n=50,timeout:u=p=>Math.min(p*200,5e3)},l){let p=0;return $({func:()=>this.getTask({compositionID:t,taskID:o},l),validate:i=>i.status==="published",aggregator:()=>p+=1,error:{validate:()=>p>=n,message:()=>`The maximum number of retries exceeded. (${p}/${n})`},timeout:()=>u(p)})},customDelete({path:t,parameters:o},n){if(!t)throw new Error("Parameter `path` is required when calling `customDelete`.");let i={method:"DELETE",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{}};return c.request(i,n)},customGet({path:t,parameters:o},n){if(!t)throw new Error("Parameter `path` is required when calling `customGet`.");let i={method:"GET",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{}};return c.request(i,n)},customPost({path:t,parameters:o,body:n},u){if(!t)throw new Error("Parameter `path` is required when calling `customPost`.");let d={method:"POST",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{},data:n||{}};return c.request(d,u)},customPut({path:t,parameters:o,body:n},u){if(!t)throw new Error("Parameter `path` is required when calling `customPut`.");let d={method:"PUT",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{},data:n||{}};return c.request(d,u)},deleteComposition({compositionID:t},o){if(!t)throw new Error("Parameter `compositionID` is required when calling `deleteComposition`.");let p={method:"DELETE",path:"/1/compositions/{compositionID}".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return c.request(p,o)},deleteCompositionRule({compositionID:t,objectID:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `deleteCompositionRule`.");if(!o)throw new Error("Parameter `objectID` is required when calling `deleteCompositionRule`.");let i={method:"DELETE",path:"/1/compositions/{compositionID}/rules/{objectID}".replace("{compositionID}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(o)),queryParameters:{},headers:{}};return c.request(i,n)},getComposition({compositionID:t},o){if(!t)throw new Error("Parameter `compositionID` is required when calling `getComposition`.");let p={method:"GET",path:"/1/compositions/{compositionID}".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return c.request(p,o)},getRule({compositionID:t,objectID:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `getRule`.");if(!o)throw new Error("Parameter `objectID` is required when calling `getRule`.");let i={method:"GET",path:"/1/compositions/{compositionID}/rules/{objectID}".replace("{compositionID}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(o)),queryParameters:{},headers:{}};return c.request(i,n)},getTask({compositionID:t,taskID:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `getTask`.");if(!o)throw new Error("Parameter `taskID` is required when calling `getTask`.");let i={method:"GET",path:"/1/compositions/{compositionID}/task/{taskID}".replace("{compositionID}",encodeURIComponent(t)).replace("{taskID}",encodeURIComponent(o)),queryParameters:{},headers:{}};return c.request(i,n)},listCompositions({page:t,hitsPerPage:o}={},n=void 0){let u="/1/compositions",l={},p={};t!==void 0&&(p.page=t.toString()),o!==void 0&&(p.hitsPerPage=o.toString());let i={method:"GET",path:u,queryParameters:p,headers:l};return c.request(i,n)},multipleBatch(t,o){if(!t)throw new Error("Parameter `batchParams` is required when calling `multipleBatch`.");if(!t.requests)throw new Error("Parameter `batchParams.requests` is required when calling `multipleBatch`.");let p={method:"POST",path:"/1/compositions/*/batch",queryParameters:{},headers:{},data:t};return c.request(p,o)},putComposition({compositionID:t,composition:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `putComposition`.");if(!o)throw new Error("Parameter `composition` is required when calling `putComposition`.");if(!o.objectID)throw new Error("Parameter `composition.objectID` is required when calling `putComposition`.");if(!o.name)throw new Error("Parameter `composition.name` is required when calling `putComposition`.");if(!o.behavior)throw new Error("Parameter `composition.behavior` is required when calling `putComposition`.");let i={method:"PUT",path:"/1/compositions/{compositionID}".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o};return c.request(i,n)},putCompositionRule({compositionID:t,objectID:o,compositionRule:n},u){if(!t)throw new Error("Parameter `compositionID` is required when calling `putCompositionRule`.");if(!o)throw new Error("Parameter `objectID` is required when calling `putCompositionRule`.");if(!n)throw new Error("Parameter `compositionRule` is required when calling `putCompositionRule`.");if(!n.objectID)throw new Error("Parameter `compositionRule.objectID` is required when calling `putCompositionRule`.");if(!n.consequence)throw new Error("Parameter `compositionRule.consequence` is required when calling `putCompositionRule`.");let d={method:"PUT",path:"/1/compositions/{compositionID}/rules/{objectID}".replace("{compositionID}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(o)),queryParameters:{},headers:{},data:n};return c.request(d,u)},saveRules({compositionID:t,rules:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `saveRules`.");if(!o)throw new Error("Parameter `rules` is required when calling `saveRules`.");let i={method:"POST",path:"/1/compositions/{compositionID}/rules/batch".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o};return c.request(i,n)},search({compositionID:t,requestBody:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `search`.");if(!o)throw new Error("Parameter `requestBody` is required when calling `search`.");let i={method:"POST",path:"/1/compositions/{compositionID}/run".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o,useReadTransporter:!0,cacheable:!0};return c.request(i,n)},searchCompositionRules({compositionID:t,searchCompositionRulesParams:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `searchCompositionRules`.");let i={method:"POST",path:"/1/compositions/{compositionID}/rules/search".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o||{}};return c.request(i,n)},searchForFacetValues({compositionID:t,facetName:o,searchForFacetValuesRequest:n},u){if(!t)throw new Error("Parameter `compositionID` is required when calling `searchForFacetValues`.");if(!o)throw new Error("Parameter `facetName` is required when calling `searchForFacetValues`.");let d={method:"POST",path:"/1/compositions/{compositionID}/facets/{facetName}/query".replace("{compositionID}",encodeURIComponent(t)).replace("{facetName}",encodeURIComponent(o)),queryParameters:{},headers:{},data:n||{},useReadTransporter:!0,cacheable:!0};return c.request(d,u)},updateSortingStrategyComposition({compositionID:t,requestBody:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `updateSortingStrategyComposition`.");if(!o)throw new Error("Parameter `requestBody` is required when calling `updateSortingStrategyComposition`.");let i={method:"POST",path:"/1/compositions/{compositionID}/sortingStrategy".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o};return c.request(i,n)}}}function Ft(r,e,a){if(!r||typeof r!="string")throw new Error("`appId` is missing.");if(!e||typeof e!="string")throw new Error("`apiKey` is missing.");return X({appId:r,apiKey:e,timeouts:{connect:1e3,read:2e3,write:3e4},logger:G(),requester:V(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinHeaders",responsesCache:I(),requestsCache:I({serializable:!1}),hostsCache:y({caches:[j({key:`${D}-${r}`}),I()]}),...a})}export{D as apiClientVersion,Ft as compositionClient};
|
|
1
|
+
function G(r){let e,a=`algolia-client-js-${r.key}`;function s(){return e===void 0&&(e=r.localStorage||window.localStorage),e}function i(){return JSON.parse(s().getItem(a)||"{}")}function h(t){s().setItem(a,JSON.stringify(t))}function m(){let t=r.timeToLive?r.timeToLive*1e3:null,o=i(),n=Object.fromEntries(Object.entries(o).filter(([,l])=>l.timestamp!==void 0));if(h(n),!t)return;let c=Object.fromEntries(Object.entries(n).filter(([,l])=>{let u=new Date().getTime();return!(l.timestamp+t<u)}));h(c)}return{get(t,o,n={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(m(),i()[JSON.stringify(t)])).then(c=>Promise.all([c?c.value:o(),c!==void 0])).then(([c,l])=>Promise.all([c,l||n.miss(c)])).then(([c])=>c)},set(t,o){return Promise.resolve().then(()=>{let n=i();return n[JSON.stringify(t)]={timestamp:new Date().getTime(),value:o},s().setItem(a,JSON.stringify(n)),o})},delete(t){return Promise.resolve().then(()=>{let o=i();delete o[JSON.stringify(t)],s().setItem(a,JSON.stringify(o))})},clear(){return Promise.resolve().then(()=>{s().removeItem(a)})}}}function oe(){return{get(r,e,a={miss:()=>Promise.resolve()}){return e().then(i=>Promise.all([i,a.miss(i)])).then(([i])=>i)},set(r,e){return Promise.resolve(e)},delete(r){return Promise.resolve()},clear(){return Promise.resolve()}}}function T(r){let e=[...r.caches],a=e.shift();return a===void 0?oe():{get(s,i,h={miss:()=>Promise.resolve()}){return a.get(s,i,h).catch(()=>T({caches:e}).get(s,i,h))},set(s,i){return a.set(s,i).catch(()=>T({caches:e}).set(s,i))},delete(s){return a.delete(s).catch(()=>T({caches:e}).delete(s))},clear(){return a.clear().catch(()=>T({caches:e}).clear())}}}function D(r={serializable:!0}){let e={};return{get(a,s,i={miss:()=>Promise.resolve()}){let h=JSON.stringify(a);if(h in e)return Promise.resolve(r.serializable?JSON.parse(e[h]):e[h]);let m=s();return m.then(t=>i.miss(t)).then(()=>m)},set(a,s){return e[JSON.stringify(a)]=r.serializable?JSON.stringify(s):s,Promise.resolve(s)},delete(a){return delete e[JSON.stringify(a)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function se(r){let e={value:`Algolia for JavaScript (${r})`,add(a){let s=`; ${a.segment}${a.version!==void 0?` (${a.version})`:""}`;return e.value.indexOf(s)===-1&&(e.value=`${e.value}${s}`),e}};return e}function W(r,e,a="WithinHeaders"){let s={"x-algolia-api-key":e,"x-algolia-application-id":r};return{headers(){return a==="WithinHeaders"?s:{}},queryParameters(){return a==="WithinQueryParameters"?s:{}}}}function M({func:r,validate:e,aggregator:a,error:s,timeout:i=()=>0}){let h=m=>new Promise((t,o)=>{r(m).then(async n=>(a&&await a(n),await e(n)?t(n):s&&await s.validate(n)?o(new Error(await s.message(n))):setTimeout(()=>{h(n).then(t).catch(o)},await i()))).catch(n=>{o(n)})});return h()}function B({algoliaAgents:r,client:e,version:a}){let s=se(a).add({segment:e,version:a});return r.forEach(i=>s.add(i)),s}function z(){return{debug(r,e){return Promise.resolve()},info(r,e){return Promise.resolve()},error(r,e){return Promise.resolve()}}}var ae=750,$=120*1e3;function Q(r,e="up"){let a=Date.now();function s(){return e==="up"||Date.now()-a>$}function i(){return e==="timed out"&&Date.now()-a<=$}return{...r,status:e,lastUpdate:a,isUp:s,isTimedOut:i}}var J=class extends Error{name="AlgoliaError";constructor(r,e){super(r),e&&(this.name=e)}};var V=class extends J{stackTrace;constructor(r,e,a){super(r,a),this.stackTrace=e}},ne=class extends V{constructor(r){super("Unreachable hosts - your application id may be incorrect. If the error persists, please visit our help center https://alg.li/support-unreachable-hosts or reach out to the Algolia Support team: https://alg.li/support",r,"RetryError")}},U=class extends V{status;constructor(r,e,a,s="ApiError"){super(r,a,s),this.status=e}},ie=class extends J{response;constructor(r,e){super(r,"DeserializationError"),this.response=e}},me=class extends U{error;constructor(r,e,a,s){super(r,e,s,"DetailedApiError"),this.error=a}};function X(r){let e=r;for(let a=r.length-1;a>0;a--){let s=Math.floor(Math.random()*(a+1)),i=r[a];e[a]=r[s],e[s]=i}return e}function ce(r,e,a){let s=ue(a),i=`${r.protocol}://${r.url}${r.port?`:${r.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return s.length&&(i+=`?${s}`),i}function ue(r){return Object.keys(r).filter(e=>r[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(r[e])==="[object Array]"?r[e].join(","):r[e]).replace(/\+/g,"%20")}`).join("&")}function pe(r,e){if(r.method==="GET"||r.data===void 0&&e.data===void 0)return;let a=Array.isArray(r.data)?r.data:{...r.data,...e.data};return JSON.stringify(a)}function le(r,e,a){let s={Accept:"application/json",...r,...e,...a},i={};return Object.keys(s).forEach(h=>{let m=s[h];i[h.toLowerCase()]=m}),i}function he(r){try{return JSON.parse(r.content)}catch(e){throw new ie(e.message,r)}}function de({content:r,status:e},a){try{let s=JSON.parse(r);return"error"in s?new me(s.message,e,s.error,a):new U(s.message,e,a)}catch{}return new U(r,e,a)}function fe({isTimedOut:r,status:e}){return!r&&~~e===0}function Pe({isTimedOut:r,status:e}){return r||fe({isTimedOut:r,status:e})||~~(e/100)!==2&&~~(e/100)!==4}function ge({status:r}){return~~(r/100)===2}function qe(r){return r.map(e=>K(e))}function K(r){let e=r.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...r,request:{...r.request,headers:{...r.request.headers,...e}}}}function Y({hosts:r,hostsCache:e,baseHeaders:a,logger:s,baseQueryParameters:i,algoliaAgent:h,timeouts:m,requester:t,requestsCache:o,responsesCache:n,compress:c,compression:l}){async function u(f){let P=await Promise.all(f.map(d=>e.get(d,()=>Promise.resolve(Q(d))))),C=P.filter(d=>d.isUp()),R=P.filter(d=>d.isTimedOut()),w=[...C,...R];return{hosts:w.length>0?w:f,getTimeout(d,E){return(R.length===0&&d===0?1:R.length+3+d)*E}}}async function p(f,P,C){let R=[],w=pe(f,P),q=le(a,f.headers,P.headers),d=l==="gzip"&&w!==void 0&&w.length>ae&&(f.method==="POST"||f.method==="PUT");d&&c===void 0&&s.info("Compression is disabled because no compress method is available.");let E=d&&c!==void 0,N=E?await c(w):w;E&&(q["content-encoding"]="gzip");let re=f.method==="GET"?{...f.data,...P.data}:{},v={...i,...f.queryParameters,...re};if(h.value&&(v["x-algolia-agent"]=h.value),P&&P.queryParameters)for(let g of Object.keys(P.queryParameters))!P.queryParameters[g]||Object.prototype.toString.call(P.queryParameters[g])==="[object Object]"?v[g]=P.queryParameters[g]:v[g]=P.queryParameters[g].toString();let O=0,H=async(g,b)=>{let I=g.pop();if(I===void 0)throw new ne(qe(R));let A={...m,...P.timeouts},F={data:N,headers:q,method:f.method,url:ce(I,f.path,v),connectTimeout:b(O,A.connect),responseTimeout:b(O,C?A.read:A.write)},L=k=>{let j={request:F,response:k,host:I,triesLeft:g.length};return R.push(j),j},y=await t.send(F);if(Pe(y)){let k=L(y);return y.isTimedOut&&O++,s.info("Retryable failure",K(k)),await e.set(I,Q(I,y.isTimedOut?"timed out":"down")),H(g,b)}if(ge(y))return he(y);throw L(y),de(y,R)},te=r.filter(g=>g.accept==="readWrite"||(C?g.accept==="read":g.accept==="write")),_=await u(te);return H([..._.hosts].reverse(),_.getTimeout)}function x(f,P={}){let C=()=>p(f,P,R),R=f.useReadTransporter||f.method==="GET";if((P.cacheable||f.cacheable)!==!0)return C();let q={request:f,requestOptions:P,transporter:{queryParameters:i,headers:a}};return n.get(q,()=>o.get(q,()=>o.set(q,C()).then(d=>Promise.all([o.delete(q),d]),d=>Promise.all([o.delete(q),Promise.reject(d)])).then(([d,E])=>E)),{miss:d=>n.set(q,d)})}return{hostsCache:e,requester:t,timeouts:m,logger:s,algoliaAgent:h,baseHeaders:a,baseQueryParameters:i,hosts:r,request:x,requestsCache:o,responsesCache:n}}function Z(){function r(e){return new Promise(a=>{let s=new XMLHttpRequest;s.open(e.method,e.url,!0),Object.keys(e.headers).forEach(t=>s.setRequestHeader(t,e.headers[t]));let i=(t,o)=>setTimeout(()=>{s.abort(),a({status:0,content:o,isTimedOut:!0})},t),h=i(e.connectTimeout,"Connection timeout"),m;s.onreadystatechange=()=>{s.readyState>s.OPENED&&m===void 0&&(clearTimeout(h),m=i(e.responseTimeout,"Socket timeout"))},s.onerror=()=>{s.status===0&&(clearTimeout(h),clearTimeout(m),a({content:s.responseText||"Network request failed",status:s.status,isTimedOut:!1}))},s.onload=()=>{clearTimeout(h),clearTimeout(m),a({content:s.responseText,status:s.status,isTimedOut:!1})},s.send(e.data)})}return{send:r}}var S="1.25.1";function xe(r){return[{url:`${r}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${r}.algolia.net`,accept:"write",protocol:"https"}].concat(X([{url:`${r}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${r}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${r}-3.algolianet.com`,accept:"readWrite",protocol:"https"}]))}function ee({appId:r,apiKey:e,authMode:a,algoliaAgents:s,...i}){let h=W(r,e,a),m=Y({hosts:xe(r),...i,algoliaAgent:B({algoliaAgents:s,client:"Composition",version:S}),baseHeaders:{"content-type":"text/plain",...h.headers(),...i.baseHeaders},baseQueryParameters:{...h.queryParameters(),...i.baseQueryParameters}});return{transporter:m,appId:r,apiKey:e,clearCache(){return Promise.all([m.requestsCache.clear(),m.responsesCache.clear()]).then(()=>{})},get _ua(){return m.algoliaAgent.value},addAlgoliaAgent(t,o){m.algoliaAgent.add({segment:t,version:o})},setClientApiKey({apiKey:t}){!a||a==="WithinHeaders"?m.baseHeaders["x-algolia-api-key"]=t:m.baseQueryParameters["x-algolia-api-key"]=t},waitForCompositionTask({compositionID:t,taskID:o,maxRetries:n=50,timeout:c=u=>Math.min(u*200,5e3)},l){let u=0;return M({func:()=>this.getTask({compositionID:t,taskID:o},l),validate:p=>p.status==="published",aggregator:()=>u+=1,error:{validate:()=>u>=n,message:()=>`The maximum number of retries exceeded. (${u}/${n})`},timeout:()=>c(u)})},customDelete({path:t,parameters:o},n){if(!t)throw new Error("Parameter `path` is required when calling `customDelete`.");let p={method:"DELETE",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{}};return m.request(p,n)},customGet({path:t,parameters:o},n){if(!t)throw new Error("Parameter `path` is required when calling `customGet`.");let p={method:"GET",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{}};return m.request(p,n)},customPost({path:t,parameters:o,body:n},c){if(!t)throw new Error("Parameter `path` is required when calling `customPost`.");let x={method:"POST",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{},data:n||{}};return m.request(x,c)},customPut({path:t,parameters:o,body:n},c){if(!t)throw new Error("Parameter `path` is required when calling `customPut`.");let x={method:"PUT",path:"/{path}".replace("{path}",t),queryParameters:o||{},headers:{},data:n||{}};return m.request(x,c)},deleteComposition({compositionID:t},o){if(!t)throw new Error("Parameter `compositionID` is required when calling `deleteComposition`.");let u={method:"DELETE",path:"/1/compositions/{compositionID}".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return m.request(u,o)},deleteCompositionRule({compositionID:t,objectID:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `deleteCompositionRule`.");if(!o)throw new Error("Parameter `objectID` is required when calling `deleteCompositionRule`.");let p={method:"DELETE",path:"/1/compositions/{compositionID}/rules/{objectID}".replace("{compositionID}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(o)),queryParameters:{},headers:{}};return m.request(p,n)},getComposition({compositionID:t},o){if(!t)throw new Error("Parameter `compositionID` is required when calling `getComposition`.");let u={method:"GET",path:"/1/compositions/{compositionID}".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return m.request(u,o)},getRule({compositionID:t,objectID:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `getRule`.");if(!o)throw new Error("Parameter `objectID` is required when calling `getRule`.");let p={method:"GET",path:"/1/compositions/{compositionID}/rules/{objectID}".replace("{compositionID}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(o)),queryParameters:{},headers:{}};return m.request(p,n)},getTask({compositionID:t,taskID:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `getTask`.");if(!o)throw new Error("Parameter `taskID` is required when calling `getTask`.");let p={method:"GET",path:"/1/compositions/{compositionID}/task/{taskID}".replace("{compositionID}",encodeURIComponent(t)).replace("{taskID}",encodeURIComponent(o)),queryParameters:{},headers:{}};return m.request(p,n)},listCompositions({page:t,hitsPerPage:o}={},n=void 0){let c="/1/compositions",l={},u={};t!==void 0&&(u.page=t.toString()),o!==void 0&&(u.hitsPerPage=o.toString());let p={method:"GET",path:c,queryParameters:u,headers:l};return m.request(p,n)},multipleBatch(t,o){if(!t)throw new Error("Parameter `batchParams` is required when calling `multipleBatch`.");if(!t.requests)throw new Error("Parameter `batchParams.requests` is required when calling `multipleBatch`.");let u={method:"POST",path:"/1/compositions/*/batch",queryParameters:{},headers:{},data:t};return m.request(u,o)},putComposition({compositionID:t,composition:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `putComposition`.");if(!o)throw new Error("Parameter `composition` is required when calling `putComposition`.");if(!o.objectID)throw new Error("Parameter `composition.objectID` is required when calling `putComposition`.");if(!o.name)throw new Error("Parameter `composition.name` is required when calling `putComposition`.");if(!o.behavior)throw new Error("Parameter `composition.behavior` is required when calling `putComposition`.");let p={method:"PUT",path:"/1/compositions/{compositionID}".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o};return m.request(p,n)},putCompositionRule({compositionID:t,objectID:o,compositionRule:n},c){if(!t)throw new Error("Parameter `compositionID` is required when calling `putCompositionRule`.");if(!o)throw new Error("Parameter `objectID` is required when calling `putCompositionRule`.");if(!n)throw new Error("Parameter `compositionRule` is required when calling `putCompositionRule`.");if(!n.objectID)throw new Error("Parameter `compositionRule.objectID` is required when calling `putCompositionRule`.");if(!n.consequence)throw new Error("Parameter `compositionRule.consequence` is required when calling `putCompositionRule`.");let x={method:"PUT",path:"/1/compositions/{compositionID}/rules/{objectID}".replace("{compositionID}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(o)),queryParameters:{},headers:{},data:n};return m.request(x,c)},saveRules({compositionID:t,rules:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `saveRules`.");if(!o)throw new Error("Parameter `rules` is required when calling `saveRules`.");let p={method:"POST",path:"/1/compositions/{compositionID}/rules/batch".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o};return m.request(p,n)},search({compositionID:t,requestBody:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `search`.");if(!o)throw new Error("Parameter `requestBody` is required when calling `search`.");let p={method:"POST",path:"/1/compositions/{compositionID}/run".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o,useReadTransporter:!0,cacheable:!0};return m.request(p,n)},searchCompositionRules({compositionID:t,searchCompositionRulesParams:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `searchCompositionRules`.");let p={method:"POST",path:"/1/compositions/{compositionID}/rules/search".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o||{}};return m.request(p,n)},searchForFacetValues({compositionID:t,facetName:o,searchForFacetValuesRequest:n},c){if(!t)throw new Error("Parameter `compositionID` is required when calling `searchForFacetValues`.");if(!o)throw new Error("Parameter `facetName` is required when calling `searchForFacetValues`.");let x={method:"POST",path:"/1/compositions/{compositionID}/facets/{facetName}/query".replace("{compositionID}",encodeURIComponent(t)).replace("{facetName}",encodeURIComponent(o)),queryParameters:{},headers:{},data:n||{},useReadTransporter:!0,cacheable:!0};return m.request(x,c)},updateSortingStrategyComposition({compositionID:t,requestBody:o},n){if(!t)throw new Error("Parameter `compositionID` is required when calling `updateSortingStrategyComposition`.");if(!o)throw new Error("Parameter `requestBody` is required when calling `updateSortingStrategyComposition`.");let p={method:"POST",path:"/1/compositions/{compositionID}/sortingStrategy".replace("{compositionID}",encodeURIComponent(t)),queryParameters:{},headers:{},data:o};return m.request(p,n)}}}function Wt(r,e,a){if(!r||typeof r!="string")throw new Error("`appId` is missing.");if(!e||typeof e!="string")throw new Error("`apiKey` is missing.");let{compression:s,...i}=a||{};return ee({appId:r,apiKey:e,timeouts:{connect:1e3,read:2e3,write:3e4},logger:z(),requester:Z(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinHeaders",responsesCache:D(),requestsCache:D({serializable:!1}),hostsCache:T({caches:[G({key:`${S}-${r}`}),D()]}),...i})}export{S as apiClientVersion,Wt as compositionClient};
|
|
2
2
|
//# sourceMappingURL=browser.min.js.map
|