Facebook
From Whipped Camel, 2 Years ago, written in JavaScript.
Embed
Download Paste or View Raw
Hits: 96
  1. (this["webpackJsonpeasycop-extension"] =
  2.   this["webpackJsonpeasycop-extension"] || []).push([
  3.   [4],
  4.   {
  5.     490: function (t, e, n) {
  6.       "use strict";
  7.       n.r(e),
  8.         n.d(e, "getCLS", function () {
  9.           return v;
  10.         }),
  11.         n.d(e, "getFCP", function () {
  12.           return g;
  13.         }),
  14.         n.d(e, "getFID", function () {
  15.           return k;
  16.         }),
  17.         n.d(e, "getLCP", function () {
  18.           return C;
  19.         }),
  20.         n.d(e, "getTTFB", function () {
  21.           return P;
  22.         });
  23.       var i,
  24.         a,
  25.         r,
  26.         o,
  27.         c = function (t, e) {
  28.           return {
  29.             name: t,
  30.             value: void 0 === e ? -1 : e,
  31.             delta: 0,
  32.             entries: [],
  33.             id: "v1-"
  34.               .concat(Date.now(), "-")
  35.               .concat(Math.floor(8999999999999 * Math.random()) + 1e12),
  36.           };
  37.         },
  38.         u = function (t, e) {
  39.           try {
  40.             if (PerformanceObserver.supportedEntryTypes.includes(t)) {
  41.               var n = new PerformanceObserver(function (t) {
  42.                 return t.getEntries().map(e);
  43.               });
  44.               return n.observe({ type: t, buffered: !0 }), n;
  45.             }
  46.           } catch (t) {}
  47.         },
  48.         s = !1,
  49.         f = function (t, e) {
  50.           s ||
  51.             "undefined" != typeof InstallTrigger ||
  52.             (addEventListener("beforeunload", function () {}), (s = !0)),
  53.             addEventListener(
  54.               "visibilitychange",
  55.               function n(i) {
  56.                 "hidden" === document.visibilityState &&
  57.                   (t(i), e && removeEventListener("visibilitychange", n, !0));
  58.               },
  59.               !0
  60.             );
  61.         },
  62.         d = function (t) {
  63.           addEventListener(
  64.             "pageshow",
  65.             function (e) {
  66.               e.persisted && t(e);
  67.             },
  68.             !0
  69.           );
  70.         },
  71.         p = "function" == typeof WeakSet ? new WeakSet() : new Set(),
  72.         m = function (t, e, n) {
  73.           var i;
  74.           return function () {
  75.             e.value >= 0 &&
  76.               (n || p.has(e) || "hidden" === document.visibilityState) &&
  77.               ((e.delta = e.value - (i || 0)),
  78.               (e.delta || void 0 === i) && ((i = e.value), t(e)));
  79.           };
  80.         },
  81.         v = function (t, e) {
  82.           var n,
  83.             i = c("CLS", 0),
  84.             a = function (t) {
  85.               t.hadRecentInput ||
  86.                 ((i.value += t.value), i.entries.push(t), n());
  87.             },
  88.             r = u("layout-shift", a);
  89.           r &&
  90.             ((n = m(t, i, e)),
  91.             f(function () {
  92.               r.takeRecords().map(a), n();
  93.             }),
  94.             d(function () {
  95.               (i = c("CLS", 0)), (n = m(t, i, e));
  96.             }));
  97.         },
  98.         l = -1,
  99.         h = function () {
  100.           return "hidden" === document.visibilityState ? 0 : 1 / 0;
  101.         },
  102.         S = function () {
  103.           f(function (t) {
  104.             var e = t.timeStamp;
  105.             l = e;
  106.           }, !0);
  107.         },
  108.         y = function () {
  109.           return (
  110.             l < 0 &&
  111.               ((l = h()),
  112.               S(),
  113.               d(function () {
  114.                 setTimeout(function () {
  115.                   (l = h()), S();
  116.                 }, 0);
  117.               })),
  118.             {
  119.               get timeStamp() {
  120.                 return l;
  121.               },
  122.             }
  123.           );
  124.         },
  125.         g = function (t, e) {
  126.           var n,
  127.             i = y(),
  128.             a = c("FCP"),
  129.             r = u("paint", function (t) {
  130.               "first-contentful-paint" === t.name &&
  131.                 (r && r.disconnect(),
  132.                 t.startTime < i.timeStamp &&
  133.                   ((a.value = t.startTime), a.entries.push(t), p.add(a), n()));
  134.             });
  135.           r &&
  136.             ((n = m(t, a, e)),
  137.             d(function (i) {
  138.               (a = c("FCP")),
  139.                 (n = m(t, a, e)),
  140.                 requestAnimationFrame(function () {
  141.                   requestAnimationFrame(function () {
  142.                     (a.value = performance.now() - i.timeStamp), p.add(a), n();
  143.                   });
  144.                 });
  145.             }));
  146.         },
  147.         w = { passive: !0, capture: !0 },
  148.         E = new Date(),
  149.         L = function (t, e) {
  150.           i ||
  151.             ((i = e), (a = t), (r = new Date()), F(removeEventListener), T());
  152.         },
  153.         T = function () {
  154.           if (a >= 0 && a < r - E) {
  155.             var t = {
  156.               entryType: "first-input",
  157.               name: i.type,
  158.               target: i.target,
  159.               cancelable: i.cancelable,
  160.               startTime: i.timeStamp,
  161.               processingStart: i.timeStamp + a,
  162.             };
  163.             o.forEach(function (e) {
  164.               e(t);
  165.             }),
  166.               (o = []);
  167.           }
  168.         },
  169.         b = function (t) {
  170.           if (t.cancelable) {
  171.             var e =
  172.               (t.timeStamp > 1e12 ? new Date() : performance.now()) -
  173.               t.timeStamp;
  174.             "pointerdown" == t.type
  175.               ? (function (t, e) {
  176.                   var n = function () {
  177.                       L(t, e), a();
  178.                     },
  179.                     i = function () {
  180.                       a();
  181.                     },
  182.                     a = function () {
  183.                       removeEventListener("pointerup", n, w),
  184.                         removeEventListener("pointercancel", i, w);
  185.                     };
  186.                   addEventListener("pointerup", n, w),
  187.                     addEventListener("pointercancel", i, w);
  188.                 })(e, t)
  189.               : L(e, t);
  190.           }
  191.         },
  192.         F = function (t) {
  193.           ["mousedown", "keydown", "touchstart", "pointerdown"].forEach(
  194.             function (e) {
  195.               return t(e, b, w);
  196.             }
  197.           );
  198.         },
  199.         k = function (t, e) {
  200.           var n,
  201.             r = y(),
  202.             s = c("FID"),
  203.             v = function (t) {
  204.               t.startTime < r.timeStamp &&
  205.                 ((s.value = t.processingStart - t.startTime),
  206.                 s.entries.push(t),
  207.                 p.add(s),
  208.                 n());
  209.             },
  210.             l = u("first-input", v);
  211.           (n = m(t, s, e)),
  212.             l &&
  213.               f(function () {
  214.                 l.takeRecords().map(v), l.disconnect();
  215.               }, !0),
  216.             l &&
  217.               d(function () {
  218.                 var r;
  219.                 (s = c("FID")),
  220.                   (n = m(t, s, e)),
  221.                   (o = []),
  222.                   (a = -1),
  223.                   (i = null),
  224.                   F(addEventListener),
  225.                   (r = v),
  226.                   o.push(r),
  227.                   T();
  228.               });
  229.         },
  230.         C = function (t, e) {
  231.           var n,
  232.             i = y(),
  233.             a = c("LCP"),
  234.             r = function (t) {
  235.               var e = t.startTime;
  236.               e < i.timeStamp && ((a.value = e), a.entries.push(t)), n();
  237.             },
  238.             o = u("largest-contentful-paint", r);
  239.           if (o) {
  240.             n = m(t, a, e);
  241.             var s = function () {
  242.               p.has(a) ||
  243.                 (o.takeRecords().map(r), o.disconnect(), p.add(a), n());
  244.             };
  245.             ["keydown", "click"].forEach(function (t) {
  246.               addEventListener(t, s, { once: !0, capture: !0 });
  247.             }),
  248.               f(s, !0),
  249.               d(function (i) {
  250.                 (a = c("LCP")),
  251.                   (n = m(t, a, e)),
  252.                   requestAnimationFrame(function () {
  253.                     requestAnimationFrame(function () {
  254.                       (a.value = performance.now() - i.timeStamp),
  255.                         p.add(a),
  256.                         n();
  257.                     });
  258.                   });
  259.               });
  260.           }
  261.         },
  262.         P = function (t) {
  263.           var e,
  264.             n = c("TTFB");
  265.           (e = function () {
  266.             try {
  267.               var e =
  268.                 performance.getEntriesByType("navigation")[0] ||
  269.                 (function () {
  270.                   var t = performance.timing,
  271.                     e = { entryType: "navigation", startTime: 0 };
  272.                   for (var n in t)
  273.                     "navigationStart" !== n &&
  274.                       "toJSON" !== n &&
  275.                       (e[n] = Math.max(t[n] - t.navigationStart, 0));
  276.                   return e;
  277.                 })();
  278.               (n.value = n.delta = e.responseStart), (n.entries = [e]), t(n);
  279.             } catch (t) {}
  280.           }),
  281.             "complete" === document.readyState
  282.               ? setTimeout(e, 0)
  283.               : addEventListener("pageshow", e);
  284.         };
  285.     },
  286.   },
  287. ]);
  288.