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