algoliasearch 4.25.1 → 4.25.2

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.2';
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.2 | © 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.2","-").concat(e)}),s()]}),userAgent:w("4.25.2").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.2",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.2';
236
236
 
237
237
  const AuthMode = {
238
238
  /**
@@ -2221,10 +2221,10 @@ function createBrowserXhrRequester() {
2221
2221
 
2222
2222
  function createIngestionClient(options) {
2223
2223
  if (!options || !options.transformation || !options.transformation.region) {
2224
- throw new Error('`region` must be provided when leveraging the transformation pipeline');
2224
+ throw transformationConfigurationError('`region` must be provided when leveraging the transformation pipeline');
2225
2225
  }
2226
2226
  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');
2227
+ throw transformationConfigurationError('`region` is required and must be one of the following: eu, us');
2228
2228
  }
2229
2229
  const appId = options.appId;
2230
2230
  const auth = createAuth(AuthMode.WithinHeaders, appId, options.apiKey);
@@ -2261,21 +2261,21 @@ function createIngestionClient(options) {
2261
2261
  transporter.responsesCache.clear(),
2262
2262
  ]).then(() => undefined);
2263
2263
  },
2264
- async push({ indexName, pushTaskPayload, watch }, requestOptions) {
2264
+ push({ indexName, pushTaskPayload, watch }, requestOptions) {
2265
2265
  if (!indexName) {
2266
- throw new Error('Parameter `indexName` is required when calling `push`.');
2266
+ throw transformationConfigurationError('Parameter `indexName` is required when calling `push`.');
2267
2267
  }
2268
2268
  if (!pushTaskPayload) {
2269
- throw new Error('Parameter `pushTaskPayload` is required when calling `push`.');
2269
+ throw transformationConfigurationError('Parameter `pushTaskPayload` is required when calling `push`.');
2270
2270
  }
2271
2271
  if (!pushTaskPayload.action) {
2272
- throw new Error('Parameter `pushTaskPayload.action` is required when calling `push`.');
2272
+ throw transformationConfigurationError('Parameter `pushTaskPayload.action` is required when calling `push`.');
2273
2273
  }
2274
2274
  if (!pushTaskPayload.records) {
2275
- throw new Error('Parameter `pushTaskPayload.records` is required when calling `push`.');
2275
+ throw transformationConfigurationError('Parameter `pushTaskPayload.records` is required when calling `push`.');
2276
2276
  }
2277
2277
  const opts = requestOptions || { queryParameters: {} };
2278
- return await transporter.write({
2278
+ return transporter.write({
2279
2279
  method: MethodEnum.Post,
2280
2280
  path: encode('1/push/%s', indexName),
2281
2281
  data: pushTaskPayload,
@@ -2290,16 +2290,16 @@ function createIngestionClient(options) {
2290
2290
  };
2291
2291
  }
2292
2292
  function saveObjectsWithTransformation(indexName, client) {
2293
- return async (objects, requestOptions) => {
2293
+ return (objects, requestOptions) => {
2294
2294
  if (!client) {
2295
- throw new Error('`options.transformation.region` must be provided at client instantiation before calling this method.');
2295
+ throw transformationConfigurationError('`options.transformation.region` must be provided at client instantiation before calling this method.');
2296
2296
  }
2297
2297
  const { autoGenerateObjectIDIfNotExist, watch, ...rest } = requestOptions || {};
2298
2298
  const action = autoGenerateObjectIDIfNotExist
2299
2299
  ? BatchActionEnum.AddObject
2300
2300
  : BatchActionEnum.UpdateObject;
2301
2301
  /* eslint functional/immutable-data: "off" */
2302
- return await client.push({
2302
+ return client.push({
2303
2303
  indexName,
2304
2304
  pushTaskPayload: { action, records: objects },
2305
2305
  watch,
@@ -2307,21 +2307,27 @@ function saveObjectsWithTransformation(indexName, client) {
2307
2307
  };
2308
2308
  }
2309
2309
  function partialUpdateObjectsWithTransformation(indexName, client) {
2310
- return async (objects, requestOptions) => {
2310
+ return (objects, requestOptions) => {
2311
2311
  if (!client) {
2312
- throw new Error('`options.transformation.region` must be provided at client instantiation before calling this method.');
2312
+ throw transformationConfigurationError('`options.transformation.region` must be provided at client instantiation before calling this method.');
2313
2313
  }
2314
2314
  const { createIfNotExists, watch, ...rest } = requestOptions || {};
2315
2315
  const action = createIfNotExists
2316
2316
  ? BatchActionEnum.PartialUpdateObject
2317
2317
  : BatchActionEnum.PartialUpdateObjectNoCreate;
2318
2318
  /* eslint functional/immutable-data: "off" */
2319
- return await client.push({
2319
+ return client.push({
2320
2320
  indexName,
2321
2321
  pushTaskPayload: { action, records: objects },
2322
2322
  watch,
2323
2323
  }, rest);
2324
2324
  };
2325
+ }
2326
+ function transformationConfigurationError(message) {
2327
+ return {
2328
+ name: 'TransformationConfigurationError',
2329
+ message,
2330
+ };
2325
2331
  }
2326
2332
 
2327
2333
  function algoliasearch(appId, apiKey, options) {
@@ -2360,7 +2366,7 @@ function algoliasearch(appId, apiKey, options) {
2360
2366
  let ingestionTransporter;
2361
2367
  if (options && options.transformation) {
2362
2368
  if (!options.transformation.region) {
2363
- throw new Error('`region` must be provided when leveraging the transformation pipeline');
2369
+ throw transformationConfigurationError('`region` must be provided when leveraging the transformation pipeline');
2364
2370
  }
2365
2371
  ingestionTransporter = createIngestionClient({ ...options, ...commonOptions });
2366
2372
  }
@@ -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.2 | © 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])}})),(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.2","-").concat(e)}),s()]}),userAgent:S("4.25.2").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.2",Dt}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "algoliasearch",
3
- "version": "4.25.1",
3
+ "version": "4.25.2",
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.2",
32
+ "@algolia/cache-common": "4.25.2",
33
+ "@algolia/cache-in-memory": "4.25.2",
34
+ "@algolia/client-account": "4.25.2",
35
+ "@algolia/client-analytics": "4.25.2",
36
+ "@algolia/client-common": "4.25.2",
37
+ "@algolia/client-personalization": "4.25.2",
38
+ "@algolia/client-search": "4.25.2",
39
+ "@algolia/logger-common": "4.25.2",
40
+ "@algolia/logger-console": "4.25.2",
41
+ "@algolia/recommend": "4.25.2",
42
+ "@algolia/requester-browser-xhr": "4.25.2",
43
+ "@algolia/requester-common": "4.25.2",
44
+ "@algolia/requester-node-http": "4.25.2",
45
+ "@algolia/transporter": "4.25.2"
46
46
  }
47
47
  }