Files

25 lines
101 KiB
JavaScript
Raw Permalink Normal View History

2025-08-27 14:05:33 +08:00
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.algoliasearch = {}));
})(this, (function (exports) { 'use strict';
function I(){function c(h){return new Promise(d=>{let m=new XMLHttpRequest;m.open(h.method,h.url,true),Object.keys(h.headers).forEach(t=>m.setRequestHeader(t,h.headers[t]));let p=(t,e)=>setTimeout(()=>{m.abort(),d({status:0,content:e,isTimedOut:true});},t),q=p(h.connectTimeout,"Connection timeout"),l;m.onreadystatechange=()=>{m.readyState>m.OPENED&&l===void 0&&(clearTimeout(q),l=p(h.responseTimeout,"Socket timeout"));},m.onerror=()=>{m.status===0&&(clearTimeout(q),clearTimeout(l),d({content:m.responseText||"Network request failed",status:m.status,isTimedOut:false}));},m.onload=()=>{clearTimeout(q),clearTimeout(l),d({content:m.responseText,status:m.status,isTimedOut:false});},m.send(h.data);})}return {send:c}}function R(c){let h,d=`algolia-client-js-${c.key}`;function m(){return h===void 0&&(h=c.localStorage||window.localStorage),h}function p(){return JSON.parse(m().getItem(d)||"{}")}function q(t){m().setItem(d,JSON.stringify(t));}function l(){let t=c.timeToLive?c.timeToLive*1e3:null,e=p(),r=Object.fromEntries(Object.entries(e).filter(([,s])=>s.timestamp!==void 0));if(q(r),!t)return;let a=Object.fromEntries(Object.entries(r).filter(([,s])=>{let o=new Date().getTime();return !(s.timestamp+t<o)}));q(a);}return {get(t,e,r={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>(l(),p()[JSON.stringify(t)])).then(a=>Promise.all([a?a.value:e(),a!==void 0])).then(([a,s])=>Promise.all([a,s||r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve().then(()=>{let r=p();return r[JSON.stringify(t)]={timestamp:new Date().getTime(),value:e},m().setItem(d,JSON.stringify(r)),e})},delete(t){return Promise.resolve().then(()=>{let e=p();delete e[JSON.stringify(t)],m().setItem(d,JSON.stringify(e));})},clear(){return Promise.resolve().then(()=>{m().removeItem(d);})}}}function ye(){return {get(c,h,d={miss:()=>Promise.resolve()}){return h().then(p=>Promise.all([p,d.miss(p)])).then(([p])=>p)},set(c,h){return Promise.resolve(h)},delete(c){return Promise.resolve()},clear(){return Promise.resolve()}}}function v(c){let h=[...c.caches],d=h.shift();return d===void 0?ye():{get(m,p,q={miss:()=>Promise.resolve()}){return d.get(m,p,q).catch(()=>v({caches:h}).get(m,p,q))},set(m,p){return d.set(m,p).catch(()=>v({caches:h}).set(m,p))},delete(m){return d.delete(m).catch(()=>v({caches:h}).delete(m))},clear(){return d.clear().catch(()=>v({caches:h}).clear())}}}function E(c={serializable:true}){let h={};return {get(d,m,p={miss:()=>Promise.resolve()}){let q=JSON.stringify(d);if(q in h)return Promise.resolve(c.serializable?JSON.parse(h[q]):h[q]);let l=m();return l.then(t=>p.miss(t)).then(()=>l)},set(d,m){return h[JSON.stringify(d)]=c.serializable?JSON.stringify(m):m,Promise.resolve(m)},delete(d){return delete h[JSON.stringify(d)],Promise.resolve()},clear(){return h={},Promise.resolve()}}}function Ee(c){let h={value:`Algolia for JavaScript (${c})`,add(d){let m=`; ${d.segment}${d.version!==void 0?` (${d.version})`:""}`;return h.value.indexOf(m)===-1&&(h.value=`${h.value}${m}`),h}};return h}function C(c,h,d="WithinHeaders"){let m={"x-algolia-api-key":h,"x-algolia-application-id":c};return {headers(){return d==="WithinHeaders"?m:{}},queryParameters(){return d==="WithinQueryParameters"?m:{}}}}function k({func:c,validate:h,aggregator:d,error:m,timeout:p=()=>0}){let q=l=>new Promise((t,e)=>{c(l).then(async r=>(d&&await d(r),await h(r)?t(r):m&&await m.validate(r)?e(new Error(await m.message(r))):setTimeout(()=>{q(r).then(t).catch(e);},await p()))).catch(r=>{e(r);});});return q()}function b({algoliaAgents:c,client:h,version:d}){let m=Ee(d).add({segment:h,version:d});return c.forEach(p=>m.add(p)),m}function A(){return {debug(c,h){return Promise.resolve()},info(c,h){return Promise.resolve()},error(c,h){return Promise.resolve()}}}var V=2*60*1e3;function M(c,h="up"){let d=Date.now();function m(){return h==="up"||Date.now()-d>V}function p(){return h==="timed out"&&Date.now()-d<=V}return {...c,status:h,lastUpdate:d,isUp:m,isTimedOut:p}}var J=class extends Error{name="AlgoliaError";constructor(c,h){super(c),h&&(this.name=h);}};var K=class extends J{stackTrace;const
exports.abtestingClient = ee;
exports.algoliasearch = lt;
exports.analyticsClient = ae;
exports.apiClientVersion = H;
exports.ingestionClient = Q;
exports.insightsClient = oe;
exports.isOnDemandTrigger = Ur;
exports.isScheduleTrigger = Nr;
exports.isSubscriptionTrigger = Gr;
exports.monitoringClient = pe;
exports.personalizationClient = ue;
exports.querySuggestionsClient = le;
exports.recommendClient = fe;
exports.searchClient = me;
}));