missing-dom-events v1.0.0
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.
Event | Node | Deno |
---|---|---|
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 | ❌ | ❌ |
1 year ago