@algolia/abtesting 1.23.0 → 1.26.0

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.
@@ -1,6 +1,6 @@
1
- function oe(e){let t,s=`algolia-client-js-${e.key}`;function o(){return t===void 0&&(t=e.localStorage||window.localStorage),t}function c(){return JSON.parse(o().getItem(s)||"{}")}function m(r){o().setItem(s,JSON.stringify(r))}function y(){return new Promise(r=>setTimeout(r,0))}function i(){let r=e.timeToLive?e.timeToLive*1e3:null,n=c(),a=new Date().getTime(),d=!1;return{namespace:Object.fromEntries(Object.entries(n).filter(([,u])=>!u||u.timestamp===void 0||r&&u.timestamp+r<a?(d=!0,!1):!0)),changed:d}}return{get(r,n,a={miss:()=>Promise.resolve()}){return y().then(()=>{let{namespace:d,changed:l}=i(),u=d[JSON.stringify(r)];return l&&m(d),u?u.value:n().then(T=>a.miss(T).then(()=>T))})},set(r,n){return y().then(()=>{let a=c();return a[JSON.stringify(r)]={timestamp:new Date().getTime(),value:n},o().setItem(s,JSON.stringify(a)),n})},delete(r){return y().then(()=>{let n=c();delete n[JSON.stringify(r)],o().setItem(s,JSON.stringify(n))})},clear(){return Promise.resolve().then(()=>{o().removeItem(s)})}}}function Pe(){return{get(e,t,s={miss:()=>Promise.resolve()}){return t().then(c=>Promise.all([c,s.miss(c)])).then(([c])=>c)},set(e,t){return Promise.resolve(t)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}}function w(e){let t=[...e.caches],s=t.shift();return s===void 0?Pe():{get(o,c,m={miss:()=>Promise.resolve()}){return s.get(o,c,m).catch(()=>w({caches:t}).get(o,c,m))},set(o,c){return s.set(o,c).catch(()=>w({caches:t}).set(o,c))},delete(o){return s.delete(o).catch(()=>w({caches:t}).delete(o))},clear(){return s.clear().catch(()=>w({caches:t}).clear())}}}function _(e={serializable:!0}){let t={};return{get(s,o,c={miss:()=>Promise.resolve()}){let m=JSON.stringify(s);if(m in t)return Promise.resolve(e.serializable?JSON.parse(t[m]):t[m]);let y=o();return y.then(i=>c.miss(i)).then(()=>y)},set(s,o){return t[JSON.stringify(s)]=e.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(s){return delete t[JSON.stringify(s)],Promise.resolve()},clear(){return t={},Promise.resolve()}}}function Te(e){let t={value:`Algolia for JavaScript (${e})`,add(s){let o=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return t.value.indexOf(o)===-1&&(t.value=`${t.value}${o}`),t}};return t}function ne(e,t,s="WithinHeaders"){let o={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers(){return s==="WithinHeaders"?o:{}},queryParameters(){return s==="WithinQueryParameters"?o:{}}}}function ae({algoliaAgents:e,client:t,version:s}){let o=Te(s).add({segment:t,version:s});return e.forEach(c=>o.add(c)),o}function ie(){return{debug(e,t){return Promise.resolve()},info(e,t){return Promise.resolve()},error(e,t){return Promise.resolve()}}}var ge=10*1024*1024;async function*ye(e){let t=e.getReader();try{for(;;){let{done:s,value:o}=await t.read();if(s)return;yield o}}finally{t.releaseLock()}}function qe(e){return Symbol.asyncIterator in e?e:ye(e)}async function*Re(e){let t=new TextDecoder("utf-8"),s=[],o=0,c=!1,m=!0;for await(let i of qe(e)){let r=t.decode(i,{stream:!0}),n=0;for(c&&(c=!1,r.length>0&&r[0]===`
2
- `&&(n=1));n<r.length;){let a=r.indexOf("\r",n),d=r.indexOf(`
3
- `,n);if(a===-1&&d===-1){let q=r.slice(n);if(s.push(q),o+=q.length,o>ge)throw new Error("SSE line buffer exceeded 10MB");break}let l,u;a!==-1&&(d===-1||a<d)?(l=a,a+1<r.length?u=r[a+1]===`
4
- `?2:1:(c=!0,u=1)):(l=d,u=1);let T=r.slice(n,l);s.push(T);let P=s.length===1?s[0]:s.join("");s.length=0,o=0,m&&(P.startsWith("\uFEFF")&&(P=P.slice(1)),m=!1),yield P,n=l+u}}let y=t.decode();if(y&&s.push(y),s.length>0){let i=s.join("");m&&i.startsWith("\uFEFF")&&(i=i.slice(1)),yield i}}var Ae=class{data=[];eventType="";lastEventId=null;retry=null;decode(e){if(e==="")return this.dispatch();if(e[0]===":")return null;let t=e.indexOf(":"),s,o;switch(t===-1?(s=e,o=""):(s=e.slice(0,t),o=e.slice(t+1),o[0]===" "&&(o=o.slice(1))),s){case"data":this.data.push(o);break;case"event":this.eventType=o;break;case"id":o.includes("\0")||(this.lastEventId=o);break;case"retry":/^[0-9]+$/.test(o)&&(this.retry=parseInt(o,10));break}return null}dispatch(){let e=this.eventType;if(this.eventType="",this.data.length===0)return null;let t={data:this.data.join(`
5
- `),event:e,id:this.lastEventId,retry:this.retry};return this.data=[],t}};async function*Ee(e){let t=new Ae;for await(let s of Re(e)){let o=t.decode(s);o!==null&&(yield o)}}var ve=750,X=120*1e3;function K(e,t="up"){let s=Date.now();function o(){return t==="up"||Date.now()-s>X}function c(){return t==="timed out"&&Date.now()-s<=X}return{...e,status:t,lastUpdate:s,isUp:o,isTimedOut:c}}var ue=class extends Error{name="AlgoliaError";constructor(e,t){super(e),t&&(this.name=t)}};var ce=class extends ue{stackTrace;correlationId;constructor(e,t,s,o){super(o?`${e} (Correlation-ID: ${o})`:e,s),this.stackTrace=t,this.correlationId=o}},Y=class extends ce{constructor(e,t){super("Unreachable hosts - your application id may be incorrect. If the error persists, please visit our help center https://alg.li/support-unreachable-hosts or reach out to the Algolia Support team: https://alg.li/support",e,"RetryError",t)}},j=class extends ce{status;constructor(e,t,s,o="ApiError",c){super(e,s,o,c),this.status=t}},Ie=class extends ue{response;correlationId;constructor(e,t,s){super(s?`${e} (Correlation-ID: ${s})`:e,"DeserializationError"),this.response=t,this.correlationId=s}},He=class extends j{error;constructor(e,t,s,o,c){super(e,t,o,"DetailedApiError",c),this.error=s}};function Z(e,t,s){let o=Se(s),c=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${t.charAt(0)==="/"?t.substring(1):t}`;return o.length&&(c+=`?${o}`),c}function Se(e){return Object.keys(e).filter(t=>e[t]!==void 0).sort().map(t=>`${t}=${encodeURIComponent(Object.prototype.toString.call(e[t])==="[object Array]"?e[t].join(","):e[t]).replace(/\+/g,"%20")}`).join("&")}function ee(e,t){if(e.method==="GET"||e.data===void 0&&t.data===void 0)return;let s=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(s)}function te(e,t,s){let o={Accept:"application/json",...e,...t,...s},c={};return Object.keys(o).forEach(m=>{let y=o[m];c[m.toLowerCase()]=y}),c}function de(e){if(!(e.status===204||e.content.length===0))try{return JSON.parse(e.content)}catch(t){throw new Ie(t.message,e,$(e.headers))}}function xe(e){return{status:e.status,headers:e.headers,content:e.content,data:de(e)}}function $(e){if(!e)return;if(e["correlation-id"]!==void 0)return e["correlation-id"];let t=Object.keys(e).find(s=>s.toLowerCase()==="correlation-id");return t===void 0?void 0:e[t]}function be(e){for(let t=e.length-1;t>=0;t--){let s=$(e[t].response.headers);if(s!==void 0)return s}}function we(e,t){let{content:s,status:o}=e,c=$(e.headers);try{let m=JSON.parse(s);return"error"in m?new He(m.message,o,m.error,t,c):new j(m.message,o,t,"ApiError",c)}catch{}return new j(s,o,t,"ApiError",c)}var L="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",re=11;function se(){var e;let t="";if(typeof((e=globalThis.crypto)==null?void 0:e.getRandomValues)=="function"){let s=new Uint8Array(re);globalThis.crypto.getRandomValues(s);for(let o of s)t+=L[o%L.length];return t}for(let s=0;s<re;s++)t+=L[Math.floor(Math.random()*L.length)];return t}function Be({isTimedOut:e,status:t}){return!e&&~~t===0}function Oe({isTimedOut:e,status:t}){return e||Be({isTimedOut:e,status:t})||~~(t/100)!==2&&~~(t/100)!==4}function Ce({status:e}){return~~(e/100)===2}function We(e){return e.map(t=>le(t))}function le(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function me({hosts:e,hostsCache:t,baseHeaders:s,logger:o,baseQueryParameters:c,algoliaAgent:m,timeouts:y,requester:i,requestsCache:r,responsesCache:n,compress:a,compression:d,requestIdChannel:l}){function u(h,p){l===void 0||h["request-id"]!==void 0||Object.keys(p).some(v=>v.toLowerCase()==="x-algolia-request-id")||(l==="headers"?h["request-id"]=se():p["x-algolia-request-id"]=se())}async function T(h){let p=await Promise.all(h.map(g=>t.get(g,()=>Promise.resolve(K(g))))),v=p.filter(g=>g.isUp()),A=p.filter(g=>g.isTimedOut()),H=[...v,...A];return{hosts:H.length>0?H:h,getTimeout(g,x){return(A.length===0&&g===0?1:A.length+3+g)*x}}}async function P(h,p,v){let A=[],H=ee(h,p),R=te(s,h.headers,p.headers),g=d==="gzip"&&H!==void 0&&H.length>ve&&(h.method==="POST"||h.method==="PUT");g&&a===void 0&&o.info("Compression is disabled because no compress method is available.");let x=g&&a!==void 0,N=x?await a(H):H;x&&(R["content-encoding"]="gzip");let W=h.method==="GET"?{...h.data,...p.data}:{},S={...c,...h.queryParameters,...W};if(m.value&&(S["x-algolia-agent"]=m.value),p&&p.queryParameters)for(let E of Object.keys(p.queryParameters))!p.queryParameters[E]||Object.prototype.toString.call(p.queryParameters[E])==="[object Object]"?S[E]=p.queryParameters[E]:S[E]=p.queryParameters[E].toString();u(R,S);let O=0,D=async(E,U)=>{let C=E.pop();if(C===void 0)throw new Y(We(A),be(A));let G={...y,...p.timeouts},z={data:N,headers:R,method:h.method,url:Z(C,h.path,S),connectTimeout:U(O,G.connect),responseTimeout:U(O,v?G.read:G.write)},J=Q=>{let V={request:z,response:Q,host:C,triesLeft:E.length};return A.push(V),V},b=await i.send(z);if(Oe(b)){let Q=J(b);return b.isTimedOut&&O++,o.info("Retryable failure",le(Q)),await t.set(C,K(C,b.isTimedOut?"timed out":"down")),D(E,U)}if(Ce(b))return b;throw J(b),we(b,A)},I=e.filter(E=>E.accept==="readWrite"||(v?E.accept==="read":E.accept==="write")),M=await T(I);return D([...M.hosts].reverse(),M.getTimeout)}function q(h,p={}){let v=()=>P(h,p,A).then(g=>de(g)),A=h.useReadTransporter||h.method==="GET";if((p.cacheable||h.cacheable)!==!0)return v();let R={request:h,requestOptions:p,transporter:{queryParameters:c,headers:s}};return n.get(R,()=>r.get(R,()=>r.set(R,v()).then(g=>Promise.all([r.delete(R),g]),g=>Promise.all([r.delete(R),Promise.reject(g)])).then(([g,x])=>x)),{miss:g=>n.set(R,g)})}function B(h,p={}){let v=h.useReadTransporter||h.method==="GET";return P(h,p,v).then(A=>xe(A))}async function*fe(h,p={}){if(!i.sendStream)throw new Error("This requester does not support streaming");let v=ee(h,p),A=te(s,h.headers,p.headers);A.accept="text/event-stream";let H=h.method==="GET"?{...h.data,...p.data}:{},R={...c,...h.queryParameters,...H};if(m.value&&(R["x-algolia-agent"]=m.value),p&&p.queryParameters)for(let I of Object.keys(p.queryParameters))!p.queryParameters[I]||Object.prototype.toString.call(p.queryParameters[I])==="[object Object]"?R[I]=p.queryParameters[I]:R[I]=p.queryParameters[I].toString();u(A,R);let g=h.useReadTransporter||h.method==="GET",x=e.filter(I=>I.accept==="readWrite"||(g?I.accept==="read":I.accept==="write")),W=(await T(x)).hosts[0];if(!W)throw new Y([]);let S={...y,...p.timeouts},O={data:v,headers:A,method:h.method,url:Z(W,h.path,R),connectTimeout:S.connect,responseTimeout:g?S.read:S.write},D=await i.sendStream(O);yield*Ee(D)}return{hostsCache:t,requester:i,timeouts:y,logger:o,algoliaAgent:m,baseHeaders:s,baseQueryParameters:c,requestIdChannel:l,hosts:e,request:q,requestWithHttpInfo:B,requestStream:fe,requestsCache:r,responsesCache:n}}function f(e,t,s){if(s==null||typeof s=="string"&&s.length===0)throw new Error(`Parameter \`${e}\` is required when calling \`${t}\`.`)}function De(e){let t={};for(let s of e.trim().split(/[\r\n]+/)){let o=s.indexOf(": ");o>0&&(t[s.slice(0,o).toLowerCase()]=s.slice(o+2))}return t}function he(){function e(t){return new Promise(s=>{let o=new XMLHttpRequest;o.open(t.method,t.url,!0),Object.keys(t.headers).forEach(i=>o.setRequestHeader(i,t.headers[i]));let c=(i,r)=>setTimeout(()=>{o.abort(),s({status:0,content:r,isTimedOut:!0})},i),m=c(t.connectTimeout,"Connection timeout"),y;o.onreadystatechange=()=>{o.readyState>o.OPENED&&y===void 0&&(clearTimeout(m),y=c(t.responseTimeout,"Socket timeout"))},o.onerror=()=>{o.status===0&&(clearTimeout(m),clearTimeout(y),s({content:o.responseText||"Network request failed",status:o.status,isTimedOut:!1}))},o.onload=()=>{clearTimeout(m),clearTimeout(y),s({content:o.responseText,headers:De(o.getAllResponseHeaders()),status:o.status,isTimedOut:!1})},o.send(t.data)})}return{send:e}}var k="1.23.0",F=["de","us"];function Le(e){return[{url:e?"analytics.{region}.algolia.com".replace("{region}",e):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]}function pe({appId:e,apiKey:t,authMode:s,algoliaAgents:o,region:c,...m}){let y=ne(e,t,s),i=me({hosts:Le(c),...m,algoliaAgent:ae({algoliaAgents:o,client:"AbtestingV3",version:k}),baseHeaders:{"content-type":"text/plain",...y.headers(),...m.baseHeaders},baseQueryParameters:{...y.queryParameters(),...m.baseQueryParameters}});return{transporter:i,appId:e,apiKey:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(r,n){i.algoliaAgent.add({segment:r,version:n})},setClientApiKey({apiKey:r}){!s||s==="WithinHeaders"?i.baseHeaders["x-algolia-api-key"]=r:i.baseQueryParameters["x-algolia-api-key"]=r},addABTests(r,n){f("addABTestsRequest","addABTests",r),f("addABTestsRequest.name","addABTests",r.name),f("addABTestsRequest.variants","addABTests",r.variants),f("addABTestsRequest.metrics","addABTests",r.metrics),f("addABTestsRequest.endAt","addABTests",r.endAt);let u={method:"POST",path:"/3/abtests",queryParameters:{},headers:{},data:r};return i.request(u,n)},addABTestsWithHTTPInfo(r,n){f("addABTestsRequest","addABTestsWithHTTPInfo",r),f("addABTestsRequest.name","addABTestsWithHTTPInfo",r.name),f("addABTestsRequest.variants","addABTestsWithHTTPInfo",r.variants),f("addABTestsRequest.metrics","addABTestsWithHTTPInfo",r.metrics),f("addABTestsRequest.endAt","addABTestsWithHTTPInfo",r.endAt);let u={method:"POST",path:"/3/abtests",queryParameters:{},headers:{},data:r};return i.requestWithHttpInfo(u,n)},customDelete({path:r,parameters:n},a){f("path","customDelete",r);let T={method:"DELETE",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{}};return i.request(T,a)},customDeleteWithHTTPInfo({path:r,parameters:n},a){f("path","customDeleteWithHTTPInfo",r);let T={method:"DELETE",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{}};return i.requestWithHttpInfo(T,a)},customGet({path:r,parameters:n},a){f("path","customGet",r);let T={method:"GET",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{}};return i.request(T,a)},customGetWithHTTPInfo({path:r,parameters:n},a){f("path","customGetWithHTTPInfo",r);let T={method:"GET",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{}};return i.requestWithHttpInfo(T,a)},customPost({path:r,parameters:n,body:a},d){f("path","customPost",r);let P={method:"POST",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{},data:a||{}};return i.request(P,d)},customPostWithHTTPInfo({path:r,parameters:n,body:a},d){f("path","customPostWithHTTPInfo",r);let P={method:"POST",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{},data:a||{}};return i.requestWithHttpInfo(P,d)},customPut({path:r,parameters:n,body:a},d){f("path","customPut",r);let P={method:"PUT",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{},data:a||{}};return i.request(P,d)},customPutWithHTTPInfo({path:r,parameters:n,body:a},d){f("path","customPutWithHTTPInfo",r);let P={method:"PUT",path:"/{path}".replace("{path}",r),queryParameters:n||{},headers:{},data:a||{}};return i.requestWithHttpInfo(P,d)},deleteABTest({id:r},n){f("id","deleteABTest",r);let u={method:"DELETE",path:"/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.request(u,n)},deleteABTestWithHTTPInfo({id:r},n){f("id","deleteABTestWithHTTPInfo",r);let u={method:"DELETE",path:"/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.requestWithHttpInfo(u,n)},estimateABTest(r,n){f("estimateABTestRequest","estimateABTest",r),f("estimateABTestRequest.configuration","estimateABTest",r.configuration),f("estimateABTestRequest.variants","estimateABTest",r.variants);let u={method:"POST",path:"/3/abtests/estimate",queryParameters:{},headers:{},data:r};return i.request(u,n)},estimateABTestWithHTTPInfo(r,n){f("estimateABTestRequest","estimateABTestWithHTTPInfo",r),f("estimateABTestRequest.configuration","estimateABTestWithHTTPInfo",r.configuration),f("estimateABTestRequest.variants","estimateABTestWithHTTPInfo",r.variants);let u={method:"POST",path:"/3/abtests/estimate",queryParameters:{},headers:{},data:r};return i.requestWithHttpInfo(u,n)},getABTest({id:r},n){f("id","getABTest",r);let u={method:"GET",path:"/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.request(u,n)},getABTestWithHTTPInfo({id:r},n){f("id","getABTestWithHTTPInfo",r);let u={method:"GET",path:"/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.requestWithHttpInfo(u,n)},getTimeseries({id:r,startDate:n,endDate:a,metric:d},l){f("id","getTimeseries",r);let u="/3/abtests/{id}/timeseries".replace("{id}",encodeURIComponent(r)),T={},P={};n!==void 0&&(P.startDate=n.toString()),a!==void 0&&(P.endDate=a.toString()),d!==void 0&&(P.metric=d.toString());let q={method:"GET",path:u,queryParameters:P,headers:T};return i.request(q,l)},getTimeseriesWithHTTPInfo({id:r,startDate:n,endDate:a,metric:d},l){f("id","getTimeseriesWithHTTPInfo",r);let u="/3/abtests/{id}/timeseries".replace("{id}",encodeURIComponent(r)),T={},P={};n!==void 0&&(P.startDate=n.toString()),a!==void 0&&(P.endDate=a.toString()),d!==void 0&&(P.metric=d.toString());let q={method:"GET",path:u,queryParameters:P,headers:T};return i.requestWithHttpInfo(q,l)},listABTests({offset:r,limit:n,indexPrefix:a,indexSuffix:d,direction:l}={},u=void 0){let T="/3/abtests",P={},q={};r!==void 0&&(q.offset=r.toString()),n!==void 0&&(q.limit=n.toString()),a!==void 0&&(q.indexPrefix=a.toString()),d!==void 0&&(q.indexSuffix=d.toString()),l!==void 0&&(q.direction=l.toString());let B={method:"GET",path:T,queryParameters:q,headers:P};return i.request(B,u)},listABTestsWithHTTPInfo({offset:r,limit:n,indexPrefix:a,indexSuffix:d,direction:l}={},u=void 0){let T="/3/abtests",P={},q={};r!==void 0&&(q.offset=r.toString()),n!==void 0&&(q.limit=n.toString()),a!==void 0&&(q.indexPrefix=a.toString()),d!==void 0&&(q.indexSuffix=d.toString()),l!==void 0&&(q.direction=l.toString());let B={method:"GET",path:T,queryParameters:q,headers:P};return i.requestWithHttpInfo(B,u)},stopABTest({id:r},n){f("id","stopABTest",r);let u={method:"POST",path:"/3/abtests/{id}/stop".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.request(u,n)},stopABTestWithHTTPInfo({id:r},n){f("id","stopABTestWithHTTPInfo",r);let u={method:"POST",path:"/3/abtests/{id}/stop".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.requestWithHttpInfo(u,n)}}}function Bt(e,t,s,o){if(!e||typeof e!="string")throw new Error("`appId` is missing.");if(!t||typeof t!="string")throw new Error("`apiKey` is missing.");if(s&&(typeof s!="string"||!F.includes(s)))throw new Error(`\`region\` must be one of the following: ${F.join(", ")}`);let{compression:c,...m}=o||{};return pe({appId:e,apiKey:t,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},logger:ie(),requester:he(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:_(),requestsCache:_({serializable:!1}),hostsCache:w({caches:[oe({key:`${k}-${e}`}),_()]}),...m})}export{Bt as abtestingV3Client,k as apiClientVersion};
1
+ function ce(e){let t,s=`algolia-client-js-${e.key}`;function n(){return t===void 0&&(t=e.localStorage||window.localStorage),t}function d(){return JSON.parse(n().getItem(s)||"{}")}function P(r){n().setItem(s,JSON.stringify(r))}function y(){return new Promise(r=>setTimeout(r,0))}function c(){let r=e.timeToLive?e.timeToLive*1e3:null,o=d(),a=new Date().getTime(),u=!1;return{namespace:Object.fromEntries(Object.entries(o).filter(([,i])=>!i||i.timestamp===void 0||r&&i.timestamp+r<a?(u=!0,!1):!0)),changed:u}}return{get(r,o,a={miss:()=>Promise.resolve()}){return y().then(()=>{let{namespace:u,changed:l}=c(),i=u[JSON.stringify(r)];return l&&P(u),i?i.value:o().then(p=>a.miss(p).then(()=>p))})},set(r,o){return y().then(()=>{let a=d();return a[JSON.stringify(r)]={timestamp:new Date().getTime(),value:o},n().setItem(s,JSON.stringify(a)),o})},delete(r){return y().then(()=>{let o=d();delete o[JSON.stringify(r)],n().setItem(s,JSON.stringify(o))})},clear(){return Promise.resolve().then(()=>{n().removeItem(s)})}}}function Ae(){return{get(e,t,s={miss:()=>Promise.resolve()}){return t().then(d=>Promise.all([d,s.miss(d)])).then(([d])=>d)},set(e,t){return Promise.resolve(t)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}}function C(e){let t=[...e.caches],s=t.shift();return s===void 0?Ae():{get(n,d,P={miss:()=>Promise.resolve()}){return s.get(n,d,P).catch(()=>C({caches:t}).get(n,d,P))},set(n,d){return s.set(n,d).catch(()=>C({caches:t}).set(n,d))},delete(n){return s.delete(n).catch(()=>C({caches:t}).delete(n))},clear(){return s.clear().catch(()=>C({caches:t}).clear())}}}function V(e={serializable:!0}){let t={};return{get(s,n,d={miss:()=>Promise.resolve()}){let P=JSON.stringify(s);if(P in t)return Promise.resolve(e.serializable?JSON.parse(t[P]):t[P]);let y=n();return y.then(c=>d.miss(c)).then(()=>y)},set(s,n){return t[JSON.stringify(s)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete(s){return delete t[JSON.stringify(s)],Promise.resolve()},clear(){return t={},Promise.resolve()}}}function ve(e){let t={value:`Algolia for JavaScript (${e})`,add(s){let n=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return t.value.indexOf(n)===-1&&(t.value=`${t.value}${n}`),t}};return t}function de(e,t,s="WithinHeaders"){let n={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers(){return s==="WithinHeaders"?n:{}},queryParameters(){return s==="WithinQueryParameters"?n:{}}}}function le({algoliaAgents:e,client:t,version:s}){let n=ve(s).add({segment:t,version:s});return e.forEach(d=>n.add(d)),n}function me(){return{debug(e,t){return Promise.resolve()},info(e,t){return Promise.resolve()},error(e,t){return Promise.resolve()}}}var Se=10*1024*1024;async function*Ie(e){let t=e.getReader();try{for(;;){let{done:s,value:n}=await t.read();if(s)return;yield n}}finally{t.releaseLock()}}function Ee(e){return Symbol.asyncIterator in e?e:Ie(e)}async function*He(e){let t=new TextDecoder("utf-8"),s=[],n=0,d=!1,P=!0;for await(let c of Ee(e)){let r=t.decode(c,{stream:!0}),o=0;for(d&&(d=!1,r.length>0&&r[0]===`
2
+ `&&(o=1));o<r.length;){let a=r.indexOf("\r",o),u=r.indexOf(`
3
+ `,o);if(a===-1&&u===-1){let R=r.slice(o);if(s.push(R),n+=R.length,n>Se)throw new Error("SSE line buffer exceeded 10MB");break}let l,i;a!==-1&&(u===-1||a<u)?(l=a,a+1<r.length?i=r[a+1]===`
4
+ `?2:1:(d=!0,i=1)):(l=u,i=1);let p=r.slice(o,l);s.push(p);let T=s.length===1?s[0]:s.join("");s.length=0,n=0,P&&(T.startsWith("\uFEFF")&&(T=T.slice(1)),P=!1),yield T,o=l+i}}let y=t.decode();if(y&&s.push(y),s.length>0){let c=s.join("");P&&c.startsWith("\uFEFF")&&(c=c.slice(1)),yield c}}var xe=class{data=[];eventType="";lastEventId=null;retry=null;decode(e){if(e==="")return this.dispatch();if(e[0]===":")return null;let t=e.indexOf(":"),s,n;switch(t===-1?(s=e,n=""):(s=e.slice(0,t),n=e.slice(t+1),n[0]===" "&&(n=n.slice(1))),s){case"data":this.data.push(n);break;case"event":this.eventType=n;break;case"id":n.includes("\0")||(this.lastEventId=n);break;case"retry":/^[0-9]+$/.test(n)&&(this.retry=parseInt(n,10));break}return null}dispatch(){let e=this.eventType;if(this.eventType="",this.data.length===0)return null;let t={data:this.data.join(`
5
+ `),event:e,id:this.lastEventId,retry:this.retry};return this.data=[],t}};async function*be(e){let t=new xe;for await(let s of He(e)){let n=t.decode(s);n!==null&&(yield n)}}var we=750,ee=120*1e3;function te(e,t="up"){let s=Date.now();function n(){return t==="up"||Date.now()-s>ee}function d(){return t==="timed out"&&Date.now()-s<=ee}return{...e,status:t,lastUpdate:s,isUp:n,isTimedOut:d}}var pe=class extends Error{name="AlgoliaError";constructor(e,t){super(e),t&&(this.name=t)}};var he=class extends pe{stackTrace;correlationId;constructor(e,t,s,n){super(n?`${e} (Correlation-ID: ${n})`:e,s),this.stackTrace=t,this.correlationId=n}},re=class extends he{constructor(e,t){super("Unreachable hosts - your application id may be incorrect. If the error persists, please visit our help center https://alg.li/support-unreachable-hosts or reach out to the Algolia Support team: https://alg.li/support",e,"RetryError",t)}},J=class extends he{status;constructor(e,t,s,n="ApiError",d){super(e,s,n,d),this.status=t}};var Be=class extends pe{response;correlationId;constructor(e,t,s){super(s?`${e} (Correlation-ID: ${s})`:e,"DeserializationError"),this.response=t,this.correlationId=s}},Oe=class extends J{error;constructor(e,t,s,n,d){super(e,t,n,"DetailedApiError",d),this.error=s}};function se(e,t,s){let n=Ce(s),d=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${t.charAt(0)==="/"?t.substring(1):t}`;return n.length&&(d+=`?${n}`),d}function Ce(e){return Object.keys(e).filter(t=>e[t]!==void 0).sort().map(t=>`${t}=${encodeURIComponent(Object.prototype.toString.call(e[t])==="[object Array]"?e[t].join(","):e[t]).replace(/\+/g,"%20")}`).join("&")}function ne(e,t){if(e.method==="GET"||e.data===void 0&&t.data===void 0)return;let s=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(s)}function oe(e,t,s){let n={Accept:"application/json",...e,...t,...s},d={};return Object.keys(n).forEach(P=>{let y=n[P];d[P.toLowerCase()]=y}),d}function fe(e){if(!(e.status===204||e.content.length===0))try{return JSON.parse(e.content)}catch(t){throw new Be(t.message,e,K(e.headers))}}function We(e){return{status:e.status,headers:e.headers,content:e.content,data:fe(e)}}function K(e){if(!e)return;if(e["correlation-id"]!==void 0)return e["correlation-id"];let t=Object.keys(e).find(s=>s.toLowerCase()==="correlation-id");return t===void 0?void 0:e[t]}function Le(e){for(let t=e.length-1;t>=0;t--){let s=K(e[t].response.headers);if(s!==void 0)return s}}function _e(e,t){let{content:s,status:n}=e,d=K(e.headers);try{let P=JSON.parse(s);return"error"in P?new Oe(P.message,n,P.error,t,d):new J(P.message,n,t,"ApiError",d)}catch{}return new J(s,n,t,"ApiError",d)}var Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",ae=11;function ie(){var e;let t="";if(typeof((e=globalThis.crypto)==null?void 0:e.getRandomValues)=="function"){let s=new Uint8Array(ae);globalThis.crypto.getRandomValues(s);for(let n of s)t+=Q[n%Q.length];return t}for(let s=0;s<ae;s++)t+=Q[Math.floor(Math.random()*Q.length)];return t}var z=1e3;function De({isTimedOut:e,status:t}){return!e&&~~t===0}function Ue({isTimedOut:e,status:t}){return e||De({isTimedOut:e,status:t})||~~(t/100)!==2&&~~(t/100)!==4}function ke({status:e}){return~~(e/100)===2}function Pe({status:e}){return~~e===429}var Ne=/^HTTP 429(?:\D|$)/;function Ge(e){return typeof e=="object"&&e!==null&&"status"in e?Pe(e):e instanceof Error&&Ne.test(e.message)}function Qe(e){if(typeof e=="object"&&e!==null&&"headers"in e)return e.headers}function ue(e){var t;let s=(t=e?.["retry-after"])==null?void 0:t.trim();if(s===void 0||s.length===0||!/^\d+$/.test(s))return z;let n=Number.parseInt(s,10);return n<=0?z:n*1e3}function Ve(e){return e.map(t=>X(t))}function X(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function Te({hosts:e,hostsCache:t,baseHeaders:s,logger:n,baseQueryParameters:d,algoliaAgent:P,timeouts:y,requester:c,requestsCache:r,responsesCache:o,compress:a,compression:u,requestIdChannel:l,maxRateLimitRetries:i=3}){function p(h,f){l===void 0||h["request-id"]!==void 0||Object.keys(f).some(E=>E.toLowerCase()==="x-algolia-request-id")||(l==="headers"?h["request-id"]=ie():f["x-algolia-request-id"]=ie())}let T=h=>new Promise(f=>{setTimeout(f,h)});async function R(h){let f=await Promise.all(h.map(g=>t.get(g,()=>Promise.resolve(te(g))))),E=f.filter(g=>g.isUp()),S=f.filter(g=>g.isTimedOut()),x=[...E,...S];return{hosts:x.length>0?x:h,getTimeout(g,w){return(S.length===0&&g===0?1:S.length+3+g)*w}}}async function q(h,f,E){let S=[],x=ne(h,f),A=oe(s,h.headers,f.headers),g=u==="gzip"&&x!==void 0&&x.length>we&&(h.method==="POST"||h.method==="PUT");g&&a===void 0&&n.info("Compression is disabled because no compress method is available.");let w=g&&a!==void 0,j=w?await a(x):x;w&&(A["content-encoding"]="gzip");let L=h.method==="GET"?{...h.data,...f.data}:{},b={...d,...h.queryParameters,...L};if(P.value&&(b["x-algolia-agent"]=P.value),f&&f.queryParameters)for(let I of Object.keys(f.queryParameters))!f.queryParameters[I]||Object.prototype.toString.call(f.queryParameters[I])==="[object Object]"?b[I]=f.queryParameters[I]:b[I]=f.queryParameters[I].toString();p(A,b);let _=0,B=i,v=async(I,G)=>{let O=I.pop();if(O===void 0)throw new re(Ve(S),Le(S));let M={...y,...f.timeouts},Z={data:j,headers:A,method:h.method,url:se(O,h.path,b),connectTimeout:G(_,M.connect),responseTimeout:G(_,E?M.read:M.write)},F=k=>{let N={request:Z,response:k,host:O,triesLeft:I.length};return S.push(N),N},H=await c.send(Z);if(Pe(H)&&B>0){B--,I.push(O);let k=F(H),N=ue(H.headers);return n.info("Retryable failure",{...X(k),wait:N,rateLimitRetriesLeft:B}),await T(N),v(I,G)}if(Ue(H)){let k=F(H);return H.isTimedOut&&_++,n.info("Retryable failure",X(k)),await t.set(O,te(O,H.isTimedOut?"timed out":"down")),v(I,G)}if(ke(H))return H;throw F(H),_e(H,S)},D=e.filter(I=>I.accept==="readWrite"||(E?I.accept==="read":I.accept==="write")),U=await R(D);return v([...U.hosts].reverse(),U.getTimeout)}function W(h,f={}){let E=()=>q(h,f,S).then(g=>fe(g)),S=h.useReadTransporter||h.method==="GET";if((f.cacheable||h.cacheable)!==!0)return E();let A={request:h,requestOptions:f,transporter:{queryParameters:d,headers:s}};return o.get(A,()=>r.get(A,()=>r.set(A,E()).then(g=>Promise.all([r.delete(A),g]),g=>Promise.all([r.delete(A),Promise.reject(g)])).then(([g,w])=>w)),{miss:g=>o.set(A,g)})}function qe(h,f={}){let E=h.useReadTransporter||h.method==="GET";return q(h,f,E).then(S=>We(S))}async function*Re(h,f={}){if(!c.sendStream)throw new Error("This requester does not support streaming");let E=ne(h,f),S=oe(s,h.headers,f.headers);S.accept="text/event-stream";let x=h.method==="GET"?{...h.data,...f.data}:{},A={...d,...h.queryParameters,...x};if(P.value&&(A["x-algolia-agent"]=P.value),f&&f.queryParameters)for(let v of Object.keys(f.queryParameters))!f.queryParameters[v]||Object.prototype.toString.call(f.queryParameters[v])==="[object Object]"?A[v]=f.queryParameters[v]:A[v]=f.queryParameters[v].toString();p(S,A);let g=h.useReadTransporter||h.method==="GET",w=e.filter(v=>v.accept==="readWrite"||(g?v.accept==="read":v.accept==="write")),L=(await R(w)).hosts[0];if(!L)throw new re([]);let b={...y,...f.timeouts},_={data:E,headers:S,method:h.method,url:se(L,h.path,A),connectTimeout:b.connect,responseTimeout:g?b.read:b.write},B=i;for(;;){let v;try{v=await c.sendStream(_)}catch(D){if(Ge(D)&&B>0){B--;let U=ue(Qe(D));n.info("Retryable failure",{wait:U,rateLimitRetriesLeft:B,host:L}),await T(U);continue}throw D}yield*be(v);return}}return{hostsCache:t,requester:c,timeouts:y,logger:n,algoliaAgent:P,baseHeaders:s,baseQueryParameters:d,requestIdChannel:l,hosts:e,maxRateLimitRetries:i,request:W,requestWithHttpInfo:qe,requestStream:Re,requestsCache:r,responsesCache:o}}function m(e,t,s){if(s==null||typeof s=="string"&&s.length===0)throw new Error(`Parameter \`${e}\` is required when calling \`${t}\`.`)}function $e(e){let t={};for(let s of e.trim().split(/[\r\n]+/)){let n=s.indexOf(": ");n>0&&(t[s.slice(0,n).toLowerCase()]=s.slice(n+2))}return t}function ge(){function e(t){return new Promise(s=>{let n=new XMLHttpRequest;n.open(t.method,t.url,!0),Object.keys(t.headers).forEach(c=>n.setRequestHeader(c,t.headers[c]));let d=(c,r)=>setTimeout(()=>{n.abort(),s({status:0,content:r,isTimedOut:!0})},c),P=d(t.connectTimeout,"Connection timeout"),y;n.onreadystatechange=()=>{n.readyState>n.OPENED&&y===void 0&&(clearTimeout(P),y=d(t.responseTimeout,"Socket timeout"))},n.onerror=()=>{n.status===0&&(clearTimeout(P),clearTimeout(y),s({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=()=>{clearTimeout(P),clearTimeout(y),s({content:n.responseText,headers:$e(n.getAllResponseHeaders()),status:n.status,isTimedOut:!1})},n.send(t.data)})}return{send:e}}var $="1.26.0",Y=["de","us"];function je(e){return[{url:e?"analytics.{region}.algolia.com".replace("{region}",e):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]}function ye({appId:e,apiKey:t,authMode:s,algoliaAgents:n,region:d,...P}){let y=de(e,t,s),c=Te({hosts:je(d),...P,algoliaAgent:le({algoliaAgents:n,client:"AbtestingV3",version:$}),baseHeaders:{"content-type":"text/plain",...y.headers(),...P.baseHeaders},baseQueryParameters:{...y.queryParameters(),...P.baseQueryParameters}});return{transporter:c,appId:e,apiKey:t,clearCache(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then(()=>{})},get _ua(){return c.algoliaAgent.value},addAlgoliaAgent(r,o){c.algoliaAgent.add({segment:r,version:o})},setClientApiKey({apiKey:r}){!s||s==="WithinHeaders"?c.baseHeaders["x-algolia-api-key"]=r:c.baseQueryParameters["x-algolia-api-key"]=r},addABTests(r,o){m("addABTestsRequest","addABTests",r),m("addABTestsRequest.name","addABTests",r.name),m("addABTestsRequest.variants","addABTests",r.variants),m("addABTestsRequest.metrics","addABTests",r.metrics),m("addABTestsRequest.endAt","addABTests",r.endAt);let i={method:"POST",path:"/3/abtests",queryParameters:{},headers:{},data:r};return c.request(i,o)},addABTestsWithHTTPInfo(r,o){m("addABTestsRequest","addABTestsWithHTTPInfo",r),m("addABTestsRequest.name","addABTestsWithHTTPInfo",r.name),m("addABTestsRequest.variants","addABTestsWithHTTPInfo",r.variants),m("addABTestsRequest.metrics","addABTestsWithHTTPInfo",r.metrics),m("addABTestsRequest.endAt","addABTestsWithHTTPInfo",r.endAt);let i={method:"POST",path:"/3/abtests",queryParameters:{},headers:{},data:r};return c.requestWithHttpInfo(i,o)},applyVariantSettings({id:r,variantId:o},a){m("id","applyVariantSettings",r),m("variantId","applyVariantSettings",o);let p={method:"POST",path:"/3/abtests/{id}/settings/{variantId}/apply".replace("{id}",encodeURIComponent(r)).replace("{variantId}",encodeURIComponent(o)),queryParameters:{},headers:{}};return c.request(p,a)},applyVariantSettingsWithHTTPInfo({id:r,variantId:o},a){m("id","applyVariantSettingsWithHTTPInfo",r),m("variantId","applyVariantSettingsWithHTTPInfo",o);let p={method:"POST",path:"/3/abtests/{id}/settings/{variantId}/apply".replace("{id}",encodeURIComponent(r)).replace("{variantId}",encodeURIComponent(o)),queryParameters:{},headers:{}};return c.requestWithHttpInfo(p,a)},customDelete({path:r,parameters:o},a){m("path","customDelete",r);let p={method:"DELETE",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{}};return c.request(p,a)},customDeleteWithHTTPInfo({path:r,parameters:o},a){m("path","customDeleteWithHTTPInfo",r);let p={method:"DELETE",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{}};return c.requestWithHttpInfo(p,a)},customGet({path:r,parameters:o},a){m("path","customGet",r);let p={method:"GET",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{}};return c.request(p,a)},customGetWithHTTPInfo({path:r,parameters:o},a){m("path","customGetWithHTTPInfo",r);let p={method:"GET",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{}};return c.requestWithHttpInfo(p,a)},customPost({path:r,parameters:o,body:a},u){m("path","customPost",r);let T={method:"POST",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{},data:a||{}};return c.request(T,u)},customPostWithHTTPInfo({path:r,parameters:o,body:a},u){m("path","customPostWithHTTPInfo",r);let T={method:"POST",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{},data:a||{}};return c.requestWithHttpInfo(T,u)},customPut({path:r,parameters:o,body:a},u){m("path","customPut",r);let T={method:"PUT",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{},data:a||{}};return c.request(T,u)},customPutWithHTTPInfo({path:r,parameters:o,body:a},u){m("path","customPutWithHTTPInfo",r);let T={method:"PUT",path:"/{path}".replace("{path}",r),queryParameters:o||{},headers:{},data:a||{}};return c.requestWithHttpInfo(T,u)},deleteABTest({id:r},o){m("id","deleteABTest",r);let i={method:"DELETE",path:"/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return c.request(i,o)},deleteABTestWithHTTPInfo({id:r},o){m("id","deleteABTestWithHTTPInfo",r);let i={method:"DELETE",path:"/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return c.requestWithHttpInfo(i,o)},estimateABTest(r,o){m("estimateABTestRequest","estimateABTest",r),m("estimateABTestRequest.configuration","estimateABTest",r.configuration),m("estimateABTestRequest.variants","estimateABTest",r.variants);let i={method:"POST",path:"/3/abtests/estimate",queryParameters:{},headers:{},data:r};return c.request(i,o)},estimateABTestWithHTTPInfo(r,o){m("estimateABTestRequest","estimateABTestWithHTTPInfo",r),m("estimateABTestRequest.configuration","estimateABTestWithHTTPInfo",r.configuration),m("estimateABTestRequest.variants","estimateABTestWithHTTPInfo",r.variants);let i={method:"POST",path:"/3/abtests/estimate",queryParameters:{},headers:{},data:r};return c.requestWithHttpInfo(i,o)},getABTest({id:r,methods:o},a){m("id","getABTest",r);let u="/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),l={},i={};o!==void 0&&(i.methods=o.toString());let p={method:"GET",path:u,queryParameters:i,headers:l};return c.request(p,a)},getABTestWithHTTPInfo({id:r,methods:o},a){m("id","getABTestWithHTTPInfo",r);let u="/3/abtests/{id}".replace("{id}",encodeURIComponent(r)),l={},i={};o!==void 0&&(i.methods=o.toString());let p={method:"GET",path:u,queryParameters:i,headers:l};return c.requestWithHttpInfo(p,a)},getABTestSettings({id:r},o){m("id","getABTestSettings",r);let i={method:"GET",path:"/3/abtests/{id}/settings".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return c.request(i,o)},getABTestSettingsWithHTTPInfo({id:r},o){m("id","getABTestSettingsWithHTTPInfo",r);let i={method:"GET",path:"/3/abtests/{id}/settings".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return c.requestWithHttpInfo(i,o)},getTimeseries({id:r,startDate:o,endDate:a,metric:u,methods:l},i){m("id","getTimeseries",r);let p="/3/abtests/{id}/timeseries".replace("{id}",encodeURIComponent(r)),T={},R={};o!==void 0&&(R.startDate=o.toString()),a!==void 0&&(R.endDate=a.toString()),u!==void 0&&(R.metric=u.toString()),l!==void 0&&(R.methods=l.toString());let q={method:"GET",path:p,queryParameters:R,headers:T};return c.request(q,i)},getTimeseriesWithHTTPInfo({id:r,startDate:o,endDate:a,metric:u,methods:l},i){m("id","getTimeseriesWithHTTPInfo",r);let p="/3/abtests/{id}/timeseries".replace("{id}",encodeURIComponent(r)),T={},R={};o!==void 0&&(R.startDate=o.toString()),a!==void 0&&(R.endDate=a.toString()),u!==void 0&&(R.metric=u.toString()),l!==void 0&&(R.methods=l.toString());let q={method:"GET",path:p,queryParameters:R,headers:T};return c.requestWithHttpInfo(q,i)},listABTests({offset:r,limit:o,indexPrefix:a,indexSuffix:u,direction:l,methods:i}={},p=void 0){let T="/3/abtests",R={},q={};r!==void 0&&(q.offset=r.toString()),o!==void 0&&(q.limit=o.toString()),a!==void 0&&(q.indexPrefix=a.toString()),u!==void 0&&(q.indexSuffix=u.toString()),l!==void 0&&(q.direction=l.toString()),i!==void 0&&(q.methods=i.toString());let W={method:"GET",path:T,queryParameters:q,headers:R};return c.request(W,p)},listABTestsWithHTTPInfo({offset:r,limit:o,indexPrefix:a,indexSuffix:u,direction:l,methods:i}={},p=void 0){let T="/3/abtests",R={},q={};r!==void 0&&(q.offset=r.toString()),o!==void 0&&(q.limit=o.toString()),a!==void 0&&(q.indexPrefix=a.toString()),u!==void 0&&(q.indexSuffix=u.toString()),l!==void 0&&(q.direction=l.toString()),i!==void 0&&(q.methods=i.toString());let W={method:"GET",path:T,queryParameters:q,headers:R};return c.requestWithHttpInfo(W,p)},saveVariantSettings({id:r,variantId:o,saveSettingsRequest:a},u){m("id","saveVariantSettings",r),m("variantId","saveVariantSettings",o),m("saveSettingsRequest","saveVariantSettings",a);let T={method:"POST",path:"/3/abtests/{id}/settings/{variantId}".replace("{id}",encodeURIComponent(r)).replace("{variantId}",encodeURIComponent(o)),queryParameters:{},headers:{},data:a};return c.request(T,u)},saveVariantSettingsWithHTTPInfo({id:r,variantId:o,saveSettingsRequest:a},u){m("id","saveVariantSettingsWithHTTPInfo",r),m("variantId","saveVariantSettingsWithHTTPInfo",o),m("saveSettingsRequest","saveVariantSettingsWithHTTPInfo",a);let T={method:"POST",path:"/3/abtests/{id}/settings/{variantId}".replace("{id}",encodeURIComponent(r)).replace("{variantId}",encodeURIComponent(o)),queryParameters:{},headers:{},data:a};return c.requestWithHttpInfo(T,u)},stopABTest({id:r},o){m("id","stopABTest",r);let i={method:"POST",path:"/3/abtests/{id}/stop".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return c.request(i,o)},stopABTestWithHTTPInfo({id:r},o){m("id","stopABTestWithHTTPInfo",r);let i={method:"POST",path:"/3/abtests/{id}/stop".replace("{id}",encodeURIComponent(r)),queryParameters:{},headers:{}};return c.requestWithHttpInfo(i,o)}}}function Xt(e,t,s,n){if(!e||typeof e!="string")throw new Error("`appId` is missing.");if(!t||typeof t!="string")throw new Error("`apiKey` is missing.");if(s&&(typeof s!="string"||!Y.includes(s)))throw new Error(`\`region\` must be one of the following: ${Y.join(", ")}`);let{compression:d,...P}=n||{};return ye({appId:e,apiKey:t,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},logger:me(),requester:ge(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:V(),requestsCache:V({serializable:!1}),hostsCache:C({caches:[ce({key:`${$}-${e}`}),V()]}),...P})}export{Xt as abtestingV3Client,$ as apiClientVersion};
6
6
  //# sourceMappingURL=browser.min.js.map