UNPKG

eslint-plugin-unicorn

Version:
128 lines (122 loc) 2.56 kB
import { createTypeCheckers, } from './type-helpers.js'; const reactEventTypeNames = new Set([ 'AnimationEvent', 'BaseSyntheticEvent', 'ChangeEvent', 'ClipboardEvent', 'CompositionEvent', 'DragEvent', 'FocusEvent', 'FormEvent', 'InputEvent', 'InvalidEvent', 'KeyboardEvent', 'MouseEvent', 'PointerEvent', 'SubmitEvent', 'SyntheticEvent', 'TouchEvent', 'ToggleEvent', 'TransitionEvent', 'UIEvent', 'WheelEvent', ]); const eventTypeNames = new Set([ 'AnimationEvent', 'AnimationPlaybackEvent', 'AudioProcessingEvent', 'BeforeUnloadEvent', 'BlobEvent', 'ClipboardEvent', 'CloseEvent', 'CommandEvent', 'CompositionEvent', 'ContentVisibilityAutoStateChangeEvent', 'CookieChangeEvent', 'CustomEvent', 'DeviceMotionEvent', 'DeviceOrientationEvent', 'DragEvent', 'ErrorEvent', 'Event', 'ExtendableCookieChangeEvent', 'ExtendableEvent', 'ExtendableMessageEvent', 'FetchEvent', 'FocusEvent', 'FontFaceSetLoadEvent', 'FormDataEvent', 'GPUUncapturedErrorEvent', 'GamepadEvent', 'HashChangeEvent', 'IDBVersionChangeEvent', 'InputEvent', 'KeyboardEvent', 'MIDIConnectionEvent', 'MIDIMessageEvent', 'MediaEncryptedEvent', 'MediaKeyMessageEvent', 'MediaQueryListEvent', 'MediaStreamTrackEvent', 'MessageEvent', 'MouseEvent', 'NavigateEvent', 'NavigationCurrentEntryChangeEvent', 'NotificationEvent', 'OfflineAudioCompletionEvent', 'PageRevealEvent', 'PageSwapEvent', 'PageTransitionEvent', 'PaymentMethodChangeEvent', 'PaymentRequestUpdateEvent', 'PictureInPictureEvent', 'PointerEvent', 'PopStateEvent', 'ProgressEvent', 'PromiseRejectionEvent', 'PushEvent', 'PushSubscriptionChangeEvent', 'RTCDataChannelEvent', 'RTCDTMFToneChangeEvent', 'RTCErrorEvent', 'RTCPeerConnectionIceErrorEvent', 'RTCPeerConnectionIceEvent', 'RTCTrackEvent', 'RTCTransformEvent', 'SecurityPolicyViolationEvent', 'SpeechRecognitionErrorEvent', 'SpeechRecognitionEvent', 'SpeechSynthesisErrorEvent', 'SpeechSynthesisEvent', 'StorageEvent', 'SubmitEvent', 'TaskPriorityChangeEvent', 'TextEvent', 'ToggleEvent', 'TouchEvent', 'TrackEvent', 'TransitionEvent', 'UIEvent', 'WebGLContextEvent', 'WheelEvent', ...reactEventTypeNames, ]); const { isTarget: isEvent, isKnownNonTarget: isKnownNonEvent, } = createTypeCheckers({ preferTypeReferenceDefinitions: true, targetTypeImports: new Map([ ['react', reactEventTypeNames], ]), targetTypeNamespaceImports: new Map([ ['react', reactEventTypeNames], ]), targetTypeNames: eventTypeNames, }); export { isKnownNonEvent, }; export default isEvent;