@algolia/client-search 4.14.2 → 5.0.0-alpha.3

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.
Files changed (477) hide show
  1. package/dist/builds/browser.d.ts +6 -0
  2. package/dist/builds/browser.d.ts.map +1 -0
  3. package/dist/builds/node.d.ts +6 -0
  4. package/dist/builds/node.d.ts.map +1 -0
  5. package/dist/client-search.cjs.js +1848 -1340
  6. package/dist/client-search.esm.browser.js +2643 -0
  7. package/dist/client-search.esm.node.js +1872 -0
  8. package/dist/client-search.umd.js +2 -0
  9. package/dist/model/acl.d.ts +2 -0
  10. package/dist/model/acl.d.ts.map +1 -0
  11. package/dist/model/action.d.ts +5 -0
  12. package/dist/model/action.d.ts.map +1 -0
  13. package/dist/model/addApiKeyResponse.d.ts +11 -0
  14. package/dist/model/addApiKeyResponse.d.ts.map +1 -0
  15. package/dist/model/advancedSyntaxFeatures.d.ts +2 -0
  16. package/dist/model/advancedSyntaxFeatures.d.ts.map +1 -0
  17. package/dist/model/alternativesAsExact.d.ts +2 -0
  18. package/dist/model/alternativesAsExact.d.ts.map +1 -0
  19. package/dist/model/anchoring.d.ts +5 -0
  20. package/dist/model/anchoring.d.ts.map +1 -0
  21. package/dist/model/apiKey.d.ts +39 -0
  22. package/dist/model/apiKey.d.ts.map +1 -0
  23. package/dist/model/aroundRadius.d.ts +6 -0
  24. package/dist/model/aroundRadius.d.ts.map +1 -0
  25. package/dist/model/aroundRadiusAll.d.ts +2 -0
  26. package/dist/model/aroundRadiusAll.d.ts.map +1 -0
  27. package/dist/model/assignUserIdParams.d.ts +10 -0
  28. package/dist/model/assignUserIdParams.d.ts.map +1 -0
  29. package/dist/model/attributeOrBuiltInOperation.d.ts +3 -0
  30. package/dist/model/attributeOrBuiltInOperation.d.ts.map +1 -0
  31. package/dist/model/automaticFacetFilter.d.ts +18 -0
  32. package/dist/model/automaticFacetFilter.d.ts.map +1 -0
  33. package/dist/model/automaticFacetFilters.d.ts +6 -0
  34. package/dist/model/automaticFacetFilters.d.ts.map +1 -0
  35. package/dist/model/baseBrowseResponse.d.ts +7 -0
  36. package/dist/model/baseBrowseResponse.d.ts.map +1 -0
  37. package/dist/model/baseIndexSettings.d.ts +59 -0
  38. package/dist/model/baseIndexSettings.d.ts.map +1 -0
  39. package/dist/model/baseSearchParams.d.ts +4 -0
  40. package/dist/model/baseSearchParams.d.ts.map +1 -0
  41. package/dist/model/baseSearchParamsWithoutQuery.d.ts +123 -0
  42. package/dist/model/baseSearchParamsWithoutQuery.d.ts.map +1 -0
  43. package/dist/model/baseSearchResponse.d.ts +102 -0
  44. package/dist/model/baseSearchResponse.d.ts.map +1 -0
  45. package/dist/model/batchAssignUserIdsParams.d.ts +14 -0
  46. package/dist/model/batchAssignUserIdsParams.d.ts.map +1 -0
  47. package/dist/model/batchDictionaryEntriesParams.d.ts +15 -0
  48. package/dist/model/batchDictionaryEntriesParams.d.ts.map +1 -0
  49. package/dist/model/batchDictionaryEntriesRequest.d.ts +7 -0
  50. package/dist/model/batchDictionaryEntriesRequest.d.ts.map +1 -0
  51. package/dist/model/batchParams.d.ts +8 -0
  52. package/dist/model/batchParams.d.ts.map +1 -0
  53. package/dist/model/batchRequest.d.ts +9 -0
  54. package/dist/model/batchRequest.d.ts.map +1 -0
  55. package/dist/model/batchResponse.d.ts +11 -0
  56. package/dist/model/batchResponse.d.ts.map +1 -0
  57. package/dist/model/batchWriteParams.d.ts +8 -0
  58. package/dist/model/batchWriteParams.d.ts.map +1 -0
  59. package/dist/model/browseRequest.d.ts +11 -0
  60. package/dist/model/browseRequest.d.ts.map +1 -0
  61. package/dist/model/browseResponse.d.ts +5 -0
  62. package/dist/model/browseResponse.d.ts.map +1 -0
  63. package/dist/model/builtInOperation.d.ts +12 -0
  64. package/dist/model/builtInOperation.d.ts.map +1 -0
  65. package/dist/model/builtInOperationType.d.ts +5 -0
  66. package/dist/model/builtInOperationType.d.ts.map +1 -0
  67. package/dist/model/clientMethodProps.d.ts +704 -0
  68. package/dist/model/clientMethodProps.d.ts.map +1 -0
  69. package/dist/model/condition.d.ts +17 -0
  70. package/dist/model/condition.d.ts.map +1 -0
  71. package/dist/model/consequence.d.ts +26 -0
  72. package/dist/model/consequence.d.ts.map +1 -0
  73. package/dist/model/consequenceHide.d.ts +10 -0
  74. package/dist/model/consequenceHide.d.ts.map +1 -0
  75. package/dist/model/consequenceParams.d.ts +5 -0
  76. package/dist/model/consequenceParams.d.ts.map +1 -0
  77. package/dist/model/consequenceQuery.d.ts +6 -0
  78. package/dist/model/consequenceQuery.d.ts.map +1 -0
  79. package/dist/model/consequenceQueryObject.d.ts +12 -0
  80. package/dist/model/consequenceQueryObject.d.ts.map +1 -0
  81. package/dist/model/createdAtObject.d.ts +7 -0
  82. package/dist/model/createdAtObject.d.ts.map +1 -0
  83. package/dist/model/createdAtResponse.d.ts +10 -0
  84. package/dist/model/createdAtResponse.d.ts.map +1 -0
  85. package/dist/model/deleteApiKeyResponse.d.ts +7 -0
  86. package/dist/model/deleteApiKeyResponse.d.ts.map +1 -0
  87. package/dist/model/deleteSourceResponse.d.ts +7 -0
  88. package/dist/model/deleteSourceResponse.d.ts.map +1 -0
  89. package/dist/model/deletedAtResponse.d.ts +14 -0
  90. package/dist/model/deletedAtResponse.d.ts.map +1 -0
  91. package/dist/model/dictionaryAction.d.ts +5 -0
  92. package/dist/model/dictionaryAction.d.ts.map +1 -0
  93. package/dist/model/dictionaryEntry.d.ts +28 -0
  94. package/dist/model/dictionaryEntry.d.ts.map +1 -0
  95. package/dist/model/dictionaryEntryState.d.ts +5 -0
  96. package/dist/model/dictionaryEntryState.d.ts.map +1 -0
  97. package/dist/model/dictionaryLanguage.d.ts +10 -0
  98. package/dist/model/dictionaryLanguage.d.ts.map +1 -0
  99. package/dist/model/dictionarySettingsParams.d.ts +8 -0
  100. package/dist/model/dictionarySettingsParams.d.ts.map +1 -0
  101. package/dist/model/dictionaryType.d.ts +2 -0
  102. package/dist/model/dictionaryType.d.ts.map +1 -0
  103. package/dist/model/distinct.d.ts +5 -0
  104. package/dist/model/distinct.d.ts.map +1 -0
  105. package/dist/model/edit.d.ts +13 -0
  106. package/dist/model/edit.d.ts.map +1 -0
  107. package/dist/model/editType.d.ts +5 -0
  108. package/dist/model/editType.d.ts.map +1 -0
  109. package/dist/model/errorBase.d.ts +7 -0
  110. package/dist/model/errorBase.d.ts.map +1 -0
  111. package/dist/model/exactOnSingleWordQuery.d.ts +5 -0
  112. package/dist/model/exactOnSingleWordQuery.d.ts.map +1 -0
  113. package/dist/model/facetFilters.d.ts +6 -0
  114. package/dist/model/facetFilters.d.ts.map +1 -0
  115. package/dist/model/facetHits.d.ts +15 -0
  116. package/dist/model/facetHits.d.ts.map +1 -0
  117. package/dist/model/facetOrdering.d.ts +13 -0
  118. package/dist/model/facetOrdering.d.ts.map +1 -0
  119. package/dist/model/facets.d.ts +10 -0
  120. package/dist/model/facets.d.ts.map +1 -0
  121. package/dist/model/facetsStats.d.ts +19 -0
  122. package/dist/model/facetsStats.d.ts.map +1 -0
  123. package/dist/model/fetchedIndex.d.ts +47 -0
  124. package/dist/model/fetchedIndex.d.ts.map +1 -0
  125. package/dist/model/getDictionarySettingsResponse.d.ts +5 -0
  126. package/dist/model/getDictionarySettingsResponse.d.ts.map +1 -0
  127. package/dist/model/getLogsResponse.d.ts +5 -0
  128. package/dist/model/getLogsResponse.d.ts.map +1 -0
  129. package/dist/model/getObjectsParams.d.ts +8 -0
  130. package/dist/model/getObjectsParams.d.ts.map +1 -0
  131. package/dist/model/getObjectsRequest.d.ts +18 -0
  132. package/dist/model/getObjectsRequest.d.ts.map +1 -0
  133. package/dist/model/getObjectsResponse.d.ts +7 -0
  134. package/dist/model/getObjectsResponse.d.ts.map +1 -0
  135. package/dist/model/getTaskResponse.d.ts +5 -0
  136. package/dist/model/getTaskResponse.d.ts.map +1 -0
  137. package/dist/model/getTopUserIdsResponse.d.ts +11 -0
  138. package/dist/model/getTopUserIdsResponse.d.ts.map +1 -0
  139. package/dist/model/hasPendingMappingsResponse.d.ts +11 -0
  140. package/dist/model/hasPendingMappingsResponse.d.ts.map +1 -0
  141. package/dist/model/highlightResult.d.ts +3 -0
  142. package/dist/model/highlightResult.d.ts.map +1 -0
  143. package/dist/model/highlightResultOption.d.ts +20 -0
  144. package/dist/model/highlightResultOption.d.ts.map +1 -0
  145. package/dist/model/hit.d.ts +23 -0
  146. package/dist/model/hit.d.ts.map +1 -0
  147. package/dist/model/ignorePlurals.d.ts +5 -0
  148. package/dist/model/ignorePlurals.d.ts.map +1 -0
  149. package/dist/model/index.d.ts +154 -0
  150. package/dist/model/index.d.ts.map +1 -0
  151. package/dist/model/indexSettings.d.ts +7 -0
  152. package/dist/model/indexSettings.d.ts.map +1 -0
  153. package/dist/model/indexSettingsAsSearchParams.d.ts +157 -0
  154. package/dist/model/indexSettingsAsSearchParams.d.ts.map +1 -0
  155. package/dist/model/key.d.ts +4 -0
  156. package/dist/model/key.d.ts.map +1 -0
  157. package/dist/model/languages.d.ts +10 -0
  158. package/dist/model/languages.d.ts.map +1 -0
  159. package/dist/model/listApiKeysResponse.d.ts +8 -0
  160. package/dist/model/listApiKeysResponse.d.ts.map +1 -0
  161. package/dist/model/listClustersResponse.d.ts +10 -0
  162. package/dist/model/listClustersResponse.d.ts.map +1 -0
  163. package/dist/model/listIndicesResponse.d.ts +12 -0
  164. package/dist/model/listIndicesResponse.d.ts.map +1 -0
  165. package/dist/model/listUserIdsResponse.d.ts +11 -0
  166. package/dist/model/listUserIdsResponse.d.ts.map +1 -0
  167. package/dist/model/log.d.ts +64 -0
  168. package/dist/model/log.d.ts.map +1 -0
  169. package/dist/model/logQuery.d.ts +15 -0
  170. package/dist/model/logQuery.d.ts.map +1 -0
  171. package/dist/model/logType.d.ts +2 -0
  172. package/dist/model/logType.d.ts.map +1 -0
  173. package/dist/model/matchLevel.d.ts +5 -0
  174. package/dist/model/matchLevel.d.ts.map +1 -0
  175. package/dist/model/matchedGeoLocation.d.ts +15 -0
  176. package/dist/model/matchedGeoLocation.d.ts.map +1 -0
  177. package/dist/model/mixedSearchFilters.d.ts +2 -0
  178. package/dist/model/mixedSearchFilters.d.ts.map +1 -0
  179. package/dist/model/multipleBatchRequest.d.ts +13 -0
  180. package/dist/model/multipleBatchRequest.d.ts.map +1 -0
  181. package/dist/model/multipleBatchResponse.d.ts +11 -0
  182. package/dist/model/multipleBatchResponse.d.ts.map +1 -0
  183. package/dist/model/numericFilters.d.ts +6 -0
  184. package/dist/model/numericFilters.d.ts.map +1 -0
  185. package/dist/model/operationIndexParams.d.ts +14 -0
  186. package/dist/model/operationIndexParams.d.ts.map +1 -0
  187. package/dist/model/operationType.d.ts +5 -0
  188. package/dist/model/operationType.d.ts.map +1 -0
  189. package/dist/model/optionalFilters.d.ts +6 -0
  190. package/dist/model/optionalFilters.d.ts.map +1 -0
  191. package/dist/model/params.d.ts +13 -0
  192. package/dist/model/params.d.ts.map +1 -0
  193. package/dist/model/personalization.d.ts +15 -0
  194. package/dist/model/personalization.d.ts.map +1 -0
  195. package/dist/model/promote.d.ts +4 -0
  196. package/dist/model/promote.d.ts.map +1 -0
  197. package/dist/model/promoteObjectID.d.ts +14 -0
  198. package/dist/model/promoteObjectID.d.ts.map +1 -0
  199. package/dist/model/promoteObjectIDs.d.ts +14 -0
  200. package/dist/model/promoteObjectIDs.d.ts.map +1 -0
  201. package/dist/model/queryType.d.ts +5 -0
  202. package/dist/model/queryType.d.ts.map +1 -0
  203. package/dist/model/rankingInfo.d.ts +51 -0
  204. package/dist/model/rankingInfo.d.ts.map +1 -0
  205. package/dist/model/reRankingApplyFilter.d.ts +6 -0
  206. package/dist/model/reRankingApplyFilter.d.ts.map +1 -0
  207. package/dist/model/removeStopWords.d.ts +5 -0
  208. package/dist/model/removeStopWords.d.ts.map +1 -0
  209. package/dist/model/removeUserIdResponse.d.ts +7 -0
  210. package/dist/model/removeUserIdResponse.d.ts.map +1 -0
  211. package/dist/model/removeWordsIfNoResults.d.ts +5 -0
  212. package/dist/model/removeWordsIfNoResults.d.ts.map +1 -0
  213. package/dist/model/renderingContent.d.ts +8 -0
  214. package/dist/model/renderingContent.d.ts.map +1 -0
  215. package/dist/model/replaceSourceResponse.d.ts +7 -0
  216. package/dist/model/replaceSourceResponse.d.ts.map +1 -0
  217. package/dist/model/rule.d.ts +30 -0
  218. package/dist/model/rule.d.ts.map +1 -0
  219. package/dist/model/saveObjectResponse.d.ts +12 -0
  220. package/dist/model/saveObjectResponse.d.ts.map +1 -0
  221. package/dist/model/saveSynonymResponse.d.ts +15 -0
  222. package/dist/model/saveSynonymResponse.d.ts.map +1 -0
  223. package/dist/model/scopeType.d.ts +2 -0
  224. package/dist/model/scopeType.d.ts.map +1 -0
  225. package/dist/model/searchDictionaryEntriesParams.d.ts +22 -0
  226. package/dist/model/searchDictionaryEntriesParams.d.ts.map +1 -0
  227. package/dist/model/searchForFacetValuesRequest.d.ts +15 -0
  228. package/dist/model/searchForFacetValuesRequest.d.ts.map +1 -0
  229. package/dist/model/searchForFacetValuesResponse.d.ts +5 -0
  230. package/dist/model/searchForFacetValuesResponse.d.ts.map +1 -0
  231. package/dist/model/searchForFacets.d.ts +4 -0
  232. package/dist/model/searchForFacets.d.ts.map +1 -0
  233. package/dist/model/searchForFacetsOptions.d.ts +21 -0
  234. package/dist/model/searchForFacetsOptions.d.ts.map +1 -0
  235. package/dist/model/searchForHits.d.ts +4 -0
  236. package/dist/model/searchForHits.d.ts.map +1 -0
  237. package/dist/model/searchForHitsOptions.d.ts +13 -0
  238. package/dist/model/searchForHitsOptions.d.ts.map +1 -0
  239. package/dist/model/searchHits.d.ts +5 -0
  240. package/dist/model/searchHits.d.ts.map +1 -0
  241. package/dist/model/searchMethodParams.d.ts +7 -0
  242. package/dist/model/searchMethodParams.d.ts.map +1 -0
  243. package/dist/model/searchParams.d.ts +4 -0
  244. package/dist/model/searchParams.d.ts.map +1 -0
  245. package/dist/model/searchParamsObject.d.ts +4 -0
  246. package/dist/model/searchParamsObject.d.ts.map +1 -0
  247. package/dist/model/searchParamsQuery.d.ts +7 -0
  248. package/dist/model/searchParamsQuery.d.ts.map +1 -0
  249. package/dist/model/searchParamsString.d.ts +7 -0
  250. package/dist/model/searchParamsString.d.ts.map +1 -0
  251. package/dist/model/searchQuery.d.ts +4 -0
  252. package/dist/model/searchQuery.d.ts.map +1 -0
  253. package/dist/model/searchResponse.d.ts +4 -0
  254. package/dist/model/searchResponse.d.ts.map +1 -0
  255. package/dist/model/searchResponses.d.ts +5 -0
  256. package/dist/model/searchResponses.d.ts.map +1 -0
  257. package/dist/model/searchRulesParams.d.ts +32 -0
  258. package/dist/model/searchRulesParams.d.ts.map +1 -0
  259. package/dist/model/searchRulesResponse.d.ts +20 -0
  260. package/dist/model/searchRulesResponse.d.ts.map +1 -0
  261. package/dist/model/searchStrategy.d.ts +2 -0
  262. package/dist/model/searchStrategy.d.ts.map +1 -0
  263. package/dist/model/searchSynonymsParams.d.ts +7 -0
  264. package/dist/model/searchSynonymsParams.d.ts.map +1 -0
  265. package/dist/model/searchSynonymsResponse.d.ts +12 -0
  266. package/dist/model/searchSynonymsResponse.d.ts.map +1 -0
  267. package/dist/model/searchTypeDefault.d.ts +5 -0
  268. package/dist/model/searchTypeDefault.d.ts.map +1 -0
  269. package/dist/model/searchTypeFacet.d.ts +5 -0
  270. package/dist/model/searchTypeFacet.d.ts.map +1 -0
  271. package/dist/model/searchUserIdsParams.d.ts +22 -0
  272. package/dist/model/searchUserIdsParams.d.ts.map +1 -0
  273. package/dist/model/searchUserIdsResponse.d.ts +27 -0
  274. package/dist/model/searchUserIdsResponse.d.ts.map +1 -0
  275. package/dist/model/snippetResult.d.ts +3 -0
  276. package/dist/model/snippetResult.d.ts.map +1 -0
  277. package/dist/model/snippetResultOption.d.ts +12 -0
  278. package/dist/model/snippetResultOption.d.ts.map +1 -0
  279. package/dist/model/sortRemainingBy.d.ts +5 -0
  280. package/dist/model/sortRemainingBy.d.ts.map +1 -0
  281. package/dist/model/source.d.ts +14 -0
  282. package/dist/model/source.d.ts.map +1 -0
  283. package/dist/model/standardEntries.d.ts +18 -0
  284. package/dist/model/standardEntries.d.ts.map +1 -0
  285. package/dist/model/synonymHit.d.ts +38 -0
  286. package/dist/model/synonymHit.d.ts.map +1 -0
  287. package/dist/model/synonymHitHighlightResult.d.ts +12 -0
  288. package/dist/model/synonymHitHighlightResult.d.ts.map +1 -0
  289. package/dist/model/synonymType.d.ts +5 -0
  290. package/dist/model/synonymType.d.ts.map +1 -0
  291. package/dist/model/tagFilters.d.ts +6 -0
  292. package/dist/model/tagFilters.d.ts.map +1 -0
  293. package/dist/model/taskStatus.d.ts +2 -0
  294. package/dist/model/taskStatus.d.ts.map +1 -0
  295. package/dist/model/timeRange.d.ts +11 -0
  296. package/dist/model/timeRange.d.ts.map +1 -0
  297. package/dist/model/typoTolerance.d.ts +6 -0
  298. package/dist/model/typoTolerance.d.ts.map +1 -0
  299. package/dist/model/typoToleranceEnum.d.ts +2 -0
  300. package/dist/model/typoToleranceEnum.d.ts.map +1 -0
  301. package/dist/model/updateApiKeyResponse.d.ts +11 -0
  302. package/dist/model/updateApiKeyResponse.d.ts.map +1 -0
  303. package/dist/model/updatedAtResponse.d.ts +14 -0
  304. package/dist/model/updatedAtResponse.d.ts.map +1 -0
  305. package/dist/model/updatedAtWithObjectIdResponse.d.ts +18 -0
  306. package/dist/model/updatedAtWithObjectIdResponse.d.ts.map +1 -0
  307. package/dist/model/updatedRuleResponse.d.ts +15 -0
  308. package/dist/model/updatedRuleResponse.d.ts.map +1 -0
  309. package/dist/model/userHighlightResult.d.ts +12 -0
  310. package/dist/model/userHighlightResult.d.ts.map +1 -0
  311. package/dist/model/userHit.d.ts +25 -0
  312. package/dist/model/userHit.d.ts.map +1 -0
  313. package/dist/model/userId.d.ts +22 -0
  314. package/dist/model/userId.d.ts.map +1 -0
  315. package/dist/model/value.d.ts +9 -0
  316. package/dist/model/value.d.ts.map +1 -0
  317. package/dist/src/searchClient.d.ts +677 -0
  318. package/dist/src/searchClient.d.ts.map +1 -0
  319. package/index.d.ts +2 -0
  320. package/index.js +1 -1
  321. package/model/acl.ts +17 -0
  322. package/model/action.ts +13 -0
  323. package/model/addApiKeyResponse.ts +13 -0
  324. package/model/advancedSyntaxFeatures.ts +3 -0
  325. package/model/alternativesAsExact.ts +6 -0
  326. package/model/anchoring.ts +6 -0
  327. package/model/apiKey.ts +48 -0
  328. package/model/aroundRadius.ts +8 -0
  329. package/model/aroundRadiusAll.ts +3 -0
  330. package/model/assignUserIdParams.ts +11 -0
  331. package/model/attributeOrBuiltInOperation.ts +5 -0
  332. package/model/automaticFacetFilter.ts +21 -0
  333. package/model/automaticFacetFilters.ts +8 -0
  334. package/model/baseBrowseResponse.ts +8 -0
  335. package/model/baseIndexSettings.ts +73 -0
  336. package/model/baseSearchParams.ts +6 -0
  337. package/model/baseSearchParamsWithoutQuery.ts +157 -0
  338. package/model/baseSearchResponse.ts +128 -0
  339. package/model/batchAssignUserIdsParams.ts +16 -0
  340. package/model/batchDictionaryEntriesParams.ts +18 -0
  341. package/model/batchDictionaryEntriesRequest.ts +10 -0
  342. package/model/batchParams.ts +10 -0
  343. package/model/batchRequest.ts +12 -0
  344. package/model/batchResponse.ts +13 -0
  345. package/model/batchWriteParams.ts +10 -0
  346. package/model/browseRequest.ts +13 -0
  347. package/model/browseResponse.ts +9 -0
  348. package/model/builtInOperation.ts +15 -0
  349. package/model/builtInOperationType.ts +13 -0
  350. package/model/clientMethodProps.ts +769 -0
  351. package/model/condition.ts +22 -0
  352. package/model/consequence.ts +32 -0
  353. package/model/consequenceHide.ts +11 -0
  354. package/model/consequenceParams.ts +9 -0
  355. package/model/consequenceQuery.ts +8 -0
  356. package/model/consequenceQueryObject.ts +15 -0
  357. package/model/createdAtObject.ts +8 -0
  358. package/model/createdAtResponse.ts +11 -0
  359. package/model/deleteApiKeyResponse.ts +8 -0
  360. package/model/deleteSourceResponse.ts +8 -0
  361. package/model/deletedAtResponse.ts +16 -0
  362. package/model/dictionaryAction.ts +6 -0
  363. package/model/dictionaryEntry.ts +35 -0
  364. package/model/dictionaryEntryState.ts +6 -0
  365. package/model/dictionaryLanguage.ts +11 -0
  366. package/model/dictionarySettingsParams.ts +10 -0
  367. package/model/dictionaryType.ts +3 -0
  368. package/model/distinct.ts +6 -0
  369. package/model/edit.ts +17 -0
  370. package/model/editType.ts +6 -0
  371. package/model/errorBase.ts +8 -0
  372. package/model/exactOnSingleWordQuery.ts +6 -0
  373. package/model/facetFilters.ts +8 -0
  374. package/model/facetHits.ts +18 -0
  375. package/model/facetOrdering.ts +16 -0
  376. package/model/facets.ts +11 -0
  377. package/model/facetsStats.ts +23 -0
  378. package/model/fetchedIndex.ts +58 -0
  379. package/model/getDictionarySettingsResponse.ts +7 -0
  380. package/model/getLogsResponse.ts +7 -0
  381. package/model/getObjectsParams.ts +10 -0
  382. package/model/getObjectsRequest.ts +21 -0
  383. package/model/getObjectsResponse.ts +8 -0
  384. package/model/getTaskResponse.ts +7 -0
  385. package/model/getTopUserIdsResponse.ts +13 -0
  386. package/model/hasPendingMappingsResponse.ts +13 -0
  387. package/model/highlightResult.ts +5 -0
  388. package/model/highlightResultOption.ts +25 -0
  389. package/model/hit.ts +29 -0
  390. package/model/ignorePlurals.ts +6 -0
  391. package/model/index.ts +155 -0
  392. package/model/indexSettings.ts +9 -0
  393. package/model/indexSettingsAsSearchParams.ts +200 -0
  394. package/model/key.ts +6 -0
  395. package/model/languages.ts +14 -0
  396. package/model/listApiKeysResponse.ts +10 -0
  397. package/model/listClustersResponse.ts +11 -0
  398. package/model/listIndicesResponse.ts +15 -0
  399. package/model/listUserIdsResponse.ts +13 -0
  400. package/model/log.ts +80 -0
  401. package/model/logQuery.ts +18 -0
  402. package/model/logType.ts +3 -0
  403. package/model/matchLevel.ts +6 -0
  404. package/model/matchedGeoLocation.ts +18 -0
  405. package/model/mixedSearchFilters.ts +3 -0
  406. package/model/multipleBatchRequest.ts +17 -0
  407. package/model/multipleBatchResponse.ts +13 -0
  408. package/model/numericFilters.ts +8 -0
  409. package/model/operationIndexParams.ts +18 -0
  410. package/model/operationType.ts +6 -0
  411. package/model/optionalFilters.ts +8 -0
  412. package/model/params.ts +18 -0
  413. package/model/personalization.ts +18 -0
  414. package/model/promote.ts +6 -0
  415. package/model/promoteObjectID.ts +16 -0
  416. package/model/promoteObjectIDs.ts +16 -0
  417. package/model/queryType.ts +6 -0
  418. package/model/rankingInfo.ts +65 -0
  419. package/model/reRankingApplyFilter.ts +8 -0
  420. package/model/removeStopWords.ts +6 -0
  421. package/model/removeUserIdResponse.ts +8 -0
  422. package/model/removeWordsIfNoResults.ts +10 -0
  423. package/model/renderingContent.ts +10 -0
  424. package/model/replaceSourceResponse.ts +8 -0
  425. package/model/rule.ts +37 -0
  426. package/model/saveObjectResponse.ts +15 -0
  427. package/model/saveSynonymResponse.ts +18 -0
  428. package/model/scopeType.ts +3 -0
  429. package/model/searchDictionaryEntriesParams.ts +26 -0
  430. package/model/searchForFacetValuesRequest.ts +18 -0
  431. package/model/searchForFacetValuesResponse.ts +7 -0
  432. package/model/searchForFacets.ts +6 -0
  433. package/model/searchForFacetsOptions.ts +27 -0
  434. package/model/searchForHits.ts +6 -0
  435. package/model/searchForHitsOptions.ts +12 -0
  436. package/model/searchHits.ts +7 -0
  437. package/model/searchMethodParams.ts +10 -0
  438. package/model/searchParams.ts +6 -0
  439. package/model/searchParamsObject.ts +6 -0
  440. package/model/searchParamsQuery.ts +8 -0
  441. package/model/searchParamsString.ts +8 -0
  442. package/model/searchQuery.ts +6 -0
  443. package/model/searchResponse.ts +7 -0
  444. package/model/searchResponses.ts +7 -0
  445. package/model/searchRulesParams.ts +40 -0
  446. package/model/searchRulesResponse.ts +25 -0
  447. package/model/searchStrategy.ts +3 -0
  448. package/model/searchSynonymsParams.ts +8 -0
  449. package/model/searchSynonymsResponse.ts +15 -0
  450. package/model/searchTypeDefault.ts +6 -0
  451. package/model/searchTypeFacet.ts +6 -0
  452. package/model/searchUserIdsParams.ts +26 -0
  453. package/model/searchUserIdsResponse.ts +33 -0
  454. package/model/snippetResult.ts +5 -0
  455. package/model/snippetResultOption.ts +15 -0
  456. package/model/sortRemainingBy.ts +6 -0
  457. package/model/source.ts +16 -0
  458. package/model/standardEntries.ts +21 -0
  459. package/model/synonymHit.ts +48 -0
  460. package/model/synonymHitHighlightResult.ts +15 -0
  461. package/model/synonymType.ts +11 -0
  462. package/model/tagFilters.ts +8 -0
  463. package/model/taskStatus.ts +3 -0
  464. package/model/timeRange.ts +13 -0
  465. package/model/typoTolerance.ts +8 -0
  466. package/model/typoToleranceEnum.ts +3 -0
  467. package/model/updateApiKeyResponse.ts +13 -0
  468. package/model/updatedAtResponse.ts +16 -0
  469. package/model/updatedAtWithObjectIdResponse.ts +21 -0
  470. package/model/updatedRuleResponse.ts +18 -0
  471. package/model/userHighlightResult.ts +15 -0
  472. package/model/userHit.ts +32 -0
  473. package/model/userId.ts +26 -0
  474. package/model/value.ts +12 -0
  475. package/package.json +25 -13
  476. package/dist/client-search.d.ts +0 -2494
  477. package/dist/client-search.esm.js +0 -1276
