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-eventsUse
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 | ❌ | ❌ |
3 years ago