algoliasearch 4.25.1 → 4.25.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.
@@ -206,7 +206,7 @@ function encode(format, ...args) {
206
206
  return format.replace(/%s/g, () => encodeURIComponent(args[i++]));
207
207
  }
208
208
 
209
- const version = '4.25.1';
209
+ const version = '4.25.3';
210
210
 
211
211
  const AuthMode = {
212
212
  /**
@@ -1,2 +1,2 @@
1
- /*! algoliasearch-lite.umd.js | 4.25.1 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).algoliasearch=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?t(Object(o),!0).forEach((function(t){e(r,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}function n(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,a=void 0;try{for(var u,i=e[Symbol.iterator]();!(n=(u=i.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function u(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},a=function(){return JSON.parse(n().getItem(r)||"{}")},u=function(e){n().setItem(r,JSON.stringify(e))},i=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=a(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==o(e,2)[1].timestamp})));if(u(n),t){var i=Object.fromEntries(Object.entries(n).filter((function(e){var r=o(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));u(i)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){i();var t=JSON.stringify(e);return a()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=o(e,2),n=t[0],a=t[1];return Promise.all([n,a||r.miss(n)])})).then((function(e){return o(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var o=a();return o[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(o)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function i(e){var t=a(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=t();return n.then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return o(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,o).catch((function(){return i({caches:t}).get(e,n,o)}))},set:function(e,n){return r.set(e,n).catch((function(){return i({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return i({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return i({caches:t}).clear()}))}}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var u=n(),i=o&&o.miss||function(){return Promise.resolve()};return u.then((function(e){return i(e)})).then((function(){return u}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function c(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function l(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[o++])}))}var h={WithinQueryParameters:0,WithinHeaders:1};function m(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,v=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function b(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var O="GET",P="POST";function q(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),o=[].concat(a(r),a(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:o.length>0?o.map((function(e){return b(e)})):t}}))}function j(e,t,n,o){var u=[],i=function(e,t){if(e.method===O||void 0===e.data&&void 0===t.data)return;var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}(n,o),s=function(e,t){var n=r(r({},e.headers),t.headers),o={};return Object.keys(n).forEach((function(e){var t=n[e];o[e.toLowerCase()]=t})),o}(e,o),c=n.method,l=n.method!==O?{}:r(r({},n.data),o.data),f=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),l),o.queryParameters),h=0,m=function t(r,a){var l=r.pop();if(void 0===l)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .",transporterStackTrace:A(u)};var m={data:i,headers:s,method:c,url:S(l,n.path,f),connectTimeout:a(h,e.timeouts.connect),responseTimeout:a(h,o.timeout)},d=function(e){var t={request:m,response:e,host:l,triesLeft:r.length};return u.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var o=d(n);return n.isTimedOut&&h++,Promise.all([e.logger.info("Retryable failure",x(o)),e.hostsCache.set(l,y(l,n.isTimedOut?g:v))]).then((function(){return t(r,a)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,o=r;try{o=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(o,n,t)}(e,A(u))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&0==~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return q(e.hostsCache,t).then((function(e){return m(a(e.statelessHosts).reverse(),e.getTimeout)}))}function w(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function S(e,t,r){var n=T(r),o="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(o+="?".concat(n)),o}function T(e){return Object.keys(e).map((function(t){return f("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function A(e){return e.map((function(e){return x(e)}))}function x(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var N=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===h.WithinHeaders?n:{}},queryParameters:function(){return e===h.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:h.WithinHeaders,t,e.apiKey),a=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,a=e.requestsCache,u=e.responsesCache,i=e.timeouts,s=e.userAgent,c=e.hosts,l=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:a,responsesCache:u,timeouts:i,userAgent:s,headers:e.headers,queryParameters:l,hosts:c.map((function(e){return b(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return j(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var a={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(a,(function(){return f.requestsCache.get(a,(function(){return f.requestsCache.set(a,n()).then((function(e){return Promise.all([f.requestsCache.delete(a),e])}),(function(e){return Promise.all([f.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=o(e,2);t[0];return t[1]}))}))}),{miss:function(e){return f.responsesCache.set(a,e)}})},write:function(e,t){return j(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(c([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return l({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)},C=function(e){return function(t,r){return t.method===O?e.transporter.read(t,r):e.transporter.write(t,r)}},E=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:e.transporter,appId:e.appId,indexName:t};return l(n,r.methods)}},J=function(e){return function(t,n){var o=t.map((function(e){return r(r({},e),{},{params:T(e.params||{})})}));return e.transporter.read({method:P,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},n)}},k=function(e){return function(t,o){return Promise.all(t.map((function(t){var a=t.params,u=a.facetName,i=a.facetQuery,s=n(a,["facetName","facetQuery"]);return E(e)(t.indexName,{methods:{searchForFacetValues:F}}).searchForFacetValues(u,i,r(r({},o),s))})))}},I=function(e){return function(t,r,n){return e.transporter.read({method:P,path:f("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},R=function(e){return function(t,r){return e.transporter.read({method:P,path:f("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},F=function(e){return function(t,r,n){return e.transporter.read({method:P,path:f("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},D=1,W=2,H=3;var Q=function(e){return function(t,n){var o=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:P,path:"1/indexes/*/recommendations",data:{requests:o},cacheable:!0},n)}};function L(e,t,n){var o,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,o=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},a=o(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(a),n=o(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(a),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(a),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(o=H,{debug:function(e,t){return D>=o&&console.debug(e,t),Promise.resolve()},info:function(e,t){return W>=o&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:i({caches:[u({key:"".concat("4.25.1","-").concat(e)}),s()]}),userAgent:w("4.25.1").add({segment:"Browser",version:"lite"}),authMode:h.WithinQueryParameters};return N(r(r(r({},a),n),{},{methods:{search:J,searchForFacetValues:k,multipleQueries:J,multipleSearchForFacetValues:k,customRequest:C,initIndex:function(e){return function(t){return E(e)(t,{methods:{search:R,searchForFacetValues:F,findAnswers:I}})}},getRecommendations:Q}}))}return L.version="4.25.1",L}));
1
+ /*! algoliasearch-lite.umd.js | 4.25.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).algoliasearch=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?t(Object(o),!0).forEach((function(t){e(r,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}function n(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,a=void 0;try{for(var u,i=e[Symbol.iterator]();!(n=(u=i.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function u(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},a=function(){return JSON.parse(n().getItem(r)||"{}")},u=function(e){n().setItem(r,JSON.stringify(e))},i=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=a(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==o(e,2)[1].timestamp})));if(u(n),t){var i=Object.fromEntries(Object.entries(n).filter((function(e){var r=o(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));u(i)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){i();var t=JSON.stringify(e);return a()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=o(e,2),n=t[0],a=t[1];return Promise.all([n,a||r.miss(n)])})).then((function(e){return o(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var o=a();return o[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(o)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function i(e){var t=a(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=t();return n.then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return o(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,o).catch((function(){return i({caches:t}).get(e,n,o)}))},set:function(e,n){return r.set(e,n).catch((function(){return i({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return i({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return i({caches:t}).clear()}))}}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var u=n(),i=o&&o.miss||function(){return Promise.resolve()};return u.then((function(e){return i(e)})).then((function(){return u}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function c(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function l(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[o++])}))}var h={WithinQueryParameters:0,WithinHeaders:1};function m(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,v=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function b(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var O="GET",P="POST";function q(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),o=[].concat(a(r),a(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:o.length>0?o.map((function(e){return b(e)})):t}}))}function j(e,t,n,o){var u=[],i=function(e,t){if(e.method===O||void 0===e.data&&void 0===t.data)return;var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}(n,o),s=function(e,t){var n=r(r({},e.headers),t.headers),o={};return Object.keys(n).forEach((function(e){var t=n[e];o[e.toLowerCase()]=t})),o}(e,o),c=n.method,l=n.method!==O?{}:r(r({},n.data),o.data),f=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),l),o.queryParameters),h=0,m=function t(r,a){var l=r.pop();if(void 0===l)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .",transporterStackTrace:A(u)};var m={data:i,headers:s,method:c,url:S(l,n.path,f),connectTimeout:a(h,e.timeouts.connect),responseTimeout:a(h,o.timeout)},d=function(e){var t={request:m,response:e,host:l,triesLeft:r.length};return u.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var o=d(n);return n.isTimedOut&&h++,Promise.all([e.logger.info("Retryable failure",x(o)),e.hostsCache.set(l,y(l,n.isTimedOut?g:v))]).then((function(){return t(r,a)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,o=r;try{o=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(o,n,t)}(e,A(u))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&0==~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return q(e.hostsCache,t).then((function(e){return m(a(e.statelessHosts).reverse(),e.getTimeout)}))}function w(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function S(e,t,r){var n=T(r),o="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(o+="?".concat(n)),o}function T(e){return Object.keys(e).map((function(t){return f("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function A(e){return e.map((function(e){return x(e)}))}function x(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var N=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===h.WithinHeaders?n:{}},queryParameters:function(){return e===h.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:h.WithinHeaders,t,e.apiKey),a=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,a=e.requestsCache,u=e.responsesCache,i=e.timeouts,s=e.userAgent,c=e.hosts,l=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:a,responsesCache:u,timeouts:i,userAgent:s,headers:e.headers,queryParameters:l,hosts:c.map((function(e){return b(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return j(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var a={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(a,(function(){return f.requestsCache.get(a,(function(){return f.requestsCache.set(a,n()).then((function(e){return Promise.all([f.requestsCache.delete(a),e])}),(function(e){return Promise.all([f.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=o(e,2);t[0];return t[1]}))}))}),{miss:function(e){return f.responsesCache.set(a,e)}})},write:function(e,t){return j(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(c([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return l({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)},C=function(e){return function(t,r){return t.method===O?e.transporter.read(t,r):e.transporter.write(t,r)}},E=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:e.transporter,appId:e.appId,indexName:t};return l(n,r.methods)}},J=function(e){return function(t,n){var o=t.map((function(e){return r(r({},e),{},{params:T(e.params||{})})}));return e.transporter.read({method:P,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},n)}},k=function(e){return function(t,o){return Promise.all(t.map((function(t){var a=t.params,u=a.facetName,i=a.facetQuery,s=n(a,["facetName","facetQuery"]);return E(e)(t.indexName,{methods:{searchForFacetValues:F}}).searchForFacetValues(u,i,r(r({},o),s))})))}},I=function(e){return function(t,r,n){return e.transporter.read({method:P,path:f("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},R=function(e){return function(t,r){return e.transporter.read({method:P,path:f("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},F=function(e){return function(t,r,n){return e.transporter.read({method:P,path:f("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},D=1,W=2,H=3;var Q=function(e){return function(t,n){var o=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:P,path:"1/indexes/*/recommendations",data:{requests:o},cacheable:!0},n)}};function L(e,t,n){var o,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,o=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},a=o(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(a),n=o(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(a),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(a),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(o=H,{debug:function(e,t){return D>=o&&console.debug(e,t),Promise.resolve()},info:function(e,t){return W>=o&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:i({caches:[u({key:"".concat("4.25.3","-").concat(e)}),s()]}),userAgent:w("4.25.3").add({segment:"Browser",version:"lite"}),authMode:h.WithinQueryParameters};return N(r(r(r({},a),n),{},{methods:{search:J,searchForFacetValues:k,multipleQueries:J,multipleSearchForFacetValues:k,customRequest:C,initIndex:function(e){return function(t){return E(e)(t,{methods:{search:R,searchForFacetValues:F,findAnswers:I}})}},getRecommendations:Q}}))}return L.version="4.25.3",L}));
@@ -14,10 +14,10 @@ var requesterCommon = require('@algolia/requester-common');
14
14
 
15
15
  function createIngestionClient(options) {
16
16
  if (!options || !options.transformation || !options.transformation.region) {
17
- throw new Error('`region` must be provided when leveraging the transformation pipeline');
17
+ throw transformationConfigurationError('`region` must be provided when leveraging the transformation pipeline');
18
18
  }
19
19
  if (options.transformation.region !== 'eu' && options.transformation.region !== 'us') {
20
- throw new Error('`region` is required and must be one of the following: eu, us');
20
+ throw transformationConfigurationError('`region` is required and must be one of the following: eu, us');
21
21
  }
22
22
  const appId = options.appId;
23
23
  const auth = clientCommon.createAuth(clientCommon.AuthMode.WithinHeaders, appId, options.apiKey);
@@ -54,21 +54,21 @@ function createIngestionClient(options) {
54
54
  transporter$1.responsesCache.clear(),
55
55
  ]).then(() => undefined);
56
56
  },
