/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
*/
import type {AnyNativeEvent} from '../events/PluginModuleType';
// This exists to avoid circular dependency between ReactDOMEventReplaying
// and DOMPluginEventSystem.
let currentReplayingEvent = null;
export function setReplayingEvent(event: AnyNativeEvent): void {
if (__DEV__) {
if (currentReplayingEvent !== null) {
console.error(
'Expected currently replaying event to be null. This error ' +
'is likely caused by a bug in React. Please file an issue.',
);
}
}
currentReplayingEvent = event;
}
export function resetReplayingEvent(): void {
if (__DEV__) {
if (currentReplayingEvent === null) {
console.error(
'Expected currently replaying event to not be null. This error ' +
'is likely caused by a bug in React. Please file an issue.',
);
}
}
currentReplayingEvent = null;
}
export function isReplayingEvent(event: AnyNativeEvent): boolean {
return event === currentReplayingEvent;
}