import ReactSharedInternals from 'shared/ReactSharedInternals';
let lastResetTime = 0;
let getCurrentTime: () => number | DOMHighResTimeStamp;
const hasPerformanceNow =
typeof performance === 'object' && typeof performance.now === 'function';
if (hasPerformanceNow) {
const localPerformance = performance;
getCurrentTime = () => localPerformance.now();
} else {
const localDate = Date;
getCurrentTime = () => localDate.now();
}
export function resetOwnerStackLimit() {
if (__DEV__) {
const now = getCurrentTime();
const timeSinceLastReset = now - lastResetTime;
if (timeSinceLastReset > 1000) {
ReactSharedInternals.recentlyCreatedOwnerStacks = 0;
lastResetTime = now;
}
} else {
throw new Error(
'resetOwnerStackLimit should never be called in production mode. This is a bug in React.',
);
}
}