barbajs-1.0.0-alpha1/dist/prefetch/barba-prefetch.umd.min.js
dist/prefetch/barba-prefetch.umd.min.js
!function(i,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(i||self).barbaPrefetch=t()}(this,function(){var i=window.requestIdleCallback||function(i){var t=Date.now();return setTimeout(function(){i({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)};return new(/*#__PURE__*/function(){function t(){this.name="@barba/prefetch",this.version="2.2.0",this.barba=void 0,this.logger=void 0,this.observer=void 0,this.root=void 0,this.timeout=void 0,this.limit=void 0,this.toPrefetch=new Set}var n=t.prototype;return n.install=function(i,t){var n=void 0===t?{}:t,e=n.root,o=void 0===e?document.body:e,s=n.timeout,h=void 0===s?2e3:s,r=n.limit,f=void 0===r?0:r;this.logger=new i.Logger(this.name),this.logger.info(this.version),this.barba=i,this.root=o,this.timeout=h,this.limit=f},n.init=function(){var i=this;this.barba.prefetchIgnore?this.logger.warn("barba.prefetchIgnore is enabled"):this.barba.cacheIgnore?this.logger.warn("barba.cacheIgnore is enabled"):(this.observer=new IntersectionObserver(function(t){t.forEach(function(t){if(t.isIntersecting){var n=t.target,e=i.barba.url.getAbsoluteHref(i.barba.dom.getHref(n));i.toPrefetch.has(e)&&(i.observer.unobserve(n),i.barba.cache.has(e)?i.barba.cache.update(e,{action:"prefetch"}):i.barba.cache.set(e,i.barba.request(e,i.barba.timeout,i.barba.onRequestError.bind(i.barba,"barba"),i.barba.cache,i.barba.headers).catch(function(t){i.logger.error(t)}),"prefetch","pending"))}})}),this.observe(),this.barba.hooks.after(this.observe,this))},n.observe=function(){var t=this;i(function(){var i=Array.from(t.root.querySelectorAll("a"));t.limit>0&&(i=i.slice(0,t.limit)),i.forEach(function(i){var n=i,e=t.barba.dom.getHref(n);t.barba.cache.has(e)||t.barba.prevent.checkHref(e)||t.barba.prevent.checkLink(n,{},e)||(t.observer.observe(i),t.toPrefetch.add(e))})},{timeout:this.timeout})},t}())});
