1import{t as e}from"./dist.Cnxa_LV8.js";import{t}from"./fetchJson.BqzFthpv.js";var n=class{maxSize;cache=new Map;constructor(e=10){this.maxSize=e}has(e){return this.cache.has(e)}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(t){let n=t.id;for(this.cache.has(n)&&this.cache.delete(n),this.cache.set(n,t);this.cache.size>this.maxSize;){let t=this.cache.keys().next();if(t.done)break;e.debug(`[article-client-sdk]: evicting article with id: ${t.value}`),this.cache.delete(t.value)}}delete(e){return this.cache.delete(e)}clear(){this.cache.clear()}get size(){return this.cache.size}};async function r(n){let r=`/article-page/api/capi-article/${n}`;return e.debug(`[article-client-sdk]: fetching article from: ${r}`),await t(r,{logPrefix:`[article-client-sdk]`})}function i(t){async function n(n){if(t.has(n))return e.debug(`[article-client-sdk]: returning cached article with id: ${n}`),t.get(n);let i=await r(n);return i&&(t.set(i),e.debug(`[article-client-sdk]: fetched and cached article with id: ${n}`)),i}function i(e){return e.closest(`[data-article-id]`)?.getAttribute(`data-article-id`)||void 0}return Object.freeze({getArticle:n,getArticleId:i})}var a=10;function o(t=a){if(window.polarx?.articleClient?.v1){e.warn(`[article-client-sdk]: article client already initialized, skipping re-initialization`);return}let r=i(new n(t));window.polarx=window.polarx||{},window.polarx.articleClient={v1:r}}var s=o,c=class extends HTMLElement{connectedCallback(){try{s(),e.debug(`[ArticleClientLoader] article client initialized`)}catch(t){e.error(t,`[ArticleClientLoader] ERROR during init`)}}};customElements.get(`article-client`)||customElements.define(`article-client`,c);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.