1import{a as m,b as y,f as x}from"./chunk-4NYYINTD.js";import{L as o,ba as u,ja as l,p as n,q as p,qa as d,va as f}from"./chunk-RL33O6RN.js";var j=(()=>{class a{constructor(){this.httpClient=f(x),this.cache=new Map}get(e,t=0,s){let r=this.buildCacheKey(e,s),i=this.cache.get(r);if(i&&!this.isExpired(i))return i.response!==void 0?n(i.response):i.request;let c=this.httpClient.get(e,s).pipe(u(1),l(h=>{this.cache.set(r,{request:c,response:h,expires:this.computeExpiry(t)})}),o(h=>(this.cache.delete(r),p(()=>h))));return this.cache.set(r,{request:c,expires:0}),c}post(e,t,s){return this.httpClient.post(e,t,s)}clearFullCache(){this.cache.clear()}buildCacheKey(e,t){return t?`${e}::${this.serializeOptions(t)}`:e}serializeOptions(e){let t=e.params instanceof y?e.params.toString():e.params,s=e.headers instanceof m?Object.fromEntries(e.headers.keys().map(r=>[r,e.headers.getAll(r)])):e.headers;return JSON.stringify({params:t,headers:s,withCredentials:e.withCredentials,reportProgress:e.reportProgress,responseType:e.responseType})}computeExpiry(e){return e<=0?0:Date.now()+e*1e3}isExpired(e){return e.expires>0&&e.expires<Date.now()}static{this.\u0275fac=function(t){return new(t||a)}}static{this.\u0275prov=d({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})();export{j as a}; 2//# sourceMappingURL=chunk-5GTHTHUT.js.map
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.