UNPKG

@testing-library/user-event

Version:
35 lines (32 loc) 1.17 kB
import './behavior/click.js'; import './behavior/cut.js'; import './behavior/keydown.js'; import './behavior/keypress.js'; import './behavior/keyup.js'; import './behavior/paste.js'; import { behavior } from './behavior/registry.js'; import { wrapEvent } from './wrapEvent.js'; function dispatchEvent(config, target, event, preventDefault = false) { var ref; const type = event.type; const behaviorImplementation = preventDefault ? ()=>{} : (ref = behavior[type]) === null || ref === void 0 ? void 0 : ref(event, target, config); if (behaviorImplementation) { event.preventDefault(); let defaultPrevented = false; Object.defineProperty(event, 'defaultPrevented', { get: ()=>defaultPrevented }); Object.defineProperty(event, 'preventDefault', { value: ()=>{ defaultPrevented = event.cancelable; } }); wrapEvent(()=>target.dispatchEvent(event)); if (!defaultPrevented) { behaviorImplementation(); } return !defaultPrevented; } return wrapEvent(()=>target.dispatchEvent(event)); } export { dispatchEvent };