57
- async push({ indexName, pushTaskPayload, watch }, requestOptions) {
57
+ push({ indexName, pushTaskPayload, watch }, requestOptions) {
58
58
  if (!indexName) {
59
- throw new Error('Parameter `indexName` is required when calling `push`.');
59
+ throw transformationConfigurationError('Parameter `indexName` is required when calling `push`.');
60
60
  }
61
61
  if (!pushTaskPayload) {
62
- throw new Error('Parameter `pushTaskPayload` is required when calling `push`.');
62
+ throw transformationConfigurationError('Parameter `pushTaskPayload` is required when calling `push`.');
63
63
  }
64
64
  if (!pushTaskPayload.action) {
65
- throw new Error('Parameter `pushTaskPayload.action` is required when calling `push`.');
65
+ throw transformationConfigurationError('Parameter `pushTaskPayload.action` is required when calling `push`.');
66
66
  }
67
67
  if (!pushTaskPayload.records) {
68
- throw new Error('Parameter `pushTaskPayload.records` is required when calling `push`.');
68
+ throw transformationConfigurationError('Parameter `pushTaskPayload.records` is required when calling `push`.');
69
69
  }
70
70
  const opts = requestOptions || { queryParameters: {} };
71
- return await transporter$1.write({
71
+ return transporter$1.write({
72
72
  method: requesterCommon.MethodEnum.Post,
73
73
  path: clientCommon.encode('1/push/%s', indexName),
74
74
  data: pushTaskPayload,
@@ -83,16 +83,16 @@ function createIngestionClient(options) {
83
83
  };
84
84
  }
85
85
  function saveObjectsWithTransformation(indexName, client) {
86
- return async (objects, requestOptions) => {
86
+ return (objects, requestOptions) => {
87
87
  if (!client) {
88
- throw new Error('`options.transformation.region` must be provided at client instantiation before calling this method.');
88
+ throw transformationConfigurationError('`options.transformation.region` must be provided at client instantiation before calling this method.');
89
89
  }
90
90
  const { autoGenerateObjectIDIfNotExist, watch, ...rest } = requestOptions || {};
91
91
  const action = autoGenerateObjectIDIfNotExist
92
92
  ? clientSearch.BatchActionEnum.AddObject
93
93
  : clientSearch.BatchActionEnum.UpdateObject;
94
94
  /* eslint functional/immutable-data: "off" */
95
- return await client.push({
95
+ return client.push({
96
96
  indexName,
97
97
  pushTaskPayload: { action, records: objects },
98
98
  watch,
@@ -100,21 +100,27 @@ function saveObjectsWithTransformation(indexName, client) {
100
100
  };
101
101
  }
102
102
  function partialUpdateObjectsWithTransformation(indexName, client) {
103
- return async (objects, requestOptions) => {
103
+ return (objects, requestOptions) => {
104
104
  if (!client) {
105
- throw new Error('`options.transformation.region` must be provided at client instantiation before calling this method.');
105
+ throw transformationConfigurationError('`options.transformation.region` must be provided at client instantiation before calling this method.');
106
106
  }
107
107
  const { createIfNotExists, watch, ...rest } = requestOptions || {};
108
108
  const action = createIfNotExists
109
109
  ? clientSearch.BatchActionEnum.PartialUpdateObject
110
110
  : clientSearch.BatchActionEnum.PartialUpdateObjectNoCreate;
111
111
  /* eslint functional/immutable-data: "off" */
112
- return await client.push({
112
+ return client.push({
113
113
  indexName,
114
114
  pushTaskPayload: { action, records: objects },
115
115
  watch,
116
116
  }, rest);
117
117
  };
118
+ }
119
+ function transformationConfigurationError(message) {
120
+ return {
121
+ name: 'TransformationConfigurationError',
122
+ message,
123
+ };
118
124
  }
119
125
 
120
126
  function algoliasearch(appId, apiKey, options) {
@@ -151,7 +157,7 @@ function algoliasearch(appId, apiKey, options) {
151
157
  let ingestionTransporter;
152
158
  if (options && options.transformation) {
153
159
  if (!options.transformation.region) {
154
- throw new Error('`region` must be provided when leveraging the transformation pipeline');
160
+ throw transformationConfigurationError('`region` must be provided when leveraging the transformation pipeline');
155
161
  }
156
162
  ingestionTransporter = createIngestionClient({ ...options, ...commonOptions });
157
163
  }
@@ -140,7 +140,7 @@ export declare type IngestionClient = SearchClient_2 & {
140
140
  * @param push.watch - When provided, the push operation will be synchronous and the API will wait for the ingestion to be finished before responding.
141
141
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
142
142
  */
143
- readonly push: ({ indexName, pushTaskPayload, watch }: PushProps, requestOptions?: RequestOptions) => Promise<WatchResponse>;
143
+ readonly push: ({ indexName, pushTaskPayload, watch }: PushProps, requestOptions?: RequestOptions) => Readonly<Promise<WatchResponse>>;
144
144
  };
145
145
 
146
146
  export declare type IngestionMethods = {
@@ -150,14 +150,14 @@ export declare type IngestionMethods = {
150
150
  * @param objects - The array of `objects` to store in the given Algolia `indexName`.
151
151
  * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `batch` method and merged with the transporter requestOptions.
152
152
  */
153
- readonly saveObjectsWithTransformation: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: RequestOptions & ChunkOptions & SaveObjectsOptions & PushOptions) => Promise<WatchResponse>;
153
+ readonly saveObjectsWithTransformation: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: RequestOptions & ChunkOptions & SaveObjectsOptions & PushOptions) => Readonly<Promise<WatchResponse>>;
154
154
  /**
155
155
  * Helper: Similar to the `partialUpdateObjects` method but requires a Push connector (https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/connectors/push/) to be created first, in order to transform records before indexing them to Algolia. The `region` must've been passed to the client instantiation method.
156
156
  *
157
157
  * @param objects - The array of `objects` to update in the given Algolia `indexName`.
158
158
  * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.
159
159
  */
160
- readonly partialUpdateObjectsWithTransformation: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: RequestOptions & ChunkOptions & PartialUpdateObjectsOptions & PushOptions) => Promise<WatchResponse>;
160
+ readonly partialUpdateObjectsWithTransformation: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: RequestOptions & ChunkOptions & PartialUpdateObjectsOptions & PushOptions) => Readonly<Promise<WatchResponse>>;
161
161
  };
162
162
 
163
163
  export declare type InitAnalyticsOptions = Partial<ClientTransporterOptions> & OptionalCredentials<AnalyticsClientOptions>;
@@ -232,7 +232,7 @@ function encode(format, ...args) {
232
232
  return format.replace(/%s/g, () => encodeURIComponent(args[i++]));
233
233
  }
234
234
 
235
- const version = '4.25.1';
235
+ const version = '4.25.3';
236
236
 
237
237
  const AuthMode = {
238
238
  /**
@@ -1834,6 +1834,21 @@ const replaceAllObjects = (base) => {
1834
1834
  objectIDs: saveObjectsResponse.objectIDs,
1835
1835
  taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],
1836
1836
  };
1837
+ })
1838
+ .catch(error => {
1839
+ // Clean up temporary index if there's an error
1840
+ // eslint-disable-next-line promise/no-nesting
1841
+ return deleteIndex({
1842
+ appId: base.appId,
1843
+ transporter: base.transporter,
1844
+ indexName: temporaryIndexName,
1845
+ })()
1846
+ .catch(() => {
1847
+ // Ignore delete errors
1848
+ })
1849
+ .then(() => {
1850
+ throw error;
1851
+ });
1837
1852
  });
1838
1853
  return createWaitablePromise(result, (_, waitRequestOptions) => {
1839
1854
  return Promise.all(responses.map(response => response.wait(waitRequestOptions)));
@@ -2221,10 +2236,10 @@ function createBrowserXhrRequester() {
2221
2236
 
2222
2237
  function createIngestionClient(options) {
2223
2238
  if (!options || !options.transformation || !options.transformation.region) {
2224
- throw new Error('`region` must be provided when leveraging the transformation pipeline');
2239
+ throw transformationConfigurationError('`region` must be provided when leveraging the transformation pipeline');
2225
2240
  }
2226
2241
  if (options.transformation.region !== 'eu' && options.transformation.region !== 'us') {
2227
- throw new Error('`region` is required and must be one of the following: eu, us');
2242
+ throw transformationConfigurationError('`region` is required and must be one of the following: eu, us');
2228
2243
  }
2229
2244
  const appId = options.appId;
2230
2245
  const auth = createAuth(AuthMode.WithinHeaders, appId, options.apiKey);
@@ -2261,21 +2276,21 @@ function createIngestionClient(options) {
2261
2276
  transporter.responsesCache.clear(),
2262
2277
  ]).then(() => undefined);
2263
2278
  },
2264
- async push({ indexName, pushTaskPayload, watch }, requestOptions) {
2279
+ push({ indexName, pushTaskPayload, watch }, requestOptions) {
2265
2280
  if (!indexName) {
2266
- throw new Error('Parameter `indexName` is required when calling `push`.');
2281
+ throw transformationConfigurationError('Parameter `indexName` is required when calling `push`.');
2267
2282
  }
2268
2283
  if (!pushTaskPayload) {
2269
- throw new Error('Parameter `pushTaskPayload` is required when calling `push`.');
2284
+ throw transformationConfigurationError('Parameter `pushTaskPayload` is required when calling `push`.');
2270
2285
  }
2271
2286
  if (!pushTaskPayload.action) {
2272
- throw new Error('Parameter `pushTaskPayload.action` is required when calling `push`.');
2287
+ throw transformationConfigurationError('Parameter `pushTaskPayload.action` is required when calling `push`.');
2273
2288
  }
2274
2289
  if (!pushTaskPayload.records) {
2275
- throw new Error('Parameter `pushTaskPayload.records` is required when calling `push`.');
2290
+ throw transformationConfigurationError('Parameter `pushTaskPayload.records` is required when calling `push`.');
2276
2291
  }
2277
2292
  const opts = requestOptions || { queryParameters: {} };
2278
- return await transporter.write({
2293
+ return transporter.write({
2279
2294
  method: MethodEnum.Post,
2280
2295
  path: encode('1/push/%s', indexName),
2281
2296
  data: pushTaskPayload,
@@ -2290,16 +2305,16 @@ function createIngestionClient(options) {
2290
2305
  };
2291
2306
  }
2292
2307
  function saveObjectsWithTransformation(indexName, client) {
2293
- return async (objects, requestOptions) => {
2308
+ return (objects, requestOptions) => {
2294
2309
  if (!client) {
2295
- throw new Error('`options.transformation.region` must be provided at client instantiation before calling this method.');
2310
+ throw transformationConfigurationError('`options.transformation.region` must be provided at client instantiation before calling this method.');
2296
2311
  }
2297
2312
  const { autoGenerateObjectIDIfNotExist, watch, ...rest } = requestOptions || {};
2298
2313
  const action = autoGenerateObjectIDIfNotExist
2299
2314
  ? BatchActionEnum.AddObject
2300
2315
  : BatchActionEnum.UpdateObject;
2301
2316
  /* eslint functional/immutable-data: "off" */
2302
- return await client.push({
2317
+ return client.push({
2303
2318
  indexName,
2304
2319
  pushTaskPayload: { action, records: objects },
2305
2320
  watch,
@@ -2307,21 +2322,27 @@ function saveObjectsWithTransformation(indexName, client) {
2307
2322
  };
2308
2323
  }
2309
2324
  function partialUpdateObjectsWithTransformation(indexName, client) {
2310
- return async (objects, requestOptions) => {
2325
+ return (objects, requestOptions) => {
2311
2326
  if (!client) {
2312
- throw new Error('`options.transformation.region` must be provided at client instantiation before calling this method.');
2327
+ throw transformationConfigurationError('`options.transformation.region` must be provided at client instantiation before calling this method.');
2313
2328
  }
2314
2329
  const { createIfNotExists, watch, ...rest } = requestOptions || {};
2315
2330
  const action = createIfNotExists
2316
2331
  ? BatchActionEnum.PartialUpdateObject
2317
2332
  : BatchActionEnum.PartialUpdateObjectNoCreate;
2318
2333
  /* eslint functional/immutable-data: "off" */
2319
- return await client.push({
2334
+ return client.push({
2320
2335
  indexName,
2321
2336
  pushTaskPayload: { action, records: objects },
2322
2337
  watch,
2323
2338
  }, rest);
2324
2339
  };
2340
+ }
2341
+ function transformationConfigurationError(message) {
2342
+ return {
2343
+ name: 'TransformationConfigurationError',
2344
+ message,
2345
+ };
2325
2346
  }
2326
2347
 
2327
2348
  function algoliasearch(appId, apiKey, options) {
@@ -2360,7 +2381,7 @@ function algoliasearch(appId, apiKey, options) {
2360
2381
  let ingestionTransporter;
2361
2382
  if (options && options.transformation) {
2362
2383
  if (!options.transformation.region) {
2363
- throw new Error('`region` must be provided when leveraging the transformation pipeline');
2384
+ throw transformationConfigurationError('`region` must be provided when leveraging the transformation pipeline');
2364
2385
  }
2365
2386
  ingestionTransporter = createIngestionClient({ ...options, ...commonOptions });
2366
2387
  }
@@ -1,2 +1,2 @@
1
- /*! algoliasearch.umd.js | 4.25.1 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).algoliasearch=t()}(this,(function(){"use strict";function e(e,t,r,n,a,o,i){try{var u=e[o](i),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,a)}function t(t){return function(){var r=this,n=arguments;return new Promise((function(a,o){var i=t.apply(r,n);function u(t){e(i,a,o,u,s,"next",t)}function s(t){e(i,a,o,u,s,"throw",t)}u(void 0)}))}}function r(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){a=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function s(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},a=function(){return JSON.parse(n().getItem(r)||"{}")},o=function(e){n().setItem(r,JSON.stringify(e))},u=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=a(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==i(e,2)[1].timestamp})));if(o(n),t){var u=Object.fromEntries(Object.entries(n).filter((function(e){var r=i(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));o(u)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){u();var t=JSON.stringify(e);return a()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=i(e,2),n=t[0],a=t[1];return Promise.all([n,a||r.miss(n)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var o=a();return o[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(o)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function c(e){var t=u(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=t();return n.then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,a).catch((function(){return c({caches:t}).get(e,n,a)}))},set:function(e,n){return r.set(e,n).catch((function(){return c({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return c({caches:t}).clear()}))}}}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},o=JSON.stringify(r);if(o in t)return Promise.resolve(e.serializable?JSON.parse(t[o]):t[o]);var i=n(),u=a&&a.miss||function(){return Promise.resolve()};return i.then((function(e){return u(e)})).then((function(){return i}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function d(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===y.WithinHeaders?n:{}},queryParameters:function(){return e===y.WithinQueryParameters?n:{}}}}function l(e){var t=0;return e((function r(){return t++,new Promise((function(n){setTimeout((function(){n(e(r))}),Math.min(100*t,1e3))}))}))}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t){return Promise.resolve()};return Object.assign(e,{wait:function(r){return h(e.then((function(e){return Promise.all([t(e,r),e])})).then((function(e){return e[1]})))}})}function p(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function m(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function g(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var a=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[a++])}))}var y={WithinQueryParameters:0,WithinHeaders:1};function v(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var b={Read:1,Write:2,Any:3},w=1,P=2,x=3;function O(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:w;return a(a({},e),{},{status:t,lastUpdate:Date.now()})}function I(e){return"string"==typeof e?{protocol:"https",url:e,accept:b.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||b.Any}}var j="DELETE",q="GET",D="POST",k="PUT";function T(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(O(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===w||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===x&&Date.now()-e.lastUpdate<=12e4}(e)})),a=[].concat(u(r),u(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:a.length>0?a.map((function(e){return I(e)})):t}}))}function S(e,t,r,n){var o=[],i=function(e,t){if(e.method===q||void 0===e.data&&void 0===t.data)return;var r=Array.isArray(e.data)?e.data:a(a({},e.data),t.data);return JSON.stringify(r)}(r,n),s=function(e,t){var r=a(a({},e.headers),t.headers),n={};return Object.keys(r).forEach((function(e){var t=r[e];n[e.toLowerCase()]=t})),n}(e,n),c=r.method,f=r.method!==q?{}:a(a({},r.data),n.data),d=a(a(a({"x-algolia-agent":e.userAgent.value},e.queryParameters),f),n.queryParameters),l=0,h=function t(a,u){var f=a.pop();if(void 0===f)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .",transporterStackTrace:C(o)};var h={data:i,headers:s,method:c,url:R(f,r.path,d),connectTimeout:u(l,e.timeouts.connect),responseTimeout:u(l,n.timeout)},p=function(e){var t={request:h,response:e,host:f,triesLeft:a.length};return o.push(t),t},m={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(r){var n=p(r);return r.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",U(n)),e.hostsCache.set(f,O(f,r.isTimedOut?x:P))]).then((function(){return t(a,u)}))},onFail:function(e){throw p(e),function(e,t){var r=e.content,n=e.status,a=r;try{a=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(a,n,t)}(e,C(o))}};return e.requester.send(h).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&0==~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,m)}))};return T(e.hostsCache,t).then((function(e){return h(u(e.statelessHosts).reverse(),e.getTimeout)}))}function N(e){var t=e.hostsCache,r=e.logger,n=e.requester,a=e.requestsCache,o=e.responsesCache,u=e.timeouts,s=e.userAgent,c=e.hosts,f=e.queryParameters,d={hostsCache:t,logger:r,requester:n,requestsCache:a,responsesCache:o,timeouts:u,userAgent:s,headers:e.headers,queryParameters:f,hosts:c.map((function(e){return I(e)})),read:function(e,t){var r=v(t,d.timeouts.read),n=function(){return S(d,d.hosts.filter((function(e){return 0!=(e.accept&b.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var a={request:e,mappedRequestOptions:r,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(a,(function(){return d.requestsCache.get(a,(function(){return d.requestsCache.set(a,n()).then((function(e){return Promise.all([d.requestsCache.delete(a),e])}),(function(e){return Promise.all([d.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=i(e,2);t[0];return t[1]}))}))}),{miss:function(e){return d.responsesCache.set(a,e)}})},write:function(e,t){return S(d,d.hosts.filter((function(e){return 0!=(e.accept&b.Write)})),e,v(t,d.timeouts.write))}};return d}function E(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function R(e,t,r){var n=A(r),a="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(a+="?".concat(n)),a}function A(e){return Object.keys(e).map((function(t){return g("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function C(e){return e.map((function(e){return U(e)}))}function U(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return a(a({},e),{},{request:a(a({},e.request),{},{headers:a(a({},e.request.headers),t)})})}var z=function(e){return function(t,r){return e.transporter.write({method:D,path:"2/abtests",data:t},r)}},J=function(e){return function(t,r){return e.transporter.write({method:j,path:g("2/abtests/%s",t)},r)}},F=function(e){return function(t,r){return e.transporter.read({method:q,path:g("2/abtests/%s",t)},r)}},W=function(e){return function(t){return e.transporter.read({method:q,path:"2/abtests"},t)}},H=function(e){return function(t,r){return e.transporter.write({method:D,path:g("2/abtests/%s/stop",t)},r)}},K=function(e){return function(t){return e.transporter.read({method:q,path:"1/strategies/personalization"},t)}},M=function(e){return function(t,r){return e.transporter.write({method:D,path:"1/strategies/personalization",data:t},r)}};function B(e){return function t(r){return e.request(r).then((function(n){if(void 0!==e.batch&&e.batch(n.hits),!e.shouldStop(n))return n.cursor?t({cursor:n.cursor}):t({page:(r.page||0)+1})}))}({})}var G=function(e){return function(t,r){var n=r||{},i=n.queryParameters,u=o(n,["queryParameters"]),s=a({acl:t},void 0!==i?{queryParameters:i}:{});return h(e.transporter.write({method:D,path:"1/keys",data:s},u),(function(t,r){return l((function(n){return re(e)(t.key,r).catch((function(e){if(404!==e.status)throw e;return n()}))}))}))}},L=function(e){return function(t,r,n){var a=v(n);return a.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:D,path:"1/clusters/mapping",data:{cluster:r}},a)}},Q=function(e){return function(t,r,n){return e.transporter.write({method:D,path:"1/clusters/mapping/batch",data:{users:t,cluster:r}},n)}},V=function(e){return function(t,r){return h(e.transporter.write({method:D,path:g("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(function(t,r){return De(e)(t.taskID,r)}))}},_=function(e){return function(t,r,n){return h(e.transporter.write({method:D,path:g("1/indexes/%s/operation",t),data:{operation:"copy",destination:r}},n),(function(r,n){return ce(e)(t,{methods:{waitTask:ht}}).waitTask(r.taskID,n)}))}},X=function(e){return function(t,r,n){return _(e)(t,r,a(a({},n),{},{scope:[mt.Rules]}))}},Y=function(e){return function(t,r,n){return _(e)(t,r,a(a({},n),{},{scope:[mt.Settings]}))}},Z=function(e){return function(t,r,n){return _(e)(t,r,a(a({},n),{},{scope:[mt.Synonyms]}))}},$=function(e){return function(t,r){return t.method===q?e.transporter.read(t,r):e.transporter.write(t,r)}},ee=function(e){return function(t,r){return h(e.transporter.write({method:j,path:g("1/keys/%s",t)},r),(function(r,n){return l((function(r){return re(e)(t,n).then(r).catch((function(e){if(404!==e.status)throw e}))}))}))}},te=function(e){return function(t,r,n){var a=r.map((function(e){return{action:"deleteEntry",body:{objectID:e}}}));return h(e.transporter.write({method:D,path:g("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(t,r){return De(e)(t.taskID,r)}))}},re=function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/keys/%s",t)},r)}},ne=function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/task/%s",t.toString())},r)}},ae=function(e){return function(t){return e.transporter.read({method:q,path:"/1/dictionaries/*/settings"},t)}},oe=function(e){return function(t){return e.transporter.read({method:q,path:"1/logs"},t)}},ie=function(e){return function(t){return e.transporter.read({method:q,path:"1/clusters/mapping/top"},t)}},ue=function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/clusters/mapping/%s",t)},r)}},se=function(e){return function(t){var r=t||{},n=r.retrieveMappings,a=o(r,["retrieveMappings"]);return!0===n&&(a.getClusters=!0),e.transporter.read({method:q,path:"1/clusters/mapping/pending"},a)}},ce=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:e.transporter,appId:e.appId,indexName:t};return m(n,r.methods)}},fe=function(e){return function(t){return e.transporter.read({method:q,path:"1/keys"},t)}},de=function(e){return function(t){return e.transporter.read({method:q,path:"1/clusters"},t)}},le=function(e){return function(t){return e.transporter.read({method:q,path:"1/indexes"},t)}},he=function(e){return function(t){return e.transporter.read({method:q,path:"1/clusters/mapping"},t)}},pe=function(e){return function(t,r,n){return h(e.transporter.write({method:D,path:g("1/indexes/%s/operation",t),data:{operation:"move",destination:r}},n),(function(r,n){return ce(e)(t,{methods:{waitTask:ht}}).waitTask(r.taskID,n)}))}},me=function(e){return function(t,r){return h(e.transporter.write({method:D,path:"1/indexes/*/batch",data:{requests:t}},r),(function(t,r){return Promise.all(Object.keys(t.taskID).map((function(n){return ce(e)(n,{methods:{waitTask:ht}}).waitTask(t.taskID[n],r)})))}))}},ge=function(e){return function(t,r){return e.transporter.read({method:D,path:"1/indexes/*/objects",data:{requests:t}},r)}},ye=function(e){return function(t,r){var n=t.map((function(e){return a(a({},e),{},{params:A(e.params||{})})}));return e.transporter.read({method:D,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)}},ve=function(e){return function(t,r){return Promise.all(t.map((function(t){var n=t.params,i=n.facetName,u=n.facetQuery,s=o(n,["facetName","facetQuery"]);return ce(e)(t.indexName,{methods:{searchForFacetValues:ct}}).searchForFacetValues(i,u,a(a({},r),s))})))}},be=function(e){return function(t,r){var n=v(r);return n.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:j,path:"1/clusters/mapping"},n)}},we=function(e){return function(t,r,n){var a=r.map((function(e){return{action:"addEntry",body:e}}));return h(e.transporter.write({method:D,path:g("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:a}},n),(function(t,r){return De(e)(t.taskID,r)}))}},Pe=function(e){return function(t,r){return h(e.transporter.write({method:D,path:g("1/keys/%s/restore",t)},r),(function(r,n){return l((function(r){return re(e)(t,n).catch((function(e){if(404!==e.status)throw e;return r()}))}))}))}},xe=function(e){return function(t,r,n){var a=r.map((function(e){return{action:"addEntry",body:e}}));return h(e.transporter.write({method:D,path:g("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(t,r){return De(e)(t.taskID,r)}))}},Oe=function(e){return function(t,r,n){return e.transporter.read({method:D,path:g("/1/dictionaries/%s/search",t),data:{query:r},cacheable:!0},n)}},Ie=function(e){return function(t,r){return e.transporter.read({method:D,path:"1/clusters/mapping/search",data:{query:t}},r)}},je=function(e){return function(t,r){return h(e.transporter.write({method:k,path:"/1/dictionaries/*/settings",data:t},r),(function(t,r){return De(e)(t.taskID,r)}))}},qe=function(e){return function(t,r){var n=Object.assign({},r),a=r||{},i=a.queryParameters,u=o(a,["queryParameters"]),s=i?{queryParameters:i}:{},c=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"];return h(e.transporter.write({method:k,path:g("1/keys/%s",t),data:s},u),(function(r,a){return l((function(r){return re(e)(t,a).then((function(e){return function(e){return Object.keys(n).filter((function(e){return-1!==c.indexOf(e)})).every((function(t){if(Array.isArray(e[t])&&Array.isArray(n[t])){var r=e[t];return r.length===n[t].length&&r.every((function(e,r){return e===n[t][r]}))}return e[t]===n[t]}))}(e)?Promise.resolve():r()}))}))}))}},De=function(e){return function(t,r){return l((function(n){return ne(e)(t,r).then((function(e){return"published"!==e.status?n():void 0}))}))}},ke=function(e){return function(t,r){return h(e.transporter.write({method:D,path:g("1/indexes/%s/batch",e.indexName),data:{requests:t}},r),(function(t,r){return ht(e)(t.taskID,r)}))}},Te=function(e){return function(t){return B(a(a({shouldStop:function(e){return void 0===e.cursor}},t),{},{request:function(r){return e.transporter.read({method:D,path:g("1/indexes/%s/browse",e.indexName),data:r},t)}}))}},Se=function(e){return function(t){var r=a({hitsPerPage:1e3},t);return B(a(a({shouldStop:function(e){return e.hits.length<r.hitsPerPage}},r),{},{request:function(t){return ft(e)("",a(a({},r),t)).then((function(e){return a(a({},e),{},{hits:e.hits.map((function(e){return delete e._highlightResult,e}))})}))}}))}},Ne=function(e){return function(t){var r=a({hitsPerPage:1e3},t);return B(a(a({shouldStop:function(e){return e.hits.length<r.hitsPerPage}},r),{},{request:function(t){return dt(e)("",a(a({},r),t)).then((function(e){return a(a({},e),{},{hits:e.hits.map((function(e){return delete e._highlightResult,e}))})}))}}))}},Ee=function(e){return function(t,r,n){var a=n||{},i=a.batchSize,u=o(a,["batchSize"]),s={taskIDs:[],objectIDs:[]};return h(function n(){var a,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(a=o;a<t.length&&(c.push(t[a]),c.length!==(i||1e3));a++);return 0===c.length?Promise.resolve(s):ke(e)(c.map((function(e){return{action:r,body:e}})),u).then((function(e){return s.objectIDs=s.objectIDs.concat(e.objectIDs),s.taskIDs.push(e.taskID),a++,n(a)}))}(),(function(t,r){return Promise.all(t.taskIDs.map((function(t){return ht(e)(t,r)})))}))}},Re=function(e){return function(t){return h(e.transporter.write({method:D,path:g("1/indexes/%s/clear",e.indexName)},t),(function(t,r){return ht(e)(t.taskID,r)}))}},Ae=function(e){return function(t){var r=t||{},n=r.forwardToReplicas,a=v(o(r,["forwardToReplicas"]));return n&&(a.queryParameters.forwardToReplicas=1),h(e.transporter.write({method:D,path:g("1/indexes/%s/rules/clear",e.indexName)},a),(function(t,r){return ht(e)(t.taskID,r)}))}},Ce=function(e){return function(t){var r=t||{},n=r.forwardToReplicas,a=v(o(r,["forwardToReplicas"]));return n&&(a.queryParameters.forwardToReplicas=1),h(e.transporter.write({method:D,path:g("1/indexes/%s/synonyms/clear",e.indexName)},a),(function(t,r){return ht(e)(t.taskID,r)}))}},Ue=function(e){return function(t,r){return h(e.transporter.write({method:D,path:g("1/indexes/%s/deleteByQuery",e.indexName),data:t},r),(function(t,r){return ht(e)(t.taskID,r)}))}},ze=function(e){return function(t){return h(e.transporter.write({method:j,path:g("1/indexes/%s",e.indexName)},t),(function(t,r){return ht(e)(t.taskID,r)}))}},Je=function(e){return function(t,r){return h(Fe(e)([t],r).then((function(e){return{taskID:e.taskIDs[0]}})),(function(t,r){return ht(e)(t.taskID,r)}))}},Fe=function(e){return function(t,r){var n=t.map((function(e){return{objectID:e}}));return Ee(e)(n,pt.DeleteObject,r)}},We=function(e){return function(t,r){var n=r||{},a=n.forwardToReplicas,i=v(o(n,["forwardToReplicas"]));return a&&(i.queryParameters.forwardToReplicas=1),h(e.transporter.write({method:j,path:g("1/indexes/%s/rules/%s",e.indexName,t)},i),(function(t,r){return ht(e)(t.taskID,r)}))}},He=function(e){return function(t,r){var n=r||{},a=n.forwardToReplicas,i=v(o(n,["forwardToReplicas"]));return a&&(i.queryParameters.forwardToReplicas=1),h(e.transporter.write({method:j,path:g("1/indexes/%s/synonyms/%s",e.indexName,t)},i),(function(t,r){return ht(e)(t.taskID,r)}))}},Ke=function(e){return function(t){return _e(e)(t).then((function(){return!0})).catch((function(e){if(404!==e.status)throw e;return!1}))}},Me=function(e){return function(t,r,n){return e.transporter.read({method:D,path:g("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},Be=function(e){return function(t,r){var n=r||{},u=n.query,s=n.paginate,c=o(n,["query","paginate"]),f=0;return function r(){return st(e)(u||"",a(a({},c),{},{page:f})).then((function(e){for(var n=0,a=Object.entries(e.hits);n<a.length;n++){var o=i(a[n],2),u=o[0],c=o[1];if(t(c))return{object:c,position:parseInt(u,10),page:f}}if(f++,!1===s||f>=e.nbPages)throw{name:"ObjectNotFoundError",message:"Object not found."};return r()}))}()}},Ge=function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/indexes/%s/%s",e.indexName,t)},r)}},Le=function(){return function(e,t){for(var r=0,n=Object.entries(e.hits);r<n.length;r++){var a=i(n[r],2),o=a[0];if(a[1].objectID===t)return parseInt(o,10)}return-1}},Qe=function(e){return function(t,r){var n=r||{},i=n.attributesToRetrieve,u=o(n,["attributesToRetrieve"]),s=t.map((function(t){return a({indexName:e.indexName,objectID:t},i?{attributesToRetrieve:i}:{})}));return e.transporter.read({method:D,path:"1/indexes/*/objects",data:{requests:s}},u)}},Ve=function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/indexes/%s/rules/%s",e.indexName,t)},r)}},_e=function(e){return function(t){return e.transporter.read({method:q,path:g("1/indexes/%s/settings",e.indexName),data:{getVersion:2}},t)}},Xe=function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/indexes/%s/synonyms/%s",e.indexName,t)},r)}},Ye=function(e){return function(t,r){return h(Ze(e)([t],r).then((function(e){return{objectID:e.objectIDs[0],taskID:e.taskIDs[0]}})),(function(t,r){return ht(e)(t.taskID,r)}))}},Ze=function(e){return function(t,r){var n=r||{},a=n.createIfNotExists,i=o(n,["createIfNotExists"]),u=a?pt.PartialUpdateObject:pt.PartialUpdateObjectNoCreate;return Ee(e)(t,u,i)}},$e=function(e){return function(t,r){var n=r||{},s=n.safe,c=n.autoGenerateObjectIDIfNotExist,f=n.batchSize,d=o(n,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),l=function(t,r,n,a){return h(e.transporter.write({method:D,path:g("1/indexes/%s/operation",t),data:{operation:n,destination:r}},a),(function(t,r){return ht(e)(t.taskID,r)}))},p=Math.random().toString(36).substring(7),m="".concat(e.indexName,"_tmp_").concat(p),y=nt({appId:e.appId,transporter:e.transporter,indexName:m}),v=[],b=l(e.indexName,m,"copy",a(a({},d),{},{scope:["settings","synonyms","rules"]}));return v.push(b),h((s?b.wait(d):b).then((function(){var e=y(t,a(a({},d),{},{autoGenerateObjectIDIfNotExist:c,batchSize:f}));return v.push(e),s?e.wait(d):e})).then((function(){var t=l(m,e.indexName,"move",d);return v.push(t),s?t.wait(d):t})).then((function(){return Promise.all(v)})).then((function(e){var t=i(e,3),r=t[0],n=t[1],a=t[2];return{objectIDs:n.objectIDs,taskIDs:[r.taskID].concat(u(n.taskIDs),[a.taskID])}})),(function(e,t){return Promise.all(v.map((function(e){return e.wait(t)})))}))}},et=function(e){return function(t,r){return ot(e)(t,a(a({},r),{},{clearExistingRules:!0}))}},tt=function(e){return function(t,r){return ut(e)(t,a(a({},r),{},{clearExistingSynonyms:!0}))}},rt=function(e){return function(t,r){return h(nt(e)([t],r).then((function(e){return{objectID:e.objectIDs[0],taskID:e.taskIDs[0]}})),(function(t,r){return ht(e)(t.taskID,r)}))}},nt=function(e){return function(t,r){var n=r||{},a=n.autoGenerateObjectIDIfNotExist,i=o(n,["autoGenerateObjectIDIfNotExist"]),u=a?pt.AddObject:pt.UpdateObject;if(u===pt.UpdateObject){var s=!0,c=!1,f=void 0;try{for(var d,l=t[Symbol.iterator]();!(s=(d=l.next()).done);s=!0){if(void 0===d.value.objectID)return h(Promise.reject({name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}))}}catch(e){c=!0,f=e}finally{try{s||null==l.return||l.return()}finally{if(c)throw f}}}return Ee(e)(t,u,i)}},at=function(e){return function(t,r){return ot(e)([t],r)}},ot=function(e){return function(t,r){var n=r||{},a=n.forwardToReplicas,i=n.clearExistingRules,u=v(o(n,["forwardToReplicas","clearExistingRules"]));return a&&(u.queryParameters.forwardToReplicas=1),i&&(u.queryParameters.clearExistingRules=1),h(e.transporter.write({method:D,path:g("1/indexes/%s/rules/batch",e.indexName),data:t},u),(function(t,r){return ht(e)(t.taskID,r)}))}},it=function(e){return function(t,r){return ut(e)([t],r)}},ut=function(e){return function(t,r){var n=r||{},a=n.forwardToReplicas,i=n.clearExistingSynonyms,u=n.replaceExistingSynonyms,s=v(o(n,["forwardToReplicas","clearExistingSynonyms","replaceExistingSynonyms"]));return a&&(s.queryParameters.forwardToReplicas=1),(u||i)&&(s.queryParameters.replaceExistingSynonyms=1),h(e.transporter.write({method:D,path:g("1/indexes/%s/synonyms/batch",e.indexName),data:t},s),(function(t,r){return ht(e)(t.taskID,r)}))}},st=function(e){return function(t,r){return e.transporter.read({method:D,path:g("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},ct=function(e){return function(t,r,n){return e.transporter.read({method:D,path:g("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},ft=function(e){return function(t,r){return e.transporter.read({method:D,path:g("1/indexes/%s/rules/search",e.indexName),data:{query:t}},r)}},dt=function(e){return function(t,r){return e.transporter.read({method:D,path:g("1/indexes/%s/synonyms/search",e.indexName),data:{query:t}},r)}},lt=function(e){return function(t,r){var n=r||{},a=n.forwardToReplicas,i=v(o(n,["forwardToReplicas"]));return a&&(i.queryParameters.forwardToReplicas=1),h(e.transporter.write({method:k,path:g("1/indexes/%s/settings",e.indexName),data:t},i),(function(t,r){return ht(e)(t.taskID,r)}))}},ht=function(e){return function(t,r){return l((function(n){return function(e){return function(t,r){return e.transporter.read({method:q,path:g("1/indexes/%s/task/%s",e.indexName,t.toString())},r)}}(e)(t,r).then((function(e){return"published"!==e.status?n():void 0}))}))}},pt={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},mt={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},gt=1,yt=2,vt=3;var bt=function(e){return function(t,r){var n=t.map((function(e){return a(a({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:D,path:"1/indexes/*/recommendations",data:{requests:n},cacheable:!0},r)}},wt=function(e){return function(t,r){return bt(e)(t.map((function(e){return a(a({},e),{},{fallbackParameters:{},model:"bought-together"})})),r)}},Pt=function(e){return function(t,r){return bt(e)(t.map((function(e){return a(a({},e),{},{model:"related-products"})})),r)}},xt=function(e){return function(t,r){var n=t.map((function(e){return a(a({},e),{},{model:"trending-facets",threshold:e.threshold||0})}));return e.transporter.read({method:D,path:"1/indexes/*/recommendations",data:{requests:n},cacheable:!0},r)}},Ot=function(e){return function(t,r){var n=t.map((function(e){return a(a({},e),{},{model:"trending-items",threshold:e.threshold||0})}));return e.transporter.read({method:D,path:"1/indexes/*/recommendations",data:{requests:n},cacheable:!0},r)}},It=function(e){return function(t,r){return bt(e)(t.map((function(e){return a(a({},e),{},{model:"looking-similar"})})),r)}},jt=function(e){return function(t,r){var n=t.map((function(e){return a(a({},e),{},{model:"recommended-for-you",threshold:e.threshold||0})}));return e.transporter.read({method:D,path:"1/indexes/*/recommendations",data:{requests:n},cacheable:!0},r)}};function qt(e,r){return function(){var n=t(regeneratorRuntime.mark((function t(n,a){var i,u,s,c,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}throw new Error("`options.transformation.region` must be provided at client instantiation before calling this method.");case 2:return u=(i=a||{}).autoGenerateObjectIDIfNotExist,s=i.watch,c=o(i,["autoGenerateObjectIDIfNotExist","watch"]),f=u?pt.AddObject:pt.UpdateObject,t.next=6,r.push({indexName:e,pushTaskPayload:{action:f,records:n},watch:s},c);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})));return function(e,t){return n.apply(this,arguments)}}()}function Dt(e,r){return function(){var n=t(regeneratorRuntime.mark((function t(n,a){var i,u,s,c,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}throw new Error("`options.transformation.region` must be provided at client instantiation before calling this method.");case 2:return u=(i=a||{}).createIfNotExists,s=i.watch,c=o(i,["createIfNotExists","watch"]),f=u?pt.PartialUpdateObject:pt.PartialUpdateObjectNoCreate,t.next=6,r.push({indexName:e,pushTaskPayload:{action:f,records:n},watch:s},c);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})));return function(e,t){return n.apply(this,arguments)}}()}function kt(e,r,n){var o,i,u={appId:e,apiKey:r,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,a=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},o=a(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(o),n=a(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(o),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(o),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(o=vt,{debug:function(e,t){return gt>=o&&console.debug(e,t),Promise.resolve()},info:function(e,t){return yt>=o&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:f(),requestsCache:f({serializable:!1}),hostsCache:c({caches:[s({key:"".concat("4.25.1","-").concat(e)}),f()]}),userAgent:E("4.25.1").add({segment:"Browser"})},l=a(a({},u),n),h=function(){return function(e){return function(e){var t=e.region||"us",r=d(y.WithinHeaders,e.appId,e.apiKey),n=N(a(a({hosts:[{url:"personalization.".concat(t,".algolia.com")}]},e),{},{headers:a(a(a({},r.headers()),{"content-type":"application/json"}),e.headers),queryParameters:a(a({},r.queryParameters()),e.queryParameters)}));return m({appId:e.appId,transporter:n},e.methods)}(a(a(a({},u),e),{},{methods:{getPersonalizationStrategy:K,setPersonalizationStrategy:M}}))}};if(n&&n.transformation){if(!n.transformation.region)throw new Error("`region` must be provided when leveraging the transformation pipeline");i=function(e){if(!e||!e.transformation||!e.transformation.region)throw new Error("`region` must be provided when leveraging the transformation pipeline");if("eu"!==e.transformation.region&&"us"!==e.transformation.region)throw new Error("`region` is required and must be one of the following: eu, us");var r=e.appId,n=d(y.WithinHeaders,r,e.apiKey),o=N(a(a({hosts:[{url:"data.".concat(e.transformation.region,".algolia.com"),accept:b.ReadWrite,protocol:"https"}]},e),{},{headers:a(a(a({},n.headers()),{"content-type":"text/plain"}),e.headers),queryParameters:a(a({},n.queryParameters()),e.queryParameters)}));return{transporter:o,appId:r,addAlgoliaAgent:function(e,t){o.userAgent.add({segment:e,version:t}),o.userAgent.add({segment:"Ingestion",version:t}),o.userAgent.add({segment:"Ingestion via Algoliasearch"})},clearCache:function(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then((function(){}))},push:function(e,r){return t(regeneratorRuntime.mark((function t(){var n,i,u,s;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.indexName,i=e.pushTaskPayload,u=e.watch,n){t.next=3;break}throw new Error("Parameter `indexName` is required when calling `push`.");case 3:if(i){t.next=5;break}throw new Error("Parameter `pushTaskPayload` is required when calling `push`.");case 5:if(i.action){t.next=7;break}throw new Error("Parameter `pushTaskPayload.action` is required when calling `push`.");case 7:if(i.records){t.next=9;break}throw new Error("Parameter `pushTaskPayload.records` is required when calling `push`.");case 9:return s=r||{queryParameters:{}},t.next=12,o.write({method:D,path:g("1/push/%s",n),data:i},a(a({},s),{},{queryParameters:a(a({},s.queryParameters),{},{watch:void 0!==u})}));case 12:return t.abrupt("return",t.sent);case 13:case"end":return t.stop()}}),t)})))()}}}(a(a({},n),u))}return function(e){var t=e.appId,r=d(void 0!==e.authMode?e.authMode:y.WithinHeaders,t,e.apiKey),n=N(a(a({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:b.Read},{url:"".concat(t,".algolia.net"),accept:b.Write}].concat(p([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:a(a(a({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:a(a({},r.queryParameters()),e.queryParameters)}));return m({transporter:n,appId:t,addAlgoliaAgent:function(e,t){n.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((function(){}))}},e.methods)}(a(a({},l),{},{methods:{search:ye,searchForFacetValues:ve,multipleBatch:me,multipleGetObjects:ge,multipleQueries:ye,copyIndex:_,copySettings:Y,copySynonyms:Z,copyRules:X,moveIndex:pe,listIndices:le,getLogs:oe,listClusters:de,multipleSearchForFacetValues:ve,getApiKey:re,addApiKey:G,listApiKeys:fe,updateApiKey:qe,deleteApiKey:ee,restoreApiKey:Pe,assignUserID:L,assignUserIDs:Q,getUserID:ue,searchUserIDs:Ie,listUserIDs:he,getTopUserIDs:ie,removeUserID:be,hasPendingMappings:se,clearDictionaryEntries:V,deleteDictionaryEntries:te,getDictionarySettings:ae,getAppTask:ne,replaceDictionaryEntries:we,saveDictionaryEntries:xe,searchDictionaryEntries:Oe,setDictionarySettings:je,waitAppTask:De,customRequest:$,initIndex:function(e){return function(t){return a(a({},ce(e)(t,{methods:{batch:ke,delete:ze,findAnswers:Me,getObject:Ge,getObjects:Qe,saveObject:rt,saveObjects:nt,search:st,searchForFacetValues:ct,waitTask:ht,setSettings:lt,getSettings:_e,partialUpdateObject:Ye,partialUpdateObjects:Ze,deleteObject:Je,deleteObjects:Fe,deleteBy:Ue,clearObjects:Re,browseObjects:Te,getObjectPosition:Le,findObject:Be,exists:Ke,saveSynonym:it,saveSynonyms:ut,getSynonym:Xe,searchSynonyms:dt,browseSynonyms:Ne,deleteSynonym:He,clearSynonyms:Ce,replaceAllObjects:$e,replaceAllSynonyms:tt,searchRules:ft,getRule:Ve,deleteRule:We,saveRule:at,saveRules:ot,replaceAllRules:et,browseRules:Se,clearRules:Ae}})),{},{saveObjectsWithTransformation:qt(t,i),partialUpdateObjectsWithTransformation:Dt(t,i)})}},initAnalytics:function(){return function(e){return function(e){var t=e.region||"us",r=d(y.WithinHeaders,e.appId,e.apiKey),n=N(a(a({hosts:[{url:"analytics.".concat(t,".algolia.com")}]},e),{},{headers:a(a(a({},r.headers()),{"content-type":"application/json"}),e.headers),queryParameters:a(a({},r.queryParameters()),e.queryParameters)}));return m({appId:e.appId,transporter:n},e.methods)}(a(a(a({},u),e),{},{methods:{addABTest:z,getABTest:F,getABTests:W,stopABTest:H,deleteABTest:J}}))}},initPersonalization:h,initRecommendation:function(){return function(e){return l.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),h()(e)}},getRecommendations:bt,getFrequentlyBoughtTogether:wt,getLookingSimilar:It,getRecommendedForYou:jt,getRelatedProducts:Pt,getTrendingFacets:xt,getTrendingItems:Ot}}))}return kt.version="4.25.1",kt}));
1
+ /*! algoliasearch.umd.js | 4.25.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).algoliasearch=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?t(Object(a),!0).forEach((function(t){e(r,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):t(Object(a)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(a,e))}))}return r}function n(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){a=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function i(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},o=function(){return JSON.parse(n().getItem(r)||"{}")},i=function(e){n().setItem(r,JSON.stringify(e))},u=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=o(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==a(e,2)[1].timestamp})));if(i(n),t){var u=Object.fromEntries(Object.entries(n).filter((function(e){var r=a(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));i(u)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){u();var t=JSON.stringify(e);return o()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=a(e,2),n=t[0],o=t[1];return Promise.all([n,o||r.miss(n)])})).then((function(e){return a(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(a)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=o();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function u(e){var t=o(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=t();return n.then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return a(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,a).catch((function(){return u({caches:t}).get(e,n,a)}))},set:function(e,n){return r.set(e,n).catch((function(){return u({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return u({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return u({caches:t}).clear()}))}}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},o=JSON.stringify(r);if(o in t)return Promise.resolve(e.serializable?JSON.parse(t[o]):t[o]);var i=n(),u=a&&a.miss||function(){return Promise.resolve()};return i.then((function(e){return u(e)})).then((function(){return i}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function c(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===m.WithinHeaders?n:{}},queryParameters:function(){return e===m.WithinQueryParameters?n:{}}}}function f(e){var t=0;return e((function r(){return t++,new Promise((function(n){setTimeout((function(){n(e(r))}),Math.min(100*t,1e3))}))}))}function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t){return Promise.resolve()};return Object.assign(e,{wait:function(r){return d(e.then((function(e){return Promise.all([t(e,r),e])})).then((function(e){return e[1]})))}})}function l(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function h(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function p(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var a=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[a++])}))}var m={WithinQueryParameters:0,WithinHeaders:1};function g(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var y={Read:1,Write:2,Any:3},v=1,b=2,w=3;function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function O(e){return"string"==typeof e?{protocol:"https",url:e,accept:y.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||y.Any}}var I="DELETE",x="GET",j="POST",q="PUT";function D(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(P(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===v||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===w&&Date.now()-e.lastUpdate<=12e4}(e)})),a=[].concat(o(r),o(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:a.length>0?a.map((function(e){return O(e)})):t}}))}function T(e,t,n,a){var i=[],u=function(e,t){if(e.method===x||void 0===e.data&&void 0===t.data)return;var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}(n,a),s=function(e,t){var n=r(r({},e.headers),t.headers),a={};return Object.keys(n).forEach((function(e){var t=n[e];a[e.toLowerCase()]=t})),a}(e,a),c=n.method,f=n.method!==x?{}:r(r({},n.data),a.data),d=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),f),a.queryParameters),l=0,h=function t(r,o){var f=r.pop();if(void 0===f)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .",transporterStackTrace:A(i)};var h={data:u,headers:s,method:c,url:N(f,n.path,d),connectTimeout:o(l,e.timeouts.connect),responseTimeout:o(l,a.timeout)},p=function(e){var t={request:h,response:e,host:f,triesLeft:r.length};return i.push(t),t},m={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var a=p(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",R(a)),e.hostsCache.set(f,P(f,n.isTimedOut?w:b))]).then((function(){return t(r,o)}))},onFail:function(e){throw p(e),function(e,t){var r=e.content,n=e.status,a=r;try{a=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(a,n,t)}(e,A(i))}};return e.requester.send(h).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&0==~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,m)}))};return D(e.hostsCache,t).then((function(e){return h(o(e.statelessHosts).reverse(),e.getTimeout)}))}function k(e){var t=e.hostsCache,r=e.logger,n=e.requester,o=e.requestsCache,i=e.responsesCache,u=e.timeouts,s=e.userAgent,c=e.hosts,f=e.queryParameters,d={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:u,userAgent:s,headers:e.headers,queryParameters:f,hosts:c.map((function(e){return O(e)})),read:function(e,t){var r=g(t,d.timeouts.read),n=function(){return T(d,d.hosts.filter((function(e){return 0!=(e.accept&y.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var o={request:e,mappedRequestOptions:r,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(o,(function(){return d.requestsCache.get(o,(function(){return d.requestsCache.set(o,n()).then((function(e){return Promise.all([d.requestsCache.delete(o),e])}),(function(e){return Promise.all([d.requestsCache.delete(o),Promise.reject(e)])})).then((function(e){var t=a(e,2);t[0];return t[1]}))}))}),{miss:function(e){return d.responsesCache.set(o,e)}})},write:function(e,t){return T(d,d.hosts.filter((function(e){return 0!=(e.accept&y.Write)})),e,g(t,d.timeouts.write))}};return d}function S(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function N(e,t,r){var n=E(r),a="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(a+="?".concat(n)),a}function E(e){return Object.keys(e).map((function(t){return p("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function A(e){return e.map((function(e){return R(e)}))}function R(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var C=function(e){return function(t,r){return e.transporter.write({method:j,path:"2/abtests",data:t},r)}},U=function(e){return function(t,r){return e.transporter.write({method:I,path:p("2/abtests/%s",t)},r)}},z=function(e){return function(t,r){return e.transporter.read({method:x,path:p("2/abtests/%s",t)},r)}},J=function(e){return function(t){return e.transporter.read({method:x,path:"2/abtests"},t)}},F=function(e){return function(t,r){return e.transporter.write({method:j,path:p("2/abtests/%s/stop",t)},r)}},W=function(e){return function(t){return e.transporter.read({method:x,path:"1/strategies/personalization"},t)}},H=function(e){return function(t,r){return e.transporter.write({method:j,path:"1/strategies/personalization",data:t},r)}};function K(e){return function t(r){return e.request(r).then((function(n){if(void 0!==e.batch&&e.batch(n.hits),!e.shouldStop(n))return n.cursor?t({cursor:n.cursor}):t({page:(r.page||0)+1})}))}({})}var M=function(e){return function(t,a){var o=a||{},i=o.queryParameters,u=n(o,["queryParameters"]),s=r({acl:t},void 0!==i?{queryParameters:i}:{});return d(e.transporter.write({method:j,path:"1/keys",data:s},u),(function(t,r){return f((function(n){return ee(e)(t.key,r).catch((function(e){if(404!==e.status)throw e;return n()}))}))}))}},B=function(e){return function(t,r,n){var a=g(n);return a.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:j,path:"1/clusters/mapping",data:{cluster:r}},a)}},G=function(e){return function(t,r,n){return e.transporter.write({method:j,path:"1/clusters/mapping/batch",data:{users:t,cluster:r}},n)}},L=function(e){return function(t,r){return d(e.transporter.write({method:j,path:p("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(function(t,r){return je(e)(t.taskID,r)}))}},Q=function(e){return function(t,r,n){return d(e.transporter.write({method:j,path:p("1/indexes/%s/operation",t),data:{operation:"copy",destination:r}},n),(function(r,n){return ue(e)(t,{methods:{waitTask:dt}}).waitTask(r.taskID,n)}))}},V=function(e){return function(t,n,a){return Q(e)(t,n,r(r({},a),{},{scope:[ht.Rules]}))}},_=function(e){return function(t,n,a){return Q(e)(t,n,r(r({},a),{},{scope:[ht.Settings]}))}},X=function(e){return function(t,n,a){return Q(e)(t,n,r(r({},a),{},{scope:[ht.Synonyms]}))}},Y=function(e){return function(t,r){return t.method===x?e.transporter.read(t,r):e.transporter.write(t,r)}},Z=function(e){return function(t,r){return d(e.transporter.write({method:I,path:p("1/keys/%s",t)},r),(function(r,n){return f((function(r){return ee(e)(t,n).then(r).catch((function(e){if(404!==e.status)throw e}))}))}))}},$=function(e){return function(t,r,n){var a=r.map((function(e){return{action:"deleteEntry",body:{objectID:e}}}));return d(e.transporter.write({method:j,path:p("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(t,r){return je(e)(t.taskID,r)}))}},ee=function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/keys/%s",t)},r)}},te=function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/task/%s",t.toString())},r)}},re=function(e){return function(t){return e.transporter.read({method:x,path:"/1/dictionaries/*/settings"},t)}},ne=function(e){return function(t){return e.transporter.read({method:x,path:"1/logs"},t)}},ae=function(e){return function(t){return e.transporter.read({method:x,path:"1/clusters/mapping/top"},t)}},oe=function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/clusters/mapping/%s",t)},r)}},ie=function(e){return function(t){var r=t||{},a=r.retrieveMappings,o=n(r,["retrieveMappings"]);return!0===a&&(o.getClusters=!0),e.transporter.read({method:x,path:"1/clusters/mapping/pending"},o)}},ue=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:e.transporter,appId:e.appId,indexName:t};return h(n,r.methods)}},se=function(e){return function(t){return e.transporter.read({method:x,path:"1/keys"},t)}},ce=function(e){return function(t){return e.transporter.read({method:x,path:"1/clusters"},t)}},fe=function(e){return function(t){return e.transporter.read({method:x,path:"1/indexes"},t)}},de=function(e){return function(t){return e.transporter.read({method:x,path:"1/clusters/mapping"},t)}},le=function(e){return function(t,r,n){return d(e.transporter.write({method:j,path:p("1/indexes/%s/operation",t),data:{operation:"move",destination:r}},n),(function(r,n){return ue(e)(t,{methods:{waitTask:dt}}).waitTask(r.taskID,n)}))}},he=function(e){return function(t,r){return d(e.transporter.write({method:j,path:"1/indexes/*/batch",data:{requests:t}},r),(function(t,r){return Promise.all(Object.keys(t.taskID).map((function(n){return ue(e)(n,{methods:{waitTask:dt}}).waitTask(t.taskID[n],r)})))}))}},pe=function(e){return function(t,r){return e.transporter.read({method:j,path:"1/indexes/*/objects",data:{requests:t}},r)}},me=function(e){return function(t,n){var a=t.map((function(e){return r(r({},e),{},{params:E(e.params||{})})}));return e.transporter.read({method:j,path:"1/indexes/*/queries",data:{requests:a},cacheable:!0},n)}},ge=function(e){return function(t,a){return Promise.all(t.map((function(t){var o=t.params,i=o.facetName,u=o.facetQuery,s=n(o,["facetName","facetQuery"]);return ue(e)(t.indexName,{methods:{searchForFacetValues:ut}}).searchForFacetValues(i,u,r(r({},a),s))})))}},ye=function(e){return function(t,r){var n=g(r);return n.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:I,path:"1/clusters/mapping"},n)}},ve=function(e){return function(t,r,n){var a=r.map((function(e){return{action:"addEntry",body:e}}));return d(e.transporter.write({method:j,path:p("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:a}},n),(function(t,r){return je(e)(t.taskID,r)}))}},be=function(e){return function(t,r){return d(e.transporter.write({method:j,path:p("1/keys/%s/restore",t)},r),(function(r,n){return f((function(r){return ee(e)(t,n).catch((function(e){if(404!==e.status)throw e;return r()}))}))}))}},we=function(e){return function(t,r,n){var a=r.map((function(e){return{action:"addEntry",body:e}}));return d(e.transporter.write({method:j,path:p("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(t,r){return je(e)(t.taskID,r)}))}},Pe=function(e){return function(t,r,n){return e.transporter.read({method:j,path:p("/1/dictionaries/%s/search",t),data:{query:r},cacheable:!0},n)}},Oe=function(e){return function(t,r){return e.transporter.read({method:j,path:"1/clusters/mapping/search",data:{query:t}},r)}},Ie=function(e){return function(t,r){return d(e.transporter.write({method:q,path:"/1/dictionaries/*/settings",data:t},r),(function(t,r){return je(e)(t.taskID,r)}))}},xe=function(e){return function(t,r){var a=Object.assign({},r),o=r||{},i=o.queryParameters,u=n(o,["queryParameters"]),s=i?{queryParameters:i}:{},c=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"];return d(e.transporter.write({method:q,path:p("1/keys/%s",t),data:s},u),(function(r,n){return f((function(r){return ee(e)(t,n).then((function(e){return function(e){return Object.keys(a).filter((function(e){return-1!==c.indexOf(e)})).every((function(t){if(Array.isArray(e[t])&&Array.isArray(a[t])){var r=e[t];return r.length===a[t].length&&r.every((function(e,r){return e===a[t][r]}))}return e[t]===a[t]}))}(e)?Promise.resolve():r()}))}))}))}},je=function(e){return function(t,r){return f((function(n){return te(e)(t,r).then((function(e){return"published"!==e.status?n():void 0}))}))}},qe=function(e){return function(t,r){return d(e.transporter.write({method:j,path:p("1/indexes/%s/batch",e.indexName),data:{requests:t}},r),(function(t,r){return dt(e)(t.taskID,r)}))}},De=function(e){return function(t){return K(r(r({shouldStop:function(e){return void 0===e.cursor}},t),{},{request:function(r){return e.transporter.read({method:j,path:p("1/indexes/%s/browse",e.indexName),data:r},t)}}))}},Te=function(e){return function(t){var n=r({hitsPerPage:1e3},t);return K(r(r({shouldStop:function(e){return e.hits.length<n.hitsPerPage}},n),{},{request:function(t){return st(e)("",r(r({},n),t)).then((function(e){return r(r({},e),{},{hits:e.hits.map((function(e){return delete e._highlightResult,e}))})}))}}))}},ke=function(e){return function(t){var n=r({hitsPerPage:1e3},t);return K(r(r({shouldStop:function(e){return e.hits.length<n.hitsPerPage}},n),{},{request:function(t){return ct(e)("",r(r({},n),t)).then((function(e){return r(r({},e),{},{hits:e.hits.map((function(e){return delete e._highlightResult,e}))})}))}}))}},Se=function(e){return function(t,r,a){var o=a||{},i=o.batchSize,u=n(o,["batchSize"]),s={taskIDs:[],objectIDs:[]};return d(function n(){var a,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(a=o;a<t.length&&(c.push(t[a]),c.length!==(i||1e3));a++);return 0===c.length?Promise.resolve(s):qe(e)(c.map((function(e){return{action:r,body:e}})),u).then((function(e){return s.objectIDs=s.objectIDs.concat(e.objectIDs),s.taskIDs.push(e.taskID),a++,n(a)}))}(),(function(t,r){return Promise.all(t.taskIDs.map((function(t){return dt(e)(t,r)})))}))}},Ne=function(e){return function(t){return d(e.transporter.write({method:j,path:p("1/indexes/%s/clear",e.indexName)},t),(function(t,r){return dt(e)(t.taskID,r)}))}},Ee=function(e){return function(t){var r=t||{},a=r.forwardToReplicas,o=g(n(r,["forwardToReplicas"]));return a&&(o.queryParameters.forwardToReplicas=1),d(e.transporter.write({method:j,path:p("1/indexes/%s/rules/clear",e.indexName)},o),(function(t,r){return dt(e)(t.taskID,r)}))}},Ae=function(e){return function(t){var r=t||{},a=r.forwardToReplicas,o=g(n(r,["forwardToReplicas"]));return a&&(o.queryParameters.forwardToReplicas=1),d(e.transporter.write({method:j,path:p("1/indexes/%s/synonyms/clear",e.indexName)},o),(function(t,r){return dt(e)(t.taskID,r)}))}},Re=function(e){return function(t,r){return d(e.transporter.write({method:j,path:p("1/indexes/%s/deleteByQuery",e.indexName),data:t},r),(function(t,r){return dt(e)(t.taskID,r)}))}},Ce=function(e){return function(t){return d(e.transporter.write({method:I,path:p("1/indexes/%s",e.indexName)},t),(function(t,r){return dt(e)(t.taskID,r)}))}},Ue=function(e){return function(t,r){return d(ze(e)([t],r).then((function(e){return{taskID:e.taskIDs[0]}})),(function(t,r){return dt(e)(t.taskID,r)}))}},ze=function(e){return function(t,r){var n=t.map((function(e){return{objectID:e}}));return Se(e)(n,lt.DeleteObject,r)}},Je=function(e){return function(t,r){var a=r||{},o=a.forwardToReplicas,i=g(n(a,["forwardToReplicas"]));return o&&(i.queryParameters.forwardToReplicas=1),d(e.transporter.write({method:I,path:p("1/indexes/%s/rules/%s",e.indexName,t)},i),(function(t,r){return dt(e)(t.taskID,r)}))}},Fe=function(e){return function(t,r){var a=r||{},o=a.forwardToReplicas,i=g(n(a,["forwardToReplicas"]));return o&&(i.queryParameters.forwardToReplicas=1),d(e.transporter.write({method:I,path:p("1/indexes/%s/synonyms/%s",e.indexName,t)},i),(function(t,r){return dt(e)(t.taskID,r)}))}},We=function(e){return function(t){return Qe(e)(t).then((function(){return!0})).catch((function(e){if(404!==e.status)throw e;return!1}))}},He=function(e){return function(t,r,n){return e.transporter.read({method:j,path:p("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},Ke=function(e){return function(t,o){var i=o||{},u=i.query,s=i.paginate,c=n(i,["query","paginate"]),f=0;return function n(){return it(e)(u||"",r(r({},c),{},{page:f})).then((function(e){for(var r=0,o=Object.entries(e.hits);r<o.length;r++){var i=a(o[r],2),u=i[0],c=i[1];if(t(c))return{object:c,position:parseInt(u,10),page:f}}if(f++,!1===s||f>=e.nbPages)throw{name:"ObjectNotFoundError",message:"Object not found."};return n()}))}()}},Me=function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/indexes/%s/%s",e.indexName,t)},r)}},Be=function(){return function(e,t){for(var r=0,n=Object.entries(e.hits);r<n.length;r++){var o=a(n[r],2),i=o[0];if(o[1].objectID===t)return parseInt(i,10)}return-1}},Ge=function(e){return function(t,a){var o=a||{},i=o.attributesToRetrieve,u=n(o,["attributesToRetrieve"]),s=t.map((function(t){return r({indexName:e.indexName,objectID:t},i?{attributesToRetrieve:i}:{})}));return e.transporter.read({method:j,path:"1/indexes/*/objects",data:{requests:s}},u)}},Le=function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/indexes/%s/rules/%s",e.indexName,t)},r)}},Qe=function(e){return function(t){return e.transporter.read({method:x,path:p("1/indexes/%s/settings",e.indexName),data:{getVersion:2}},t)}},Ve=function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/indexes/%s/synonyms/%s",e.indexName,t)},r)}},_e=function(e){return function(t,r){return d(Xe(e)([t],r).then((function(e){return{objectID:e.objectIDs[0],taskID:e.taskIDs[0]}})),(function(t,r){return dt(e)(t.taskID,r)}))}},Xe=function(e){return function(t,r){var a=r||{},o=a.createIfNotExists,i=n(a,["createIfNotExists"]),u=o?lt.PartialUpdateObject:lt.PartialUpdateObjectNoCreate;return Se(e)(t,u,i)}},Ye=function(e){return function(t,i){var u=i||{},s=u.safe,c=u.autoGenerateObjectIDIfNotExist,f=u.batchSize,l=n(u,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),h=function(t,r,n,a){return d(e.transporter.write({method:j,path:p("1/indexes/%s/operation",t),data:{operation:n,destination:r}},a),(function(t,r){return dt(e)(t.taskID,r)}))},m=Math.random().toString(36).substring(7),g="".concat(e.indexName,"_tmp_").concat(m),y=tt({appId:e.appId,transporter:e.transporter,indexName:g}),v=[],b=h(e.indexName,g,"copy",r(r({},l),{},{scope:["settings","synonyms","rules"]}));return v.push(b),d((s?b.wait(l):b).then((function(){var e=y(t,r(r({},l),{},{autoGenerateObjectIDIfNotExist:c,batchSize:f}));return v.push(e),s?e.wait(l):e})).then((function(){var t=h(g,e.indexName,"move",l);return v.push(t),s?t.wait(l):t})).then((function(){return Promise.all(v)})).then((function(e){var t=a(e,3),r=t[0],n=t[1],i=t[2];return{objectIDs:n.objectIDs,taskIDs:[r.taskID].concat(o(n.taskIDs),[i.taskID])}})).catch((function(t){return Ce({appId:e.appId,transporter:e.transporter,indexName:g})().catch((function(){})).then((function(){throw t}))})),(function(e,t){return Promise.all(v.map((function(e){return e.wait(t)})))}))}},Ze=function(e){return function(t,n){return nt(e)(t,r(r({},n),{},{clearExistingRules:!0}))}},$e=function(e){return function(t,n){return ot(e)(t,r(r({},n),{},{clearExistingSynonyms:!0}))}},et=function(e){return function(t,r){return d(tt(e)([t],r).then((function(e){return{objectID:e.objectIDs[0],taskID:e.taskIDs[0]}})),(function(t,r){return dt(e)(t.taskID,r)}))}},tt=function(e){return function(t,r){var a=r||{},o=a.autoGenerateObjectIDIfNotExist,i=n(a,["autoGenerateObjectIDIfNotExist"]),u=o?lt.AddObject:lt.UpdateObject;if(u===lt.UpdateObject){var s=!0,c=!1,f=void 0;try{for(var l,h=t[Symbol.iterator]();!(s=(l=h.next()).done);s=!0){if(void 0===l.value.objectID)return d(Promise.reject({name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}))}}catch(e){c=!0,f=e}finally{try{s||null==h.return||h.return()}finally{if(c)throw f}}}return Se(e)(t,u,i)}},rt=function(e){return function(t,r){return nt(e)([t],r)}},nt=function(e){return function(t,r){var a=r||{},o=a.forwardToReplicas,i=a.clearExistingRules,u=g(n(a,["forwardToReplicas","clearExistingRules"]));return o&&(u.queryParameters.forwardToReplicas=1),i&&(u.queryParameters.clearExistingRules=1),d(e.transporter.write({method:j,path:p("1/indexes/%s/rules/batch",e.indexName),data:t},u),(function(t,r){return dt(e)(t.taskID,r)}))}},at=function(e){return function(t,r){return ot(e)([t],r)}},ot=function(e){return function(t,r){var a=r||{},o=a.forwardToReplicas,i=a.clearExistingSynonyms,u=a.replaceExistingSynonyms,s=g(n(a,["forwardToReplicas","clearExistingSynonyms","replaceExistingSynonyms"]));return o&&(s.queryParameters.forwardToReplicas=1),(u||i)&&(s.queryParameters.replaceExistingSynonyms=1),d(e.transporter.write({method:j,path:p("1/indexes/%s/synonyms/batch",e.indexName),data:t},s),(function(t,r){return dt(e)(t.taskID,r)}))}},it=function(e){return function(t,r){return e.transporter.read({method:j,path:p("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},ut=function(e){return function(t,r,n){return e.transporter.read({method:j,path:p("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},st=function(e){return function(t,r){return e.transporter.read({method:j,path:p("1/indexes/%s/rules/search",e.indexName),data:{query:t}},r)}},ct=function(e){return function(t,r){return e.transporter.read({method:j,path:p("1/indexes/%s/synonyms/search",e.indexName),data:{query:t}},r)}},ft=function(e){return function(t,r){var a=r||{},o=a.forwardToReplicas,i=g(n(a,["forwardToReplicas"]));return o&&(i.queryParameters.forwardToReplicas=1),d(e.transporter.write({method:q,path:p("1/indexes/%s/settings",e.indexName),data:t},i),(function(t,r){return dt(e)(t.taskID,r)}))}},dt=function(e){return function(t,r){return f((function(n){return function(e){return function(t,r){return e.transporter.read({method:x,path:p("1/indexes/%s/task/%s",e.indexName,t.toString())},r)}}(e)(t,r).then((function(e){return"published"!==e.status?n():void 0}))}))}},lt={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},ht={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},pt=1,mt=2,gt=3;var yt=function(e){return function(t,n){var a=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:j,path:"1/indexes/*/recommendations",data:{requests:a},cacheable:!0},n)}},vt=function(e){return function(t,n){return yt(e)(t.map((function(e){return r(r({},e),{},{fallbackParameters:{},model:"bought-together"})})),n)}},bt=function(e){return function(t,n){return yt(e)(t.map((function(e){return r(r({},e),{},{model:"related-products"})})),n)}},wt=function(e){return function(t,n){var a=t.map((function(e){return r(r({},e),{},{model:"trending-facets",threshold:e.threshold||0})}));return e.transporter.read({method:j,path:"1/indexes/*/recommendations",data:{requests:a},cacheable:!0},n)}},Pt=function(e){return function(t,n){var a=t.map((function(e){return r(r({},e),{},{model:"trending-items",threshold:e.threshold||0})}));return e.transporter.read({method:j,path:"1/indexes/*/recommendations",data:{requests:a},cacheable:!0},n)}},Ot=function(e){return function(t,n){return yt(e)(t.map((function(e){return r(r({},e),{},{model:"looking-similar"})})),n)}},It=function(e){return function(t,n){var a=t.map((function(e){return r(r({},e),{},{model:"recommended-for-you",threshold:e.threshold||0})}));return e.transporter.read({method:j,path:"1/indexes/*/recommendations",data:{requests:a},cacheable:!0},n)}};function xt(e,t){return function(r,a){if(!t)throw qt("`options.transformation.region` must be provided at client instantiation before calling this method.");var o=a||{},i=o.autoGenerateObjectIDIfNotExist,u=o.watch,s=n(o,["autoGenerateObjectIDIfNotExist","watch"]),c=i?lt.AddObject:lt.UpdateObject;return t.push({indexName:e,pushTaskPayload:{action:c,records:r},watch:u},s)}}function jt(e,t){return function(r,a){if(!t)throw qt("`options.transformation.region` must be provided at client instantiation before calling this method.");var o=a||{},i=o.createIfNotExists,u=o.watch,s=n(o,["createIfNotExists","watch"]),c=i?lt.PartialUpdateObject:lt.PartialUpdateObjectNoCreate;return t.push({indexName:e,pushTaskPayload:{action:c,records:r},watch:u},s)}}function qt(e){return{name:"TransformationConfigurationError",message:e}}function Dt(e,t,n){var a,o,f={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,a=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},o=a(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(o),n=a(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(o),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(o),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(a=gt,{debug:function(e,t){return pt>=a&&console.debug(e,t),Promise.resolve()},info:function(e,t){return mt>=a&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:u({caches:[i({key:"".concat("4.25.3","-").concat(e)}),s()]}),userAgent:S("4.25.3").add({segment:"Browser"})},d=r(r({},f),n),g=function(){return function(e){return function(e){var t=e.region||"us",n=c(m.WithinHeaders,e.appId,e.apiKey),a=k(r(r({hosts:[{url:"personalization.".concat(t,".algolia.com")}]},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/json"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({appId:e.appId,transporter:a},e.methods)}(r(r(r({},f),e),{},{methods:{getPersonalizationStrategy:W,setPersonalizationStrategy:H}}))}};if(n&&n.transformation){if(!n.transformation.region)throw qt("`region` must be provided when leveraging the transformation pipeline");o=function(e){if(!e||!e.transformation||!e.transformation.region)throw qt("`region` must be provided when leveraging the transformation pipeline");if("eu"!==e.transformation.region&&"us"!==e.transformation.region)throw qt("`region` is required and must be one of the following: eu, us");var t=e.appId,n=c(m.WithinHeaders,t,e.apiKey),a=k(r(r({hosts:[{url:"data.".concat(e.transformation.region,".algolia.com"),accept:y.ReadWrite,protocol:"https"}]},e),{},{headers:r(r(r({},n.headers()),{"content-type":"text/plain"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return{transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t}),a.userAgent.add({segment:"Ingestion",version:t}),a.userAgent.add({segment:"Ingestion via Algoliasearch"})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))},push:function(e,t){var n=e.indexName,o=e.pushTaskPayload,i=e.watch;if(!n)throw qt("Parameter `indexName` is required when calling `push`.");if(!o)throw qt("Parameter `pushTaskPayload` is required when calling `push`.");if(!o.action)throw qt("Parameter `pushTaskPayload.action` is required when calling `push`.");if(!o.records)throw qt("Parameter `pushTaskPayload.records` is required when calling `push`.");var u=t||{queryParameters:{}};return a.write({method:j,path:p("1/push/%s",n),data:o},r(r({},u),{},{queryParameters:r(r({},u.queryParameters),{},{watch:void 0!==i})}))}}}(r(r({},n),f))}return function(e){var t=e.appId,n=c(void 0!==e.authMode?e.authMode:m.WithinHeaders,t,e.apiKey),a=k(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:y.Read},{url:"".concat(t,".algolia.net"),accept:y.Write}].concat(l([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)}(r(r({},d),{},{methods:{search:me,searchForFacetValues:ge,multipleBatch:he,multipleGetObjects:pe,multipleQueries:me,copyIndex:Q,copySettings:_,copySynonyms:X,copyRules:V,moveIndex:le,listIndices:fe,getLogs:ne,listClusters:ce,multipleSearchForFacetValues:ge,getApiKey:ee,addApiKey:M,listApiKeys:se,updateApiKey:xe,deleteApiKey:Z,restoreApiKey:be,assignUserID:B,assignUserIDs:G,getUserID:oe,searchUserIDs:Oe,listUserIDs:de,getTopUserIDs:ae,removeUserID:ye,hasPendingMappings:ie,clearDictionaryEntries:L,deleteDictionaryEntries:$,getDictionarySettings:re,getAppTask:te,replaceDictionaryEntries:ve,saveDictionaryEntries:we,searchDictionaryEntries:Pe,setDictionarySettings:Ie,waitAppTask:je,customRequest:Y,initIndex:function(e){return function(t){return r(r({},ue(e)(t,{methods:{batch:qe,delete:Ce,findAnswers:He,getObject:Me,getObjects:Ge,saveObject:et,saveObjects:tt,search:it,searchForFacetValues:ut,waitTask:dt,setSettings:ft,getSettings:Qe,partialUpdateObject:_e,partialUpdateObjects:Xe,deleteObject:Ue,deleteObjects:ze,deleteBy:Re,clearObjects:Ne,browseObjects:De,getObjectPosition:Be,findObject:Ke,exists:We,saveSynonym:at,saveSynonyms:ot,getSynonym:Ve,searchSynonyms:ct,browseSynonyms:ke,deleteSynonym:Fe,clearSynonyms:Ae,replaceAllObjects:Ye,replaceAllSynonyms:$e,searchRules:st,getRule:Le,deleteRule:Je,saveRule:rt,saveRules:nt,replaceAllRules:Ze,browseRules:Te,clearRules:Ee}})),{},{saveObjectsWithTransformation:xt(t,o),partialUpdateObjectsWithTransformation:jt(t,o)})}},initAnalytics:function(){return function(e){return function(e){var t=e.region||"us",n=c(m.WithinHeaders,e.appId,e.apiKey),a=k(r(r({hosts:[{url:"analytics.".concat(t,".algolia.com")}]},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/json"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({appId:e.appId,transporter:a},e.methods)}(r(r(r({},f),e),{},{methods:{addABTest:C,getABTest:z,getABTests:J,stopABTest:F,deleteABTest:U}}))}},initPersonalization:g,initRecommendation:function(){return function(e){return d.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),g()(e)}},getRecommendations:yt,getFrequentlyBoughtTogether:vt,getLookingSimilar:Ot,getRecommendedForYou:It,getRelatedProducts:bt,getTrendingFacets:wt,getTrendingItems:Pt}}))}return Dt.version="4.25.3",Dt}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "algoliasearch",
3
- "version": "4.25.1",
3
+ "version": "4.25.3",
4
4
  "private": false,
5
5
  "description": "A fully-featured and blazing-fast JavaScript API client to interact with Algolia API.",
6
6
  "repository": {
@@ -28,20 +28,20 @@
28
28
  "test:exports": "node --experimental-modules test/module/is-es-module.mjs && node test/module/is-cjs-module.cjs"
29
29
  },
30
30
  "dependencies": {
31
- "@algolia/cache-browser-local-storage": "4.25.1",
32
- "@algolia/cache-common": "4.25.1",
33
- "@algolia/cache-in-memory": "4.25.1",
34
- "@algolia/client-account": "4.25.1",
35
- "@algolia/client-analytics": "4.25.1",
36
- "@algolia/client-common": "4.25.1",
37
- "@algolia/client-personalization": "4.25.1",
38
- "@algolia/client-search": "4.25.1",
39
- "@algolia/logger-common": "4.25.1",
40
- "@algolia/logger-console": "4.25.1",
41
- "@algolia/recommend": "4.25.1",
42
- "@algolia/requester-browser-xhr": "4.25.1",
43
- "@algolia/requester-common": "4.25.1",
44
- "@algolia/requester-node-http": "4.25.1",
45
- "@algolia/transporter": "4.25.1"
31
+ "@algolia/cache-browser-local-storage": "4.25.3",
32
+ "@algolia/cache-common": "4.25.3",
33
+ "@algolia/cache-in-memory": "4.25.3",
34
+ "@algolia/client-account": "4.25.3",
35
+ "@algolia/client-analytics": "4.25.3",
36
+ "@algolia/client-common": "4.25.3",
37
+ "@algolia/client-personalization": "4.25.3",
38
+ "@algolia/client-search": "4.25.3",
39
+ "@algolia/logger-common": "4.25.3",
40
+ "@algolia/logger-console": "4.25.3",
41
+ "@algolia/recommend": "4.25.3",
42
+ "@algolia/requester-browser-xhr": "4.25.3",
43
+ "@algolia/requester-common": "4.25.3",
44
+ "@algolia/requester-node-http": "4.25.3",
45
+ "@algolia/transporter": "4.25.3"
46
46
  }
47
47
  }