@@ -1,1276 +0,0 @@
1
- import { createAuth, AuthMode, shuffle, addMethods, createWaitablePromise, createRetryablePromise, encode } from '@algolia/client-common';
2
- import { createTransporter, CallEnum, createMappedRequestOptions, serializeQueryParameters } from '@algolia/transporter';
3
- import { MethodEnum } from '@algolia/requester-common';
4
- import { createHmac } from 'crypto';
5
-
6
- function createBrowsablePromise(options) {
7
- const browse = (data) => {
8
- return options.request(data).then(response => {
9
- /**
10
- * First we send to the developer the
11
- * batch retrieved from the API.
12
- */
13
- if (options.batch !== undefined) {
14
- options.batch(response.hits);
15
- }
16
- /**
17
- * Then, we ask to the browse concrete implementation
18
- * if we should stop browsing. As example, the `browseObjects`
19
- * method will stop if the cursor is not present on the response.
20
- */
21
- if (options.shouldStop(response)) {
22
- return undefined;
23
- }
24
- /**
25
- * Finally, if the response contains a cursor, we browse to the next
26
- * batch using that same cursor. Otherwise, we just use the traditional
27
- * browsing using the page element.
28
- */
29
- if (response.cursor) {
30
- return browse({
31
- cursor: response.cursor,
32
- });
33
- }
34
- return browse({
35
- page: (data.page || 0) + 1,
36
- });
37
- });
38
- };
39
- return browse({});
40
- }
41
-
42
- const createSearchClient = options => {
43
- const appId = options.appId;
44
- const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);
45
- const transporter = createTransporter({
46
- hosts: [
47
- { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },
48
- { url: `${appId}.algolia.net`, accept: CallEnum.Write },
49
- ].concat(shuffle([
50
- { url: `${appId}-1.algolianet.com` },
51
- { url: `${appId}-2.algolianet.com` },
52
- { url: `${appId}-3.algolianet.com` },
53
- ])),
54
- ...options,
55
- headers: {
56
- ...auth.headers(),
57
- ...{ 'content-type': 'application/x-www-form-urlencoded' },
58
- ...options.headers,
59
- },
60
- queryParameters: {
61
- ...auth.queryParameters(),
62
- ...options.queryParameters,
63
- },
64
- });
65
- const base = {
66
- transporter,
67
- appId,
68
- addAlgoliaAgent(segment, version) {
69
- transporter.userAgent.add({ segment, version });
70
- },
71
- clearCache() {
72
- return Promise.all([
73
- transporter.requestsCache.clear(),
74
- transporter.responsesCache.clear(),
75
- ]).then(() => undefined);
76
- },
77
- };
78
- return addMethods(base, options.methods);
79
- };
80
-
81
- function createMissingObjectIDError() {
82
- return {
83
- name: 'MissingObjectIDError',
84
- message: 'All objects must have an unique objectID ' +
85
- '(like a primary key) to be valid. ' +
86
- 'Algolia is also able to generate objectIDs ' +
87
- "automatically but *it's not recommended*. " +
88
- "To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.",
89
- };
90
- }
91
-
92
- function createObjectNotFoundError() {
93
- return {
94
- name: 'ObjectNotFoundError',
95
- message: 'Object not found.',
96
- };
97
- }
98
-
99
- function createValidUntilNotFoundError() {
100
- return {
101
- name: 'ValidUntilNotFoundError',
102
- message: 'ValidUntil not found in given secured api key.',
103
- };
104
- }
105
-
106
- const addApiKey = (base) => {
107
- return (acl, requestOptions) => {
108
- const { queryParameters, ...options } = requestOptions || {};
109
- const data = {
110
- acl,
111
- ...(queryParameters !== undefined ? { queryParameters } : {}),
112
- };
113
- const wait = (response, waitRequestOptions) => {
114
- return createRetryablePromise(retry => {
115
- return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => {
116
- if (apiError.status !== 404) {
117
- throw apiError;
118
- }
119
- return retry();
120
- });
121
- });
122
- };
123
- return createWaitablePromise(base.transporter.write({
124
- method: MethodEnum.Post,
125
- path: '1/keys',
126
- data,
127
- }, options), wait);
128
- };
129
- };
130
-
131
- const assignUserID = (base) => {
132
- return (userID, clusterName, requestOptions) => {
133
- const mappedRequestOptions = createMappedRequestOptions(requestOptions);
134
- // eslint-disable-next-line functional/immutable-data
135
- mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;
136
- return base.transporter.write({
137
- method: MethodEnum.Post,
138
- path: '1/clusters/mapping',
139
- data: { cluster: clusterName },
140
- }, mappedRequestOptions);
141
- };
142
- };
143
-
144
- const assignUserIDs = (base) => {
145
- return (userIDs, clusterName, requestOptions) => {
146
- return base.transporter.write({
147
- method: MethodEnum.Post,
148
- path: '1/clusters/mapping/batch',
149
- data: {
150
- users: userIDs,
151
- cluster: clusterName,
152
- },
153
- }, requestOptions);
154
- };
155
- };
156
-
157
- const clearDictionaryEntries = (base) => {
158
- return (dictionary, requestOptions) => {
159
- return createWaitablePromise(base.transporter.write({
160
- method: MethodEnum.Post,
161
- path: encode('/1/dictionaries/%s/batch', dictionary),
162
- data: {
163
- clearExistingDictionaryEntries: true,
164
- requests: { action: 'addEntry', body: [] },
165
- },
166
- }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));
167
- };
168
- };
169
-
170
- const copyIndex = (base) => {
171
- return (from, to, requestOptions) => {
172
- const wait = (response, waitRequestOptions) => {
173
- return initIndex(base)(from, {
174
- methods: { waitTask },
175
- }).waitTask(response.taskID, waitRequestOptions);
176
- };
177
- return createWaitablePromise(base.transporter.write({
178
- method: MethodEnum.Post,
179
- path: encode('1/indexes/%s/operation', from),
180
- data: {
181
- operation: 'copy',
182
- destination: to,
183
- },
184
- }, requestOptions), wait);
185
- };
186
- };
187
-
188
- const copyRules = (base) => {
189
- return (from, to, requestOptions) => {
190
- return copyIndex(base)(from, to, {
191
- ...requestOptions,
192
- scope: [ScopeEnum.Rules],
193
- });
194
- };
195
- };
196
-
197
- const copySettings = (base) => {
198
- return (from, to, requestOptions) => {
199
- return copyIndex(base)(from, to, {
200
- ...requestOptions,
201
- scope: [ScopeEnum.Settings],
202
- });
203
- };
204
- };
205
-
206
- const copySynonyms = (base) => {
207
- return (from, to, requestOptions) => {
208
- return copyIndex(base)(from, to, {
209
- ...requestOptions,
210
- scope: [ScopeEnum.Synonyms],
211
- });
212
- };
213
- };
214
-
215
- const customRequest = (base) => {
216
- return (request, requestOptions) => {
217
- if (request.method === MethodEnum.Get) {
218
- return base.transporter.read(request, requestOptions);
219
- }
220
- return base.transporter.write(request, requestOptions);
221
- };
222
- };
223
-
224
- const deleteApiKey = (base) => {
225
- return (apiKey, requestOptions) => {
226
- const wait = (_, waitRequestOptions) => {
227
- return createRetryablePromise(retry => {
228
- return getApiKey(base)(apiKey, waitRequestOptions)
229
- .then(retry)
230
- .catch((apiError) => {
231
- if (apiError.status !== 404) {
232
- throw apiError;
233
- }
234
- });
235
- });
236
- };
237
- return createWaitablePromise(base.transporter.write({
238
- method: MethodEnum.Delete,
239
- path: encode('1/keys/%s', apiKey),
240
- }, requestOptions), wait);
241
- };
242
- };
243
-
244
- const deleteDictionaryEntries = (base) => {
245
- return (dictionary, objectIDs, requestOptions) => {
246
- const requests = objectIDs.map(objectID => ({
247
- action: 'deleteEntry',
248
- body: { objectID },
249
- }));
250
- return createWaitablePromise(base.transporter.write({
251
- method: MethodEnum.Post,
252
- path: encode('/1/dictionaries/%s/batch', dictionary),
253
- data: { clearExistingDictionaryEntries: false, requests },
254
- }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));
255
- };
256
- };
257
-
258
- const generateSecuredApiKey = () => {
259
- return (parentApiKey, restrictions) => {
260
- const queryParameters = serializeQueryParameters(restrictions);
261
- const securedKey = createHmac('sha256', parentApiKey)
262
- .update(queryParameters)
263
- .digest('hex');
264
- return Buffer.from(securedKey + queryParameters).toString('base64');
265
- };
266
- };
267
-
268
- const getApiKey = (base) => {
269
- return (apiKey, requestOptions) => {
270
- return base.transporter.read({
271
- method: MethodEnum.Get,
272
- path: encode('1/keys/%s', apiKey),
273
- }, requestOptions);
274
- };
275
- };
276
-
277
- const getAppTask = (base) => {
278
- return (taskID, requestOptions) => {
279
- return base.transporter.read({
280
- method: MethodEnum.Get,
281
- path: encode('1/task/%s', taskID.toString()),
282
- }, requestOptions);
283
- };
284
- };
285
-
286
- const getDictionarySettings = (base) => {
287
- return (requestOptions) => {
288
- return base.transporter.read({
289
- method: MethodEnum.Get,
290
- path: '/1/dictionaries/*/settings',
291
- }, requestOptions);
292
- };
293
- };
294
-
295
- const getLogs = (base) => {
296
- return (requestOptions) => {
297
- return base.transporter.read({
298
- method: MethodEnum.Get,
299
- path: '1/logs',
300
- }, requestOptions);
301
- };
302
- };
303
-
304
- const getSecuredApiKeyRemainingValidity = () => {
305
- return (securedApiKey) => {
306
- const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');
307
- const regex = /validUntil=(\d+)/;
308
- const match = decodedString.match(regex);
309
- if (match === null) {
310
- throw createValidUntilNotFoundError();
311
- }
312
- return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);
313
- };
314
- };
315
-
316
- const getTopUserIDs = (base) => {
317
- return (requestOptions) => {
318
- return base.transporter.read({
319
- method: MethodEnum.Get,
320
- path: '1/clusters/mapping/top',
321
- }, requestOptions);
322
- };
323
- };
324
-
325
- const getUserID = (base) => {
326
- return (userID, requestOptions) => {
327
- return base.transporter.read({
328
- method: MethodEnum.Get,
329
- path: encode('1/clusters/mapping/%s', userID),
330
- }, requestOptions);
331
- };
332
- };
333
-
334
- const hasPendingMappings = (base) => {
335
- return (requestOptions) => {
336
- const { retrieveMappings, ...options } = requestOptions || {};
337
- if (retrieveMappings === true) {
338
- // eslint-disable-next-line functional/immutable-data
339
- options.getClusters = true;
340
- }
341
- return base.transporter.read({
342
- method: MethodEnum.Get,
343
- path: '1/clusters/mapping/pending',
344
- }, options);
345
- };
346
- };
347
-
348
- const initIndex = (base) => {
349
- return (indexName, options = {}) => {
350
- const searchIndex = {
351
- transporter: base.transporter,
352
- appId: base.appId,
353
- indexName,
354
- };
355
- return addMethods(searchIndex, options.methods);
356
- };
357
- };
358
-
359
- const listApiKeys = (base) => {
360
- return (requestOptions) => {
361
- return base.transporter.read({
362
- method: MethodEnum.Get,
363
- path: '1/keys',
364
- }, requestOptions);
365
- };
366
- };
367
-
368
- const listClusters = (base) => {
369
- return (requestOptions) => {
370
- return base.transporter.read({
371
- method: MethodEnum.Get,
372
- path: '1/clusters',
373
- }, requestOptions);
374
- };
375
- };
376
-
377
- const listIndices = (base) => {
378
- return (requestOptions) => {
379
- return base.transporter.read({
380
- method: MethodEnum.Get,
381
- path: '1/indexes',
382
- }, requestOptions);
383
- };
384
- };
385
-
386
- const listUserIDs = (base) => {
387
- return (requestOptions) => {
388
- return base.transporter.read({
389
- method: MethodEnum.Get,
390
- path: '1/clusters/mapping',
391
- }, requestOptions);
392
- };
393
- };
394
-
395
- const moveIndex = (base) => {
396
- return (from, to, requestOptions) => {
397
- const wait = (response, waitRequestOptions) => {
398
- return initIndex(base)(from, {
399
- methods: { waitTask },
400
- }).waitTask(response.taskID, waitRequestOptions);
401
- };
402
- return createWaitablePromise(base.transporter.write({
403
- method: MethodEnum.Post,
404
- path: encode('1/indexes/%s/operation', from),
405
- data: {
406
- operation: 'move',
407
- destination: to,
408
- },
409
- }, requestOptions), wait);
410
- };
411
- };
412
-
413
- const multipleBatch = (base) => {
414
- return (requests, requestOptions) => {
415
- const wait = (response, waitRequestOptions) => {
416
- return Promise.all(Object.keys(response.taskID).map(indexName => {
417
- return initIndex(base)(indexName, {
418
- methods: { waitTask },
419
- }).waitTask(response.taskID[indexName], waitRequestOptions);
420
- }));
421
- };
422
- return createWaitablePromise(base.transporter.write({
423
- method: MethodEnum.Post,
424
- path: '1/indexes/*/batch',
425
- data: {
426
- requests,
427
- },
428
- }, requestOptions), wait);
429
- };
430
- };
431
-
432
- const multipleGetObjects = (base) => {
433
- return (requests, requestOptions) => {
434
- return base.transporter.read({
435
- method: MethodEnum.Post,
436
- path: '1/indexes/*/objects',
437
- data: {
438
- requests,
439
- },
440
- }, requestOptions);
441
- };
442
- };
443
-
444
- const multipleQueries = (base) => {
445
- return (queries, requestOptions) => {
446
- const requests = queries.map(query => {
447
- return {
448
- ...query,
449
- params: serializeQueryParameters(query.params || {}),
450
- };
451
- });
452
- return base.transporter.read({
453
- method: MethodEnum.Post,
454
- path: '1/indexes/*/queries',
455
- data: {
456
- requests,
457
- },
458
- cacheable: true,
459
- }, requestOptions);
460
- };
461
- };
462
-
463
- const multipleSearchForFacetValues = (base) => {
464
- return (queries, requestOptions) => {
465
- return Promise.all(queries.map(query => {
466
- const { facetName, facetQuery, ...params } = query.params;
467
- return initIndex(base)(query.indexName, {
468
- methods: { searchForFacetValues },
469
- }).searchForFacetValues(facetName, facetQuery, {
470
- ...requestOptions,
471
- ...params,
472
- });
473
- }));
474
- };
475
- };
476
-
477
- const removeUserID = (base) => {
478
- return (userID, requestOptions) => {
479
- const mappedRequestOptions = createMappedRequestOptions(requestOptions);
480
- // eslint-disable-next-line functional/immutable-data
481
- mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;
482
- return base.transporter.write({
483
- method: MethodEnum.Delete,
484
- path: '1/clusters/mapping',
485
- }, mappedRequestOptions);
486
- };
487
- };
488
-
489
- const replaceDictionaryEntries = (base) => {
490
- return (dictionary, entries, requestOptions) => {
491
- const requests = entries.map(entry => ({
492
- action: 'addEntry',
493
- body: entry,
494
- }));
495
- return createWaitablePromise(base.transporter.write({
496
- method: MethodEnum.Post,
497
- path: encode('/1/dictionaries/%s/batch', dictionary),
498
- data: { clearExistingDictionaryEntries: true, requests },
499
- }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));
500
- };
501
- };
502
-
503
- const restoreApiKey = (base) => {
504
- return (apiKey, requestOptions) => {
505
- const wait = (_, waitRequestOptions) => {
506
- return createRetryablePromise(retry => {
507
- return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => {
508
- if (apiError.status !== 404) {
509
- throw apiError;
510
- }
511
- return retry();
512
- });
513
- });
514
- };
515
- return createWaitablePromise(base.transporter.write({
516
- method: MethodEnum.Post,
517
- path: encode('1/keys/%s/restore', apiKey),
518
- }, requestOptions), wait);
519
- };
520
- };
521
-
522
- const saveDictionaryEntries = (base) => {
523
- return (dictionary, entries, requestOptions) => {
524
- const requests = entries.map(entry => ({
525
- action: 'addEntry',
526
- body: entry,
527
- }));
528
- return createWaitablePromise(base.transporter.write({
529
- method: MethodEnum.Post,
530
- path: encode('/1/dictionaries/%s/batch', dictionary),
531
- data: { clearExistingDictionaryEntries: false, requests },
532
- }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));
533
- };
534
- };
535
-
536
- const searchDictionaryEntries = (base) => {
537
- return (dictionary, query, requestOptions) => {
538
- return base.transporter.read({
539
- method: MethodEnum.Post,
540
- path: encode('/1/dictionaries/%s/search', dictionary),
541
- data: {
542
- query,
543
- },
544
- cacheable: true,
545
- }, requestOptions);
546
- };
547
- };
548
-
549
- const searchUserIDs = (base) => {
550
- return (query, requestOptions) => {
551
- return base.transporter.read({
552
- method: MethodEnum.Post,
553
- path: '1/clusters/mapping/search',
554
- data: {
555
- query,
556
- },
557
- }, requestOptions);
558
- };
559
- };
560
-
561
- const setDictionarySettings = (base) => {
562
- return (settings, requestOptions) => {
563
- return createWaitablePromise(base.transporter.write({
564
- method: MethodEnum.Put,
565
- path: '/1/dictionaries/*/settings',
566
- data: settings,
567
- }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));
568
- };
569
- };
570
-
571
- const updateApiKey = (base) => {
572
- return (apiKey, requestOptions) => {
573
- const updatedFields = Object.assign({}, requestOptions);
574
- const { queryParameters, ...options } = requestOptions || {};
575
- const data = queryParameters ? { queryParameters } : {};
576
- const apiKeyFields = [
577
- 'acl',
578
- 'indexes',
579
- 'referers',
580
- 'restrictSources',
581
- 'queryParameters',
582
- 'description',
583
- 'maxQueriesPerIPPerHour',
584
- 'maxHitsPerQuery',
585
- ];
586
- const hasChanged = (getApiKeyResponse) => {
587
- return Object.keys(updatedFields)
588
- .filter((updatedField) => apiKeyFields.indexOf(updatedField) !== -1)
589
- .every(updatedField => {
590
- return getApiKeyResponse[updatedField] === updatedFields[updatedField];
591
- });
592
- };
593
- const wait = (_, waitRequestOptions) => createRetryablePromise(retry => {
594
- return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => {
595
- return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry();
596
- });
597
- });
598
- return createWaitablePromise(base.transporter.write({
599
- method: MethodEnum.Put,
600
- path: encode('1/keys/%s', apiKey),
601
- data,
602
- }, options), wait);
603
- };
604
- };
605
-
606
- const waitAppTask = (base) => {
607
- return (taskID, requestOptions) => {
608
- return createRetryablePromise(retry => {
609
- return getAppTask(base)(taskID, requestOptions).then(response => {
610
- return response.status !== 'published' ? retry() : undefined;
611
- });
612
- });
613
- };
614
- };
615
-
616
- const batch = (base) => {
617
- return (requests, requestOptions) => {
618
- const wait = (response, waitRequestOptions) => {
619
- return waitTask(base)(response.taskID, waitRequestOptions);
620
- };
621
- return createWaitablePromise(base.transporter.write({
622
- method: MethodEnum.Post,
623
- path: encode('1/indexes/%s/batch', base.indexName),
624
- data: {
625
- requests,
626
- },
627
- }, requestOptions), wait);
628
- };
629
- };
630
-
631
- const browseObjects = (base) => {
632
- return (requestOptions) => {
633
- return createBrowsablePromise({
634
- shouldStop: response => response.cursor === undefined,
635
- ...requestOptions,
636
- request: (data) => base.transporter.read({
637
- method: MethodEnum.Post,
638
- path: encode('1/indexes/%s/browse', base.indexName),
639
- data,
640
- }, requestOptions),
641
- });
642
- };
643
- };
644
-
645
- const browseRules = (base) => {
646
- return (requestOptions) => {
647
- const options = {
648
- hitsPerPage: 1000,
649
- ...requestOptions,
650
- };
651
- return createBrowsablePromise({
652
- shouldStop: response => response.hits.length < options.hitsPerPage,
653
- ...options,
654
- request(data) {
655
- return searchRules(base)('', { ...options, ...data }).then((response) => {
656
- return {
657
- ...response,
658
- hits: response.hits.map(rule => {
659
- // eslint-disable-next-line functional/immutable-data,no-param-reassign
660
- delete rule._highlightResult;
661
- return rule;
662
- }),
663
- };
664
- });
665
- },
666
- });
667
- };
668
- };
669
-
670
- const browseSynonyms = (base) => {
671
- return (requestOptions) => {
672
- const options = {
673
- hitsPerPage: 1000,
674
- ...requestOptions,
675
- };
676
- return createBrowsablePromise({
677
- shouldStop: response => response.hits.length < options.hitsPerPage,
678
- ...options,
679
- request(data) {
680
- return searchSynonyms(base)('', { ...options, ...data }).then((response) => {
681
- return {
682
- ...response,
683
- hits: response.hits.map(synonym => {
684
- // eslint-disable-next-line functional/immutable-data,no-param-reassign
685
- delete synonym._highlightResult;
686
- return synonym;
687
- }),
688
- };
689
- });
690
- },
691
- });
692
- };
693
- };
694
-
695
- const chunkedBatch = (base) => {
696
- return (bodies, action, requestOptions) => {
697
- const { batchSize, ...options } = requestOptions || {};
698
- const response = {
699
- taskIDs: [],
700
- objectIDs: [],
701
- };
702
- const forEachBatch = (lastIndex = 0) => {
703
- // eslint-disable-next-line functional/prefer-readonly-type
704
- const bodiesChunk = [];
705
- // eslint-disable-next-line functional/no-let
706
- let index;
707
- /* eslint-disable-next-line functional/no-loop-statement */
708
- for (index = lastIndex; index < bodies.length; index++) {
709
- // eslint-disable-next-line functional/immutable-data
710
- bodiesChunk.push(bodies[index]);
711
- if (bodiesChunk.length === (batchSize || 1000)) {
712
- break;
713
- }
714
- }
715
- if (bodiesChunk.length === 0) {
716
- return Promise.resolve(response);
717
- }
718
- return batch(base)(bodiesChunk.map(body => {
719
- return {
720
- action,
721
- body,
722
- };
723
- }), options).then(res => {
724
- response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data
725
- response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data
726
- index++;
727
- return forEachBatch(index);
728
- });
729
- };
730
- return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => {
731
- return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => {
732
- return waitTask(base)(taskID, waitRequestOptions);
733
- }));
734
- });
735
- };
736
- };
737
-
738
- const clearObjects = (base) => {
739
- return (requestOptions) => {
740
- return createWaitablePromise(base.transporter.write({
741
- method: MethodEnum.Post,
742
- path: encode('1/indexes/%s/clear', base.indexName),
743
- }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
744
- };
745
- };
746
-
747
- const clearRules = (base) => {
748
- return (requestOptions) => {
749
- const { forwardToReplicas, ...options } = requestOptions || {};
750
- const mappedRequestOptions = createMappedRequestOptions(options);
751
- if (forwardToReplicas) {
752
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
753
- }
754
- return createWaitablePromise(base.transporter.write({
755
- method: MethodEnum.Post,
756
- path: encode('1/indexes/%s/rules/clear', base.indexName),
757
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
758
- };
759
- };
760
-
761
- const clearSynonyms = (base) => {
762
- return (requestOptions) => {
763
- const { forwardToReplicas, ...options } = requestOptions || {};
764
- const mappedRequestOptions = createMappedRequestOptions(options);
765
- if (forwardToReplicas) {
766
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
767
- }
768
- return createWaitablePromise(base.transporter.write({
769
- method: MethodEnum.Post,
770
- path: encode('1/indexes/%s/synonyms/clear', base.indexName),
771
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
772
- };
773
- };
774
-
775
- const deleteBy = (base) => {
776
- return (filters, requestOptions) => {
777
- return createWaitablePromise(base.transporter.write({
778
- method: MethodEnum.Post,
779
- path: encode('1/indexes/%s/deleteByQuery', base.indexName),
780
- data: filters,
781
- }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
782
- };
783
- };
784
-
785
- const deleteIndex = (base) => {
786
- return (requestOptions) => {
787
- return createWaitablePromise(base.transporter.write({
788
- method: MethodEnum.Delete,
789
- path: encode('1/indexes/%s', base.indexName),
790
- }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
791
- };
792
- };
793
-
794
- const deleteObject = (base) => {
795
- return (objectID, requestOptions) => {
796
- return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => {
797
- return { taskID: response.taskIDs[0] };
798
- }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
799
- };
800
- };
801
-
802
- const deleteObjects = (base) => {
803
- return (objectIDs, requestOptions) => {
804
- const objects = objectIDs.map(objectID => {
805
- return { objectID };
806
- });
807
- return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions);
808
- };
809
- };
810
-
811
- const deleteRule = (base) => {
812
- return (objectID, requestOptions) => {
813
- const { forwardToReplicas, ...options } = requestOptions || {};
814
- const mappedRequestOptions = createMappedRequestOptions(options);
815
- if (forwardToReplicas) {
816
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
817
- }
818
- return createWaitablePromise(base.transporter.write({
819
- method: MethodEnum.Delete,
820
- path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),
821
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
822
- };
823
- };
824
-
825
- const deleteSynonym = (base) => {
826
- return (objectID, requestOptions) => {
827
- const { forwardToReplicas, ...options } = requestOptions || {};
828
- const mappedRequestOptions = createMappedRequestOptions(options);
829
- if (forwardToReplicas) {
830
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
831
- }
832
- return createWaitablePromise(base.transporter.write({
833
- method: MethodEnum.Delete,
834
- path: encode('1/indexes/%s/synonyms/%s', base.indexName, objectID),
835
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
836
- };
837
- };
838
-
839
- const exists = (base) => {
840
- return (requestOptions) => {
841
- return getSettings(base)(requestOptions)
842
- .then(() => true)
843
- .catch(error => {
844
- if (error.status !== 404) {
845
- throw error;
846
- }
847
- return false;
848
- });
849
- };
850
- };
851
-
852
- const findAnswers = (base) => {
853
- return (query, queryLanguages, requestOptions) => {
854
- return base.transporter.read({
855
- method: MethodEnum.Post,
856
- path: encode('1/answers/%s/prediction', base.indexName),
857
- data: {
858
- query,
859
- queryLanguages,
860
- },
861
- cacheable: true,
862
- }, requestOptions);
863
- };
864
- };
865
-
866
- const findObject = (base) => {
867
- return (callback, requestOptions) => {
868
- const { query, paginate, ...options } = requestOptions || {};
869
- // eslint-disable-next-line functional/no-let
870
- let page = 0;
871
- const forEachPage = () => {
872
- return search(base)(query || '', { ...options, page }).then(result => {
873
- // eslint-disable-next-line functional/no-loop-statement
874
- for (const [position, hit] of Object.entries(result.hits)) {
875
- // eslint-disable-next-line promise/no-callback-in-promise
876
- if (callback(hit)) {
877
- return {
878
- object: hit,
879
- position: parseInt(position, 10),
880
- page,
881
- };
882
- }
883
- }
884
- page++;
885
- // paginate if option was set and has next page
886
- if (paginate === false || page >= result.nbPages) {
887
- throw createObjectNotFoundError();
888
- }
889
- return forEachPage();
890
- });
891
- };
892
- return forEachPage();
893
- };
894
- };
895
-
896
- const getObject = (base) => {
897
- return (objectID, requestOptions) => {
898
- return base.transporter.read({
899
- method: MethodEnum.Get,
900
- path: encode('1/indexes/%s/%s', base.indexName, objectID),
901
- }, requestOptions);
902
- };
903
- };
904
-
905
- const getObjectPosition = () => {
906
- return (searchResponse, objectID) => {
907
- // eslint-disable-next-line functional/no-loop-statement
908
- for (const [position, hit] of Object.entries(searchResponse.hits)) {
909
- if (hit.objectID === objectID) {
910
- return parseInt(position, 10);
911
- }
912
- }
913
- return -1;
914
- };
915
- };
916
-
917
- const getObjects = (base) => {
918
- return (objectIDs, requestOptions) => {
919
- const { attributesToRetrieve, ...options } = requestOptions || {};
920
- const requests = objectIDs.map(objectID => {
921
- return {
922
- indexName: base.indexName,
923
- objectID,
924
- ...(attributesToRetrieve ? { attributesToRetrieve } : {}),
925
- };
926
- });
927
- return base.transporter.read({
928
- method: MethodEnum.Post,
929
- path: '1/indexes/*/objects',
930
- data: {
931
- requests,
932
- },
933
- }, options);
934
- };
935
- };
936
-
937
- const getRule = (base) => {
938
- return (objectID, requestOptions) => {
939
- return base.transporter.read({
940
- method: MethodEnum.Get,
941
- path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),
942
- }, requestOptions);
943
- };
944
- };
945
-
946
- const getSettings = (base) => {
947
- return (requestOptions) => {
948
- return base.transporter.read({
949
- method: MethodEnum.Get,
950
- path: encode('1/indexes/%s/settings', base.indexName),
951
- data: {
952
- getVersion: 2,
953
- },
954
- }, requestOptions);
955
- };
956
- };
957
-
958
- const getSynonym = (base) => {
959
- return (objectID, requestOptions) => {
960
- return base.transporter.read({
961
- method: MethodEnum.Get,
962
- path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID),
963
- }, requestOptions);
964
- };
965
- };
966
-
967
- const getTask = (base) => {
968
- return (taskID, requestOptions) => {
969
- return base.transporter.read({
970
- method: MethodEnum.Get,
971
- path: encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()),
972
- }, requestOptions);
973
- };
974
- };
975
-
976
- const partialUpdateObject = (base) => {
977
- return (object, requestOptions) => {
978
- return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => {
979
- return {
980
- objectID: response.objectIDs[0],
981
- taskID: response.taskIDs[0],
982
- };
983
- }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
984
- };
985
- };
986
-
987
- const partialUpdateObjects = (base) => {
988
- return (objects, requestOptions) => {
989
- const { createIfNotExists, ...options } = requestOptions || {};
990
- const action = createIfNotExists
991
- ? BatchActionEnum.PartialUpdateObject
992
- : BatchActionEnum.PartialUpdateObjectNoCreate;
993
- return chunkedBatch(base)(objects, action, options);
994
- };
995
- };
996
-
997
- const replaceAllObjects = (base) => {
998
- return (objects, requestOptions) => {
999
- const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {};
1000
- const operation = (from, to, type, operationRequestOptions) => {
1001
- return createWaitablePromise(base.transporter.write({
1002
- method: MethodEnum.Post,
1003
- path: encode('1/indexes/%s/operation', from),
1004
- data: {
1005
- operation: type,
1006
- destination: to,
1007
- },
1008
- }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
1009
- };
1010
- const randomSuffix = Math.random()
1011
- .toString(36)
1012
- .substring(7);
1013
- const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`;
1014
- const saveObjectsInTemporary = saveObjects({
1015
- appId: base.appId,
1016
- transporter: base.transporter,
1017
- indexName: temporaryIndexName,
1018
- });
1019
- // @ts-ignore
1020
- // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type
1021
- let responses = [];
1022
- const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', {
1023
- ...options,
1024
- scope: ['settings', 'synonyms', 'rules'],
1025
- });
1026
- // eslint-disable-next-line functional/immutable-data
1027
- responses.push(copyWaitablePromise);
1028
- const result = (safe
1029
- ? copyWaitablePromise.wait(options)
1030
- : copyWaitablePromise)
1031
- .then(() => {
1032
- const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, {
1033
- ...options,
1034
- autoGenerateObjectIDIfNotExist,
1035
- batchSize,
1036
- });
1037
- // eslint-disable-next-line functional/immutable-data
1038
- responses.push(saveObjectsWaitablePromise);
1039
- return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise;
1040
- })
1041
- .then(() => {
1042
- const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options);
1043
- // eslint-disable-next-line functional/immutable-data
1044
- responses.push(moveWaitablePromise);
1045
- return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise;
1046
- })
1047
- .then(() => Promise.all(responses))
1048
- .then(([copyResponse, saveObjectsResponse, moveResponse]) => {
1049
- return {
1050
- objectIDs: saveObjectsResponse.objectIDs,
1051
- taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],
1052
- };
1053
- });
1054
- return createWaitablePromise(result, (_, waitRequestOptions) => {
1055
- return Promise.all(responses.map(response => response.wait(waitRequestOptions)));
1056
- });
1057
- };
1058
- };
1059
-
1060
- const replaceAllRules = (base) => {
1061
- return (rules, requestOptions) => {
1062
- return saveRules(base)(rules, {
1063
- ...requestOptions,
1064
- clearExistingRules: true,
1065
- });
1066
- };
1067
- };
1068
-
1069
- const replaceAllSynonyms = (base) => {
1070
- return (synonyms, requestOptions) => {
1071
- return saveSynonyms(base)(synonyms, {
1072
- ...requestOptions,
1073
- clearExistingSynonyms: true,
1074
- });
1075
- };
1076
- };
1077
-
1078
- const saveObject = (base) => {
1079
- return (object, requestOptions) => {
1080
- return createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => {
1081
- return {
1082
- objectID: response.objectIDs[0],
1083
- taskID: response.taskIDs[0],
1084
- };
1085
- }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
1086
- };
1087
- };
1088
-
1089
- const saveObjects = (base) => {
1090
- return (objects, requestOptions) => {
1091
- const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {};
1092
- const action = autoGenerateObjectIDIfNotExist
1093
- ? BatchActionEnum.AddObject
1094
- : BatchActionEnum.UpdateObject;
1095
- if (action === BatchActionEnum.UpdateObject) {
1096
- // eslint-disable-next-line functional/no-loop-statement
1097
- for (const object of objects) {
1098
- if (object.objectID === undefined) {
1099
- return createWaitablePromise(Promise.reject(createMissingObjectIDError()));
1100
- }
1101
- }
1102
- }
1103
- return chunkedBatch(base)(objects, action, options);
1104
- };
1105
- };
1106
-
1107
- const saveRule = (base) => {
1108
- return (rule, requestOptions) => {
1109
- return saveRules(base)([rule], requestOptions);
1110
- };
1111
- };
1112
-
1113
- const saveRules = (base) => {
1114
- return (rules, requestOptions) => {
1115
- const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {};
1116
- const mappedRequestOptions = createMappedRequestOptions(options);
1117
- if (forwardToReplicas) {
1118
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
1119
- }
1120
- if (clearExistingRules) {
1121
- mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data
1122
- }
1123
- return createWaitablePromise(base.transporter.write({
1124
- method: MethodEnum.Post,
1125
- path: encode('1/indexes/%s/rules/batch', base.indexName),
1126
- data: rules,
1127
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
1128
- };
1129
- };
1130
-
1131
- const saveSynonym = (base) => {
1132
- return (synonym, requestOptions) => {
1133
- return saveSynonyms(base)([synonym], requestOptions);
1134
- };
1135
- };
1136
-
1137
- const saveSynonyms = (base) => {
1138
- return (synonyms, requestOptions) => {
1139
- const { forwardToReplicas, clearExistingSynonyms, replaceExistingSynonyms, ...options } = requestOptions || {};
1140
- const mappedRequestOptions = createMappedRequestOptions(options);
1141
- if (forwardToReplicas) {
1142
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
1143
- }
1144
- if (replaceExistingSynonyms || clearExistingSynonyms) {
1145
- mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data
1146
- }
1147
- return createWaitablePromise(base.transporter.write({
1148
- method: MethodEnum.Post,
1149
- path: encode('1/indexes/%s/synonyms/batch', base.indexName),
1150
- data: synonyms,
1151
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
1152
- };
1153
- };
1154
-
1155
- const search = (base) => {
1156
- return (query, requestOptions) => {
1157
- return base.transporter.read({
1158
- method: MethodEnum.Post,
1159
- path: encode('1/indexes/%s/query', base.indexName),
1160
- data: {
1161
- query,
1162
- },
1163
- cacheable: true,
1164
- }, requestOptions);
1165
- };
1166
- };
1167
-
1168
- const searchForFacetValues = (base) => {
1169
- return (facetName, facetQuery, requestOptions) => {
1170
- return base.transporter.read({
1171
- method: MethodEnum.Post,
1172
- path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),
1173
- data: {
1174
- facetQuery,
1175
- },
1176
- cacheable: true,
1177
- }, requestOptions);
1178
- };
1179
- };
1180
-
1181
- const searchRules = (base) => {
1182
- return (query, requestOptions) => {
1183
- return base.transporter.read({
1184
- method: MethodEnum.Post,
1185
- path: encode('1/indexes/%s/rules/search', base.indexName),
1186
- data: {
1187
- query,
1188
- },
1189
- }, requestOptions);
1190
- };
1191
- };
1192
-
1193
- const searchSynonyms = (base) => {
1194
- return (query, requestOptions) => {
1195
- return base.transporter.read({
1196
- method: MethodEnum.Post,
1197
- path: encode('1/indexes/%s/synonyms/search', base.indexName),
1198
- data: {
1199
- query,
1200
- },
1201
- }, requestOptions);
1202
- };
1203
- };
1204
-
1205
- const setSettings = (base) => {
1206
- return (settings, requestOptions) => {
1207
- const { forwardToReplicas, ...options } = requestOptions || {};
1208
- const mappedRequestOptions = createMappedRequestOptions(options);
1209
- if (forwardToReplicas) {
1210
- mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data
1211
- }
1212
- return createWaitablePromise(base.transporter.write({
1213
- method: MethodEnum.Put,
1214
- path: encode('1/indexes/%s/settings', base.indexName),
1215
- data: settings,
1216
- }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));
1217
- };
1218
- };
1219
-
1220
- const waitTask = (base) => {
1221
- return (taskID, requestOptions) => {
1222
- return createRetryablePromise(retry => {
1223
- return getTask(base)(taskID, requestOptions).then(response => {
1224
- return response.status !== 'published' ? retry() : undefined;
1225
- });
1226
- });
1227
- };
1228
- };
1229
-
1230
- const ApiKeyACLEnum = {
1231
- AddObject: 'addObject',
1232
- Analytics: 'analytics',
1233
- Browser: 'browse',
1234
- DeleteIndex: 'deleteIndex',
1235
- DeleteObject: 'deleteObject',
1236
- EditSettings: 'editSettings',
1237
- ListIndexes: 'listIndexes',
1238
- Logs: 'logs',
1239
- Personalization: 'personalization',
1240
- Recommendation: 'recommendation',
1241
- Search: 'search',
1242
- SeeUnretrievableAttributes: 'seeUnretrievableAttributes',
1243
- Settings: 'settings',
1244
- Usage: 'usage',
1245
- };
1246
-
1247
- const BatchActionEnum = {
1248
- AddObject: 'addObject',
1249
- UpdateObject: 'updateObject',
1250
- PartialUpdateObject: 'partialUpdateObject',
1251
- PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate',
1252
- DeleteObject: 'deleteObject',
1253
- DeleteIndex: 'delete',
1254
- ClearIndex: 'clear',
1255
- };
1256
-
1257
- const ScopeEnum = {
1258
- Settings: 'settings',
1259
- Synonyms: 'synonyms',
1260
- Rules: 'rules',
1261
- };
1262
-
1263
- const StrategyEnum = {
1264
- None: 'none',
1265
- StopIfEnoughMatches: 'stopIfEnoughMatches',
1266
- };
1267
-
1268
- const SynonymEnum = {
1269
- Synonym: 'synonym',
1270
- OneWaySynonym: 'oneWaySynonym',
1271
- AltCorrection1: 'altCorrection1',
1272
- AltCorrection2: 'altCorrection2',
1273
- Placeholder: 'placeholder',
1274
- };
1275
-
1276
- export { ApiKeyACLEnum, BatchActionEnum, ScopeEnum, StrategyEnum, SynonymEnum, addApiKey, assignUserID, assignUserIDs, batch, browseObjects, browseRules, browseSynonyms, chunkedBatch, clearDictionaryEntries, clearObjects, clearRules, clearSynonyms, copyIndex, copyRules, copySettings, copySynonyms, createBrowsablePromise, createMissingObjectIDError, createObjectNotFoundError, createSearchClient, createValidUntilNotFoundError, customRequest, deleteApiKey, deleteBy, deleteDictionaryEntries, deleteIndex, deleteObject, deleteObjects, deleteRule, deleteSynonym, exists, findAnswers, findObject, generateSecuredApiKey, getApiKey, getAppTask, getDictionarySettings, getLogs, getObject, getObjectPosition, getObjects, getRule, getSecuredApiKeyRemainingValidity, getSettings, getSynonym, getTask, getTopUserIDs, getUserID, hasPendingMappings, initIndex, listApiKeys, listClusters, listIndices, listUserIDs, moveIndex, multipleBatch, multipleGetObjects, multipleQueries, multipleSearchForFacetValues, partialUpdateObject, partialUpdateObjects, removeUserID, replaceAllObjects, replaceAllRules, replaceAllSynonyms, replaceDictionaryEntries, restoreApiKey, saveDictionaryEntries, saveObject, saveObjects, saveRule, saveRules, saveSynonym, saveSynonyms, search, searchDictionaryEntries, searchForFacetValues, searchRules, searchSynonyms, searchUserIDs, setDictionarySettings, setSettings, updateApiKey, waitAppTask, waitTask };