UNPKG

6.61 kBJavaScriptView Raw
1!function(e){"use strict";var n,t=-1,i=function(e){addEventListener("pageshow",(function(n){n.persisted&&(t=n.timeStamp,e(n))}),!0)},r=function(){return window.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,n=performance.navigation.type,t={entryType:"navigation",startTime:0,type:2==n?"back_forward":1===n?"reload":"navigate"};for(var i in e)"navigationStart"!==i&&"toJSON"!==i&&(t[i]=Math.max(e[i]-e.navigationStart,0));return t}())},a=function(){var e=r();return e&&e.activationStart||0},o=function(e,n){var i=r(),o="navigate";return t>=0?o="back-forward-cache":i&&(o=document.prerendering||a()>0?"prerender":document.wasDiscarded?"restore":i.type.replace(/_/g,"-")),{name:e,value:void 0===n?-1:n,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:o}},u=function(e,n,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var i=new PerformanceObserver((function(e){Promise.resolve().then((function(){n(e.getEntries())}))}));return i.observe(Object.assign({type:e,buffered:!0},t||{})),i}}catch(e){}},c=function(e,n,t,i){var r,a;return function(o){n.value>=0&&(o||i)&&((a=n.value-(r||0))||void 0===r)&&(r=n.value,n.delta=a,n.rating=function(e,n){return e>n[1]?"poor":e>n[0]?"needs-improvement":"good"}(n.value,t),e(n))}},s=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},f=function(e){var n=function(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||e(n)};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},d=function(e){var n=!1;return function(t){n||(e(t),n=!0)}},l=-1,v=function(e){"hidden"===document.visibilityState&&l>-1&&(l="visibilitychange"===e.type?e.timeStamp:0,m())},p=function(){addEventListener("visibilitychange",v,!0),addEventListener("prerenderingchange",v,!0)},m=function(){removeEventListener("visibilitychange",v,!0),removeEventListener("prerenderingchange",v,!0)},h=function(){return l<0&&((l=window.webVitals.firstHiddenTime)===1/0&&p(),i((function(){setTimeout((function(){l="hidden"!==document.visibilityState||document.prerendering?1/0:0,p()}),0)}))),{get firstHiddenTime(){return l}}},g=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},y=function(e,n){n=n||{},g((function(){var t,r=[1800,3e3],f=h(),d=o("FCP"),l=u("paint",(function(e){e.forEach((function(e){"first-contentful-paint"===e.name&&(l.disconnect(),e.startTime<f.firstHiddenTime&&(d.value=Math.max(e.startTime-a(),0),d.entries.push(e),t(!0)))}))}));l&&(t=c(e,d,r,n.reportAllChanges),i((function(i){d=o("FCP"),t=c(e,d,r,n.reportAllChanges),s((function(){d.value=performance.now()-i.timeStamp,t(!0)}))})))}))},T=function(e,n){n=n||{},y(d((function(){var t,r=[.1,.25],a=o("CLS",0),d=0,l=[],v=function(e){e.forEach((function(e){if(!e.hadRecentInput){var n=l[0],t=l[l.length-1];d&&e.startTime-t.startTime<1e3&&e.startTime-n.startTime<5e3?(d+=e.value,l.push(e)):(d=e.value,l=[e])}})),d>a.value&&(a.value=d,a.entries=l,t())},p=u("layout-shift",v);p&&(t=c(e,a,r,n.reportAllChanges),f((function(){v(p.takeRecords()),t(!0)})),i((function(){d=0,a=o("CLS",0),t=c(e,a,r,n.reportAllChanges),s((function(){return t()}))})),setTimeout(t,0))})))},b=function(e,n){n=n||{},g((function(){var t,r=[100,300],a=h(),s=o("FID"),l=function(e){e.startTime<a.firstHiddenTime&&(s.value=e.processingStart-e.startTime,s.entries.push(e),t(!0))},v=function(e){e.forEach(l)},p=u("first-input",v);t=c(e,s,r,n.reportAllChanges),p&&f(d((function(){v(p.takeRecords()),p.disconnect()}))),console.warn('The web-vitals "base+polyfill" build is deprecated. See: https://bit.ly/3aqzsGm'),p||window.webVitals.firstInputPolyfill(l),i((function(){s=o("FID"),t=c(e,s,r,n.reportAllChanges),window.webVitals.resetFirstInputPolyfill(),window.webVitals.firstInputPolyfill(l)}))}))},w=0,C=1/0,E=0,P=function(e){e.forEach((function(e){e.interactionId&&(C=Math.min(C,e.interactionId),E=Math.max(E,e.interactionId),w=E?(E-C)/7+1:0)}))},S=function(){return n?w:performance.interactionCount||0},I=function(){"interactionCount"in performance||n||(n=u("event",P,{type:"event",buffered:!0,durationThreshold:0}))},L=0,F=function(){return S()-L},A=[],M={},k=function(e){var n=A[A.length-1],t=M[e.interactionId];if(t||A.length<10||e.duration>n.latency){if(t)t.entries.push(e),t.latency=Math.max(t.latency,e.duration);else{var i={id:e.interactionId,latency:e.duration,entries:[e]};M[i.id]=i,A.push(i)}A.sort((function(e,n){return n.latency-e.latency})),A.splice(10).forEach((function(e){delete M[e.id]}))}},x=function(e,n){n=n||{},g((function(){var t=[200,500];I();var r,a=o("INP"),s=function(e){e.forEach((function(e){(e.interactionId&&k(e),"first-input"===e.entryType)&&(!A.some((function(n){return n.entries.some((function(n){return e.duration===n.duration&&e.startTime===n.startTime}))}))&&k(e))}));var n,t=(n=Math.min(A.length-1,Math.floor(F()/50)),A[n]);t&&t.latency!==a.value&&(a.value=t.latency,a.entries=t.entries,r())},d=u("event",s,{durationThreshold:n.durationThreshold||40});r=c(e,a,t,n.reportAllChanges),d&&(d.observe({type:"first-input",buffered:!0}),f((function(){s(d.takeRecords()),a.value<0&&F()>0&&(a.value=0,a.entries=[]),r(!0)})),i((function(){A=[],L=S(),a=o("INP"),r=c(e,a,t,n.reportAllChanges)})))}))},B={},D=function(e,n){n=n||{},g((function(){var t,r=[2500,4e3],l=h(),v=o("LCP"),p=function(e){var n=e[e.length-1];if(n){var i=Math.max(n.startTime-a(),0);i<l.firstHiddenTime&&(v.value=i,v.entries=[n],t())}},m=u("largest-contentful-paint",p);if(m){t=c(e,v,r,n.reportAllChanges);var g=d((function(){B[v.id]||(p(m.takeRecords()),m.disconnect(),B[v.id]=!0,t(!0))}));["keydown","click"].forEach((function(e){addEventListener(e,g,!0)})),f(g),i((function(i){v=o("LCP"),t=c(e,v,r,n.reportAllChanges),s((function(){v.value=performance.now()-i.timeStamp,B[v.id]=!0,t(!0)}))}))}}))},V=function e(n){document.prerendering?g((function(){return e(n)})):"complete"!==document.readyState?addEventListener("load",(function(){return e(n)}),!0):setTimeout(n,0)},H=function(e,n){n=n||{};var t=[800,1800],u=o("TTFB"),s=c(e,u,t,n.reportAllChanges);V((function(){var f=r();if(f){var d=f.responseStart;if(d<=0||d>performance.now())return;u.value=Math.max(d-a(),0),u.entries=[f],s(!0),i((function(){u=o("TTFB",0),(s=c(e,u,t,n.reportAllChanges))(!0)}))}}))};e.getCLS=T,e.getFCP=y,e.getFID=b,e.getINP=x,e.getLCP=D,e.getTTFB=H,e.onCLS=T,e.onFCP=y,e.onFID=b,e.onINP=x,e.onLCP=D,e.onTTFB=H,Object.defineProperty(e,"__esModule",{value:!0})}(this.webVitals=this.webVitals||{});