UNPKG

@testing-library/user-event

Version:
39 lines (34 loc) 1.3 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('./behavior/click.js'); require('./behavior/cut.js'); require('./behavior/keydown.js'); require('./behavior/keypress.js'); require('./behavior/keyup.js'); require('./behavior/paste.js'); var registry = require('./behavior/registry.js'); var wrapEvent = require('./wrapEvent.js'); function dispatchEvent(config, target, event, preventDefault = false) { var ref; const type = event.type; const behaviorImplementation = preventDefault ? ()=>{} : (ref = registry.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.wrapEvent(()=>target.dispatchEvent(event)); if (!defaultPrevented) { behaviorImplementation(); } return !defaultPrevented; } return wrapEvent.wrapEvent(()=>target.dispatchEvent(event)); } exports.dispatchEvent = dispatchEvent;