@algolia/client-abtesting
Advanced tools
+2
-37
@@ -334,28 +334,2 @@ import * as _algolia_client_common from '@algolia/client-common'; | ||
| type ScheduleABTestResponse = { | ||
| /** | ||
| * Unique scheduled A/B test identifier. | ||
| */ | ||
| abTestScheduleID: number; | ||
| }; | ||
| type ScheduleABTestsRequest = { | ||
| /** | ||
| * A/B test name. | ||
| */ | ||
| name: string; | ||
| /** | ||
| * A/B test variants. | ||
| */ | ||
| variants: Array<AddABTestsVariant>; | ||
| /** | ||
| * Date and time when the A/B test is scheduled to start, in RFC 3339 format. | ||
| */ | ||
| scheduledAt: string; | ||
| /** | ||
| * End date and time of the A/B test, in RFC 3339 format. | ||
| */ | ||
| endAt: string; | ||
| }; | ||
| /** | ||
@@ -478,3 +452,3 @@ * Properties for the `customDelete` method. | ||
| declare const apiClientVersion = "5.42.0"; | ||
| declare const apiClientVersion = "5.43.0"; | ||
| declare const REGIONS: readonly ["de", "us"]; | ||
@@ -605,11 +579,2 @@ type Region = (typeof REGIONS)[number]; | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest: ScheduleABTestsRequest, requestOptions?: RequestOptions): Promise<ScheduleABTestResponse>; | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -636,2 +601,2 @@ * | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type ScheduleABTestResponse, type ScheduleABTestsRequest, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; |
@@ -12,3 +12,3 @@ // builds/browser.ts | ||
| import { createAuth, createTransporter, getAlgoliaAgent } from "@algolia/client-common"; | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -330,38 +330,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -368,0 +332,0 @@ * |
@@ -1,2 +0,2 @@ | ||
| function k(){function t(e){return new Promise(s=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach(n=>r.setRequestHeader(n,e.headers[n]));let i=(n,o)=>setTimeout(()=>{r.abort(),s({status:0,content:o,isTimedOut:!0})},n),m=i(e.connectTimeout,"Connection timeout"),h;r.onreadystatechange=()=>{r.readyState>r.OPENED&&h===void 0&&(clearTimeout(m),h=i(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{r.status===0&&(clearTimeout(m),clearTimeout(h),s({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(m),clearTimeout(h),s({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)})}return{send:t}}function j(t){let e,s=`algolia-client-js-${t.key}`;function r(){return e===void 0&&(e=t.localStorage||window.localStorage),e}function i(){return JSON.parse(r().getItem(s)||"{}")}function m(n){r().setItem(s,JSON.stringify(n))}function h(){let n=t.timeToLive?t.timeToLive*1e3:null,o=i(),a=Object.fromEntries(Object.entries(o).filter(([,d])=>d.timestamp!==void 0));if(m(a),!n)return;let c=Object.fromEntries(Object.entries(a).filter(([,d])=>{let g=new Date().getTime();return!(d.timestamp+n<g)}));m(c)}return{get(n,o,a={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(h(),i()[JSON.stringify(n)])).then(c=>Promise.all([c?c.value:o(),c!==void 0])).then(([c,d])=>Promise.all([c,d||a.miss(c)])).then(([c])=>c)},set(n,o){return Promise.resolve().then(()=>{let a=i();return a[JSON.stringify(n)]={timestamp:new Date().getTime(),value:o},r().setItem(s,JSON.stringify(a)),o})},delete(n){return Promise.resolve().then(()=>{let o=i();delete o[JSON.stringify(n)],r().setItem(s,JSON.stringify(o))})},clear(){return Promise.resolve().then(()=>{r().removeItem(s)})}}}function V(){return{get(t,e,s={miss:()=>Promise.resolve()}){return e().then(i=>Promise.all([i,s.miss(i)])).then(([i])=>i)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}function w(t){let e=[...t.caches],s=e.shift();return s===void 0?V():{get(r,i,m={miss:()=>Promise.resolve()}){return s.get(r,i,m).catch(()=>w({caches:e}).get(r,i,m))},set(r,i){return s.set(r,i).catch(()=>w({caches:e}).set(r,i))},delete(r){return s.delete(r).catch(()=>w({caches:e}).delete(r))},clear(){return s.clear().catch(()=>w({caches:e}).clear())}}}function x(t={serializable:!0}){let e={};return{get(s,r,i={miss:()=>Promise.resolve()}){let m=JSON.stringify(s);if(m in e)return Promise.resolve(t.serializable?JSON.parse(e[m]):e[m]);let h=r();return h.then(n=>i.miss(n)).then(()=>h)},set(s,r){return e[JSON.stringify(s)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete(s){return delete e[JSON.stringify(s)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function Y(t){let e={value:`Algolia for JavaScript (${t})`,add(s){let r=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return e.value.indexOf(r)===-1&&(e.value=`${e.value}${r}`),e}};return e}function Q(t,e,s="WithinHeaders"){let r={"x-algolia-api-key":e,"x-algolia-application-id":t};return{headers(){return s==="WithinHeaders"?r:{}},queryParameters(){return s==="WithinQueryParameters"?r:{}}}}function W({algoliaAgents:t,client:e,version:s}){let r=Y(s).add({segment:e,version:s});return t.forEach(i=>r.add(i)),r}function J(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var U=120*1e3;function $(t,e="up"){let s=Date.now();function r(){return e==="up"||Date.now()-s>U}function i(){return e==="timed out"&&Date.now()-s<=U}return{...t,status:e,lastUpdate:s,isUp:r,isTimedOut:i}}var G=class extends Error{name="AlgoliaError";constructor(t,e){super(t),e&&(this.name=e)}};var z=class extends G{stackTrace;constructor(t,e,s){super(t,s),this.stackTrace=e}},Z=class extends z{constructor(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",t,"RetryError")}},C=class extends z{status;constructor(t,e,s,r="ApiError"){super(t,s,r),this.status=e}},ee=class extends G{response;constructor(t,e){super(t,"DeserializationError"),this.response=e}},te=class extends C{error;constructor(t,e,s,r){super(t,e,r,"DetailedApiError"),this.error=s}};function re(t,e,s){let r=se(s),i=`${t.protocol}://${t.url}${t.port?`:${t.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return r.length&&(i+=`?${r}`),i}function se(t){return Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(t[e])==="[object Array]"?t[e].join(","):t[e]).replace(/\+/g,"%20")}`).join("&")}function oe(t,e){if(t.method==="GET"||t.data===void 0&&e.data===void 0)return;let s=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(s)}function ae(t,e,s){let r={Accept:"application/json",...t,...e,...s},i={};return Object.keys(r).forEach(m=>{let h=r[m];i[m.toLowerCase()]=h}),i}function ne(t){try{return JSON.parse(t.content)}catch(e){throw new ee(e.message,t)}}function ie({content:t,status:e},s){try{let r=JSON.parse(t);return"error"in r?new te(r.message,e,r.error,s):new C(r.message,e,s)}catch{}return new C(t,e,s)}function ue({isTimedOut:t,status:e}){return!t&&~~e===0}function ce({isTimedOut:t,status:e}){return t||ue({isTimedOut:t,status:e})||~~(e/100)!==2&&~~(e/100)!==4}function le({status:t}){return~~(t/100)===2}function me(t){return t.map(e=>M(e))}function M(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function F({hosts:t,hostsCache:e,baseHeaders:s,logger:r,baseQueryParameters:i,algoliaAgent:m,timeouts:h,requester:n,requestsCache:o,responsesCache:a}){async function c(u){let l=await Promise.all(u.map(p=>e.get(p,()=>Promise.resolve($(p))))),f=l.filter(p=>p.isUp()),T=l.filter(p=>p.isTimedOut()),E=[...f,...T];return{hosts:E.length>0?E:u,getTimeout(p,A){return(T.length===0&&p===0?1:T.length+3+p)*A}}}async function d(u,l,f=!0){let T=[],E=oe(u,l),y=ae(s,u.headers,l.headers),p=u.method==="GET"?{...u.data,...l.data}:{},A={...i,...u.queryParameters,...p};if(m.value&&(A["x-algolia-agent"]=m.value),l&&l.queryParameters)for(let P of Object.keys(l.queryParameters))!l.queryParameters[P]||Object.prototype.toString.call(l.queryParameters[P])==="[object Object]"?A[P]=l.queryParameters[P]:A[P]=l.queryParameters[P].toString();let v=0,I=async(P,B)=>{let R=P.pop();if(R===void 0)throw new Z(me(T));let b={...h,...l.timeouts},_={data:E,headers:y,method:u.method,url:re(R,u.path,A),connectTimeout:B(v,b.connect),responseTimeout:B(v,f?b.read:b.write)},H=S=>{let L={request:_,response:S,host:R,triesLeft:P.length};return T.push(L),L},q=await n.send(_);if(ce(q)){let S=H(q);return q.isTimedOut&&v++,r.info("Retryable failure",M(S)),await e.set(R,$(R,q.isTimedOut?"timed out":"down")),I(P,B)}if(le(q))return ne(q);throw H(q),ie(q,T)},K=t.filter(P=>P.accept==="readWrite"||(f?P.accept==="read":P.accept==="write")),D=await c(K);return I([...D.hosts].reverse(),D.getTimeout)}function g(u,l={}){let f=u.useReadTransporter||u.method==="GET";if(!f)return d(u,l,f);let T=()=>d(u,l);if((l.cacheable||u.cacheable)!==!0)return T();let y={request:u,requestOptions:l,transporter:{queryParameters:i,headers:s}};return a.get(y,()=>o.get(y,()=>o.set(y,T()).then(p=>Promise.all([o.delete(y),p]),p=>Promise.all([o.delete(y),Promise.reject(p)])).then(([p,A])=>A)),{miss:p=>a.set(y,p)})}return{hostsCache:e,requester:n,timeouts:h,logger:r,algoliaAgent:m,baseHeaders:s,baseQueryParameters:i,hosts:t,request:g,requestsCache:o,responsesCache:a}}var O="5.42.0",N=["de","us"];function de(t){return[{url:t?"analytics.{region}.algolia.com".replace("{region}",t):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]}function X({appId:t,apiKey:e,authMode:s,algoliaAgents:r,region:i,...m}){let h=Q(t,e,s),n=F({hosts:de(i),...m,algoliaAgent:W({algoliaAgents:r,client:"Abtesting",version:O}),baseHeaders:{"content-type":"text/plain",...h.headers(),...m.baseHeaders},baseQueryParameters:{...h.queryParameters(),...m.baseQueryParameters}});return{transporter:n,appId:t,apiKey:e,clearCache(){return Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then(()=>{})},get _ua(){return n.algoliaAgent.value},addAlgoliaAgent(o,a){n.algoliaAgent.add({segment:o,version:a})},setClientApiKey({apiKey:o}){!s||s==="WithinHeaders"?n.baseHeaders["x-algolia-api-key"]=o:n.baseQueryParameters["x-algolia-api-key"]=o},addABTests(o,a){if(!o)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!o.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!o.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!o.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");let u={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:o};return n.request(u,a)},customDelete({path:o,parameters:a},c){if(!o)throw new Error("Parameter `path` is required when calling `customDelete`.");let l={method:"DELETE",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{}};return n.request(l,c)},customGet({path:o,parameters:a},c){if(!o)throw new Error("Parameter `path` is required when calling `customGet`.");let l={method:"GET",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{}};return n.request(l,c)},customPost({path:o,parameters:a,body:c},d){if(!o)throw new Error("Parameter `path` is required when calling `customPost`.");let f={method:"POST",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{},data:c||{}};return n.request(f,d)},customPut({path:o,parameters:a,body:c},d){if(!o)throw new Error("Parameter `path` is required when calling `customPut`.");let f={method:"PUT",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{},data:c||{}};return n.request(f,d)},deleteABTest({id:o},a){if(!o)throw new Error("Parameter `id` is required when calling `deleteABTest`.");let u={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return n.request(u,a)},estimateABTest(o,a){if(!o)throw new Error("Parameter `estimateABTestRequest` is required when calling `estimateABTest`.");if(!o.configuration)throw new Error("Parameter `estimateABTestRequest.configuration` is required when calling `estimateABTest`.");if(!o.variants)throw new Error("Parameter `estimateABTestRequest.variants` is required when calling `estimateABTest`.");let u={method:"POST",path:"/2/abtests/estimate",queryParameters:{},headers:{},data:o};return n.request(u,a)},getABTest({id:o},a){if(!o)throw new Error("Parameter `id` is required when calling `getABTest`.");let u={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return n.request(u,a)},listABTests({offset:o,limit:a,indexPrefix:c,indexSuffix:d}={},g=void 0){let u="/2/abtests",l={},f={};o!==void 0&&(f.offset=o.toString()),a!==void 0&&(f.limit=a.toString()),c!==void 0&&(f.indexPrefix=c.toString()),d!==void 0&&(f.indexSuffix=d.toString());let T={method:"GET",path:u,queryParameters:f,headers:l};return n.request(T,g)},scheduleABTest(o,a){if(!o)throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`.");if(!o.name)throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`.");if(!o.variants)throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`.");if(!o.scheduledAt)throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`.");if(!o.endAt)throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`.");let u={method:"POST",path:"/2/abtests/schedule",queryParameters:{},headers:{},data:o};return n.request(u,a)},stopABTest({id:o},a){if(!o)throw new Error("Parameter `id` is required when calling `stopABTest`.");let u={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return n.request(u,a)}}}function Ze(t,e,s,r){if(!t||typeof t!="string")throw new Error("`appId` is missing.");if(!e||typeof e!="string")throw new Error("`apiKey` is missing.");if(s&&(typeof s!="string"||!N.includes(s)))throw new Error(`\`region\` must be one of the following: ${N.join(", ")}`);return X({appId:t,apiKey:e,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},logger:J(),requester:k(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:x(),requestsCache:x({serializable:!1}),hostsCache:w({caches:[j({key:`${O}-${t}`}),x()]}),...r})}export{Ze as abtestingClient,O as apiClientVersion}; | ||
| function H(){function t(e){return new Promise(s=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach(a=>r.setRequestHeader(a,e.headers[a]));let i=(a,o)=>setTimeout(()=>{r.abort(),s({status:0,content:o,isTimedOut:!0})},a),m=i(e.connectTimeout,"Connection timeout"),h;r.onreadystatechange=()=>{r.readyState>r.OPENED&&h===void 0&&(clearTimeout(m),h=i(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{r.status===0&&(clearTimeout(m),clearTimeout(h),s({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(m),clearTimeout(h),s({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)})}return{send:t}}function j(t){let e,s=`algolia-client-js-${t.key}`;function r(){return e===void 0&&(e=t.localStorage||window.localStorage),e}function i(){return JSON.parse(r().getItem(s)||"{}")}function m(a){r().setItem(s,JSON.stringify(a))}function h(){let a=t.timeToLive?t.timeToLive*1e3:null,o=i(),n=Object.fromEntries(Object.entries(o).filter(([,d])=>d.timestamp!==void 0));if(m(n),!a)return;let u=Object.fromEntries(Object.entries(n).filter(([,d])=>{let g=new Date().getTime();return!(d.timestamp+a<g)}));m(u)}return{get(a,o,n={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(h(),i()[JSON.stringify(a)])).then(u=>Promise.all([u?u.value:o(),u!==void 0])).then(([u,d])=>Promise.all([u,d||n.miss(u)])).then(([u])=>u)},set(a,o){return Promise.resolve().then(()=>{let n=i();return n[JSON.stringify(a)]={timestamp:new Date().getTime(),value:o},r().setItem(s,JSON.stringify(n)),o})},delete(a){return Promise.resolve().then(()=>{let o=i();delete o[JSON.stringify(a)],r().setItem(s,JSON.stringify(o))})},clear(){return Promise.resolve().then(()=>{r().removeItem(s)})}}}function V(){return{get(t,e,s={miss:()=>Promise.resolve()}){return e().then(i=>Promise.all([i,s.miss(i)])).then(([i])=>i)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}function q(t){let e=[...t.caches],s=e.shift();return s===void 0?V():{get(r,i,m={miss:()=>Promise.resolve()}){return s.get(r,i,m).catch(()=>q({caches:e}).get(r,i,m))},set(r,i){return s.set(r,i).catch(()=>q({caches:e}).set(r,i))},delete(r){return s.delete(r).catch(()=>q({caches:e}).delete(r))},clear(){return s.clear().catch(()=>q({caches:e}).clear())}}}function x(t={serializable:!0}){let e={};return{get(s,r,i={miss:()=>Promise.resolve()}){let m=JSON.stringify(s);if(m in e)return Promise.resolve(t.serializable?JSON.parse(e[m]):e[m]);let h=r();return h.then(a=>i.miss(a)).then(()=>h)},set(s,r){return e[JSON.stringify(s)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete(s){return delete e[JSON.stringify(s)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function Y(t){let e={value:`Algolia for JavaScript (${t})`,add(s){let r=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return e.value.indexOf(r)===-1&&(e.value=`${e.value}${r}`),e}};return e}function W(t,e,s="WithinHeaders"){let r={"x-algolia-api-key":e,"x-algolia-application-id":t};return{headers(){return s==="WithinHeaders"?r:{}},queryParameters(){return s==="WithinQueryParameters"?r:{}}}}function J({algoliaAgents:t,client:e,version:s}){let r=Y(s).add({segment:e,version:s});return t.forEach(i=>r.add(i)),r}function Q(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var U=120*1e3;function $(t,e="up"){let s=Date.now();function r(){return e==="up"||Date.now()-s>U}function i(){return e==="timed out"&&Date.now()-s<=U}return{...t,status:e,lastUpdate:s,isUp:r,isTimedOut:i}}var G=class extends Error{name="AlgoliaError";constructor(t,e){super(t),e&&(this.name=e)}};var z=class extends G{stackTrace;constructor(t,e,s){super(t,s),this.stackTrace=e}},Z=class extends z{constructor(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",t,"RetryError")}},C=class extends z{status;constructor(t,e,s,r="ApiError"){super(t,s,r),this.status=e}},ee=class extends G{response;constructor(t,e){super(t,"DeserializationError"),this.response=e}},te=class extends C{error;constructor(t,e,s,r){super(t,e,r,"DetailedApiError"),this.error=s}};function re(t,e,s){let r=se(s),i=`${t.protocol}://${t.url}${t.port?`:${t.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return r.length&&(i+=`?${r}`),i}function se(t){return Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(t[e])==="[object Array]"?t[e].join(","):t[e]).replace(/\+/g,"%20")}`).join("&")}function oe(t,e){if(t.method==="GET"||t.data===void 0&&e.data===void 0)return;let s=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(s)}function ae(t,e,s){let r={Accept:"application/json",...t,...e,...s},i={};return Object.keys(r).forEach(m=>{let h=r[m];i[m.toLowerCase()]=h}),i}function ne(t){try{return JSON.parse(t.content)}catch(e){throw new ee(e.message,t)}}function ie({content:t,status:e},s){try{let r=JSON.parse(t);return"error"in r?new te(r.message,e,r.error,s):new C(r.message,e,s)}catch{}return new C(t,e,s)}function ce({isTimedOut:t,status:e}){return!t&&~~e===0}function ue({isTimedOut:t,status:e}){return t||ce({isTimedOut:t,status:e})||~~(e/100)!==2&&~~(e/100)!==4}function le({status:t}){return~~(t/100)===2}function me(t){return t.map(e=>M(e))}function M(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function F({hosts:t,hostsCache:e,baseHeaders:s,logger:r,baseQueryParameters:i,algoliaAgent:m,timeouts:h,requester:a,requestsCache:o,responsesCache:n}){async function u(c){let l=await Promise.all(c.map(p=>e.get(p,()=>Promise.resolve($(p))))),f=l.filter(p=>p.isUp()),y=l.filter(p=>p.isTimedOut()),w=[...f,...y];return{hosts:w.length>0?w:c,getTimeout(p,A){return(y.length===0&&p===0?1:y.length+3+p)*A}}}async function d(c,l,f=!0){let y=[],w=oe(c,l),T=ae(s,c.headers,l.headers),p=c.method==="GET"?{...c.data,...l.data}:{},A={...i,...c.queryParameters,...p};if(m.value&&(A["x-algolia-agent"]=m.value),l&&l.queryParameters)for(let P of Object.keys(l.queryParameters))!l.queryParameters[P]||Object.prototype.toString.call(l.queryParameters[P])==="[object Object]"?A[P]=l.queryParameters[P]:A[P]=l.queryParameters[P].toString();let v=0,I=async(P,b)=>{let R=P.pop();if(R===void 0)throw new Z(me(y));let S={...h,...l.timeouts},_={data:w,headers:T,method:c.method,url:re(R,c.path,A),connectTimeout:b(v,S.connect),responseTimeout:b(v,f?S.read:S.write)},L=B=>{let k={request:_,response:B,host:R,triesLeft:P.length};return y.push(k),k},E=await a.send(_);if(ue(E)){let B=L(E);return E.isTimedOut&&v++,r.info("Retryable failure",M(B)),await e.set(R,$(R,E.isTimedOut?"timed out":"down")),I(P,b)}if(le(E))return ne(E);throw L(E),ie(E,y)},K=t.filter(P=>P.accept==="readWrite"||(f?P.accept==="read":P.accept==="write")),D=await u(K);return I([...D.hosts].reverse(),D.getTimeout)}function g(c,l={}){let f=c.useReadTransporter||c.method==="GET";if(!f)return d(c,l,f);let y=()=>d(c,l);if((l.cacheable||c.cacheable)!==!0)return y();let T={request:c,requestOptions:l,transporter:{queryParameters:i,headers:s}};return n.get(T,()=>o.get(T,()=>o.set(T,y()).then(p=>Promise.all([o.delete(T),p]),p=>Promise.all([o.delete(T),Promise.reject(p)])).then(([p,A])=>A)),{miss:p=>n.set(T,p)})}return{hostsCache:e,requester:a,timeouts:h,logger:r,algoliaAgent:m,baseHeaders:s,baseQueryParameters:i,hosts:t,request:g,requestsCache:o,responsesCache:n}}var O="5.43.0",N=["de","us"];function de(t){return[{url:t?"analytics.{region}.algolia.com".replace("{region}",t):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]}function X({appId:t,apiKey:e,authMode:s,algoliaAgents:r,region:i,...m}){let h=W(t,e,s),a=F({hosts:de(i),...m,algoliaAgent:J({algoliaAgents:r,client:"Abtesting",version:O}),baseHeaders:{"content-type":"text/plain",...h.headers(),...m.baseHeaders},baseQueryParameters:{...h.queryParameters(),...m.baseQueryParameters}});return{transporter:a,appId:t,apiKey:e,clearCache(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then(()=>{})},get _ua(){return a.algoliaAgent.value},addAlgoliaAgent(o,n){a.algoliaAgent.add({segment:o,version:n})},setClientApiKey({apiKey:o}){!s||s==="WithinHeaders"?a.baseHeaders["x-algolia-api-key"]=o:a.baseQueryParameters["x-algolia-api-key"]=o},addABTests(o,n){if(!o)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!o.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!o.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!o.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");let c={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:o};return a.request(c,n)},customDelete({path:o,parameters:n},u){if(!o)throw new Error("Parameter `path` is required when calling `customDelete`.");let l={method:"DELETE",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{}};return a.request(l,u)},customGet({path:o,parameters:n},u){if(!o)throw new Error("Parameter `path` is required when calling `customGet`.");let l={method:"GET",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{}};return a.request(l,u)},customPost({path:o,parameters:n,body:u},d){if(!o)throw new Error("Parameter `path` is required when calling `customPost`.");let f={method:"POST",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{},data:u||{}};return a.request(f,d)},customPut({path:o,parameters:n,body:u},d){if(!o)throw new Error("Parameter `path` is required when calling `customPut`.");let f={method:"PUT",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{},data:u||{}};return a.request(f,d)},deleteABTest({id:o},n){if(!o)throw new Error("Parameter `id` is required when calling `deleteABTest`.");let c={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return a.request(c,n)},estimateABTest(o,n){if(!o)throw new Error("Parameter `estimateABTestRequest` is required when calling `estimateABTest`.");if(!o.configuration)throw new Error("Parameter `estimateABTestRequest.configuration` is required when calling `estimateABTest`.");if(!o.variants)throw new Error("Parameter `estimateABTestRequest.variants` is required when calling `estimateABTest`.");let c={method:"POST",path:"/2/abtests/estimate",queryParameters:{},headers:{},data:o};return a.request(c,n)},getABTest({id:o},n){if(!o)throw new Error("Parameter `id` is required when calling `getABTest`.");let c={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return a.request(c,n)},listABTests({offset:o,limit:n,indexPrefix:u,indexSuffix:d}={},g=void 0){let c="/2/abtests",l={},f={};o!==void 0&&(f.offset=o.toString()),n!==void 0&&(f.limit=n.toString()),u!==void 0&&(f.indexPrefix=u.toString()),d!==void 0&&(f.indexSuffix=d.toString());let y={method:"GET",path:c,queryParameters:f,headers:l};return a.request(y,g)},stopABTest({id:o},n){if(!o)throw new Error("Parameter `id` is required when calling `stopABTest`.");let c={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return a.request(c,n)}}}function Ve(t,e,s,r){if(!t||typeof t!="string")throw new Error("`appId` is missing.");if(!e||typeof e!="string")throw new Error("`apiKey` is missing.");if(s&&(typeof s!="string"||!N.includes(s)))throw new Error(`\`region\` must be one of the following: ${N.join(", ")}`);return X({appId:t,apiKey:e,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},logger:Q(),requester:H(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:x(),requestsCache:x({serializable:!1}),hostsCache:q({caches:[j({key:`${O}-${t}`}),x()]}),...r})}export{Ve as abtestingClient,O as apiClientVersion}; | ||
| //# sourceMappingURL=browser.min.js.map |
@@ -7,7 +7,7 @@ (function (global, factory) { | ||
| function k(){function t(e){return new Promise(s=>{let r=new XMLHttpRequest;r.open(e.method,e.url,true),Object.keys(e.headers).forEach(n=>r.setRequestHeader(n,e.headers[n]));let i=(n,o)=>setTimeout(()=>{r.abort(),s({status:0,content:o,isTimedOut:true});},n),m=i(e.connectTimeout,"Connection timeout"),h;r.onreadystatechange=()=>{r.readyState>r.OPENED&&h===void 0&&(clearTimeout(m),h=i(e.responseTimeout,"Socket timeout"));},r.onerror=()=>{r.status===0&&(clearTimeout(m),clearTimeout(h),s({content:r.responseText||"Network request failed",status:r.status,isTimedOut:false}));},r.onload=()=>{clearTimeout(m),clearTimeout(h),s({content:r.responseText,status:r.status,isTimedOut:false});},r.send(e.data);})}return {send:t}}function j(t){let e,s=`algolia-client-js-${t.key}`;function r(){return e===void 0&&(e=t.localStorage||window.localStorage),e}function i(){return JSON.parse(r().getItem(s)||"{}")}function m(n){r().setItem(s,JSON.stringify(n));}function h(){let n=t.timeToLive?t.timeToLive*1e3:null,o=i(),a=Object.fromEntries(Object.entries(o).filter(([,d])=>d.timestamp!==void 0));if(m(a),!n)return;let c=Object.fromEntries(Object.entries(a).filter(([,d])=>{let g=new Date().getTime();return !(d.timestamp+n<g)}));m(c);}return {get(n,o,a={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(h(),i()[JSON.stringify(n)])).then(c=>Promise.all([c?c.value:o(),c!==void 0])).then(([c,d])=>Promise.all([c,d||a.miss(c)])).then(([c])=>c)},set(n,o){return Promise.resolve().then(()=>{let a=i();return a[JSON.stringify(n)]={timestamp:new Date().getTime(),value:o},r().setItem(s,JSON.stringify(a)),o})},delete(n){return Promise.resolve().then(()=>{let o=i();delete o[JSON.stringify(n)],r().setItem(s,JSON.stringify(o));})},clear(){return Promise.resolve().then(()=>{r().removeItem(s);})}}}function V(){return {get(t,e,s={miss:()=>Promise.resolve()}){return e().then(i=>Promise.all([i,s.miss(i)])).then(([i])=>i)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}function w(t){let e=[...t.caches],s=e.shift();return s===void 0?V():{get(r,i,m={miss:()=>Promise.resolve()}){return s.get(r,i,m).catch(()=>w({caches:e}).get(r,i,m))},set(r,i){return s.set(r,i).catch(()=>w({caches:e}).set(r,i))},delete(r){return s.delete(r).catch(()=>w({caches:e}).delete(r))},clear(){return s.clear().catch(()=>w({caches:e}).clear())}}}function x(t={serializable:true}){let e={};return {get(s,r,i={miss:()=>Promise.resolve()}){let m=JSON.stringify(s);if(m in e)return Promise.resolve(t.serializable?JSON.parse(e[m]):e[m]);let h=r();return h.then(n=>i.miss(n)).then(()=>h)},set(s,r){return e[JSON.stringify(s)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete(s){return delete e[JSON.stringify(s)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function Y(t){let e={value:`Algolia for JavaScript (${t})`,add(s){let r=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return e.value.indexOf(r)===-1&&(e.value=`${e.value}${r}`),e}};return e}function Q(t,e,s="WithinHeaders"){let r={"x-algolia-api-key":e,"x-algolia-application-id":t};return {headers(){return s==="WithinHeaders"?r:{}},queryParameters(){return s==="WithinQueryParameters"?r:{}}}}function W({algoliaAgents:t,client:e,version:s}){let r=Y(s).add({segment:e,version:s});return t.forEach(i=>r.add(i)),r}function J(){return {debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var U=120*1e3;function $(t,e="up"){let s=Date.now();function r(){return e==="up"||Date.now()-s>U}function i(){return e==="timed out"&&Date.now()-s<=U}return {...t,status:e,lastUpdate:s,isUp:r,isTimedOut:i}}var G=class extends Error{name="AlgoliaError";constructor(t,e){super(t),e&&(this.name=e);}};var z=class extends G{stackTrace;constructor(t,e,s){super(t,s),this.stackTrace=e;}},Z=class extends z{constructor(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",t,"RetryError");}},C=class extends z{status;constructor(t,e,s,r="ApiError"){super(t,s,r),this.status=e;}},ee=class extends G{response;constructor(t,e){super(t,"DeserializationError"),this.response=e;}},te=class extends C{error;constructor(t,e,s,r){super(t,e,r,"DetailedApiError"),this.error=s;}};function re(t,e,s){let r=se(s),i=`${t.protocol}://${t.url}${t.port?`:${t.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return r.length&&(i+=`?${r}`),i}function se(t){return Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(t[e])==="[object Array]"?t[e].join(","):t[e]).replace(/\+/g,"%20")}`).join("&")}function oe(t,e){if(t.method==="GET"||t.data===void 0&&e.data===void 0)return;let s=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(s)}function ae(t,e,s){let r={Accept:"application/json",...t,...e,...s},i={};return Object.keys(r).forEach(m=>{let h=r[m];i[m.toLowerCase()]=h;}),i}function ne(t){try{return JSON.parse(t.content)}catch(e){throw new ee(e.message,t)}}function ie({content:t,status:e},s){try{let r=JSON.parse(t);return "error"in r?new te(r.message,e,r.error,s):new C(r.message,e,s)}catch{}return new C(t,e,s)}function ue({isTimedOut:t,status:e}){return !t&&~~e===0}function ce({isTimedOut:t,status:e}){return t||ue({isTimedOut:t,status:e})||~~(e/100)!==2&&~~(e/100)!==4}function le({status:t}){return ~~(t/100)===2}function me(t){return t.map(e=>M(e))}function M(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return {...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function F({hosts:t,hostsCache:e,baseHeaders:s,logger:r,baseQueryParameters:i,algoliaAgent:m,timeouts:h,requester:n,requestsCache:o,responsesCache:a}){async function c(u){let l=await Promise.all(u.map(p=>e.get(p,()=>Promise.resolve($(p))))),f=l.filter(p=>p.isUp()),T=l.filter(p=>p.isTimedOut()),E=[...f,...T];return {hosts:E.length>0?E:u,getTimeout(p,A){return (T.length===0&&p===0?1:T.length+3+p)*A}}}async function d(u,l,f=true){let T=[],E=oe(u,l),y=ae(s,u.headers,l.headers),p=u.method==="GET"?{...u.data,...l.data}:{},A={...i,...u.queryParameters,...p};if(m.value&&(A["x-algolia-agent"]=m.value),l&&l.queryParameters)for(let P of Object.keys(l.queryParameters))!l.queryParameters[P]||Object.prototype.toString.call(l.queryParameters[P])==="[object Object]"?A[P]=l.queryParameters[P]:A[P]=l.queryParameters[P].toString();let v=0,I=async(P,B)=>{let R=P.pop();if(R===void 0)throw new Z(me(T));let b={...h,...l.timeouts},_={data:E,headers:y,method:u.method,url:re(R,u.path,A),connectTimeout:B(v,b.connect),responseTimeout:B(v,f?b.read:b.write)},H=S=>{let L={request:_,response:S,host:R,triesLeft:P.length};return T.push(L),L},q=await n.send(_);if(ce(q)){let S=H(q);return q.isTimedOut&&v++,r.info("Retryable failure",M(S)),await e.set(R,$(R,q.isTimedOut?"timed out":"down")),I(P,B)}if(le(q))return ne(q);throw H(q),ie(q,T)},K=t.filter(P=>P.accept==="readWrite"||(f?P.accept==="read":P.accept==="write")),D=await c(K);return I([...D.hosts].reverse(),D.getTimeout)}function g(u,l={}){let f=u.useReadTransporter||u.method==="GET";if(!f)return d(u,l,f);let T=()=>d(u,l);if((l.cacheable||u.cacheable)!==true)return T();let y={request:u,requestOptions:l,transporter:{queryParameters:i,headers:s}};return a.get(y,()=>o.get(y,()=>o.set(y,T()).then(p=>Promise.all([o.delete(y),p]),p=>Promise.all([o.delete(y),Promise.reject(p)])).then(([p,A])=>A)),{miss:p=>a.set(y,p)})}return {hostsCache:e,requester:n,timeouts:h,logger:r,algoliaAgent:m,baseHeaders:s,baseQueryParameters:i,hosts:t,request:g,requestsCache:o,responsesCache:a}}var O="5.42.0",N=["de","us"];function de(t){return [{url:t?"analytics.{region}.algolia.com".replace("{region}",t):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]}function X({appId:t,apiKey:e,authMode:s,algoliaAgents:r,region:i,...m}){let h=Q(t,e,s),n=F({hosts:de(i),...m,algoliaAgent:W({algoliaAgents:r,client:"Abtesting",version:O}),baseHeaders:{"content-type":"text/plain",...h.headers(),...m.baseHeaders},baseQueryParameters:{...h.queryParameters(),...m.baseQueryParameters}});return {transporter:n,appId:t,apiKey:e,clearCache(){return Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then(()=>{})},get _ua(){return n.algoliaAgent.value},addAlgoliaAgent(o,a){n.algoliaAgent.add({segment:o,version:a});},setClientApiKey({apiKey:o}){!s||s==="WithinHeaders"?n.baseHeaders["x-algolia-api-key"]=o:n.baseQueryParameters["x-algolia-api-key"]=o;},addABTests(o,a){if(!o)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!o.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!o.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!o.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");let u={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:o};return n.request(u,a)},customDelete({path:o,parameters:a},c){if(!o)throw new Error("Parameter `path` is required when calling `customDelete`.");let l={method:"DELETE",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{}};return n.request(l,c)},customGet({path:o,parameters:a},c){if(!o)throw new Error("Parameter `path` is required when calling `customGet`.");let l={method:"GET",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{}};return n.request(l,c)},customPost({path:o,parameters:a,body:c},d){if(!o)throw new Error("Parameter `path` is required when calling `customPost`.");let f={method:"POST",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{},data:c||{}};return n.request(f,d)},customPut({path:o,parameters:a,body:c},d){if(!o)throw new Error("Parameter `path` is required when calling `customPut`.");let f={method:"PUT",path:"/{path}".replace("{path}",o),queryParameters:a||{},headers:{},data:c||{}};return n.request(f,d)},deleteABTest({id:o},a){if(!o)throw new Error("Parameter `id` is required when calling `deleteABTest`.");let u={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return n.request(u,a)},estimateABTest(o,a){if(!o)throw new Error("Parameter `estimateABTestRequest` is required when calling `estimateABTest`.");if(!o.configuration)throw new Error("Parameter `estimateABTestRequest.configuration` is required when calling `estimateABTest`.");if(!o.variants)throw new Error("Parameter `estimateABTestRequest.variants` is required when calling `estimateABTest`.");let u={method:"POST",path:"/2/abtests/estimate",queryParameters:{},headers:{},data:o};return n.request(u,a)},getABTest({id:o},a){if(!o)throw new Error("Parameter `id` is required when calling `getABTest`.");let u={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return n.request(u,a)},listABTests({offset:o,limit:a,indexPrefix:c,indexSuffix:d}={},g=void 0){let u="/2/abtests",l={},f={};o!==void 0&&(f.offset=o.toString()),a!==void 0&&(f.limit=a.toString()),c!==void 0&&(f.indexPrefix=c.toString()),d!==void 0&&(f.indexSuffix=d.toString());let T={method:"GET",path:u,queryParameters:f,headers:l};return n.request(T,g)},scheduleABTest(o,a){if(!o)throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`.");if(!o.name)throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`.");if(!o.variants)throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`.");if(!o.scheduledAt)throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`.");if(!o.endAt)throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`.");let u={method:"POST",path:"/2/abtests/schedule",queryParameters:{},headers:{},data:o};return n.request(u,a)},stopABTest({id:o},a){if(!o)throw new Error("Parameter `id` is required when calling `stopABTest`.");let u={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return n.request(u,a)}}}function Ze(t,e,s,r){if(!t||typeof t!="string")throw new Error("`appId` is missing.");if(!e||typeof e!="string")throw new Error("`apiKey` is missing.");if(s&&(typeof s!="string"||!N.includes(s)))throw new Error(`\`region\` must be one of the following: ${N.join(", ")}`);return X({appId:t,apiKey:e,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},logger:J(),requester:k(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:x(),requestsCache:x({serializable:false}),hostsCache:w({caches:[j({key:`${O}-${t}`}),x()]}),...r})} | ||
| function H(){function t(e){return new Promise(s=>{let r=new XMLHttpRequest;r.open(e.method,e.url,true),Object.keys(e.headers).forEach(a=>r.setRequestHeader(a,e.headers[a]));let i=(a,o)=>setTimeout(()=>{r.abort(),s({status:0,content:o,isTimedOut:true});},a),m=i(e.connectTimeout,"Connection timeout"),h;r.onreadystatechange=()=>{r.readyState>r.OPENED&&h===void 0&&(clearTimeout(m),h=i(e.responseTimeout,"Socket timeout"));},r.onerror=()=>{r.status===0&&(clearTimeout(m),clearTimeout(h),s({content:r.responseText||"Network request failed",status:r.status,isTimedOut:false}));},r.onload=()=>{clearTimeout(m),clearTimeout(h),s({content:r.responseText,status:r.status,isTimedOut:false});},r.send(e.data);})}return {send:t}}function j(t){let e,s=`algolia-client-js-${t.key}`;function r(){return e===void 0&&(e=t.localStorage||window.localStorage),e}function i(){return JSON.parse(r().getItem(s)||"{}")}function m(a){r().setItem(s,JSON.stringify(a));}function h(){let a=t.timeToLive?t.timeToLive*1e3:null,o=i(),n=Object.fromEntries(Object.entries(o).filter(([,d])=>d.timestamp!==void 0));if(m(n),!a)return;let u=Object.fromEntries(Object.entries(n).filter(([,d])=>{let g=new Date().getTime();return !(d.timestamp+a<g)}));m(u);}return {get(a,o,n={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(h(),i()[JSON.stringify(a)])).then(u=>Promise.all([u?u.value:o(),u!==void 0])).then(([u,d])=>Promise.all([u,d||n.miss(u)])).then(([u])=>u)},set(a,o){return Promise.resolve().then(()=>{let n=i();return n[JSON.stringify(a)]={timestamp:new Date().getTime(),value:o},r().setItem(s,JSON.stringify(n)),o})},delete(a){return Promise.resolve().then(()=>{let o=i();delete o[JSON.stringify(a)],r().setItem(s,JSON.stringify(o));})},clear(){return Promise.resolve().then(()=>{r().removeItem(s);})}}}function V(){return {get(t,e,s={miss:()=>Promise.resolve()}){return e().then(i=>Promise.all([i,s.miss(i)])).then(([i])=>i)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}function q(t){let e=[...t.caches],s=e.shift();return s===void 0?V():{get(r,i,m={miss:()=>Promise.resolve()}){return s.get(r,i,m).catch(()=>q({caches:e}).get(r,i,m))},set(r,i){return s.set(r,i).catch(()=>q({caches:e}).set(r,i))},delete(r){return s.delete(r).catch(()=>q({caches:e}).delete(r))},clear(){return s.clear().catch(()=>q({caches:e}).clear())}}}function x(t={serializable:true}){let e={};return {get(s,r,i={miss:()=>Promise.resolve()}){let m=JSON.stringify(s);if(m in e)return Promise.resolve(t.serializable?JSON.parse(e[m]):e[m]);let h=r();return h.then(a=>i.miss(a)).then(()=>h)},set(s,r){return e[JSON.stringify(s)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete(s){return delete e[JSON.stringify(s)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}function Y(t){let e={value:`Algolia for JavaScript (${t})`,add(s){let r=`; ${s.segment}${s.version!==void 0?` (${s.version})`:""}`;return e.value.indexOf(r)===-1&&(e.value=`${e.value}${r}`),e}};return e}function W(t,e,s="WithinHeaders"){let r={"x-algolia-api-key":e,"x-algolia-application-id":t};return {headers(){return s==="WithinHeaders"?r:{}},queryParameters(){return s==="WithinQueryParameters"?r:{}}}}function J({algoliaAgents:t,client:e,version:s}){let r=Y(s).add({segment:e,version:s});return t.forEach(i=>r.add(i)),r}function Q(){return {debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var U=120*1e3;function $(t,e="up"){let s=Date.now();function r(){return e==="up"||Date.now()-s>U}function i(){return e==="timed out"&&Date.now()-s<=U}return {...t,status:e,lastUpdate:s,isUp:r,isTimedOut:i}}var G=class extends Error{name="AlgoliaError";constructor(t,e){super(t),e&&(this.name=e);}};var z=class extends G{stackTrace;constructor(t,e,s){super(t,s),this.stackTrace=e;}},Z=class extends z{constructor(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",t,"RetryError");}},C=class extends z{status;constructor(t,e,s,r="ApiError"){super(t,s,r),this.status=e;}},ee=class extends G{response;constructor(t,e){super(t,"DeserializationError"),this.response=e;}},te=class extends C{error;constructor(t,e,s,r){super(t,e,r,"DetailedApiError"),this.error=s;}};function re(t,e,s){let r=se(s),i=`${t.protocol}://${t.url}${t.port?`:${t.port}`:""}/${e.charAt(0)==="/"?e.substring(1):e}`;return r.length&&(i+=`?${r}`),i}function se(t){return Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${e}=${encodeURIComponent(Object.prototype.toString.call(t[e])==="[object Array]"?t[e].join(","):t[e]).replace(/\+/g,"%20")}`).join("&")}function oe(t,e){if(t.method==="GET"||t.data===void 0&&e.data===void 0)return;let s=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(s)}function ae(t,e,s){let r={Accept:"application/json",...t,...e,...s},i={};return Object.keys(r).forEach(m=>{let h=r[m];i[m.toLowerCase()]=h;}),i}function ne(t){try{return JSON.parse(t.content)}catch(e){throw new ee(e.message,t)}}function ie({content:t,status:e},s){try{let r=JSON.parse(t);return "error"in r?new te(r.message,e,r.error,s):new C(r.message,e,s)}catch{}return new C(t,e,s)}function ce({isTimedOut:t,status:e}){return !t&&~~e===0}function ue({isTimedOut:t,status:e}){return t||ce({isTimedOut:t,status:e})||~~(e/100)!==2&&~~(e/100)!==4}function le({status:t}){return ~~(t/100)===2}function me(t){return t.map(e=>M(e))}function M(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return {...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function F({hosts:t,hostsCache:e,baseHeaders:s,logger:r,baseQueryParameters:i,algoliaAgent:m,timeouts:h,requester:a,requestsCache:o,responsesCache:n}){async function u(c){let l=await Promise.all(c.map(p=>e.get(p,()=>Promise.resolve($(p))))),f=l.filter(p=>p.isUp()),y=l.filter(p=>p.isTimedOut()),w=[...f,...y];return {hosts:w.length>0?w:c,getTimeout(p,A){return (y.length===0&&p===0?1:y.length+3+p)*A}}}async function d(c,l,f=true){let y=[],w=oe(c,l),T=ae(s,c.headers,l.headers),p=c.method==="GET"?{...c.data,...l.data}:{},A={...i,...c.queryParameters,...p};if(m.value&&(A["x-algolia-agent"]=m.value),l&&l.queryParameters)for(let P of Object.keys(l.queryParameters))!l.queryParameters[P]||Object.prototype.toString.call(l.queryParameters[P])==="[object Object]"?A[P]=l.queryParameters[P]:A[P]=l.queryParameters[P].toString();let v=0,I=async(P,b)=>{let R=P.pop();if(R===void 0)throw new Z(me(y));let S={...h,...l.timeouts},_={data:w,headers:T,method:c.method,url:re(R,c.path,A),connectTimeout:b(v,S.connect),responseTimeout:b(v,f?S.read:S.write)},L=B=>{let k={request:_,response:B,host:R,triesLeft:P.length};return y.push(k),k},E=await a.send(_);if(ue(E)){let B=L(E);return E.isTimedOut&&v++,r.info("Retryable failure",M(B)),await e.set(R,$(R,E.isTimedOut?"timed out":"down")),I(P,b)}if(le(E))return ne(E);throw L(E),ie(E,y)},K=t.filter(P=>P.accept==="readWrite"||(f?P.accept==="read":P.accept==="write")),D=await u(K);return I([...D.hosts].reverse(),D.getTimeout)}function g(c,l={}){let f=c.useReadTransporter||c.method==="GET";if(!f)return d(c,l,f);let y=()=>d(c,l);if((l.cacheable||c.cacheable)!==true)return y();let T={request:c,requestOptions:l,transporter:{queryParameters:i,headers:s}};return n.get(T,()=>o.get(T,()=>o.set(T,y()).then(p=>Promise.all([o.delete(T),p]),p=>Promise.all([o.delete(T),Promise.reject(p)])).then(([p,A])=>A)),{miss:p=>n.set(T,p)})}return {hostsCache:e,requester:a,timeouts:h,logger:r,algoliaAgent:m,baseHeaders:s,baseQueryParameters:i,hosts:t,request:g,requestsCache:o,responsesCache:n}}var O="5.43.0",N=["de","us"];function de(t){return [{url:t?"analytics.{region}.algolia.com".replace("{region}",t):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]}function X({appId:t,apiKey:e,authMode:s,algoliaAgents:r,region:i,...m}){let h=W(t,e,s),a=F({hosts:de(i),...m,algoliaAgent:J({algoliaAgents:r,client:"Abtesting",version:O}),baseHeaders:{"content-type":"text/plain",...h.headers(),...m.baseHeaders},baseQueryParameters:{...h.queryParameters(),...m.baseQueryParameters}});return {transporter:a,appId:t,apiKey:e,clearCache(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then(()=>{})},get _ua(){return a.algoliaAgent.value},addAlgoliaAgent(o,n){a.algoliaAgent.add({segment:o,version:n});},setClientApiKey({apiKey:o}){!s||s==="WithinHeaders"?a.baseHeaders["x-algolia-api-key"]=o:a.baseQueryParameters["x-algolia-api-key"]=o;},addABTests(o,n){if(!o)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!o.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!o.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!o.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");let c={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:o};return a.request(c,n)},customDelete({path:o,parameters:n},u){if(!o)throw new Error("Parameter `path` is required when calling `customDelete`.");let l={method:"DELETE",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{}};return a.request(l,u)},customGet({path:o,parameters:n},u){if(!o)throw new Error("Parameter `path` is required when calling `customGet`.");let l={method:"GET",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{}};return a.request(l,u)},customPost({path:o,parameters:n,body:u},d){if(!o)throw new Error("Parameter `path` is required when calling `customPost`.");let f={method:"POST",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{},data:u||{}};return a.request(f,d)},customPut({path:o,parameters:n,body:u},d){if(!o)throw new Error("Parameter `path` is required when calling `customPut`.");let f={method:"PUT",path:"/{path}".replace("{path}",o),queryParameters:n||{},headers:{},data:u||{}};return a.request(f,d)},deleteABTest({id:o},n){if(!o)throw new Error("Parameter `id` is required when calling `deleteABTest`.");let c={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return a.request(c,n)},estimateABTest(o,n){if(!o)throw new Error("Parameter `estimateABTestRequest` is required when calling `estimateABTest`.");if(!o.configuration)throw new Error("Parameter `estimateABTestRequest.configuration` is required when calling `estimateABTest`.");if(!o.variants)throw new Error("Parameter `estimateABTestRequest.variants` is required when calling `estimateABTest`.");let c={method:"POST",path:"/2/abtests/estimate",queryParameters:{},headers:{},data:o};return a.request(c,n)},getABTest({id:o},n){if(!o)throw new Error("Parameter `id` is required when calling `getABTest`.");let c={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return a.request(c,n)},listABTests({offset:o,limit:n,indexPrefix:u,indexSuffix:d}={},g=void 0){let c="/2/abtests",l={},f={};o!==void 0&&(f.offset=o.toString()),n!==void 0&&(f.limit=n.toString()),u!==void 0&&(f.indexPrefix=u.toString()),d!==void 0&&(f.indexSuffix=d.toString());let y={method:"GET",path:c,queryParameters:f,headers:l};return a.request(y,g)},stopABTest({id:o},n){if(!o)throw new Error("Parameter `id` is required when calling `stopABTest`.");let c={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(o)),queryParameters:{},headers:{}};return a.request(c,n)}}}function Ve(t,e,s,r){if(!t||typeof t!="string")throw new Error("`appId` is missing.");if(!e||typeof e!="string")throw new Error("`apiKey` is missing.");if(s&&(typeof s!="string"||!N.includes(s)))throw new Error(`\`region\` must be one of the following: ${N.join(", ")}`);return X({appId:t,apiKey:e,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},logger:Q(),requester:H(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:x(),requestsCache:x({serializable:false}),hostsCache:q({caches:[j({key:`${O}-${t}`}),x()]}),...r})} | ||
| exports.abtestingClient = Ze; | ||
| exports.abtestingClient = Ve; | ||
| exports.apiClientVersion = O; | ||
| })); |
+1
-37
@@ -7,3 +7,3 @@ // builds/fetch.ts | ||
| import { createAuth, createTransporter, getAlgoliaAgent } from "@algolia/client-common"; | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -325,38 +325,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -363,0 +327,0 @@ * |
+1
-37
@@ -32,3 +32,3 @@ "use strict"; | ||
| var import_client_common = require("@algolia/client-common"); | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -350,38 +350,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -388,0 +352,0 @@ * |
+1
-37
@@ -7,3 +7,3 @@ // builds/node.ts | ||
| import { createAuth, createTransporter, getAlgoliaAgent } from "@algolia/client-common"; | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -325,38 +325,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -363,0 +327,0 @@ * |
@@ -7,3 +7,3 @@ // builds/worker.ts | ||
| import { createAuth, createTransporter, getAlgoliaAgent } from "@algolia/client-common"; | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -325,38 +325,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -363,0 +327,0 @@ * |
+2
-37
@@ -334,28 +334,2 @@ import * as _algolia_client_common from '@algolia/client-common'; | ||
| type ScheduleABTestResponse = { | ||
| /** | ||
| * Unique scheduled A/B test identifier. | ||
| */ | ||
| abTestScheduleID: number; | ||
| }; | ||
| type ScheduleABTestsRequest = { | ||
| /** | ||
| * A/B test name. | ||
| */ | ||
| name: string; | ||
| /** | ||
| * A/B test variants. | ||
| */ | ||
| variants: Array<AddABTestsVariant>; | ||
| /** | ||
| * Date and time when the A/B test is scheduled to start, in RFC 3339 format. | ||
| */ | ||
| scheduledAt: string; | ||
| /** | ||
| * End date and time of the A/B test, in RFC 3339 format. | ||
| */ | ||
| endAt: string; | ||
| }; | ||
| /** | ||
@@ -478,3 +452,3 @@ * Properties for the `customDelete` method. | ||
| declare const apiClientVersion = "5.42.0"; | ||
| declare const apiClientVersion = "5.43.0"; | ||
| declare const REGIONS: readonly ["de", "us"]; | ||
@@ -605,11 +579,2 @@ type Region = (typeof REGIONS)[number]; | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest: ScheduleABTestsRequest, requestOptions?: RequestOptions): Promise<ScheduleABTestResponse>; | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -637,2 +602,2 @@ * | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type ScheduleABTestResponse, type ScheduleABTestsRequest, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; |
+2
-37
@@ -334,28 +334,2 @@ import * as _algolia_client_common from '@algolia/client-common'; | ||
| type ScheduleABTestResponse = { | ||
| /** | ||
| * Unique scheduled A/B test identifier. | ||
| */ | ||
| abTestScheduleID: number; | ||
| }; | ||
| type ScheduleABTestsRequest = { | ||
| /** | ||
| * A/B test name. | ||
| */ | ||
| name: string; | ||
| /** | ||
| * A/B test variants. | ||
| */ | ||
| variants: Array<AddABTestsVariant>; | ||
| /** | ||
| * Date and time when the A/B test is scheduled to start, in RFC 3339 format. | ||
| */ | ||
| scheduledAt: string; | ||
| /** | ||
| * End date and time of the A/B test, in RFC 3339 format. | ||
| */ | ||
| endAt: string; | ||
| }; | ||
| /** | ||
@@ -478,3 +452,3 @@ * Properties for the `customDelete` method. | ||
| declare const apiClientVersion = "5.42.0"; | ||
| declare const apiClientVersion = "5.43.0"; | ||
| declare const REGIONS: readonly ["de", "us"]; | ||
@@ -605,11 +579,2 @@ type Region = (typeof REGIONS)[number]; | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest: ScheduleABTestsRequest, requestOptions?: RequestOptions): Promise<ScheduleABTestResponse>; | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -637,2 +602,2 @@ * | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type ScheduleABTestResponse, type ScheduleABTestsRequest, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; |
+2
-37
@@ -334,28 +334,2 @@ import * as _algolia_client_common from '@algolia/client-common'; | ||
| type ScheduleABTestResponse = { | ||
| /** | ||
| * Unique scheduled A/B test identifier. | ||
| */ | ||
| abTestScheduleID: number; | ||
| }; | ||
| type ScheduleABTestsRequest = { | ||
| /** | ||
| * A/B test name. | ||
| */ | ||
| name: string; | ||
| /** | ||
| * A/B test variants. | ||
| */ | ||
| variants: Array<AddABTestsVariant>; | ||
| /** | ||
| * Date and time when the A/B test is scheduled to start, in RFC 3339 format. | ||
| */ | ||
| scheduledAt: string; | ||
| /** | ||
| * End date and time of the A/B test, in RFC 3339 format. | ||
| */ | ||
| endAt: string; | ||
| }; | ||
| /** | ||
@@ -478,3 +452,3 @@ * Properties for the `customDelete` method. | ||
| declare const apiClientVersion = "5.42.0"; | ||
| declare const apiClientVersion = "5.43.0"; | ||
| declare const REGIONS: readonly ["de", "us"]; | ||
@@ -605,11 +579,2 @@ type Region = (typeof REGIONS)[number]; | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest: ScheduleABTestsRequest, requestOptions?: RequestOptions): Promise<ScheduleABTestResponse>; | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -637,2 +602,2 @@ * | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type ScheduleABTestResponse, type ScheduleABTestsRequest, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; |
@@ -29,3 +29,3 @@ "use strict"; | ||
| var import_client_common = require("@algolia/client-common"); | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -347,38 +347,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -385,0 +349,0 @@ * |
| // src/abtestingClient.ts | ||
| import { createAuth, createTransporter, getAlgoliaAgent } from "@algolia/client-common"; | ||
| var apiClientVersion = "5.42.0"; | ||
| var apiClientVersion = "5.43.0"; | ||
| var REGIONS = ["de", "us"]; | ||
@@ -320,38 +320,2 @@ function getDefaultHosts(region) { | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest, requestOptions) { | ||
| if (!scheduleABTestsRequest) { | ||
| throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.name) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.variants) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.scheduledAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| if (!scheduleABTestsRequest.endAt) { | ||
| throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`."); | ||
| } | ||
| const requestPath = "/2/abtests/schedule"; | ||
| const headers = {}; | ||
| const queryParameters = {}; | ||
| const request = { | ||
| method: "POST", | ||
| path: requestPath, | ||
| queryParameters, | ||
| headers, | ||
| data: scheduleABTestsRequest | ||
| }; | ||
| return transporter.request(request, requestOptions); | ||
| }, | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -358,0 +322,0 @@ * |
+2
-37
@@ -334,28 +334,2 @@ import * as _algolia_client_common from '@algolia/client-common'; | ||
| type ScheduleABTestResponse = { | ||
| /** | ||
| * Unique scheduled A/B test identifier. | ||
| */ | ||
| abTestScheduleID: number; | ||
| }; | ||
| type ScheduleABTestsRequest = { | ||
| /** | ||
| * A/B test name. | ||
| */ | ||
| name: string; | ||
| /** | ||
| * A/B test variants. | ||
| */ | ||
| variants: Array<AddABTestsVariant>; | ||
| /** | ||
| * Date and time when the A/B test is scheduled to start, in RFC 3339 format. | ||
| */ | ||
| scheduledAt: string; | ||
| /** | ||
| * End date and time of the A/B test, in RFC 3339 format. | ||
| */ | ||
| endAt: string; | ||
| }; | ||
| /** | ||
@@ -478,3 +452,3 @@ * Properties for the `customDelete` method. | ||
| declare const apiClientVersion = "5.42.0"; | ||
| declare const apiClientVersion = "5.43.0"; | ||
| declare const REGIONS: readonly ["de", "us"]; | ||
@@ -605,11 +579,2 @@ type Region = (typeof REGIONS)[number]; | ||
| /** | ||
| * Schedule an A/B test to be started at a later time. | ||
| * | ||
| * Required API Key ACLs: | ||
| * - editSettings | ||
| * @param scheduleABTestsRequest - The scheduleABTestsRequest object. | ||
| * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions. | ||
| */ | ||
| scheduleABTest(scheduleABTestsRequest: ScheduleABTestsRequest, requestOptions?: RequestOptions): Promise<ScheduleABTestResponse>; | ||
| /** | ||
| * Stops an A/B test by its ID. You can\'t restart stopped A/B tests. | ||
@@ -637,2 +602,2 @@ * | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type ScheduleABTestResponse, type ScheduleABTestsRequest, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; | ||
| export { type ABTest, type ABTestConfiguration, type ABTestResponse, type AbTestsVariant, type AbTestsVariantSearchParams, type AbtestingClient, type AddABTestsRequest, type AddABTestsVariant, type Currency, type CustomDeleteProps, type CustomGetProps, type CustomPostProps, type CustomPutProps, type CustomSearchParams, type DeleteABTestProps, type EffectMetric, type EmptySearch, type EmptySearchFilter, type ErrorBase, type EstimateABTestRequest, type EstimateABTestResponse, type EstimateConfiguration, type FilterEffects, type GetABTestProps, type ListABTestsProps, type ListABTestsResponse, type MinimumDetectableEffect, type Outliers, type OutliersFilter, type Region, type RegionOptions, type Status, type StopABTestProps, type Variant, abtestingClient, apiClientVersion }; |
+6
-6
| { | ||
| "version": "5.42.0", | ||
| "version": "5.43.0", | ||
| "repository": { | ||
@@ -52,10 +52,10 @@ "type": "git", | ||
| "dependencies": { | ||
| "@algolia/client-common": "5.42.0", | ||
| "@algolia/requester-browser-xhr": "5.42.0", | ||
| "@algolia/requester-fetch": "5.42.0", | ||
| "@algolia/requester-node-http": "5.42.0" | ||
| "@algolia/client-common": "5.43.0", | ||
| "@algolia/requester-browser-xhr": "5.43.0", | ||
| "@algolia/requester-fetch": "5.43.0", | ||
| "@algolia/requester-node-http": "5.43.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@arethetypeswrong/cli": "0.18.2", | ||
| "@types/node": "22.18.12", | ||
| "@types/node": "24.10.0", | ||
| "publint": "0.3.15", | ||
@@ -62,0 +62,0 @@ "rollup": "4.52.5", |
+4
-4
@@ -43,7 +43,7 @@ <p align="center"> | ||
| ```bash | ||
| yarn add @algolia/client-abtesting@5.42.0 | ||
| yarn add @algolia/client-abtesting@5.43.0 | ||
| # or | ||
| npm install @algolia/client-abtesting@5.42.0 | ||
| npm install @algolia/client-abtesting@5.43.0 | ||
| # or | ||
| pnpm add @algolia/client-abtesting@5.42.0 | ||
| pnpm add @algolia/client-abtesting@5.43.0 | ||
| ``` | ||
@@ -56,3 +56,3 @@ | ||
| ```html | ||
| <script src="https://cdn.jsdelivr.net/npm/@algolia/client-abtesting@5.42.0/dist/builds/browser.umd.js"></script> | ||
| <script src="https://cdn.jsdelivr.net/npm/@algolia/client-abtesting@5.43.0/dist/builds/browser.umd.js"></script> | ||
| ``` | ||
@@ -59,0 +59,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
468685
-7.39%5065
-7.12%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed