@zendesk/react-measure-timing-hooks
Version:
react hooks for measuring time to interactive and time to render of components
35 lines • 1.67 kB
JavaScript
/**
* Copyright Zendesk, Inc.
*
* Use of this source code is governed under the Apache License, Version 2.0
* found at http://www.apache.org/licenses/LICENSE-2.0.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.resetMemoizedCurrentBrowserSupportForNonResponsiveStateDetection = exports.getCurrentBrowserSupportForNonResponsiveStateDetection = exports.every = exports.noop = void 0;
const noop = () => {
/* noop */
};
exports.noop = noop;
const every = (iterable, predicate) => {
for (const value of iterable)
if (!predicate(value))
return false;
return true;
};
exports.every = every;
let memoizedCurrentBrowserSupportForNonResponsiveStateDetection;
/** can be easily mocked if needed */
const getCurrentBrowserSupportForNonResponsiveStateDetection =
// eslint-disable-next-line no-return-assign
() => memoizedCurrentBrowserSupportForNonResponsiveStateDetection ??
(memoizedCurrentBrowserSupportForNonResponsiveStateDetection =
typeof PerformanceObserver !== 'undefined' &&
Array.isArray(PerformanceObserver.supportedEntryTypes) &&
PerformanceObserver.supportedEntryTypes.includes('longtask'));
exports.getCurrentBrowserSupportForNonResponsiveStateDetection = getCurrentBrowserSupportForNonResponsiveStateDetection;
const resetMemoizedCurrentBrowserSupportForNonResponsiveStateDetection = () => {
memoizedCurrentBrowserSupportForNonResponsiveStateDetection = undefined;
};
exports.resetMemoizedCurrentBrowserSupportForNonResponsiveStateDetection = resetMemoizedCurrentBrowserSupportForNonResponsiveStateDetection;
//# sourceMappingURL=utilities.js.map
;