1.0.0 • Published 1 year ago

missing-dom-events v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

The missing DOM events

This is a bunch of web based dom events that can be triggered in the browser. But for backends like NodeJS.

It started out as ErrorEvent wasn't globally defined in NodeJS, so i wanted to create a polyfill for it. And since all DOM Events is pretty much the same. i polyfilled mostly all of them (80+ in fact).

Most of them won't even make since in a backend. But some of them are. Like the one Deno have for instance. Some are essential for a proper web Worker, it can for instance dispatch a ErrorEvent.

Someone who is building a macro/hotkey might want to dispatch keyboard / mouse events.

  • All events extends Event
  • If the event exist natively on global scope, then it will be used instead.

Install

missing-dom-events is an ESM-only module - you are not able to import it with require. If you are unable to use ESM in your project you can use the async import('missing-dom-events') from CommonJS to load missing-dom-events asynchronously.

npm install missing-dom-events

Use

import events from 'missing-dom-events'

const errorEvent = new events.ErrorEvent('error', {
  message: 'An error occurred',
  error: new Error('Something went wrong'),
  filename: 'script.js',
  lineno: 10,
  colno: 5,
  source: 'http://example.com/myscript.js',
  type: 'unhandledrejection'
})

worker.dispatchEvent(errorEvent)

Compatibility table

This is all the events that are built in into the engine natively. All of this are also what you will get out from importing this package.

EventNodeDeno
AnimationEvent
AnimationPlaybackEvent
AudioProcessingEvent
BeforeCreatePolicyEvent
BeforeInstallPromptEvent
BeforeUnloadEvent
BlobEvent
BluetoothAdvertisingEvent
CharacterBoundsUpdateEvent
ClipboardEvent
CloseEvent
CompositionEvent
ContentVisibilityAutoStateChangeEvent
CookieChangeEvent
CSSTransitionEvent
CustomEvent
DeviceMotionEvent
DeviceOrientationEvent
DocumentPictureInPictureEvent
DragEvent
ErrorEvent
FocusEvent
FontFaceSetLoadEvent
FormDataEvent
GamepadAxisEvent
GamepadButtonEvent
GamepadEvent
HashChangeEvent
HIDConnectionEvent
HIDInputReportEvent
IDBVersionChangeEvent
InputEvent
KeyboardEvent
MediaEncryptedEvent
MediaKeyMessageEvent
MediaQueryListEvent
MediaStreamEvent
MediaStreamTrackEvent
MerchantValidationEvent
MessageEvent
MIDIConnectionEvent
MIDIMessageEvent
MouseEvent
MutationEvent
NavigateEvent
NavigationCurrentEntryChangeEvent
OfflineAudioCompletionEvent
OverscrollEvent
PageTransitionEvent
PaymentMethodChangeEvent
PaymentRequestUpdateEvent
PictureInPictureEvent
PointerEvent
PopStateEvent
PresentationConnectionAvailableEvent
PresentationConnectionCloseEvent
ProgressEvent
PromiseRejectionEvent
RTCDataChannelEvent
RTCDTMFToneChangeEvent
RTCErrorEvent
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCTrackEvent
SecurityPolicyViolationEvent
SensorErrorEvent
SpeechSynthesisErrorEvent
SpeechSynthesisEvent
StorageEvent
SubmitEvent
TaskPriorityChangeEvent
TextEvent
TextFormatUpdateEvent
TextUpdateEvent
ToggleEvent
TouchEvent
TrackEvent
TransitionEvent
UIEvent
USBConnectionEvent
VirtualKeyboardGeometryChangeEvent
WebGLContextEvent
WheelEvent
WindowControlsOverlayGeometryChangeEvent
XRInputSourceEvent
XRInputSourcesChangeEvent
XRReferenceSpaceEvent
XRSessionEvent